babel-plugin-conditional-compile

babel plugin for conditional compile

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
babel-plugin-conditional-compile
1930.0.56 years ago7 years agoMinified + gzip package size for babel-plugin-conditional-compile in KB

Readme

babel-plugin-conditional-compile
Evaluate If statement and remove unavailable code

Conditional Compile

You may rewrite code like
if(IS_DEV){
  console.log('track infomation')
}
var foo;
if(CODE_FOR_IE){
  foo=1;
}
else if(CODE_FOR_CHROME){
  foo=2;
}
But you don't want to log until it is published and if you know the code target,you can just kick the redundant when published. The code to publish for chrome will be like.
var foo;

foo=2;

Installation

$ npm install babel-plugin-conditional-compile --save-dev

Usage

Via Node API

require("babel-core").transform("code", {
  plugins: ["conditional-compile",{
    define:{
      IS_DEV:false,
      CODE_FOR_IE:true
    }
  }]
});
The example code above will become
console.log('track infomation')

var foo;

foo=1;

Options

The available options are
{
  define:{
    APP_VERSION:'1.0.0',
    IS_DEV:true
  },
  dropDebugger:false
}
  • any variable same with key name in define object will be replace by its value
  • when dropDebugger set true, the debugger; statement will be removed