babel-plugin-inline-dotenv

1.7.0 • Public • Published

babel-plugin-inline-dotenv

Test

npm package

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 whitelist

  • disable, 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"]
});

Dependencies (1)

Dev Dependencies (8)

Package Sidebar

Install

npm i babel-plugin-inline-dotenv

Weekly Downloads

29,564

Version

1.7.0

License

ISC

Unpacked Size

56.2 kB

Total Files

33

Last publish

Collaborators

  • brysgo1