An easy to use configuration management library for Node.js applications.
npm install @prestonarnold/configOR
yarn add @prestonarnold/configimport { 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());