@gerhobbelt/modify-babel-preset

    3.2.1-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 @gerhobbelt/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('@gerhobbelt/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 @gerhobbelt/modify-babel-preset

    DownloadsWeekly Downloads

    0

    Version

    3.2.1-1

    License

    MIT

    Unpacked Size

    17.4 kB

    Total Files

    13

    Last publish

    Collaborators

    • gerhobbelt