From 2c6b9327b1b2527a3ac7b917735c2702f5adfc2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Poduszl=C3=B3?= Date: Thu, 25 Aug 2016 10:33:46 +0200 Subject: [PATCH 1/4] Started using babel-preset-latest --- config/babel.dev.js | 8 ++------ config/babel.prod.js | 8 ++------ package.json | 4 +--- 3 files changed, 5 insertions(+), 15 deletions(-) diff --git a/config/babel.dev.js b/config/babel.dev.js index 89096734713..e3153e75da7 100644 --- a/config/babel.dev.js +++ b/config/babel.dev.js @@ -14,16 +14,12 @@ module.exports = { // It enables caching results in OS temporary directory for faster rebuilds. cacheDirectory: true, presets: [ - // let, const, destructuring, classes, modules - require.resolve('babel-preset-es2015'), - // exponentiation - require.resolve('babel-preset-es2016'), + // Latest stable ECMAScript features + require.resolve('babel-preset-latest'), // JSX, Flow require.resolve('babel-preset-react') ], plugins: [ - // function x(a, b, c,) { } - require.resolve('babel-plugin-syntax-trailing-function-commas'), // await fetch() require.resolve('babel-plugin-syntax-async-functions'), // class { handleClick = () => { } } diff --git a/config/babel.prod.js b/config/babel.prod.js index 92491bfcacb..687b2759da1 100644 --- a/config/babel.prod.js +++ b/config/babel.prod.js @@ -11,16 +11,12 @@ module.exports = { // Don't try to find .babelrc because we want to force this configuration. babelrc: false, presets: [ - // let, const, destructuring, classes, modules - require.resolve('babel-preset-es2015'), - // exponentiation - require.resolve('babel-preset-es2016'), + // Latest stable ECMAScript features + require.resolve('babel-preset-latest'), // JSX, Flow require.resolve('babel-preset-react') ], plugins: [ - // function x(a, b, c,) { } - require.resolve('babel-plugin-syntax-trailing-function-commas'), // await fetch() require.resolve('babel-plugin-syntax-async-functions'), // class { handleClick = () => { } } diff --git a/package.json b/package.json index 1b389da8005..cd25ec7236d 100644 --- a/package.json +++ b/package.json @@ -34,14 +34,12 @@ "babel-jest": "14.1.0", "babel-loader": "6.2.4", "babel-plugin-syntax-async-functions": "6.8.0", - "babel-plugin-syntax-trailing-function-commas": "6.8.0", "babel-plugin-transform-class-properties": "6.11.5", "babel-plugin-transform-object-rest-spread": "6.8.0", "babel-plugin-transform-react-constant-elements": "6.9.1", "babel-plugin-transform-regenerator": "6.11.4", "babel-plugin-transform-runtime": "6.12.0", - "babel-preset-es2015": "6.9.0", - "babel-preset-es2016": "6.11.3", + "babel-preset-latest": "6.14.0", "babel-preset-react": "6.11.1", "babel-runtime": "6.11.6", "case-sensitive-paths-webpack-plugin": "1.1.3", From c1065c7ce1d468d53ca78618bd0cbf3b889f8161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Poduszl=C3=B3?= Date: Thu, 25 Aug 2016 11:19:05 +0200 Subject: [PATCH 2/4] Updated babel dependencies --- package.json | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index cd25ec7236d..7336ade3b6e 100644 --- a/package.json +++ b/package.json @@ -29,15 +29,15 @@ }, "dependencies": { "autoprefixer": "6.4.0", - "babel-core": "6.11.4", + "babel-core": "6.14.0", "babel-eslint": "6.1.2", "babel-jest": "14.1.0", - "babel-loader": "6.2.4", - "babel-plugin-syntax-async-functions": "6.8.0", + "babel-loader": "6.2.5", + "babel-plugin-syntax-async-functions": "6.13.0", "babel-plugin-transform-class-properties": "6.11.5", "babel-plugin-transform-object-rest-spread": "6.8.0", "babel-plugin-transform-react-constant-elements": "6.9.1", - "babel-plugin-transform-regenerator": "6.11.4", + "babel-plugin-transform-regenerator": "6.14.0", "babel-plugin-transform-runtime": "6.12.0", "babel-preset-latest": "6.14.0", "babel-preset-react": "6.11.1", From ebebc3917c37ca529cd08aae1c9e98a72c383a6b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Poduszl=C3=B3?= Date: Thu, 25 Aug 2016 13:14:08 +0200 Subject: [PATCH 3/4] Remove redundant babel-plugin-syntax-async-functions --- config/babel.dev.js | 2 -- config/babel.prod.js | 2 -- package.json | 1 - 3 files changed, 5 deletions(-) diff --git a/config/babel.dev.js b/config/babel.dev.js index e3153e75da7..d7397641d33 100644 --- a/config/babel.dev.js +++ b/config/babel.dev.js @@ -20,8 +20,6 @@ module.exports = { require.resolve('babel-preset-react') ], plugins: [ - // await fetch() - require.resolve('babel-plugin-syntax-async-functions'), // class { handleClick = () => { } } require.resolve('babel-plugin-transform-class-properties'), // { ...todo, completed: true } diff --git a/config/babel.prod.js b/config/babel.prod.js index 687b2759da1..2ff9fdab508 100644 --- a/config/babel.prod.js +++ b/config/babel.prod.js @@ -17,8 +17,6 @@ module.exports = { require.resolve('babel-preset-react') ], plugins: [ - // await fetch() - require.resolve('babel-plugin-syntax-async-functions'), // class { handleClick = () => { } } require.resolve('babel-plugin-transform-class-properties'), // { ...todo, completed: true } diff --git a/package.json b/package.json index 7336ade3b6e..1694ded2b12 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,6 @@ "babel-eslint": "6.1.2", "babel-jest": "14.1.0", "babel-loader": "6.2.5", - "babel-plugin-syntax-async-functions": "6.13.0", "babel-plugin-transform-class-properties": "6.11.5", "babel-plugin-transform-object-rest-spread": "6.8.0", "babel-plugin-transform-react-constant-elements": "6.9.1", From 41f58f23a7eed90e6919e84b7a09d6534dd9e7be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krist=C3=B3f=20Poduszl=C3=B3?= Date: Thu, 25 Aug 2016 13:53:54 +0200 Subject: [PATCH 4/4] Disabled redundant regenerator transform --- config/babel.dev.js | 5 ++++- config/babel.prod.js | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/config/babel.dev.js b/config/babel.dev.js index d7397641d33..56533109097 100644 --- a/config/babel.dev.js +++ b/config/babel.dev.js @@ -25,7 +25,10 @@ module.exports = { // { ...todo, completed: true } require.resolve('babel-plugin-transform-object-rest-spread'), // function* () { yield 42; yield 43; } - require.resolve('babel-plugin-transform-regenerator'), + [require.resolve('babel-plugin-transform-regenerator'), { + // Async functions are converted to generators by babel-preset-latest + async: false + }], // Polyfills the runtime needed for async/await and generators [require.resolve('babel-plugin-transform-runtime'), { helpers: false, diff --git a/config/babel.prod.js b/config/babel.prod.js index 2ff9fdab508..32f4bd66583 100644 --- a/config/babel.prod.js +++ b/config/babel.prod.js @@ -22,7 +22,10 @@ module.exports = { // { ...todo, completed: true } require.resolve('babel-plugin-transform-object-rest-spread'), // function* () { yield 42; yield 43; } - require.resolve('babel-plugin-transform-regenerator'), + [require.resolve('babel-plugin-transform-regenerator'), { + // Async functions are converted to generators by babel-preset-latest + async: false + }], // Polyfills the runtime needed for async/await and generators [require.resolve('babel-plugin-transform-runtime'), { helpers: false,