mirror of
https://github.com/versia-pub/server.git
synced 2025-12-06 16:38:19 +01:00
27 lines
831 B
TypeScript
27 lines
831 B
TypeScript
/**
|
|
* @file index.ts
|
|
* @summary ConfigManager system to retrieve and modify system configuration
|
|
* @description Can read from a hand-written file, config.toml, or from a machine-saved file, config.internal.toml
|
|
* Fuses both and provides a way to retrieve individual values
|
|
*/
|
|
|
|
import { watchConfig } from "c12";
|
|
import { type Config, defaultConfig } from "./config.type";
|
|
|
|
const { config } = await watchConfig<Config>({
|
|
configFile: "./config/config.toml",
|
|
defaultConfig: defaultConfig,
|
|
overrides:
|
|
(
|
|
await watchConfig<Config>({
|
|
configFile: "./config/config.internal.toml",
|
|
defaultConfig: {} as Config,
|
|
})
|
|
).config ?? undefined,
|
|
});
|
|
|
|
const exportedConfig = config ?? defaultConfig;
|
|
|
|
export { exportedConfig as config };
|
|
export type { Config };
|