File tree Expand file tree Collapse file tree 3 files changed +28
-4
lines changed
packages/react-server-dom-webpack Expand file tree Collapse file tree 3 files changed +28
-4
lines changed Original file line number Diff line number Diff line change 66
66
"./server.node.unbundled" : " ./server.node.unbundled.js" ,
67
67
"./node-loader" : " ./esm/react-server-dom-webpack-node-loader.production.min.js" ,
68
68
"./node-register" : " ./node-register.js" ,
69
- "./src/*" : " ./src/*" ,
69
+ "./src/*" : " ./src/*.js " ,
70
70
"./package.json" : " ./package.json"
71
71
},
72
72
"main" : " index.js" ,
Original file line number Diff line number Diff line change @@ -173,6 +173,30 @@ function getBabelConfig(
173
173
return options ;
174
174
}
175
175
176
+ let getRollupInteropValue = id => {
177
+ // ReactNoop.js and ReactNoopPersistent.js do `import ReactFiberReconciler from 'react-reconciler'`.
178
+ // That gets turned into a `require()`, but the `module.exports = function reconciler()` wrapper
179
+ // gets added later, so Rollup isn't fully aware of it, and tries to use `RFR.default` instead.
180
+ // Force Rollup to use the `require()`'d value directly, without adding a `.default`.
181
+ // Other cases:
182
+ // - `react-art` needs to deal with imports from the `art` package
183
+ // - `react-server/flight` and `react-client/flight`
184
+ // -`error-stack-parser`
185
+ const exactModuleNames = [
186
+ 'react-reconciler' ,
187
+ 'react-server/flight' ,
188
+ 'react-client/flight' ,
189
+ 'error-stack-parser' ,
190
+ ] ;
191
+
192
+ if ( exactModuleNames . includes ( id ) || id . startsWith ( 'art/' ) ) {
193
+ return 'default' ;
194
+ }
195
+
196
+ // For all other modules, handle imports without any import helper utils
197
+ return 'esModule' ;
198
+ } ;
199
+
176
200
function getRollupOutputOptions (
177
201
outputPath ,
178
202
format ,
@@ -187,7 +211,7 @@ function getRollupOutputOptions(
187
211
format,
188
212
globals,
189
213
freeze : ! isProduction ,
190
- interop : false ,
214
+ interop : getRollupInteropValue ,
191
215
name : globalName ,
192
216
sourcemap : false ,
193
217
esModule : false ,
@@ -612,7 +636,7 @@ async function createBundle(bundle, bundleType) {
612
636
output : {
613
637
externalLiveBindings : false ,
614
638
freeze : false ,
615
- interop : false ,
639
+ interop : getRollupInteropValue ,
616
640
esModule : false ,
617
641
} ,
618
642
} ;
Original file line number Diff line number Diff line change @@ -442,7 +442,7 @@ const bundles = [
442
442
{
443
443
bundleTypes : [ NODE_ES2015 ] ,
444
444
moduleType : RENDERER_UTILS ,
445
- entry : 'react-server-dom-webpack/src/ReactFlightWebpackNodeRegister.js ' ,
445
+ entry : 'react-server-dom-webpack/src/ReactFlightWebpackNodeRegister' ,
446
446
name : 'react-server-dom-webpack-node-register' ,
447
447
global : 'ReactFlightWebpackNodeRegister' ,
448
448
minifyWithProdErrorCodes : false ,
You can’t perform that action at this time.
0 commit comments