babel-plugin-inline-dotenv
v1.7.0
Published
Load your `.env` file and replace `process.env.MY_VARIABLE` with the value you set.
Downloads
153,624
Readme
babel-plugin-inline-dotenv
Load your .env
file and replace process.env.MY_VARIABLE
with the value you set.
tl;dr
It actually replaces process.env.MY_VARIABLE
with:
process && process.env && process.env.MY_VARIABLE || 'value assigned to variable in dotenv'
This way, if the value is available at runtime it will be used instead.
Installation
$ npm install babel-plugin-inline-dotenv
Usage
Via .babelrc
(Recommended)
Without options:
.babelrc
{
"plugins": ["inline-dotenv"]
}
With options:
{
"plugins": [["inline-dotenv",{
path: 'path/to/.env' // See motdotla/dotenv for more options
}]]
}
To replace with env value without process && process.env && process.env.MY_VARIABLE ||
safety:
{
"plugins": [["inline-dotenv",{
unsafe: true
}]]
}
The plugin support 3 mode to read the env var from the system :
{
"plugins": [["inline-dotenv",{
systemVar: 'all' | 'overwrite' | 'disable'
}]]
}
all
default, every env var found in process.env will be used⚠️ This could leak super secret stuffs !
overwrite
, the value in process.env will overwrite the one present in .env only. Your .env file act as a whitelistdisable
, the process.env will not be used at all
Via CLI
$ babel --plugins inline-dotenv script.js
Via Node API
require("babel-core").transform("code", {
plugins: ["inline-dotenv"]
});