/babel-plugin-transform-define

Babel plugin that replaces member expressions and typeof statements with strings

Primary LanguageJavaScript

babel-plugin-transform-define

Replace member expressions and typeof statements with strings and statically evaluate them if possible, like webpack's DefinePlugin for Babel.

Example

In

// assuming options are { "process.env.NODE_ENV": "development", "typeof window": "object" }
process.env.NODE_ENV;
process.env.NODE_ENV === "development";
typeof window;
typeof window === "object";

Out

'development';
true;
'object';
true;

Installation

$ npm install babel-plugin-transform-define

Usage

Via .babelrc (Recommended)

.babelrc

{
  "plugins": ["transform-define", {
    "process.env.NODE_ENV": "production",
    "typeof window": "object"
  }]
}

Via CLI

$ babel --plugins transform-define script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["transform-define", {
    "process.env.NODE_ENV": "production",
    "typeof window": "object"
  }]
});