Cleanup Babel PR (ReactFreshPlugin) (#16340)
* fix babel 7 issues * fix babel 7 issues
This commit is contained in:
parent
dc3160887b
commit
89bbffed6e
|
@ -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: "' +
|
||||
|
|
|
@ -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")',
|
||||
),
|
||||
);
|
||||
});
|
||||
});
|
|
@ -7,12 +7,6 @@ module.exports = {
|
|||
modulePathIgnorePatterns: [
|
||||
'<rootDir>/scripts/rollup/shims/',
|
||||
'<rootDir>/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'
|
||||
? '<rootDir>/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js'
|
||||
: '<rootDir>/packages/react-refresh/src/__tests__/ReactFreshBabelPlugin-test.js',
|
||||
],
|
||||
transform: {
|
||||
'.*': require.resolve('./preprocessor.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'
|
||||
? '<rootDir>/packages/react-refresh/src/__tests__/ReactFreshBabelPluginProd-test.js'
|
||||
: '<rootDir>/packages/react-refresh/src/__tests__/ReactFreshBabelPlugin-test.js',
|
||||
],
|
||||
setupFiles: [
|
||||
...baseConfig.setupFiles,
|
||||
|
|
|
@ -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}],
|
||||
]),
|
||||
|
|
Loading…
Reference in New Issue