Skip to content

Commit

Permalink
Remove outdated babel plugins (#8353)
Browse files Browse the repository at this point in the history
Updates dependencies and removes babel plugins that are now covered by `@babel/preset-env`.

Co-authored-by: hdineen <hdineen@hubspot.com>
  • Loading branch information
ianschmitz and henryqdineen committed Jan 30, 2020
1 parent 4bf14fa commit b855da5
Show file tree
Hide file tree
Showing 10 changed files with 1,224 additions and 1,129 deletions.
3 changes: 3 additions & 0 deletions package.json
Expand Up @@ -43,6 +43,9 @@
"tempy": "^0.2.1",
"wait-for-localhost": "^3.1.0"
},
"resolutions": {
"mkdirp": "0.5.1"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
Expand Down
64 changes: 23 additions & 41 deletions packages/babel-preset-react-app/create.js
Expand Up @@ -117,29 +117,29 @@ module.exports = function(api, opts, env) {
// Experimental macros support. Will be documented after it's had some time
// in the wild.
require('babel-plugin-macros'),
// Necessary to include regardless of the environment because
// in practice some other transforms (such as object-rest-spread)
// don't work without it: https://github.com/babel/babel/issues/7215
[
require('@babel/plugin-transform-destructuring').default,
{
// Use loose mode for performance:
// https://github.com/facebook/create-react-app/issues/5602
loose: false,
selectiveLoose: [
'useState',
'useEffect',
'useContext',
'useReducer',
'useCallback',
'useMemo',
'useRef',
'useImperativeHandle',
'useLayoutEffect',
'useDebugValue',
],
},
],
// Disabled as it's handled automatically by preset-env, and `selectiveLoose` isn't
// yet merged into babel: https://github.com/babel/babel/pull/9486
// Related: https://github.com/facebook/create-react-app/pull/8215
// [
// require('@babel/plugin-transform-destructuring').default,
// {
// // Use loose mode for performance:
// // https://github.com/facebook/create-react-app/issues/5602
// loose: false,
// selectiveLoose: [
// 'useState',
// 'useEffect',
// 'useContext',
// 'useReducer',
// 'useCallback',
// 'useMemo',
// 'useRef',
// 'useImperativeHandle',
// 'useLayoutEffect',
// 'useDebugValue',
// ],
// },
// ],
// Turn on legacy decorators for TypeScript files
isTypeScriptEnabled && [
require('@babel/plugin-proposal-decorators').default,
Expand All @@ -156,15 +156,6 @@ module.exports = function(api, opts, env) {
],
// Adds Numeric Separators
require('@babel/plugin-proposal-numeric-separator').default,
// The following two plugins use Object.assign directly, instead of Babel's
// extends helper. Note that this assumes `Object.assign` is available.
// { ...todo, completed: true }
[
require('@babel/plugin-proposal-object-rest-spread').default,
{
useBuiltIns: true,
},
],
// Polyfills the runtime needed for async/await, generators, and friends
// https://babeljs.io/docs/en/babel-plugin-transform-runtime
[
Expand Down Expand Up @@ -194,15 +185,6 @@ module.exports = function(api, opts, env) {
removeImport: true,
},
],
// Adds syntax support for import()
require('@babel/plugin-syntax-dynamic-import').default,
// Adds syntax support for optional chaining (?.)
require('@babel/plugin-proposal-optional-chaining').default,
// Adds syntax support for default value using ?? operator
require('@babel/plugin-proposal-nullish-coalescing-operator').default,
isEnvTest &&
// Transform dynamic import to require
require('babel-plugin-dynamic-import-node'),
].filter(Boolean),
overrides: [
isFlowEnabled && {
Expand Down
51 changes: 23 additions & 28 deletions packages/babel-preset-react-app/dependencies.js
Expand Up @@ -97,29 +97,29 @@ module.exports = function(api, opts) {
],
].filter(Boolean),
plugins: [
// Necessary to include regardless of the environment because
// in practice some other transforms (such as object-rest-spread)
// don't work without it: https://github.com/babel/babel/issues/7215
[
require('@babel/plugin-transform-destructuring').default,
{
// Use loose mode for performance:
// https://github.com/facebook/create-react-app/issues/5602
loose: false,
selectiveLoose: [
'useState',
'useEffect',
'useContext',
'useReducer',
'useCallback',
'useMemo',
'useRef',
'useImperativeHandle',
'useLayoutEffect',
'useDebugValue',
],
},
],
// Disabled as it's handled automatically by preset-env, and `selectiveLoose` isn't
// yet merged into babel: https://github.com/babel/babel/pull/9486
// Related: https://github.com/facebook/create-react-app/pull/8215
// [
// require('@babel/plugin-transform-destructuring').default,
// {
// // Use loose mode for performance:
// // https://github.com/facebook/create-react-app/issues/5602
// loose: false,
// selectiveLoose: [
// 'useState',
// 'useEffect',
// 'useContext',
// 'useReducer',
// 'useCallback',
// 'useMemo',
// 'useRef',
// 'useImperativeHandle',
// 'useLayoutEffect',
// 'useDebugValue',
// ],
// },
// ],
// Polyfills the runtime needed for async/await, generators, and friends
// https://babeljs.io/docs/en/babel-plugin-transform-runtime
[
Expand All @@ -138,11 +138,6 @@ module.exports = function(api, opts) {
absoluteRuntime: absoluteRuntimePath,
},
],
// Adds syntax support for import()
require('@babel/plugin-syntax-dynamic-import').default,
isEnvTest &&
// Transform dynamic import to require
require('babel-plugin-dynamic-import-node'),
].filter(Boolean),
};
};
22 changes: 8 additions & 14 deletions packages/babel-preset-react-app/package.json
Expand Up @@ -21,23 +21,17 @@
"test.js"
],
"dependencies": {
"@babel/core": "7.8.3",
"@babel/core": "7.8.4",
"@babel/plugin-proposal-class-properties": "7.8.3",
"@babel/plugin-proposal-decorators": "7.8.3",
"@babel/plugin-proposal-nullish-coalescing-operator": "7.8.3",
"@babel/plugin-proposal-numeric-separator": "7.8.3",
"@babel/plugin-proposal-object-rest-spread": "7.7.4",
"@babel/plugin-proposal-optional-chaining": "7.8.3",
"@babel/plugin-syntax-dynamic-import": "7.7.4",
"@babel/plugin-transform-destructuring": "7.7.4",
"@babel/plugin-transform-flow-strip-types": "7.7.4",
"@babel/plugin-transform-react-display-name": "7.7.4",
"@babel/plugin-transform-runtime": "7.7.6",
"@babel/preset-env": "7.7.6",
"@babel/preset-react": "7.7.4",
"@babel/preset-typescript": "7.7.4",
"@babel/runtime": "7.7.6",
"babel-plugin-dynamic-import-node": "2.3.0",
"@babel/plugin-transform-flow-strip-types": "7.8.3",
"@babel/plugin-transform-react-display-name": "7.8.3",
"@babel/plugin-transform-runtime": "7.8.3",
"@babel/preset-env": "7.8.4",
"@babel/preset-react": "7.8.3",
"@babel/preset-typescript": "7.8.3",
"@babel/runtime": "7.8.4",
"babel-plugin-macros": "2.8.0",
"babel-plugin-transform-react-remove-prop-types": "0.4.24"
}
Expand Down
2 changes: 1 addition & 1 deletion packages/create-react-app/package.json
Expand Up @@ -32,7 +32,7 @@
"envinfo": "7.5.0",
"fs-extra": "8.1.0",
"hyperquest": "2.1.3",
"inquirer": "7.0.3",
"inquirer": "7.0.4",
"semver": "6.3.0",
"tar-pack": "3.4.1",
"tmp": "0.1.0",
Expand Down

0 comments on commit b855da5

Please sign in to comment.