react-server-dom-webpack 19.0.0-rc-b8ae38f8-20241018 → 19.0.0-rc-c1e1358b-20241020

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,6 +42,12 @@
42
42
  async: 4 === metadata.length
43
43
  };
44
44
  }
45
+ function resolveServerReference(bundlerConfig, id) {
46
+ var idx = id.lastIndexOf("#");
47
+ bundlerConfig = id.slice(0, idx);
48
+ id = id.slice(idx + 1);
49
+ return { specifier: bundlerConfig, name: id };
50
+ }
45
51
  function preloadModule(metadata) {
46
52
  var existingPromise = asyncModuleCache.get(metadata.specifier);
47
53
  if (existingPromise)
@@ -66,6 +72,17 @@
66
72
  asyncModuleCache.set(metadata.specifier, modulePromise);
67
73
  return modulePromise;
68
74
  }
75
+ function requireModule(metadata) {
76
+ var moduleExports = asyncModuleCache.get(metadata.specifier);
77
+ if ("fulfilled" === moduleExports.status)
78
+ moduleExports = moduleExports.value;
79
+ else throw moduleExports.reason;
80
+ return "*" === metadata.name
81
+ ? moduleExports
82
+ : "" === metadata.name
83
+ ? moduleExports.default
84
+ : moduleExports[metadata.name];
85
+ }
69
86
  function prepareDestinationWithChunks(
70
87
  moduleLoading,
71
88
  chunks,
@@ -1204,16 +1221,7 @@
1204
1221
  }
1205
1222
  function initializeModuleChunk(chunk) {
1206
1223
  try {
1207
- var metadata = chunk.value,
1208
- promise = asyncModuleCache.get(metadata.specifier);
1209
- if ("fulfilled" === promise.status) var moduleExports = promise.value;
1210
- else throw promise.reason;
1211
- var value =
1212
- "*" === metadata.name
1213
- ? moduleExports
1214
- : "" === metadata.name
1215
- ? moduleExports.default
1216
- : moduleExports[metadata.name];
1224
+ var value = requireModule(chunk.value);
1217
1225
  chunk.status = "fulfilled";
1218
1226
  chunk.value = value;
1219
1227
  } catch (error) {
@@ -1265,7 +1273,7 @@
1265
1273
  }
1266
1274
  value = value[path[i]];
1267
1275
  }
1268
- i = map(response, value);
1276
+ i = map(response, value, parentObject, key);
1269
1277
  parentObject[key] = i;
1270
1278
  "" === key && null === handler.value && (handler.value = i);
1271
1279
  if (
@@ -1324,13 +1332,86 @@
1324
1332
  referencedChunk.then(fulfill, reject);
1325
1333
  return null;
1326
1334
  }
1327
- function createServerReferenceProxy(response, metaData) {
1328
- return createBoundServerReference(
1329
- metaData,
1330
- response._callServer,
1331
- response._encodeFormAction,
1332
- response._debugFindSourceMapURL
1335
+ function loadServerReference(response, metaData, parentObject, key) {
1336
+ if (!response._serverReferenceConfig)
1337
+ return createBoundServerReference(
1338
+ metaData,
1339
+ response._callServer,
1340
+ response._encodeFormAction,
1341
+ response._debugFindSourceMapURL
1342
+ );
1343
+ var serverReference = resolveServerReference(
1344
+ response._serverReferenceConfig,
1345
+ metaData.id
1333
1346
  );
1347
+ response = preloadModule(serverReference);
1348
+ if (!response) return requireModule(serverReference);
1349
+ if (initializingHandler) {
1350
+ var handler = initializingHandler;
1351
+ handler.deps++;
1352
+ } else
1353
+ handler = initializingHandler = {
1354
+ parent: null,
1355
+ chunk: null,
1356
+ value: null,
1357
+ deps: 1,
1358
+ errored: !1
1359
+ };
1360
+ response.then(
1361
+ function () {
1362
+ var resolvedValue = requireModule(serverReference);
1363
+ parentObject[key] = resolvedValue;
1364
+ "" === key &&
1365
+ null === handler.value &&
1366
+ (handler.value = resolvedValue);
1367
+ if (
1368
+ parentObject[0] === REACT_ELEMENT_TYPE &&
1369
+ "object" === typeof handler.value &&
1370
+ null !== handler.value &&
1371
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
1372
+ ) {
1373
+ var element = handler.value;
1374
+ switch (key) {
1375
+ case "3":
1376
+ element.props = resolvedValue;
1377
+ break;
1378
+ case "4":
1379
+ element._owner = resolvedValue;
1380
+ }
1381
+ }
1382
+ handler.deps--;
1383
+ 0 === handler.deps &&
1384
+ ((resolvedValue = handler.chunk),
1385
+ null !== resolvedValue &&
1386
+ "blocked" === resolvedValue.status &&
1387
+ ((element = resolvedValue.value),
1388
+ (resolvedValue.status = "fulfilled"),
1389
+ (resolvedValue.value = handler.value),
1390
+ null !== element && wakeChunk(element, handler.value)));
1391
+ },
1392
+ function (error) {
1393
+ if (!handler.errored) {
1394
+ var blockedValue = handler.value;
1395
+ handler.errored = !0;
1396
+ handler.value = error;
1397
+ var chunk = handler.chunk;
1398
+ null !== chunk &&
1399
+ "blocked" === chunk.status &&
1400
+ ("object" === typeof blockedValue &&
1401
+ null !== blockedValue &&
1402
+ blockedValue.$$typeof === REACT_ELEMENT_TYPE &&
1403
+ ((blockedValue = {
1404
+ name: getComponentNameFromType(blockedValue.type) || "",
1405
+ owner: blockedValue._owner
1406
+ }),
1407
+ (chunk._debugInfo || (chunk._debugInfo = [])).push(
1408
+ blockedValue
1409
+ )),
1410
+ triggerErrorOnChunk(chunk, error));
1411
+ }
1412
+ }
1413
+ );
1414
+ return null;
1334
1415
  }
1335
1416
  function getOutlinedModel(response, reference, parentObject, key, map) {
1336
1417
  reference = reference.split(":");
@@ -1360,7 +1441,7 @@
1360
1441
  );
1361
1442
  value = value[reference[i]];
1362
1443
  }
1363
- response = map(response, value);
1444
+ response = map(response, value, parentObject, key);
1364
1445
  id._debugInfo &&
1365
1446
  ("object" !== typeof response ||
1366
1447
  null === response ||
@@ -1460,7 +1541,7 @@
1460
1541
  value,
1461
1542
  parentObject,
1462
1543
  key,
1463
- createServerReferenceProxy
1544
+ loadServerReference
1464
1545
  )
1465
1546
  );
1466
1547
  case "T":
@@ -1564,6 +1645,7 @@
1564
1645
  }
1565
1646
  function ResponseInstance(
1566
1647
  bundlerConfig,
1648
+ serverReferenceConfig,
1567
1649
  moduleLoading,
1568
1650
  callServer,
1569
1651
  encodeFormAction,
@@ -1575,6 +1657,7 @@
1575
1657
  ) {
1576
1658
  var chunks = new Map();
1577
1659
  this._bundlerConfig = bundlerConfig;
1660
+ this._serverReferenceConfig = serverReferenceConfig;
1578
1661
  this._moduleLoading = moduleLoading;
1579
1662
  this._callServer = void 0 !== callServer ? callServer : missingCall;
1580
1663
  this._encodeFormAction = encodeFormAction;
@@ -2419,10 +2502,15 @@
2419
2502
  replayConsoleWithCallStackInDEV = replayConsoleWithCallStack[
2420
2503
  "react-stack-bottom-frame"
2421
2504
  ].bind(replayConsoleWithCallStack);
2422
- exports.createFromNodeStream = function (stream, ssrManifest, options) {
2505
+ exports.createFromNodeStream = function (
2506
+ stream,
2507
+ serverConsumerManifest,
2508
+ options
2509
+ ) {
2423
2510
  var response = new ResponseInstance(
2424
- ssrManifest.moduleMap,
2425
- ssrManifest.moduleLoading,
2511
+ serverConsumerManifest.moduleMap,
2512
+ serverConsumerManifest.serverModuleMap,
2513
+ serverConsumerManifest.moduleLoading,
2426
2514
  noServerCall,
2427
2515
  options ? options.encodeFormAction : void 0,
2428
2516
  options && "string" === typeof options.nonce ? options.nonce : void 0,
@@ -32,6 +32,12 @@ function resolveClientReference(bundlerConfig, metadata) {
32
32
  async: 4 === metadata.length
33
33
  };
34
34
  }
35
+ function resolveServerReference(bundlerConfig, id) {
36
+ var idx = id.lastIndexOf("#");
37
+ bundlerConfig = id.slice(0, idx);
38
+ id = id.slice(idx + 1);
39
+ return { specifier: bundlerConfig, name: id };
40
+ }
35
41
  var asyncModuleCache = new Map();
36
42
  function preloadModule(metadata) {
37
43
  var existingPromise = asyncModuleCache.get(metadata.specifier);
@@ -57,6 +63,16 @@ function preloadModule(metadata) {
57
63
  asyncModuleCache.set(metadata.specifier, modulePromise);
58
64
  return modulePromise;
59
65
  }
66
+ function requireModule(metadata) {
67
+ var moduleExports = asyncModuleCache.get(metadata.specifier);
68
+ if ("fulfilled" === moduleExports.status) moduleExports = moduleExports.value;
69
+ else throw moduleExports.reason;
70
+ return "*" === metadata.name
71
+ ? moduleExports
72
+ : "" === metadata.name
73
+ ? moduleExports.default
74
+ : moduleExports[metadata.name];
75
+ }
60
76
  function prepareDestinationWithChunks(moduleLoading, chunks, nonce$jscomp$0) {
61
77
  if (null !== moduleLoading)
62
78
  for (var i = 1; i < chunks.length; i += 2) {
@@ -785,18 +801,9 @@ function initializeModelChunk(chunk) {
785
801
  }
786
802
  function initializeModuleChunk(chunk) {
787
803
  try {
788
- var metadata = chunk.value,
789
- promise = asyncModuleCache.get(metadata.specifier);
790
- if ("fulfilled" === promise.status) var moduleExports = promise.value;
791
- else throw promise.reason;
792
- var JSCompiler_inline_result =
793
- "*" === metadata.name
794
- ? moduleExports
795
- : "" === metadata.name
796
- ? moduleExports.default
797
- : moduleExports[metadata.name];
804
+ var value = requireModule(chunk.value);
798
805
  chunk.status = "fulfilled";
799
- chunk.value = JSCompiler_inline_result;
806
+ chunk.value = value;
800
807
  } catch (error) {
801
808
  (chunk.status = "rejected"), (chunk.reason = error);
802
809
  }
@@ -836,7 +843,7 @@ function waitForReference(
836
843
  }
837
844
  value = value[path[i]];
838
845
  }
839
- i = map(response, value);
846
+ i = map(response, value, parentObject, key);
840
847
  parentObject[key] = i;
841
848
  "" === key && null === handler.value && (handler.value = i);
842
849
  if (
@@ -883,12 +890,69 @@ function waitForReference(
883
890
  referencedChunk.then(fulfill, reject);
884
891
  return null;
885
892
  }
886
- function createServerReferenceProxy(response, metaData) {
887
- return createBoundServerReference(
888
- metaData,
889
- response._callServer,
890
- response._encodeFormAction
893
+ function loadServerReference(response, metaData, parentObject, key) {
894
+ if (!response._serverReferenceConfig)
895
+ return createBoundServerReference(
896
+ metaData,
897
+ response._callServer,
898
+ response._encodeFormAction
899
+ );
900
+ var serverReference = resolveServerReference(
901
+ response._serverReferenceConfig,
902
+ metaData.id
891
903
  );
904
+ response = preloadModule(serverReference);
905
+ if (!response) return requireModule(serverReference);
906
+ if (initializingHandler) {
907
+ var handler = initializingHandler;
908
+ handler.deps++;
909
+ } else
910
+ handler = initializingHandler = {
911
+ parent: null,
912
+ chunk: null,
913
+ value: null,
914
+ deps: 1,
915
+ errored: !1
916
+ };
917
+ response.then(
918
+ function () {
919
+ var resolvedValue = requireModule(serverReference);
920
+ parentObject[key] = resolvedValue;
921
+ "" === key && null === handler.value && (handler.value = resolvedValue);
922
+ if (
923
+ parentObject[0] === REACT_ELEMENT_TYPE &&
924
+ "object" === typeof handler.value &&
925
+ null !== handler.value &&
926
+ handler.value.$$typeof === REACT_ELEMENT_TYPE
927
+ ) {
928
+ var element = handler.value;
929
+ switch (key) {
930
+ case "3":
931
+ element.props = resolvedValue;
932
+ }
933
+ }
934
+ handler.deps--;
935
+ 0 === handler.deps &&
936
+ ((resolvedValue = handler.chunk),
937
+ null !== resolvedValue &&
938
+ "blocked" === resolvedValue.status &&
939
+ ((element = resolvedValue.value),
940
+ (resolvedValue.status = "fulfilled"),
941
+ (resolvedValue.value = handler.value),
942
+ null !== element && wakeChunk(element, handler.value)));
943
+ },
944
+ function (error) {
945
+ if (!handler.errored) {
946
+ handler.errored = !0;
947
+ handler.value = error;
948
+ var chunk = handler.chunk;
949
+ null !== chunk &&
950
+ "blocked" === chunk.status &&
951
+ triggerErrorOnChunk(chunk, error);
952
+ }
953
+ }
954
+ );
955
+ return null;
892
956
  }
893
957
  function getOutlinedModel(response, reference, parentObject, key, map) {
894
958
  reference = reference.split(":");
@@ -919,7 +983,7 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
919
983
  );
920
984
  value = value[reference[id]];
921
985
  }
922
- return map(response, value);
986
+ return map(response, value, parentObject, key);
923
987
  case "pending":
924
988
  case "blocked":
925
989
  return waitForReference(id, parentObject, key, response, map, reference);
@@ -998,7 +1062,7 @@ function parseModelString(response, parentObject, key, value) {
998
1062
  value,
999
1063
  parentObject,
1000
1064
  key,
1001
- createServerReferenceProxy
1065
+ loadServerReference
1002
1066
  )
1003
1067
  );
1004
1068
  case "T":
@@ -1064,6 +1128,7 @@ function missingCall() {
1064
1128
  }
1065
1129
  function ResponseInstance(
1066
1130
  bundlerConfig,
1131
+ serverReferenceConfig,
1067
1132
  moduleLoading,
1068
1133
  callServer,
1069
1134
  encodeFormAction,
@@ -1072,6 +1137,7 @@ function ResponseInstance(
1072
1137
  ) {
1073
1138
  var chunks = new Map();
1074
1139
  this._bundlerConfig = bundlerConfig;
1140
+ this._serverReferenceConfig = serverReferenceConfig;
1075
1141
  this._moduleLoading = moduleLoading;
1076
1142
  this._callServer = void 0 !== callServer ? callServer : missingCall;
1077
1143
  this._encodeFormAction = encodeFormAction;
@@ -1544,10 +1610,15 @@ function noServerCall() {
1544
1610
  "Server Functions cannot be called during initial render. This would create a fetch waterfall. Try to use a Server Component to pass data to Client Components instead."
1545
1611
  );
1546
1612
  }
1547
- exports.createFromNodeStream = function (stream, ssrManifest, options) {
1613
+ exports.createFromNodeStream = function (
1614
+ stream,
1615
+ serverConsumerManifest,
1616
+ options
1617
+ ) {
1548
1618
  var response = new ResponseInstance(
1549
- ssrManifest.moduleMap,
1550
- ssrManifest.moduleLoading,
1619
+ serverConsumerManifest.moduleMap,
1620
+ serverConsumerManifest.serverModuleMap,
1621
+ serverConsumerManifest.moduleLoading,
1551
1622
  noServerCall,
1552
1623
  options ? options.encodeFormAction : void 0,
1553
1624
  options && "string" === typeof options.nonce ? options.nonce : void 0,
@@ -95,7 +95,7 @@ class ClientReferenceDependency extends ModuleDependency {
95
95
  const clientFileName = require.resolve("../client.browser.js");
96
96
  class ReactFlightWebpackPlugin {
97
97
  constructor(options) {
98
- this.ssrManifestFilename =
98
+ this.serverConsumerManifestFilename =
99
99
  this.clientManifestFilename =
100
100
  this.chunkName =
101
101
  this.clientReferences =
@@ -120,8 +120,8 @@ class ReactFlightWebpackPlugin {
120
120
  : (this.chunkName = "client[index]");
121
121
  this.clientManifestFilename =
122
122
  options.clientManifestFilename || "react-client-manifest.json";
123
- this.ssrManifestFilename =
124
- options.ssrManifestFilename || "react-ssr-manifest.json";
123
+ this.serverConsumerManifestFilename =
124
+ options.serverConsumerManifestFilename || "react-ssr-manifest.json";
125
125
  }
126
126
  apply(compiler) {
127
127
  const _this = this;
@@ -286,7 +286,7 @@ class ReactFlightWebpackPlugin {
286
286
  2
287
287
  );
288
288
  compilation.emitAsset(
289
- _this.ssrManifestFilename,
289
+ _this.serverConsumerManifestFilename,
290
290
  new webpack.sources.RawSource(configuredCrossOriginLoading, !1)
291
291
  );
292
292
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-server-dom-webpack",
3
3
  "description": "React Server Components bindings for DOM using Webpack. This is intended to be integrated into meta-frameworks. It is not intended to be imported directly.",
4
- "version": "19.0.0-rc-b8ae38f8-20241018",
4
+ "version": "19.0.0-rc-c1e1358b-20241020",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -99,8 +99,8 @@
99
99
  "node": ">=0.10.0"
100
100
  },
101
101
  "peerDependencies": {
102
- "react": "19.0.0-rc-b8ae38f8-20241018",
103
- "react-dom": "19.0.0-rc-b8ae38f8-20241018",
102
+ "react": "19.0.0-rc-c1e1358b-20241020",
103
+ "react-dom": "19.0.0-rc-c1e1358b-20241020",
104
104
  "webpack": "^5.59.0"
105
105
  },
106
106
  "dependencies": {