Getting Started
-
Install the dependencies
-
Define your files
Directoryapp
Directoryconfig
- base.json
Directorysrc
- …
Directoryconfig
- index.ts
- schema.ts
import { ConfigBuilder, FileSource } from "@layerfig/config"; export const config = new ConfigBuilder({ validate: (finalConfig, z) => z.object({ appURL: z.url(), port: z.coerce.number().check(z.int(), z.positive()), }) .parse(finalConfig), }) .addSource(new FileSource("base.json")) .build();
{ "appURL": "http://localhost:3000", "port": 3000 }
-
Use your type-safe config
Now, you can access the configuration anywhere in your server-side code:
import { config } from "./config"; config.appURL; // string => "https://live.my-app.company" config.port; // number => 3000