Skip to content

Procaseycash/env-2-json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EnvTwoJson

This package allows env-to-json and json-to-env on CMD and code level usage

Installation Setup

 ## local use
 $ npm i envtwojson

  ## global use
 $ npm i -g envtwojson

Release Command

npm run release        # defaults to patch (x.y.z → x.y.(z+1))
npm run release minor  # bump minor (x.y.z → x.(y+1).0)
npm run release major  # bump major ((x+1).0.0)

Example Usage By Code

const { envFromPathToJson, envFromStringToJson, jsonFromPathToEnv } = require("envtwojson");
// ENV2JSON: location here is the part from the app root.
const { jsonEnv, location } = envFromPathToJson('examples/.env-sample'); 

// ENV2JSON: Or use below approach
// location here is always current app directory where this method is used and env data are always separated by newline.
const env = `BASE_URL=http://example.com
			 APP_PATH=/api/v1/users
			 `			 
const { jsonEnv, location } = envFromStringToJson(env); 


// JSON2ENV: location here is the part from the app root.
const { jsonEnv, location } = jsonFromPathToEnv('examples/env-sample.json');

Example Usage By CMD

Options supported are stated below

Options Description Value
--file Most important, providing the file path to the .env-sample or env-sample.json, e.g. --file=examples/.env-sample or --file=examples/env-sample.json users/configs/.env-sample or src/.env-sample etc.
--env Most important if --file is not provided, e.g. --env=BASE_URL="https://we.com;API_URL=https://api.example.com/v1/". Values are separated with semicolon at end of line (;\n or ;\r) or newline (\n or \r). --env="API_BASE_URL=users/configs/.env-sample; CARD_NO=13313"
--wtr Write to root is a boolean type to generate equivalent .json version of same name. .env-sample will be env.json. true|false or 1|0, e.g. --wtr=true
--out Output allows you to provide the path to write into. This will write from current directory plus the path provided. --out=/users/configs
--cls This option is the default without needing to provide the flag. If none of the above is provided, it writes to console. It is a boolean type. --cls=true

See use case below, you can either use etwoj or envtwojson for command name, you can as well change --file for --env to use string type as seen below but separated delimiter is used as semicolon with end of line (;\n|;\r) or newline (\n|\r)

 ## Default to console
$ envtwojson --file=examples/.env-sample 

 ## Default to console
$ envtwojson --env='URL=https://we.com;\nAPI_URL=https://api.example.com/v1/'

## Write to source directory env.json derived from filename of .env-sample
$ envtwojson --file=examples/.env-sample --wtr=true 

## Write to the location provided from a known directory.
$ envtwojson --file=examples/.env-sample --out=examples/env-sample.json 


## JSON2ENV: Write to the location provided from a known directory.
$ envtwojson --file=examples/env-sample.json --out=examples/.env-sample

## JSON2ENV: ## Default to console
$ envtwojson --file=examples/env-sample.json 

## JSON2ENV: Write to source directory env.json derived from filename of .env-sample
$ envtwojson --file=examples/env-sample.json --wtr=true 

OR

 ## Default to console
$ etwoj --file=examples/.env-sample 

 ## Default to console
$ etwoj --env='URL=https://we.com;\nAPI_URL=https://api.example.com/v1/'

## Write to source directory env.json derived from filename of .env-sample
$ etwoj --file=examples/.env-sample --wtr=true 

## Write to the location provided from a known directory.
$ etwoj --file=examples/.env-sample --out=examples/env-sample.json 


## JSON2ENV: Write to the location provided from a known directory.
$ etwoj --file=examples/env-sample.json --out=examples/.env-sample-local

## JSON2ENV: ## Default to console
$ etwoj --file=examples/env-sample.json 


## JSON2ENV: Write to source directory env.json derived from filename of .env-sample
$ etwoj --file=examples/env-sample.json --wtr=true 

About

This package allows env-to-json and json-to-env on CMD and code level usage

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors