Skip to content

Getting Started

  1. Install the dependencies

    Terminal window
    npm install @layerfig/config
  2. 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();
  3. 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