json_env

json_env is dotenv, but with JSON. json_env loads an environment variables from a file called .env.json in the current directory and starts a subprocess with them. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology.

How to install

With homebrew: shell $ brew tap brodo/json_env $ brew install json_env

With NPM shell $ npm i -g @brodo/json_env

With cargo: shell $ cargo install json_env

Or download the binaries for your platform on the releases page and put them in your $PATH.

How to use

Just run json_env with any program as a parameter: shell $ json_env my_program

Additional command line arguments that are passed to json_env are forwarded to the child process: ```shell $ json_env echo "Test"

Test ```

Example

.env.json: json { "NODE_ENV": "DEV", "MY_USER": "Carl", "NUM_USERS": 10, "nested": { "hello": "world", "boo": "far" } }

Shell: ```shell $ json_env env

MYUSER=Carl NODEENV=DEV NUM_USERS=10 nested={"boo":"far","hello":"world"} [...] ```

License

json_env is licensed under the Apache 2.0 license.