4.0.1 • Published 11 months ago

config-env-file v4.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
11 months ago

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. default false.
  • no-quotes: don't add quotes to env values. default false.
  • silent: skip console logs. default false.

Run cef --help for more information.

4.0.1

11 months ago

4.0.0

11 months ago

3.4.0

1 year ago

3.3.1

1 year ago

3.4.1

1 year ago

3.3.2

1 year ago

3.3.0

2 years ago

3.2.2

2 years ago

3.1.3

2 years ago

3.2.1

2 years ago

3.1.2

2 years ago

3.0.3

2 years ago

3.2.0

2 years ago

3.1.1

2 years ago

3.0.2

2 years ago

3.1.0

2 years ago

3.0.1

2 years ago

3.2.3

2 years ago

3.1.4

2 years ago

3.0.0

2 years ago

2.0.3

2 years ago

1.2.1

2 years ago

2.0.2

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.3

2 years ago

1.0.2-beta

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago