arg-env
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

arg-env

Node.js package to work with .env files in the same way as docker and docker-compose via --env-file or "env_file" in package.json

build@ci codecov Maintainability Scrutinizer Code Quality CodeFactor

dependencies Status version license

Installation

npm install --save-dev arg-env

Usage

In addition, check the example of usage

Command-line arguments

node --require=arg-env index.js --env-file=1.env --env-file=2.env

package.json

See npm docs

{
  "config": {
    "env_file": [
      "3.env",
      "./4.env"
    ]
  },
  "scripts": {
    "start:dev": "node --require=arg-env index.js"
  }
}

Parser only

import { parse } from "arg-env"

Features

All specifications are taken from output of actual docker run

Syntax

Closure

Files are independent but rely on global environment

Precedence and overwrite

Files don’t overwrite global environment. Next file takes precedence over previous. In addition, files in package.json has less priority than in command line arguments.

Comparison

Other env JS packages hasn't command-line and package interfaces, more-over, didn't behave like docker: see details ./src/parse.spec.ts. Input is ./src/specs/input.env, output saved in ./src/specs/spec.json via ./src/specs/get.sh.

Tool name Quotes Isolated Inline comment Reuse Default value Weird names Error syntax Var of Var
docker-compose '," Yes Yes Yes Yes Yes No No
arg-env '," Yes Yes Yes Yes Yes Not yet Not yet
dotenv '," Yes No No No No No No
dotenv-expand '," No? No More No No No No
dotenv-extended '," No? No No No No No No
envfile No - No No No Other No No

Etc

Experiments with .env stuff

Envs list is taken from docker-compose/docker-compose.yml (service injected) and written to docker/.env

Package Sidebar

Install

npm i arg-env

Weekly Downloads

1

Version

2.0.0

License

MIT

Unpacked Size

15.1 kB

Total Files

11

Last publish

Collaborators

  • kirmas