1.7.0 • Published 4 years ago
babel-plugin-inline-dotenv v1.7.0
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-dotenvUsage
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'
}]]
}alldefault, 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.jsVia Node API
require("babel-core").transform("code", {
plugins: ["inline-dotenv"]
});