Getting Started
-
Install the dependencies
Terminal window npm install @layerfig/configTerminal window yarn add @layerfig/configTerminal window bun install @layerfig/configTerminal window pnpm add @layerfig/config -
Define your files
Directoryapp
Directoryconfig
- base.json
- live.json
Directorysrc
- …
Directoryconfig
- index.ts
- schema.ts
import { ConfigBuilder } from "@layerfig/config";export const config = new ConfigBuilder({validate: (finalConfig, z) =>z.object({appURL: z.url(),port: z.coerce.number().int().int().positive(),}).parse(finalConfig),}).addSource("base.json").addSource("live.json").build();{"appURL": "http://localhost:3000","port": 3000}{"appURL": "https://live.my-app.company"} -
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