Is there a way to use free modules when using es2015 preset in babel 6?

I tried using the following Babelrcs:

{ "presets": [ ["es2015", { "transform-es2015-modules-commonjs": { "loose": true } }] ] } 

unable to execute the command "Invalid parameter types for foreign"

 { "presets": ["es2015"], "plugins": [ ["transform-es2015-modules-commonjs", { "loose": true }] ] } 

ignores free

 { "plugins": [ ["transform-es2015-modules-commonjs", { "loose": true }] ] } 

does not use predefined

+7
babeljs
source share
5 answers

I ended up creating preinstalled es2015-mod for the same purpose - an exact copy of Babel es2015 with free modules enabled.

+3
source share

By es2015 , you are requesting modules without attenuation. If you need free modular modes in Babel v6 (at least for now), you will need to explicitly specify the plugins that you want to use, listing everything that is part of es2015 .

+4
source share

babel-preset-es2015-loose package has been deprecated . With babel-preset-es2015 v6.13.0 +, you can now configure your .babelrc as follows:

{ presets: [ ["es2015", {"loose": true}] ] }

+1
source share

For me it was an old version of babel-core . You need at least 6.13+

+1
source share

NEW: using es2015-freed preinstalled

es2015-loose is a preset that uses the -babel-preset modification to change es2015 to preset and enable free mode , if available.

Use it like this:

 { "presets": ["es2015-loose"] } 

Be sure to install es2015 and es2015-loose packages:

 $ npm install --save-dev babel-preset-es2015-loose babel-preset-es2015 

PS: There are other free presets, for example, if you are targeting node versions> = 4, you can use es2015-node4-loose preset.

0
source share

All Articles