Get unlimited public & private packages + package-based permissions with npm Pro.Get started »

modify-babel-preset

3.2.1 • Public • Published

modify-babel-preset

npm npm travis

Create a modified babel preset based on an an existing preset.

Works best with npm 3.

npm i -S modify-babel-preset

API

A single function that takes an existing preset name and a mapping of plugin modifications to apply to that preset. Make sure you have the preset and any added plugins installed as dependencies.

newPreset = modifyBabelPreset(
    'existing-preset-name',
    {
        'plugin-name': false,  // remove
        'other-plugin': true,  // add
        'foo': { loose:true }  // add + config
    }
);

Modification keys are babel plugin names (you can exclude the babel-plugin- prefix).

Add/Update Plugins

To add a plugin, pass true, or a configuration object:

{
    // just add a plugin without config:
    'plugin-name': true,
 
    // add a plugin and set its config
    'other-plugin': { loose:true }
}

Note: adding a plugin that is already provided by the preset just overwrites its configuration.

Remove Plugins

To remove a plugin, pass false:

{
    'plugin-name': false
}

Example

Here's a simple preset. Just this index.js and a package.json pointing to it with the preset and plugin installed as dependencies.

var modifyBabelPreset = require('modify-babel-preset');
 
// just export the cloned, modified preset config:
module.exports = modifyBabelPreset('es2015', {
 
    // remove the typeof x==='symbol' transform:
    'transform-es2015-typeof-symbol': false,
 
    // add the JSX transform:
    'transform-react-jsx': true
 
});

Keywords

Install

npm i modify-babel-preset

DownloadsWeekly Downloads

23,160

Version

3.2.1

License

MIT

Last publish

Collaborators

  • avatar