config-env-file
v4.0.1
Published
A command line to generate a .env file based on a Config
Downloads
12
Readme
CONFIG ENV FILE
A command line to generate a
.env
file based on a Config
Why?
If you have a config in a json format and you don't want to expose your config to the public, you can pass it to a .env
file but make a .env
file by hand with the json file may take a while. This command will generate a .env
file for you.
Install
# npm
npm install -g config-env-file
# npx
npx config-env-file [config-file] [options]
# yarn
yarn global add config-env-file
Usage
cef ./config.json
# config.json: { "api": 1, "key": 2 }
# output:
# const config = {
# api: process.env.API,
# key: process.env.KEY
# }
# .env.local:
# API="1"
# KEY="2"
Example with a firebase project
When you use firebase in your app, you might not want to expose the firebase config. Pass the config to an .env
file may take a while doing it by hand. This is a simple example to generate a .env
file from a firebase config.
touch firebase.config.json
# copy the firebase config to firebase.config.json
# firebase.config.json:
# { "apiKey": "example", "authDomain": "example.firebaseapp.com", ... }
cef firebase.config.json
# .env.local:
# API_KEY="example"
# AUTH_DOMAIN="example.firebaseapp.com"
# ...
# output:
# const config = {
# apiKey: process.env.API_KEY,
# authDomain: process.env.AUTH_DOMAIN
# ...
# }
Options
Prefix
add prefix to variables name. default undefined
cef ./config.json --prefix public
# config.json: { "apiUrl": "https://..." }
# output:
# const config = {
# apiUrl: process.env.PUBLIC_API_URL,
# }
# .env.local:
# PUBLIC_API_URL="https://..."
Include Objects Values
whether to include object values or not. default false
.
# config: { "api": 6, "client": { "id": 1, "secret": 6 } }
cef ./config.json
# .env.local:
# API="6"
cef ./config.json --include-objects
# .env.local:
# API="6"
# CLIENT="{"id":1,"secret":6}"
Env
how to access variables. choices "process"
, "import"
. default "process"
.
cef ./config.json --env import
# output:
# const config = {
# api: import.meta.env.API,
# key: import.meta.env.KEY
# }
Other options
destination
: destination path to env file. default"."
.extension
: extension to env file name. default"local"
.single-quotes
: use single quotes in env values. defaultfalse
.no-quotes
: don't add quotes to env values. defaultfalse
.silent
: skip console logs. defaultfalse
.
Run cef --help
for more information.