Skip to content

Commit c92efca

Browse files
committed
Switch back to babel-loader
1 parent 27ac52a commit c92efca

File tree

7 files changed

+31
-44
lines changed

7 files changed

+31
-44
lines changed

Diff for: packages/babel-preset-react-app/loader.js

+24-3
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,28 @@
66
*/
77
'use strict';
88

9-
const loader = require('babel-loader');
10-
const overrides = require('./overrides');
9+
const crypto = require('crypto');
1110

12-
module.exports = loader.custom(() => overrides);
11+
module.exports = function() {
12+
return {
13+
// This function transforms the Babel configuration on a per-file basis
14+
config(config, { source }) {
15+
// Babel Macros are notoriously hard to cache, so they shouldn't be
16+
// https://github.com/babel/babel/issues/8497
17+
// We naively detect macros using their package suffix and insert a random
18+
// caller name, a valid option accepted by Babel, to compose a one-time
19+
// cacheIdentifier for the file. We cannot tune the loader options on a per
20+
// file basis.
21+
if (source.indexOf('.macro') !== -1 || source.indexOf('/macro') !== -1) {
22+
return {
23+
...config.options,
24+
caller: {
25+
name: 'babel-preset-react-app',
26+
craInvalidationToken: crypto.randomBytes(32).toString('hex'),
27+
},
28+
};
29+
}
30+
return config.options;
31+
},
32+
};
33+
};

Diff for: packages/babel-preset-react-app/overrides.js

-32
This file was deleted.

Diff for: packages/babel-preset-react-app/package.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
"dev.js",
1414
"index.js",
1515
"loader.js",
16-
"overrides.js",
1716
"prod.js",
1817
"test.js"
1918
],
@@ -31,7 +30,7 @@
3130
"@babel/preset-flow": "7.0.0",
3231
"@babel/preset-react": "7.0.0",
3332
"@babel/runtime": "7.0.0",
34-
"babel-loader": "8.0.2",
33+
"babel-loader": "8.0.4",
3534
"babel-plugin-macros": "2.4.2",
3635
"babel-plugin-transform-dynamic-import": "2.1.0",
3736
"babel-plugin-transform-react-remove-prop-types": "0.4.18"

Diff for: packages/react-error-overlay/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
"babel-core": "7.0.0-bridge.0",
3737
"babel-eslint": "9.0.0",
3838
"babel-jest": "23.6.0",
39-
"babel-loader": "8.0.2",
39+
"babel-loader": "8.0.4",
4040
"babel-preset-react-app": "^4.0.0",
4141
"chalk": "^2.3.2",
4242
"chokidar": "^2.0.2",

Diff for: packages/react-scripts/config/webpack.config.dev.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,9 @@ module.exports = {
218218
},
219219
},
220220
{
221-
// We need to use our own loader until `babel-loader` supports
222-
// customization
223-
// https://github.com/babel/babel-loader/pull/687
224-
loader: require.resolve('babel-preset-react-app/loader'),
221+
loader: require.resolve('babel-loader'),
225222
options: {
223+
customize: require.resolve('babel-preset-react-app/loader'),
226224
// @remove-on-eject-begin
227225
babelrc: false,
228226
configFile: false,

Diff for: packages/react-scripts/config/webpack.config.prod.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,9 @@ module.exports = {
272272
// We need to use our own loader until `babel-loader` supports
273273
// customization
274274
// https://github.com/babel/babel-loader/pull/687
275-
loader: require.resolve('babel-preset-react-app/loader'),
275+
loader: require.resolve('babel-loader'),
276276
options: {
277+
customize: require.resolve('babel-preset-react-app/loader'),
277278
// @remove-on-eject-begin
278279
babelrc: false,
279280
configFile: false,

Diff for: packages/react-scripts/package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
"babel-core": "7.0.0-bridge.0",
2727
"babel-eslint": "9.0.0",
2828
"babel-jest": "23.6.0",
29-
"babel-loader": "8.0.2",
29+
"babel-loader": "8.0.4",
3030
"babel-plugin-named-asset-import": "^0.2.0",
3131
"babel-preset-react-app": "^4.0.0",
3232
"bfj": "6.1.1",

0 commit comments

Comments
 (0)