From b270f20693e8b82e1b5ad4e7e19db2ded9a88c7e Mon Sep 17 00:00:00 2001 From: David Nagli Date: Sun, 22 Jul 2018 23:25:00 +0300 Subject: [PATCH 1/2] Add basic babel plugin autoinstall support --- src/transforms/babel.js | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/transforms/babel.js b/src/transforms/babel.js index 841d6a65ba9..77f647cc59e 100644 --- a/src/transforms/babel.js +++ b/src/transforms/babel.js @@ -107,6 +107,14 @@ async function getBabelConfig(asset) { // Merge the babel-preset-env config and the babelrc if needed if (babelrc && !shouldIgnoreBabelrc(asset.name, babelrc)) { if (envConfig) { + // Auto Install any missing babel plugins + if(babelrc.plugins){ + for(let plugin of babelrc.plugins){ + let pluginName = getPluginName(plugin); + await localRequire(`babel-plugin-${pluginName}`, asset.name) + } + } + // Filter out presets that are already applied by babel-preset-env if (Array.isArray(babelrc.presets)) { babelrc.presets = babelrc.presets.filter(preset => { From cd1b130ac428aae1b585085e2669bc87b12b2cde Mon Sep 17 00:00:00 2001 From: David Nagli Date: Sun, 22 Jul 2018 23:35:54 +0300 Subject: [PATCH 2/2] Add basic babel preset autoinstall support --- src/transforms/babel.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/transforms/babel.js b/src/transforms/babel.js index 77f647cc59e..4a97a5f6356 100644 --- a/src/transforms/babel.js +++ b/src/transforms/babel.js @@ -115,6 +115,13 @@ async function getBabelConfig(asset) { } } + // Autoinstall any missing babel presets + if(babelrc.presets){ + for(let preset of babelrc.presets){ + await localRequire(`babel-preset-${preset}`, asset.name) + } + } + // Filter out presets that are already applied by babel-preset-env if (Array.isArray(babelrc.presets)) { babelrc.presets = babelrc.presets.filter(preset => {