react-server-dom-webpack 19.1.0-canary-f83903bf-20250212 → 19.1.0-canary-32b0cad8-20250213

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.
@@ -559,7 +559,59 @@
559
559
  }
560
560
  }
561
561
  function getCurrentStackInDEV() {
562
- return "";
562
+ var owner = resolveOwner();
563
+ if (null === owner) return "";
564
+ try {
565
+ var info = "";
566
+ if (owner.owner || "string" !== typeof owner.name) {
567
+ for (; owner; ) {
568
+ var ownerStack = owner.debugStack;
569
+ if (null != ownerStack) {
570
+ if ((owner = owner.owner)) {
571
+ var JSCompiler_temp_const = info;
572
+ var error = ownerStack,
573
+ prevPrepareStackTrace = Error.prepareStackTrace;
574
+ Error.prepareStackTrace = void 0;
575
+ var stack = error.stack;
576
+ Error.prepareStackTrace = prevPrepareStackTrace;
577
+ stack.startsWith("Error: react-stack-top-frame\n") &&
578
+ (stack = stack.slice(29));
579
+ var idx = stack.indexOf("\n");
580
+ -1 !== idx && (stack = stack.slice(idx + 1));
581
+ idx = stack.indexOf("react-stack-bottom-frame");
582
+ -1 !== idx && (idx = stack.lastIndexOf("\n", idx));
583
+ var JSCompiler_inline_result =
584
+ -1 !== idx ? (stack = stack.slice(0, idx)) : "";
585
+ info =
586
+ JSCompiler_temp_const + ("\n" + JSCompiler_inline_result);
587
+ }
588
+ } else break;
589
+ }
590
+ var JSCompiler_inline_result$jscomp$0 = info;
591
+ } else {
592
+ JSCompiler_temp_const = owner.name;
593
+ if (void 0 === prefix)
594
+ try {
595
+ throw Error();
596
+ } catch (x) {
597
+ (prefix =
598
+ ((error = x.stack.trim().match(/\n( *(at )?)/)) && error[1]) ||
599
+ ""),
600
+ (suffix =
601
+ -1 < x.stack.indexOf("\n at")
602
+ ? " (<anonymous>)"
603
+ : -1 < x.stack.indexOf("@")
604
+ ? "@unknown:0:0"
605
+ : "");
606
+ }
607
+ JSCompiler_inline_result$jscomp$0 =
608
+ "\n" + prefix + JSCompiler_temp_const + suffix;
609
+ }
610
+ } catch (x) {
611
+ JSCompiler_inline_result$jscomp$0 =
612
+ "\nError generating stack: " + x.message + "\n" + x.stack;
613
+ }
614
+ return JSCompiler_inline_result$jscomp$0;
563
615
  }
564
616
  function defaultErrorHandler(error) {
565
617
  console.error(error);
@@ -633,7 +685,7 @@
633
685
  ? defaultFilterStackFrame
634
686
  : filterStackFrame;
635
687
  this.didWarnForKey = null;
636
- type = createTask(this, model, null, !1, abortSet, null);
688
+ type = createTask(this, model, null, !1, abortSet, null, null, null);
637
689
  pingedTasks.push(type);
638
690
  }
639
691
  function noop() {}
@@ -644,7 +696,9 @@
644
696
  task.keyPath,
645
697
  task.implicitSlot,
646
698
  request.abortableTasks,
647
- task.debugOwner
699
+ task.debugOwner,
700
+ task.debugStack,
701
+ task.debugTask
648
702
  );
649
703
  (task = thenable._debugInfo) &&
650
704
  forwardDebugInfo(request, newTask.id, task);
@@ -742,7 +796,9 @@
742
796
  task.keyPath,
743
797
  task.implicitSlot,
744
798
  request.abortableTasks,
745
- task.debugOwner
799
+ task.debugOwner,
800
+ task.debugStack,
801
+ task.debugTask
746
802
  );
747
803
  request.abortableTasks.delete(streamTask);
748
804
  request.pendingChunks++;
@@ -812,7 +868,9 @@
812
868
  task.keyPath,
813
869
  task.implicitSlot,
814
870
  request.abortableTasks,
815
- task.debugOwner
871
+ task.debugOwner,
872
+ task.debugStack,
873
+ task.debugTask
816
874
  );
817
875
  request.abortableTasks.delete(streamTask);
818
876
  request.pendingChunks++;
@@ -865,14 +923,21 @@
865
923
  return lazyType;
866
924
  }
867
925
  function callWithDebugContextInDEV(request, task, callback, arg) {
868
- currentOwner = {
926
+ var componentDebugInfo = {
869
927
  name: "",
870
928
  env: task.environmentName,
871
929
  key: null,
872
930
  owner: task.debugOwner
873
931
  };
932
+ componentDebugInfo.stack =
933
+ null === task.debugStack
934
+ ? null
935
+ : filterStackTrace(request, task.debugStack, 1);
936
+ componentDebugInfo.debugStack = task.debugStack;
937
+ request = componentDebugInfo.debugTask = task.debugTask;
938
+ currentOwner = componentDebugInfo;
874
939
  try {
875
- return callback(arg);
940
+ return request ? request.run(callback.bind(null, arg)) : callback(arg);
876
941
  } finally {
877
942
  currentOwner = null;
878
943
  }
@@ -942,7 +1007,14 @@
942
1007
  (multiShot._debugInfo = result._debugInfo),
943
1008
  multiShot);
944
1009
  }
945
- function renderFunctionComponent(request, task, key, Component, props) {
1010
+ function renderFunctionComponent(
1011
+ request,
1012
+ task,
1013
+ key,
1014
+ Component,
1015
+ props,
1016
+ validated
1017
+ ) {
946
1018
  var prevThenableState = task.thenableState;
947
1019
  task.thenableState = null;
948
1020
  if (null === debugID) return outlineTask(request, task);
@@ -959,15 +1031,27 @@
959
1031
  key: key,
960
1032
  owner: task.debugOwner
961
1033
  };
1034
+ componentDebugInfo.stack =
1035
+ null === task.debugStack
1036
+ ? null
1037
+ : filterStackTrace(request, task.debugStack, 1);
962
1038
  componentDebugInfo.props = props;
1039
+ componentDebugInfo.debugStack = task.debugStack;
1040
+ componentDebugInfo.debugTask = task.debugTask;
963
1041
  outlineComponentInfo(request, componentDebugInfo);
964
1042
  emitDebugChunk(request, componentDebugID, componentDebugInfo);
965
1043
  task.environmentName = componentEnv;
1044
+ 2 === validated &&
1045
+ warnForMissingKey(request, key, componentDebugInfo, task.debugTask);
966
1046
  }
967
1047
  thenableIndexCounter = 0;
968
1048
  thenableState = prevThenableState;
969
1049
  currentComponentDebugInfo = componentDebugInfo;
970
- props = callComponentInDEV(Component, props, componentDebugInfo);
1050
+ props = task.debugTask
1051
+ ? task.debugTask.run(
1052
+ callComponentInDEV.bind(null, Component, props, componentDebugInfo)
1053
+ )
1054
+ : callComponentInDEV(Component, props, componentDebugInfo);
971
1055
  if (request.status === ABORTING)
972
1056
  throw (
973
1057
  ("object" !== typeof props ||
@@ -984,15 +1068,36 @@
984
1068
  props
985
1069
  );
986
1070
  Component = task.keyPath;
987
- prevThenableState = task.implicitSlot;
1071
+ validated = task.implicitSlot;
988
1072
  null !== key
989
1073
  ? (task.keyPath = null === Component ? key : Component + "," + key)
990
1074
  : null === Component && (task.implicitSlot = !0);
991
1075
  request = renderModelDestructive(request, task, emptyRoot, "", props);
992
1076
  task.keyPath = Component;
993
- task.implicitSlot = prevThenableState;
1077
+ task.implicitSlot = validated;
994
1078
  return request;
995
1079
  }
1080
+ function warnForMissingKey(request, key, componentDebugInfo, debugTask) {
1081
+ function logKeyError() {
1082
+ console.error(
1083
+ 'Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',
1084
+ "",
1085
+ ""
1086
+ );
1087
+ }
1088
+ key = request.didWarnForKey;
1089
+ null == key && (key = request.didWarnForKey = new WeakSet());
1090
+ request = componentDebugInfo.owner;
1091
+ if (null != request) {
1092
+ if (key.has(request)) return;
1093
+ key.add(request);
1094
+ }
1095
+ debugTask
1096
+ ? debugTask.run(
1097
+ callComponentInDEV.bind(null, logKeyError, null, componentDebugInfo)
1098
+ )
1099
+ : callComponentInDEV(logKeyError, null, componentDebugInfo);
1100
+ }
996
1101
  function renderFragment(request, task, children) {
997
1102
  for (var i = 0; i < children.length; i++) {
998
1103
  var child = children[i];
@@ -1010,7 +1115,9 @@
1010
1115
  REACT_FRAGMENT_TYPE,
1011
1116
  task.keyPath,
1012
1117
  { children: children },
1013
- null
1118
+ null,
1119
+ null,
1120
+ 0
1014
1121
  ]),
1015
1122
  task.implicitSlot ? [request] : request
1016
1123
  );
@@ -1029,7 +1136,9 @@
1029
1136
  REACT_FRAGMENT_TYPE,
1030
1137
  task.keyPath,
1031
1138
  { children: children },
1032
- null
1139
+ null,
1140
+ null,
1141
+ 0
1033
1142
  ]),
1034
1143
  task.implicitSlot ? [request] : request
1035
1144
  );
@@ -1043,14 +1152,16 @@
1043
1152
  task.keyPath,
1044
1153
  task.implicitSlot,
1045
1154
  request.abortableTasks,
1046
- task.debugOwner
1155
+ task.debugOwner,
1156
+ task.debugStack,
1157
+ task.debugTask
1047
1158
  );
1048
1159
  retryTask(request, task);
1049
1160
  return task.status === COMPLETED
1050
1161
  ? serializeByValueID(task.id)
1051
1162
  : "$L" + task.id.toString(16);
1052
1163
  }
1053
- function renderElement(request, task, type, key, ref, props) {
1164
+ function renderElement(request, task, type, key, ref, props, validated) {
1054
1165
  if (null !== ref && void 0 !== ref)
1055
1166
  throw Error(
1056
1167
  "Refs cannot be used in Server Components, nor passed to Client Components."
@@ -1066,7 +1177,22 @@
1066
1177
  ) {
1067
1178
  if (type === REACT_FRAGMENT_TYPE && null === key)
1068
1179
  return (
1069
- (type = task.implicitSlot),
1180
+ 2 === validated &&
1181
+ ((validated = {
1182
+ name: "Fragment",
1183
+ env: (0, request.environmentName)(),
1184
+ key: key,
1185
+ owner: task.debugOwner,
1186
+ stack:
1187
+ null === task.debugStack
1188
+ ? null
1189
+ : filterStackTrace(request, task.debugStack, 1),
1190
+ props: props,
1191
+ debugStack: task.debugStack,
1192
+ debugTask: task.debugTask
1193
+ }),
1194
+ warnForMissingKey(request, key, validated, task.debugTask)),
1195
+ (validated = task.implicitSlot),
1070
1196
  null === task.keyPath && (task.implicitSlot = !0),
1071
1197
  (request = renderModelDestructive(
1072
1198
  request,
@@ -1075,7 +1201,7 @@
1075
1201
  "",
1076
1202
  props.children
1077
1203
  )),
1078
- (task.implicitSlot = type),
1204
+ (task.implicitSlot = validated),
1079
1205
  request
1080
1206
  );
1081
1207
  if (
@@ -1087,26 +1213,61 @@
1087
1213
  case REACT_LAZY_TYPE:
1088
1214
  type = callLazyInitInDEV(type);
1089
1215
  if (request.status === ABORTING) throw null;
1090
- return renderElement(request, task, type, key, ref, props);
1216
+ return renderElement(
1217
+ request,
1218
+ task,
1219
+ type,
1220
+ key,
1221
+ ref,
1222
+ props,
1223
+ validated
1224
+ );
1091
1225
  case REACT_FORWARD_REF_TYPE:
1092
1226
  return renderFunctionComponent(
1093
1227
  request,
1094
1228
  task,
1095
1229
  key,
1096
1230
  type.render,
1097
- props
1231
+ props,
1232
+ validated
1098
1233
  );
1099
1234
  case REACT_MEMO_TYPE:
1100
- return renderElement(request, task, type.type, key, ref, props);
1235
+ return renderElement(
1236
+ request,
1237
+ task,
1238
+ type.type,
1239
+ key,
1240
+ ref,
1241
+ props,
1242
+ validated
1243
+ );
1101
1244
  case REACT_ELEMENT_TYPE:
1102
1245
  type._store.validated = 1;
1103
1246
  }
1104
- } else return renderFunctionComponent(request, task, key, type, props);
1247
+ } else
1248
+ return renderFunctionComponent(
1249
+ request,
1250
+ task,
1251
+ key,
1252
+ type,
1253
+ props,
1254
+ validated
1255
+ );
1105
1256
  ref = task.keyPath;
1106
1257
  null === key ? (key = ref) : null !== ref && (key = ref + "," + key);
1107
1258
  null !== task.debugOwner &&
1108
1259
  outlineComponentInfo(request, task.debugOwner);
1109
- request = [REACT_ELEMENT_TYPE, type, key, props, task.debugOwner];
1260
+ request = [
1261
+ REACT_ELEMENT_TYPE,
1262
+ type,
1263
+ key,
1264
+ props,
1265
+ task.debugOwner,
1266
+ null === task.debugStack
1267
+ ? null
1268
+ : filterStackTrace(request, task.debugStack, 1),
1269
+ validated
1270
+ ];
1110
1271
  task = task.implicitSlot && null !== key ? [request] : request;
1111
1272
  return task;
1112
1273
  }
@@ -1129,7 +1290,9 @@
1129
1290
  keyPath,
1130
1291
  implicitSlot,
1131
1292
  abortSet,
1132
- debugOwner
1293
+ debugOwner,
1294
+ debugStack,
1295
+ debugTask
1133
1296
  ) {
1134
1297
  request.pendingChunks++;
1135
1298
  var id = request.nextChunkId++;
@@ -1177,6 +1340,8 @@
1177
1340
  };
1178
1341
  task.environmentName = request.environmentName();
1179
1342
  task.debugOwner = debugOwner;
1343
+ task.debugStack = debugStack;
1344
+ task.debugTask = debugTask;
1180
1345
  abortSet.add(task);
1181
1346
  return task;
1182
1347
  }
@@ -1269,6 +1434,8 @@
1269
1434
  null,
1270
1435
  !1,
1271
1436
  request.abortableTasks,
1437
+ null,
1438
+ null,
1272
1439
  null
1273
1440
  );
1274
1441
  retryTask(request, value);
@@ -1362,6 +1529,8 @@
1362
1529
  null,
1363
1530
  !1,
1364
1531
  request.abortableTasks,
1532
+ null,
1533
+ null,
1365
1534
  null
1366
1535
  ),
1367
1536
  reader = blob.stream().getReader(),
@@ -1404,7 +1573,9 @@
1404
1573
  task.keyPath,
1405
1574
  task.implicitSlot,
1406
1575
  request.abortableTasks,
1407
- task.debugOwner
1576
+ task.debugOwner,
1577
+ task.debugStack,
1578
+ task.debugTask
1408
1579
  )),
1409
1580
  (value = request.ping),
1410
1581
  key.then(value, value),
@@ -1461,13 +1632,16 @@
1461
1632
  _existingReference = value.props;
1462
1633
  var refProp = _existingReference.ref;
1463
1634
  task.debugOwner = value._owner;
1635
+ task.debugStack = value._debugStack;
1636
+ task.debugTask = value._debugTask;
1464
1637
  request = renderElement(
1465
1638
  request,
1466
1639
  task,
1467
1640
  value.type,
1468
1641
  value.key,
1469
1642
  void 0 !== refProp ? refProp : null,
1470
- _existingReference
1643
+ _existingReference,
1644
+ value._store.validated
1471
1645
  );
1472
1646
  "object" === typeof request &&
1473
1647
  null !== request &&
@@ -1846,6 +2020,7 @@
1846
2020
  key: componentInfo.key,
1847
2021
  owner: componentInfo.owner
1848
2022
  };
2023
+ componentDebugInfo.stack = componentInfo.stack;
1849
2024
  componentDebugInfo.props = componentInfo.props;
1850
2025
  objectLimit = outlineConsoleValue(
1851
2026
  request,
@@ -1911,25 +2086,34 @@
1911
2086
  counter.objectLimit--;
1912
2087
  switch (value.$$typeof) {
1913
2088
  case REACT_ELEMENT_TYPE:
1914
- return (
1915
- null != value._owner &&
1916
- outlineComponentInfo(request, value._owner),
1917
- "object" === typeof value.type &&
1918
- null !== value.type &&
1919
- doNotLimit.add(value.type),
1920
- "object" === typeof value.key &&
1921
- null !== value.key &&
1922
- doNotLimit.add(value.key),
1923
- doNotLimit.add(value.props),
1924
- null !== value._owner && doNotLimit.add(value._owner),
1925
- [
1926
- REACT_ELEMENT_TYPE,
1927
- value.type,
1928
- value.key,
1929
- value.props,
1930
- value._owner
1931
- ]
1932
- );
2089
+ null != value._owner && outlineComponentInfo(request, value._owner);
2090
+ "object" === typeof value.type &&
2091
+ null !== value.type &&
2092
+ doNotLimit.add(value.type);
2093
+ "object" === typeof value.key &&
2094
+ null !== value.key &&
2095
+ doNotLimit.add(value.key);
2096
+ doNotLimit.add(value.props);
2097
+ null !== value._owner && doNotLimit.add(value._owner);
2098
+ counter = null;
2099
+ if (null != value._debugStack)
2100
+ for (
2101
+ counter = filterStackTrace(request, value._debugStack, 1),
2102
+ doNotLimit.add(counter),
2103
+ request = 0;
2104
+ request < counter.length;
2105
+ request++
2106
+ )
2107
+ doNotLimit.add(counter[request]);
2108
+ return [
2109
+ REACT_ELEMENT_TYPE,
2110
+ value.type,
2111
+ value.key,
2112
+ value.props,
2113
+ value._owner,
2114
+ counter,
2115
+ value._store.validated
2116
+ ];
1933
2117
  }
1934
2118
  if ("function" === typeof value.then) {
1935
2119
  switch (value.status) {
@@ -3531,6 +3715,7 @@
3531
3715
  throw Error(
3532
3716
  'The "react" package in this environment is not configured correctly. The "react-server" condition must be enabled in any environment that runs React Server Components.'
3533
3717
  );
3718
+ var prefix, suffix;
3534
3719
  new ("function" === typeof WeakMap ? WeakMap : Map)();
3535
3720
  var callComponent = {
3536
3721
  "react-stack-bottom-frame": function (