Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@masterarthur/config

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@masterarthur/config

Simple config management library

latest
Source
npmnpm
Version
1.1.2
Version published
Maintainers
1
Created
Source

@masterarthur/config

Lightweight zero-dependecy Javascript library for easy configuration for nodejs apps

Instalation

npm i @masterarthur/config

Usage examples

import { config } from "@masterarthur/config";
import mongoose from "mongoose";

const connectionString = config("MONGODB_URL");

await mongoose.connect(connectionString);
import { makeConfig } from "@masterarthur/config";
import express from "express";

const config = await makeConfig(".env");
const app = express();
// process.env.APP_PORT = "3000"
const port = config("APP_PORT"); // 3000

app.get("/", (req, res) => {
  res.send("Hello World!");
});

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});

Also you can use require

const { config } = require("@masterarthur/config");
const data = config({
  path: "PAYLOAD",
  defaultValue: "{}",
  cast: JSON.parse,
  validate: (value) => !Array.isArray(value),
  autocast: false,
});

By default config function uses process.env to get data and you are able to use it two ways:

  • Inline

    function config<T>(
      path: string,
      defaultValue?: string,
      cast?: (value: string) => T,
      validate?: ValidateFunction,
      autocast?: boolean
    ): T;
    
  • Using object to pass arguments in any order

    function config<T>(params: {
      path: string;
      defaultValue?: string;
      cast?: (value: string) => T;
      validate?: ValidateFunction;
      autocast?: boolean;
    }): T;
    

Arguments

ParamTypeDescription
pathstringkey of value
defaultValuestringdefault value env variable
castFunctionfunction that casts string value of env variable to type we need
validateFunctionFunction that validates casted value and if it returns false config function will throw error
autocastbooleanby default true, if it's true config function will automaticly cast value of env variable to number/boolean/null/undefined

makeConfig arguments

ParamTypeDescription
filenamePathLikePath to configuration file
parserFunction or AsyncFunctionby default parses .env and .json files, in case you need parse custom file type you need pass your own parser

Keywords

config

FAQs

Package last updated on 02 May 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts