Skip to content
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"test": "node packages/react-scripts/scripts/test.js --env=jsdom"
},
"devDependencies": {
"babel-eslint": "6.1.2",
"babel-eslint": "7.1.0",
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

latest is 7.1.1, could as well use that.

"eslint": "3.5.0",
"eslint-config-react-app": "0.2.1",
"eslint-plugin-flowtype": "2.18.1",
Expand Down
4 changes: 3 additions & 1 deletion packages/babel-preset-react-app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@ const plugins = [
regenerator: true,
// Resolve the Babel runtime relative to the config.
moduleName: path.dirname(require.resolve('babel-runtime/package'))
}]
}],
// Enables parsing of import()
require.resolve('babel-plugin-syntax-dynamic-import')
];

// This is similar to how `env` works in Babel:
Expand Down
1 change: 1 addition & 0 deletions packages/babel-preset-react-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"index.js"
],
"dependencies": {
"babel-plugin-syntax-dynamic-import": "6.18.0",
"babel-plugin-transform-class-properties": "6.22.0",
"babel-plugin-transform-es2015-parameters": "6.22.0",
"babel-plugin-transform-object-rest-spread": "6.22.0",
Expand Down
2 changes: 2 additions & 0 deletions packages/react-scripts/config/webpack.config.dev.js
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ module.exports = {
// @remove-on-eject-end
module: {
rules: [
// Disable require.ensure as it's not a standard language feature.
{ parser: { requireEnsure: false } },
// First, run the linter.
// It's important to do this before Babel processes the JS.
{
Expand Down
2 changes: 2 additions & 0 deletions packages/react-scripts/config/webpack.config.prod.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,8 @@ module.exports = {
// @remove-on-eject-end
module: {
rules: [
// Disable require.ensure as it's not a standard language feature.
{ parser: { requireEnsure: false } },
// First, run the linter.
// It's important to do this before Babel processes the JS.
{
Expand Down
50 changes: 25 additions & 25 deletions packages/react-scripts/fixtures/kitchensink/src/App.js
Original file line number Diff line number Diff line change
Expand Up @@ -47,79 +47,79 @@ class App extends Component {
const feature = location.hash.slice(1);
switch (feature) {
case 'array-destructuring':
require.ensure([], () => this.setFeature(require('./features/syntax/ArrayDestructuring').default));
import('./features/syntax/ArrayDestructuring').then(f => this.setFeature(f.default));
break;
case 'array-spread':
require.ensure([], () => this.setFeature(require('./features/syntax/ArraySpread').default));
import('./features/syntax/ArraySpread').then(f => this.setFeature(f.default));
break;
case 'async-await':
require.ensure([], () => this.setFeature(require('./features/syntax/AsyncAwait').default));
import('./features/syntax/AsyncAwait').then(f => this.setFeature(f.default));
break;
case 'class-properties':
require.ensure([], () => this.setFeature(require('./features/syntax/ClassProperties').default));
import('./features/syntax/ClassProperties').then(f => this.setFeature(f.default));
break;
case 'computed-properties':
require.ensure([], () => this.setFeature(require('./features/syntax/ComputedProperties').default));
import('./features/syntax/ComputedProperties').then(f => this.setFeature(f.default));
break;
case 'css-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/CssInclusion').default));
import('./features/webpack/CssInclusion').then(f => this.setFeature(f.default));
break;
case 'custom-interpolation':
require.ensure([], () => this.setFeature(require('./features/syntax/CustomInterpolation').default));
import('./features/syntax/CustomInterpolation').then(f => this.setFeature(f.default));
break;
case 'default-parameters':
require.ensure([], () => this.setFeature(require('./features/syntax/DefaultParameters').default));
import('./features/syntax/DefaultParameters').then(f => this.setFeature(f.default));
break;
case 'destructuring-and-await':
require.ensure([], () => this.setFeature(require('./features/syntax/DestructuringAndAwait').default));
import('./features/syntax/DestructuringAndAwait').then(f => this.setFeature(f.default));
break;
case 'file-env-variables':
require.ensure([], () => this.setFeature(require('./features/env/FileEnvVariables').default));
import('./features/env/FileEnvVariables').then(f => this.setFeature(f.default));
break;
case 'generators':
require.ensure([], () => this.setFeature(require('./features/syntax/Generators').default));
import('./features/syntax/Generators').then(f => this.setFeature(f.default));
break;
case 'image-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/ImageInclusion').default));
import('./features/webpack/ImageInclusion').then(f => this.setFeature(f.default));
break;
case 'json-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/JsonInclusion').default));
import('./features/webpack/JsonInclusion').then(f => this.setFeature(f.default));
break;
case 'node-path':
require.ensure([], () => this.setFeature(require('./features/env/NodePath').default));
import('./features/env/NodePath').then(f => this.setFeature(f.default));
break;
case 'no-ext-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/NoExtInclusion').default));
import('./features/webpack/NoExtInclusion').then(f => this.setFeature(f.default));
break;
case 'object-destructuring':
require.ensure([], () => this.setFeature(require('./features/syntax/ObjectDestructuring').default));
import('./features/syntax/ObjectDestructuring').then(f => this.setFeature(f.default));
break;
case 'object-spread':
require.ensure([], () => this.setFeature(require('./features/syntax/ObjectSpread').default));
import('./features/syntax/ObjectSpread').then(f => this.setFeature(f.default));
break;
case 'promises':
require.ensure([], () => this.setFeature(require('./features/syntax/Promises').default));
import('./features/syntax/Promises').then(f => this.setFeature(f.default));
break;
case 'public-url':
require.ensure([], () => this.setFeature(require('./features/env/PublicUrl').default));
import('./features/env/PublicUrl').then(f => this.setFeature(f.default));
break;
case 'rest-and-default':
require.ensure([], () => this.setFeature(require('./features/syntax/RestAndDefault').default));
import('./features/syntax/RestAndDefault').then(f => this.setFeature(f.default));
break;
case 'rest-parameters':
require.ensure([], () => this.setFeature(require('./features/syntax/RestParameters').default));
import('./features/syntax/RestParameters').then(f => this.setFeature(f.default));
break;
case 'shell-env-variables':
require.ensure([], () => this.setFeature(require('./features/env/ShellEnvVariables').default));
import('./features/env/ShellEnvVariables').then(f => this.setFeature(f.default));
break;
case 'svg-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/SvgInclusion').default));
import('./features/webpack/SvgInclusion').then(f => this.setFeature(f.default));
break;
case 'template-interpolation':
require.ensure([], () => this.setFeature(require('./features/syntax/TemplateInterpolation').default));
import('./features/syntax/TemplateInterpolation').then(f => this.setFeature(f.default));
break;
case 'unknown-ext-inclusion':
require.ensure([], () => this.setFeature(require('./features/webpack/UnknownExtInclusion').default));
import('./features/webpack/UnknownExtInclusion').then(f => this.setFeature(f.default));
break;
default: throw new Error(`Missing feature "${feature}"`);
}
Expand Down