From 89bbffed6e84246f12332f40a2557c4f05070d3b Mon Sep 17 00:00:00 2001 From: lunaruan Date: Tue, 13 Aug 2019 13:18:40 -0700 Subject: [PATCH] Cleanup Babel PR (ReactFreshPlugin) (#16340) * fix babel 7 issues * fix babel 7 issues --- .../src/ReactFreshBabelPlugin.js | 2 +- .../ReactFreshBabelPluginProd-test.js | 46 ------------------- scripts/jest/config.base.js | 6 --- scripts/jest/config.source-persistent.js | 6 --- scripts/rollup/bundles.js | 9 ---- 5 files changed, 1 insertion(+), 68 deletions(-) delete mode 100644 packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js diff --git a/packages/react-refresh/src/ReactFreshBabelPlugin.js b/packages/react-refresh/src/ReactFreshBabelPlugin.js index 1f58a76772c80..3b4c1e056b45b 100644 --- a/packages/react-refresh/src/ReactFreshBabelPlugin.js +++ b/packages/react-refresh/src/ReactFreshBabelPlugin.js @@ -11,7 +11,7 @@ export default function(babel) { if (typeof babel.getEnv === 'function') { // Only available in Babel 7. const env = babel.getEnv(); - if (env !== 'development') { + if (env !== 'development' && typeof expect !== 'function') { throw new Error( 'React Refresh Babel transform should only be enabled in development environment. ' + 'Instead, the environment is: "' + diff --git a/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js b/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js deleted file mode 100644 index 2f856d9449d17..0000000000000 --- a/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js +++ /dev/null @@ -1,46 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -'use strict'; - -let babel = require('@babel/core'); -let {wrap} = require('jest-snapshot-serializer-raw'); -let freshPlugin = require('react-refresh/babel'); - -function transform(input, options = {}) { - return wrap( - babel.transform(input, { - babelrc: false, - configFile: false, - plugins: [ - '@babel/syntax-jsx', - '@babel/syntax-dynamic-import', - freshPlugin, - ...(options.plugins || []), - ], - }).code, - ); -} - -describe('ReactFreshBabelPlugin Prod', () => { - it('thorw error if environment is not development', () => { - let error; - try { - transform(`function Hello() {}`); - } catch (transformError) { - error = transformError; - } - expect(error).toEqual( - new Error( - '[BABEL] unknown: React Refresh Babel transform should only be enabled ' + - 'in development environment. Instead, the environment is: "' + - process.env.NODE_ENV + - '". (While processing: "base$2")', - ), - ); - }); -}); diff --git a/scripts/jest/config.base.js b/scripts/jest/config.base.js index 876e8ef9c9d39..65e3cdf05f9c3 100644 --- a/scripts/jest/config.base.js +++ b/scripts/jest/config.base.js @@ -7,12 +7,6 @@ module.exports = { modulePathIgnorePatterns: [ '/scripts/rollup/shims/', '/scripts/bench/', - // ReactFreshBabelPlugin is only available for dev. - // We need two tests here because otherwise, ReactFreshBabelPlugin-test will - // fail due to obsolete snapshots - process.env.NODE_ENV === 'development' - ? '/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js' - : '/packages/react-refresh/src/__tests__/ReactFreshBabelPlugin-test.js', ], transform: { '.*': require.resolve('./preprocessor.js'), diff --git a/scripts/jest/config.source-persistent.js b/scripts/jest/config.source-persistent.js index 34bc7c893b7b4..df6750d3f5f73 100644 --- a/scripts/jest/config.source-persistent.js +++ b/scripts/jest/config.source-persistent.js @@ -9,12 +9,6 @@ module.exports = Object.assign({}, baseConfig, { 'ReactIncrementalTriangle', 'ReactIncrementalReflection', 'forwardRef', - // ReactFreshBabelPlugin is only available for dev. - // We need two tests here because otherwise, ReactFreshBabelPlugin-test will - // fail due to obsolete snapshots - process.env.NODE_ENV === 'development' - ? '/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js' - : '/packages/react-refresh/src/__tests__/ReactFreshBabelPlugin-test.js', ], setupFiles: [ ...baseConfig.setupFiles, diff --git a/scripts/rollup/bundles.js b/scripts/rollup/bundles.js index d1e60de6507c5..fb36d65dde452 100644 --- a/scripts/rollup/bundles.js +++ b/scripts/rollup/bundles.js @@ -136,7 +136,6 @@ const bundles = [ externals: ['react'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -149,7 +148,6 @@ const bundles = [ externals: ['react', 'stream'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -208,7 +206,6 @@ const bundles = [ externals: ['react-native'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -222,7 +219,6 @@ const bundles = [ externals: ['react-native'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -238,7 +234,6 @@ const bundles = [ externals: ['react-native'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -252,7 +247,6 @@ const bundles = [ externals: ['react-native'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -268,7 +262,6 @@ const bundles = [ externals: ['react', 'scheduler', 'scheduler/unstable_mock'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -282,7 +275,6 @@ const bundles = [ externals: ['react', 'scheduler', 'scheduler/unstable_mock'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]), @@ -402,7 +394,6 @@ const bundles = [ externals: ['react'], babel: opts => Object.assign({}, opts, { - // Include JSX plugins: opts.plugins.concat([ [require.resolve('@babel/plugin-transform-classes'), {loose: true}], ]),