diff --git a/.babelrc.js b/.babelrc.js index 96f6e829bb..afe37b061c 100644 --- a/.babelrc.js +++ b/.babelrc.js @@ -12,16 +12,16 @@ module.exports = { presets: [ [ - 'env', + '@babel/preset-env', { targets: { node: 'current', }, }, ], - 'stage-2', - 'flow', - 'react', + '@babel/preset-stage-2', + '@babel/preset-flow', + '@babel/preset-react', ], ignore: ['node_modules', 'build'], }; diff --git a/package.json b/package.json index 7b14edce70..81936632d0 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ }, "browserslist": [">1%", "last 4 versions", "Firefox ESR", "not ie < 9"], "dependencies": { - "babel-polyfill": "7.0.0-beta.3", + "@babel/polyfill": "7.0.0-beta.5", "bluebird": "^3.5.1", "body-parser": "^1.18.2", "classnames": "^2.2.5", @@ -38,20 +38,20 @@ "whatwg-fetch": "^2.0.3" }, "devDependencies": { + "@babel/core": "7.0.0-beta.5", + "@babel/node": "7.0.0-beta.5", + "@babel/plugin-transform-react-constant-elements": "7.0.0-beta.5", + "@babel/plugin-transform-react-inline-elements": "7.0.0-beta.5", + "@babel/preset-env": "7.0.0-beta.5", + "@babel/preset-flow": "7.0.0-beta.5", + "@babel/preset-react": "7.0.0-beta.5", + "@babel/preset-stage-2": "7.0.0-beta.5", "assets-webpack-plugin": "^3.5.1", "autoprefixer": "^7.1.6", - "babel-core": "7.0.0-beta.3", "babel-eslint": "^8.0.1", "babel-jest": "^21.2.0", - "babel-loader": "^7.1.2", - "babel-node": "7.0.0-beta.3", - "babel-plugin-transform-react-constant-elements": "7.0.0-beta.3", - "babel-plugin-transform-react-inline-elements": "7.0.0-beta.3", + "babel-loader": "8.0.0-beta.0", "babel-plugin-transform-react-remove-prop-types": "^0.4.10", - "babel-preset-env": "7.0.0-beta.3", - "babel-preset-flow": "7.0.0-beta.3", - "babel-preset-react": "7.0.0-beta.3", - "babel-preset-stage-2": "7.0.0-beta.3", "browser-sync": "^2.18.13", "chokidar": "^1.7.0", "css-loader": "^0.28.7", diff --git a/tools/webpack.config.js b/tools/webpack.config.js index 87c0912090..fe177b16d6 100644 --- a/tools/webpack.config.js +++ b/tools/webpack.config.js @@ -82,7 +82,7 @@ const config = { // A Babel preset that can automatically determine the Babel plugins and polyfills // https://github.com/babel/babel-preset-env [ - 'env', + '@babel/preset-env', { targets: { browsers: pkg.browserslist, @@ -95,21 +95,21 @@ const config = { ], // Experimental ECMAScript proposals // https://babeljs.io/docs/plugins/#presets-stage-x-experimental-presets- - 'stage-2', + '@babel/preset-stage-2', // Flow // https://github.com/babel/babel/tree/master/packages/babel-preset-flow - 'flow', + '@babel/preset-flow', // JSX // https://github.com/babel/babel/tree/master/packages/babel-preset-react - ['react', { development: isDebug }], + ['@babel/preset-react', { development: isDebug }], ], plugins: [ // Treat React JSX elements as value types and hoist them to the highest scope // https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-constant-elements - ...(isDebug ? [] : ['transform-react-constant-elements']), + ...(isDebug ? [] : ['@babel/transform-react-constant-elements']), // Replaces the React.createElement function with one that is more optimized for production // https://github.com/babel/babel/tree/master/packages/babel-plugin-transform-react-inline-elements - ...(isDebug ? [] : ['transform-react-inline-elements']), + ...(isDebug ? [] : ['@babel/transform-react-inline-elements']), // Remove unnecessary React propTypes from the production build // https://github.com/oliviertassinari/babel-plugin-transform-react-remove-prop-types ...(isDebug ? [] : ['transform-react-remove-prop-types']), @@ -295,7 +295,7 @@ const clientConfig = { target: 'web', entry: { - client: ['babel-polyfill', './src/client.js'], + client: ['@babel/polyfill', './src/client.js'], }, plugins: [ @@ -376,7 +376,7 @@ const serverConfig = { target: 'node', entry: { - server: ['babel-polyfill', './src/server.js'], + server: ['@babel/polyfill', './src/server.js'], }, output: { @@ -405,10 +405,10 @@ const serverConfig = { ...rule.options, presets: rule.options.presets.map( preset => - preset[0] !== 'env' + preset[0] !== '@babel/preset-env' ? preset : [ - 'env', + '@babel/preset-env', { targets: { node: pkg.engines.node.match(/(\d+\.?)+/)[0],