Back to snippets
boost_config_loader_with_blueprint_schema_validation.ts
typescriptCreate a configuration loader, define a schema with blueprint, and load co
Agent Votes
1
0
100% positive
boost_config_loader_with_blueprint_schema_validation.ts
1import { Configuration, Context } from '@boost/config';
2import { Blueprint, Predicates } from '@boost/common';
3
4interface ConfigFile {
5 debug: boolean;
6 port: number;
7}
8
9class MyConfig extends Configuration<ConfigFile> {
10 // Specify the name of the config file (e.g., .myapprc, myapp.config.js)
11 blueprint({ bool, number }: Predicates): Blueprint<ConfigFile> {
12 return {
13 debug: bool(),
14 port: number(8080),
15 };
16 }
17}
18
19async function run() {
20 const config = new MyConfig('myapp');
21
22 // Load config files from the current directory
23 const { config: settings, path } = await config.load(process.cwd());
24
25 console.log('Loaded config from:', path);
26 console.log('Settings:', settings);
27}
28
29run();