JSPM

babel-plugin-conditional-compile

0.0.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 460
  • Score
    100M100P100Q93065F
  • License ISC

babel plugin for conditional compile

Package Exports

  • babel-plugin-conditional-compile

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (babel-plugin-conditional-compile) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

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