From 318cd530c17528e4ee33eefd952cbbae1f65feda Mon Sep 17 00:00:00 2001 From: Jeferson Lima Date: Sun, 10 May 2020 05:45:53 -0300 Subject: [PATCH 1/4] Add possibility to use additional babel plugins Add additional babel plugins to the babel config, loading the configurations from `package.json` file. To add additional plugins just add a property `babel_plugins` to enact property in `package.json`, in the same way plugins are defined on babel config files. package.json example: ``` { ... "enact": { "theme": "moonstone", "babel_plugins": [ [ "@babel/plugin-proposal-decorators", { "legacy": true } ] ] }, ... } ``` --- config/babel.config.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/babel.config.js b/config/babel.config.js index 97ec7301..fcecd17d 100644 --- a/config/babel.config.js +++ b/config/babel.config.js @@ -1,3 +1,6 @@ +const fs = require('fs'); +const path = require('path'); + /* * babel.config.js * @@ -10,6 +13,16 @@ module.exports = function(api) { const es5Standalone = process.env.ES5 && process.env.ES5 !== 'false'; api.cache(() => env + es5Standalone); + + // Load an array of plugins from enact property in package.json + const packageFile = path.join(process.cwd(), 'package.json'); + const packageContent = fs.existsSync(packageFile) + ? JSON.parse(fs.readFileSync(packageFile)) + : null; + + const babelrcPlugins = packageContent && packageContent.enact && packageContent.enact.babel_plugins + ? packageContent.enact.babel_plugins + : []; return { presets: [ @@ -50,6 +63,9 @@ module.exports = function(api) { ['@babel/preset-typescript'] ], plugins: [ + // Add external plugins using spread operator + ...babelrcPlugins, + // Stage 0 // '@babel/plugin-proposal-function-bind', From b877f6708a837a8f49cb0f98236d1b4774462fd1 Mon Sep 17 00:00:00 2001 From: Jeferson Lima Date: Sun, 10 May 2020 06:29:32 -0300 Subject: [PATCH 2/4] Update babel.config.js --- config/babel.config.js | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/config/babel.config.js b/config/babel.config.js index fcecd17d..3f2c3489 100644 --- a/config/babel.config.js +++ b/config/babel.config.js @@ -16,13 +16,9 @@ module.exports = function(api) { // Load an array of plugins from enact property in package.json const packageFile = path.join(process.cwd(), 'package.json'); - const packageContent = fs.existsSync(packageFile) - ? JSON.parse(fs.readFileSync(packageFile)) - : null; + const packageContent = fs.existsSync(packageFile) ? JSON.parse(fs.readFileSync(packageFile)) : null; - const babelrcPlugins = packageContent && packageContent.enact && packageContent.enact.babel_plugins - ? packageContent.enact.babel_plugins - : []; + const babelrcPlugins = packageContent && packageContent.enact && packageContent.enact.babel_plugins ? packageContent.enact.babel_plugins : []; return { presets: [ From 9eead3e0f35c5a75e835f8721e8bc99a10a491b8 Mon Sep 17 00:00:00 2001 From: Jeferson Lima Date: Sun, 10 May 2020 06:34:51 -0300 Subject: [PATCH 3/4] Update babel.config.js --- config/babel.config.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/config/babel.config.js b/config/babel.config.js index 3f2c3489..9d8a4d19 100644 --- a/config/babel.config.js +++ b/config/babel.config.js @@ -13,12 +13,15 @@ module.exports = function(api) { const es5Standalone = process.env.ES5 && process.env.ES5 !== 'false'; api.cache(() => env + es5Standalone); - + // Load an array of plugins from enact property in package.json const packageFile = path.join(process.cwd(), 'package.json'); const packageContent = fs.existsSync(packageFile) ? JSON.parse(fs.readFileSync(packageFile)) : null; - const babelrcPlugins = packageContent && packageContent.enact && packageContent.enact.babel_plugins ? packageContent.enact.babel_plugins : []; + const babelrcPlugins = + packageContent && packageContent.enact && packageContent.enact.babel_plugins + ? packageContent.enact.babel_plugins + : []; return { presets: [ From 422e4d2e8708618c283105ae4e68ffdb7fcfcdc3 Mon Sep 17 00:00:00 2001 From: Jeferson Lima Date: Sun, 10 May 2020 06:42:27 -0300 Subject: [PATCH 4/4] Update babel.config.js --- config/babel.config.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/babel.config.js b/config/babel.config.js index 9d8a4d19..6c6d5953 100644 --- a/config/babel.config.js +++ b/config/babel.config.js @@ -20,8 +20,8 @@ module.exports = function(api) { const babelrcPlugins = packageContent && packageContent.enact && packageContent.enact.babel_plugins - ? packageContent.enact.babel_plugins - : []; + ? packageContent.enact.babel_plugins + : []; return { presets: [ @@ -64,7 +64,7 @@ module.exports = function(api) { plugins: [ // Add external plugins using spread operator ...babelrcPlugins, - + // Stage 0 // '@babel/plugin-proposal-function-bind',