41 lines
898 B
TypeScript
41 lines
898 B
TypeScript
export interface DatabaseConfig {
|
|
host: string
|
|
database: string
|
|
}
|
|
|
|
export interface WebConfig {
|
|
port: string
|
|
secure: "true" | "false" | undefined
|
|
}
|
|
|
|
export interface CoreConfig {
|
|
name: string
|
|
}
|
|
|
|
export interface Config {
|
|
core: CoreConfig
|
|
database: DatabaseConfig
|
|
web: WebConfig
|
|
dev: boolean
|
|
logging: {
|
|
server: string;
|
|
appid: string;
|
|
token: string;
|
|
} | undefined
|
|
}
|
|
|
|
import * as ini from "ini";
|
|
import { readFileSync } from "fs";
|
|
|
|
import * as dotenv from "dotenv";
|
|
import { Logging } from "@hibas123/nodelogging";
|
|
dotenv.config();
|
|
|
|
const config: Config = ini.parse(readFileSync("./config.ini").toString())
|
|
if (config.dev) config.dev = Boolean(config.dev);
|
|
if (process.env.DEV === "true") {
|
|
config.dev = true;
|
|
Logging.warning("DEV mode active. This can cause major performance issues, data loss and vulnerabilities! ")
|
|
}
|
|
|
|
export default config; |