0.0.5 • Published 8 years ago

babel-preset-target v0.0.5

Weekly downloads
8
License
ISC
Repository
github
Last release
8 years ago

babel-preset-target

Babel preset that allows for target environments to be specified along with plugins and presets. If all environments have native support for a given plugin, it will be skipped.

Install

$ npm install --save-dev babel-preset-target

Usage

Via .babelrc (Recommended)

.babelrc

{
  "presets": [
    ["target", {
      "presets": ["es2015"],
      "targets": [
        {"name": "chrome", "version": 52}
      ]
    }]
  ]
}

Via Node API

require("babel-core").transform("code", {
  presets: [
    ["target", {
      presets: ["es2015"],
      targets: [
        {name: "chrome", version: 52}
      ]
    }]
  ]
});

Options

  • presets - Allows for specific office presets to be defined. Only plugins within the preset that are necessary will be included.
    • Can be array of any of ["es2015", "es2016", "es2017"]
    • Currently doesn't support es2015 options
  • plugins - Array of any plugins to be conditionally added
  • targets - Array of enviroment targets. If all targets support a given plugin then the plugin will be skipped.

    • Each target looks like: {name: 'chrome', version: 52}
    • If no targets are defined, all plugins are included.

Supported targets

nameversionsnotes
ie10 - 11
edge12 - 14
firefox4, 6, 7, 10, 13, 16-18, 23-50
chrome19, 30, 31, 33 - 52
safari5 - 10
opera12.16
phantom2
node0.12, 4 - 6requires --harmony flag
iojs3.3
android40 - 44, 50, 51
ios7 - 9

Example Options

{
  presets: [
    ["target", {
      presets: ["es2015"],
      targets: [
        {name: "chrome", version: 52}
      ]
    }]
  ]
}
{
  presets: [
    ["target", {
      plugins: ["transform-es2015-arrow-functions"],
      targets: [
        {name: "node", version: 6}
      ]
    }]
  ]
}