Skip to content

prestons18/config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@prestonarnold/config

An easy to use configuration management library for Node.js applications.

Installation

npm install @prestonarnold/config

OR

yarn add @prestonarnold/config

Usage

import { validate } from "@prestonarnold/validate";
import { createConfig } from "@prestonarnold/config";

const userSchema = validate.object({
    PORT: validate.number().default(3000),
    NODE_ENV: validate.string().default("development"),
});

const config = createConfig({
    schema: userSchema,
    validator: (data, schema) => {
        const res = schema.parse(data);
        if (!res.success) throw new Error(res.errors.join(", "));
        return res.data;
    },
    sources: [
        'env', // process.env
        'file:.env', // dotenv
    ],
})

console.log(config.get('PORT'));
console.log(config.get('NODE_ENV'));
console.log(config.all());

About

An easy to use configuration management library for Node.js applications.

Resources

License

Stars

Watchers

Forks

Packages

No packages published