@vitejs/plugin-rsc 0.5.6 → 0.5.8

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.
Files changed (43) hide show
  1. package/README.md +7 -18
  2. package/dist/browser.js +0 -2
  3. package/dist/core/browser.js +0 -2
  4. package/dist/core/rsc.d.ts +0 -1
  5. package/dist/core/rsc.js +0 -2
  6. package/dist/core/ssr.d.ts +0 -1
  7. package/dist/core/ssr.js +0 -2
  8. package/dist/index.js +1 -5
  9. package/dist/{plugin-BIsCR7Tu.js → plugin-COe11H-Q.js} +6 -6
  10. package/dist/plugin.js +1 -5
  11. package/dist/plugins/cjs.js +0 -2
  12. package/dist/react/browser.js +0 -2
  13. package/dist/react/rsc.d.ts +0 -1
  14. package/dist/react/rsc.js +0 -2
  15. package/dist/react/ssr.d.ts +0 -1
  16. package/dist/react/ssr.js +0 -2
  17. package/dist/rsc.d.ts +0 -1
  18. package/dist/rsc.js +0 -3
  19. package/dist/ssr.d.ts +0 -1
  20. package/dist/ssr.js +0 -2
  21. package/dist/transforms/index.js +0 -1
  22. package/dist/utils/encryption-runtime.js +0 -3
  23. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +194 -153
  24. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +193 -144
  25. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +192 -151
  26. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +193 -144
  27. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +192 -151
  28. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +193 -144
  29. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +170 -179
  30. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +165 -173
  31. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +170 -179
  32. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +165 -173
  33. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +173 -182
  34. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +168 -176
  35. package/dist/vendor/react-server-dom/package.json +6 -21
  36. package/package.json +8 -8
  37. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.development.js +0 -5056
  38. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.production.js +0 -2179
  39. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.development.js +0 -6382
  40. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.production.js +0 -3498
  41. package/dist/vendor/react-server-dom/client.node.unbundled.js +0 -7
  42. package/dist/vendor/react-server-dom/server.node.unbundled.js +0 -20
  43. package/dist/vendor/react-server-dom/static.node.unbundled.js +0 -10
@@ -111,7 +111,14 @@ function bind() {
111
111
  }
112
112
  return newFn;
113
113
  }
114
- var PROMISE_PROTOTYPE = Promise.prototype,
114
+ var serverReferenceToString = {
115
+ value: function () {
116
+ return "function () { [omitted code] }";
117
+ },
118
+ configurable: !0,
119
+ writable: !0
120
+ },
121
+ PROMISE_PROTOTYPE = Promise.prototype,
115
122
  deepProxyHandlers = {
116
123
  get: function (target, name) {
117
124
  switch (name) {
@@ -1731,7 +1738,7 @@ function renderModelDestructive(
1731
1738
  (task = request.writtenServerReferences),
1732
1739
  (parentPropertyName = task.get(value)),
1733
1740
  void 0 !== parentPropertyName
1734
- ? (request = "$F" + parentPropertyName.toString(16))
1741
+ ? (request = "$h" + parentPropertyName.toString(16))
1735
1742
  : ((parentPropertyName = value.$$bound),
1736
1743
  (parentPropertyName =
1737
1744
  null === parentPropertyName
@@ -1743,7 +1750,7 @@ function renderModelDestructive(
1743
1750
  0
1744
1751
  )),
1745
1752
  task.set(value, request),
1746
- (request = "$F" + request.toString(16))),
1753
+ (request = "$h" + request.toString(16))),
1747
1754
  request
1748
1755
  );
1749
1756
  if (
@@ -2255,7 +2262,24 @@ ReactPromise.prototype.then = function (resolve, reject) {
2255
2262
  }
2256
2263
  switch (this.status) {
2257
2264
  case "fulfilled":
2258
- "function" === typeof resolve && resolve(this.value);
2265
+ if ("function" === typeof resolve) {
2266
+ for (
2267
+ var inspectedValue = this.value, cycleProtection = 0;
2268
+ inspectedValue instanceof ReactPromise;
2269
+
2270
+ ) {
2271
+ cycleProtection++;
2272
+ if (inspectedValue === this || 1e3 < cycleProtection) {
2273
+ "function" === typeof reject &&
2274
+ reject(Error("Cannot have cyclic thenables."));
2275
+ return;
2276
+ }
2277
+ if ("fulfilled" === inspectedValue.status)
2278
+ inspectedValue = inspectedValue.value;
2279
+ else break;
2280
+ }
2281
+ resolve(this.value);
2282
+ }
2259
2283
  break;
2260
2284
  case "pending":
2261
2285
  case "blocked":
@@ -2407,7 +2431,7 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
2407
2431
  }
2408
2432
  function loadServerReference$1(response, metaData, parentObject, key) {
2409
2433
  var id = metaData.id;
2410
- if ("string" !== typeof id) return null;
2434
+ if ("string" !== typeof id || "then" === key) return null;
2411
2435
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2412
2436
  id = metaData.bound;
2413
2437
  var promise = preloadModule(serverReference);
@@ -2445,6 +2469,7 @@ function loadServerReference$1(response, metaData, parentObject, key) {
2445
2469
  ((promiseValue = resolvedValue.value),
2446
2470
  (resolvedValue.status = "fulfilled"),
2447
2471
  (resolvedValue.value = handler.value),
2472
+ (resolvedValue.reason = null),
2448
2473
  null !== promiseValue &&
2449
2474
  wakeChunk(response, promiseValue, handler.value)));
2450
2475
  },
@@ -2536,6 +2561,7 @@ function initializeModelChunk(chunk) {
2536
2561
  }
2537
2562
  chunk.status = "fulfilled";
2538
2563
  chunk.value = value;
2564
+ chunk.reason = null;
2539
2565
  } catch (error) {
2540
2566
  (chunk.status = "rejected"), (chunk.reason = error);
2541
2567
  } finally {
@@ -2546,7 +2572,11 @@ function reportGlobalError(response, error) {
2546
2572
  response._closed = !0;
2547
2573
  response._closedReason = error;
2548
2574
  response._chunks.forEach(function (chunk) {
2549
- "pending" === chunk.status && triggerErrorOnChunk(response, chunk, error);
2575
+ "pending" === chunk.status
2576
+ ? triggerErrorOnChunk(response, chunk, error)
2577
+ : "fulfilled" === chunk.status &&
2578
+ null !== chunk.reason &&
2579
+ chunk.reason.error(error);
2550
2580
  });
2551
2581
  }
2552
2582
  function getChunk(response, id) {
@@ -2564,58 +2594,39 @@ function getChunk(response, id) {
2564
2594
  return chunk;
2565
2595
  }
2566
2596
  function fulfillReference(response, reference, value) {
2567
- for (
2568
- var handler = reference.handler,
2569
- parentObject = reference.parentObject,
2570
- key = reference.key,
2571
- map = reference.map,
2572
- path = reference.path,
2573
- i = 1;
2574
- i < path.length;
2575
- i++
2576
- ) {
2577
- for (; value instanceof ReactPromise; ) {
2578
- switch (value.status) {
2579
- case "resolved_model":
2580
- initializeModelChunk(value);
2581
- }
2582
- switch (value.status) {
2583
- case "fulfilled":
2584
- value = value.value;
2585
- continue;
2586
- case "blocked":
2587
- case "pending":
2588
- path.splice(0, i - 1);
2589
- null === value.value
2590
- ? (value.value = [reference])
2591
- : value.value.push(reference);
2592
- null === value.reason
2593
- ? (value.reason = [reference])
2594
- : value.reason.push(reference);
2595
- return;
2596
- default:
2597
- rejectReference(response, reference.handler, value.reason);
2598
- return;
2599
- }
2597
+ var handler = reference.handler,
2598
+ parentObject = reference.parentObject,
2599
+ key = reference.key,
2600
+ map = reference.map,
2601
+ path = reference.path;
2602
+ try {
2603
+ for (var i = 1; i < path.length; i++) {
2604
+ var name = path[i];
2605
+ if (
2606
+ "object" !== typeof value ||
2607
+ !hasOwnProperty.call(value, name) ||
2608
+ value instanceof Promise
2609
+ )
2610
+ throw Error("Invalid reference.");
2611
+ value = value[name];
2600
2612
  }
2601
- var name = path[i];
2602
- "object" === typeof value &&
2603
- hasOwnProperty.call(value, name) &&
2604
- (value = value[name]);
2613
+ var mappedValue = map(response, value, parentObject, key);
2614
+ parentObject[key] = mappedValue;
2615
+ "" === key && null === handler.value && (handler.value = mappedValue);
2616
+ } catch (error) {
2617
+ rejectReference(response, reference.handler, error);
2618
+ return;
2605
2619
  }
2606
- reference = map(response, value, parentObject, key);
2607
- parentObject[key] = reference;
2608
- "" === key && null === handler.value && (handler.value = reference);
2609
2620
  handler.deps--;
2610
2621
  0 === handler.deps &&
2611
- ((parentObject = handler.chunk),
2612
- null !== parentObject &&
2613
- "blocked" === parentObject.status &&
2614
- ((key = parentObject.value),
2615
- (parentObject.status = "fulfilled"),
2616
- (parentObject.value = handler.value),
2617
- (parentObject.reason = handler.reason),
2618
- null !== key && wakeChunk(response, key, handler.value)));
2622
+ ((reference = handler.chunk),
2623
+ null !== reference &&
2624
+ "blocked" === reference.status &&
2625
+ ((value = reference.value),
2626
+ (reference.status = "fulfilled"),
2627
+ (reference.value = handler.value),
2628
+ (reference.reason = handler.reason),
2629
+ null !== value && wakeChunk(response, value, handler.value)));
2619
2630
  }
2620
2631
  function rejectReference(response, handler, error) {
2621
2632
  handler.errored ||
@@ -2627,33 +2638,6 @@ function rejectReference(response, handler, error) {
2627
2638
  "blocked" === handler.status &&
2628
2639
  triggerErrorOnChunk(response, handler, error));
2629
2640
  }
2630
- function waitForReference(
2631
- referencedChunk,
2632
- parentObject,
2633
- key,
2634
- response,
2635
- map,
2636
- path
2637
- ) {
2638
- initializingHandler
2639
- ? ((response = initializingHandler), response.deps++)
2640
- : (response = initializingHandler =
2641
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2642
- parentObject = {
2643
- handler: response,
2644
- parentObject: parentObject,
2645
- key: key,
2646
- map: map,
2647
- path: path
2648
- };
2649
- null === referencedChunk.value
2650
- ? (referencedChunk.value = [parentObject])
2651
- : referencedChunk.value.push(parentObject);
2652
- null === referencedChunk.reason
2653
- ? (referencedChunk.reason = [parentObject])
2654
- : referencedChunk.reason.push(parentObject);
2655
- return null;
2656
- }
2657
2641
  function getOutlinedModel(response, reference, parentObject, key, map) {
2658
2642
  reference = reference.split(":");
2659
2643
  var id = parseInt(reference[0], 16);
@@ -2664,53 +2648,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
2664
2648
  }
2665
2649
  switch (id.status) {
2666
2650
  case "fulfilled":
2667
- var value = id.value;
2668
- for (id = 1; id < reference.length; id++) {
2669
- for (; value instanceof ReactPromise; ) {
2670
- switch (value.status) {
2671
- case "resolved_model":
2672
- initializeModelChunk(value);
2673
- }
2674
- switch (value.status) {
2675
- case "fulfilled":
2676
- value = value.value;
2677
- break;
2678
- case "blocked":
2679
- case "pending":
2680
- return waitForReference(
2681
- value,
2682
- parentObject,
2683
- key,
2684
- response,
2685
- map,
2686
- reference.slice(id - 1)
2687
- );
2688
- default:
2689
- return (
2690
- initializingHandler
2691
- ? ((initializingHandler.errored = !0),
2692
- (initializingHandler.value = null),
2693
- (initializingHandler.reason = value.reason))
2694
- : (initializingHandler = {
2695
- chunk: null,
2696
- value: null,
2697
- reason: value.reason,
2698
- deps: 0,
2699
- errored: !0
2700
- }),
2701
- null
2702
- );
2703
- }
2704
- }
2705
- var name = reference[id];
2706
- "object" === typeof value &&
2707
- hasOwnProperty.call(value, name) &&
2708
- (value = value[name]);
2651
+ id = id.value;
2652
+ for (var i = 1; i < reference.length; i++) {
2653
+ var name = reference[i];
2654
+ if (
2655
+ "object" !== typeof id ||
2656
+ !hasOwnProperty.call(id, name) ||
2657
+ id instanceof Promise
2658
+ )
2659
+ throw Error("Invalid reference.");
2660
+ id = id[name];
2709
2661
  }
2710
- return map(response, value, parentObject, key);
2662
+ return map(response, id, parentObject, key);
2711
2663
  case "pending":
2712
2664
  case "blocked":
2713
- return waitForReference(id, parentObject, key, response, map, reference);
2665
+ return (
2666
+ initializingHandler
2667
+ ? ((response = initializingHandler), response.deps++)
2668
+ : (response = initializingHandler =
2669
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
2670
+ (parentObject = {
2671
+ handler: response,
2672
+ parentObject: parentObject,
2673
+ key: key,
2674
+ map: map,
2675
+ path: reference
2676
+ }),
2677
+ null === id.value
2678
+ ? (id.value = [parentObject])
2679
+ : id.value.push(parentObject),
2680
+ null === id.reason
2681
+ ? (id.reason = [parentObject])
2682
+ : id.reason.push(parentObject),
2683
+ null
2684
+ );
2714
2685
  default:
2715
2686
  return (
2716
2687
  initializingHandler
@@ -2737,8 +2708,8 @@ function createSet(response, model) {
2737
2708
  function extractIterator(response, model) {
2738
2709
  return model[Symbol.iterator]();
2739
2710
  }
2740
- function createModel(response, model) {
2741
- return model;
2711
+ function createModel(response, model, parentObject, key) {
2712
+ return "then" === key && "function" === typeof model ? null : model;
2742
2713
  }
2743
2714
  function parseTypedArray(
2744
2715
  response,
@@ -2749,9 +2720,10 @@ function parseTypedArray(
2749
2720
  parentKey
2750
2721
  ) {
2751
2722
  reference = parseInt(reference.slice(2), 16);
2752
- reference = response._formData
2753
- .get(response._prefix + reference)
2754
- .arrayBuffer();
2723
+ bytesPerElement = response._prefix + reference;
2724
+ if (response._chunks.has(reference))
2725
+ throw Error("Already initialized typed array.");
2726
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
2755
2727
  if (initializingHandler) {
2756
2728
  var handler = initializingHandler;
2757
2729
  handler.deps++;
@@ -2777,6 +2749,7 @@ function parseTypedArray(
2777
2749
  var resolveListeners = buffer.value;
2778
2750
  buffer.status = "fulfilled";
2779
2751
  buffer.value = handler.value;
2752
+ buffer.reason = null;
2780
2753
  null !== resolveListeners &&
2781
2754
  wakeChunk(response, resolveListeners, handler.value);
2782
2755
  }
@@ -2809,7 +2782,10 @@ function resolveStream(response, id, stream, controller) {
2809
2782
  }
2810
2783
  function parseReadableStream(response, reference, type) {
2811
2784
  reference = parseInt(reference.slice(2), 16);
2812
- var controller = null;
2785
+ if (response._chunks.has(reference))
2786
+ throw Error("Already initialized stream.");
2787
+ var controller = null,
2788
+ closed = !1;
2813
2789
  type = new ReadableStream({
2814
2790
  type: type,
2815
2791
  start: function (c) {
@@ -2852,24 +2828,27 @@ function parseReadableStream(response, reference, type) {
2852
2828
  }
2853
2829
  },
2854
2830
  close: function () {
2855
- if (null === previousBlockedChunk) controller.close();
2856
- else {
2857
- var blockedChunk = previousBlockedChunk;
2858
- previousBlockedChunk = null;
2859
- blockedChunk.then(function () {
2860
- return controller.close();
2861
- });
2862
- }
2831
+ if (!closed)
2832
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
2833
+ else {
2834
+ var blockedChunk = previousBlockedChunk;
2835
+ previousBlockedChunk = null;
2836
+ blockedChunk.then(function () {
2837
+ return controller.close();
2838
+ });
2839
+ }
2863
2840
  },
2864
2841
  error: function (error) {
2865
- if (null === previousBlockedChunk) controller.error(error);
2866
- else {
2867
- var blockedChunk = previousBlockedChunk;
2868
- previousBlockedChunk = null;
2869
- blockedChunk.then(function () {
2870
- return controller.error(error);
2871
- });
2872
- }
2842
+ if (!closed)
2843
+ if (((closed = !0), null === previousBlockedChunk))
2844
+ controller.error(error);
2845
+ else {
2846
+ var blockedChunk = previousBlockedChunk;
2847
+ previousBlockedChunk = null;
2848
+ blockedChunk.then(function () {
2849
+ return controller.error(error);
2850
+ });
2851
+ }
2873
2852
  }
2874
2853
  });
2875
2854
  return type;
@@ -2884,6 +2863,8 @@ function createIterator(next) {
2884
2863
  }
2885
2864
  function parseAsyncIterable(response, reference, iterator) {
2886
2865
  reference = parseInt(reference.slice(2), 16);
2866
+ if (response._chunks.has(reference))
2867
+ throw Error("Already initialized stream.");
2887
2868
  var buffer = [],
2888
2869
  closed = !1,
2889
2870
  nextWriteIndex = 0,
@@ -2927,36 +2908,46 @@ function parseAsyncIterable(response, reference, iterator) {
2927
2908
  nextWriteIndex++;
2928
2909
  },
2929
2910
  close: function (value) {
2930
- closed = !0;
2931
- nextWriteIndex === buffer.length
2932
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2933
- response,
2934
- value,
2935
- !0
2936
- ))
2937
- : resolveIteratorResultChunk(
2911
+ if (!closed)
2912
+ for (
2913
+ closed = !0,
2914
+ nextWriteIndex === buffer.length
2915
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2916
+ response,
2917
+ value,
2918
+ !0
2919
+ ))
2920
+ : resolveIteratorResultChunk(
2921
+ response,
2922
+ buffer[nextWriteIndex],
2923
+ value,
2924
+ !0
2925
+ ),
2926
+ nextWriteIndex++;
2927
+ nextWriteIndex < buffer.length;
2928
+
2929
+ )
2930
+ resolveIteratorResultChunk(
2938
2931
  response,
2939
- buffer[nextWriteIndex],
2940
- value,
2932
+ buffer[nextWriteIndex++],
2933
+ '"$undefined"',
2941
2934
  !0
2942
2935
  );
2943
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2944
- resolveIteratorResultChunk(
2945
- response,
2946
- buffer[nextWriteIndex++],
2947
- '"$undefined"',
2948
- !0
2949
- );
2950
2936
  },
2951
2937
  error: function (error) {
2952
- closed = !0;
2953
- for (
2954
- nextWriteIndex === buffer.length &&
2955
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2956
- nextWriteIndex < buffer.length;
2938
+ if (!closed)
2939
+ for (
2940
+ closed = !0,
2941
+ nextWriteIndex === buffer.length &&
2942
+ (buffer[nextWriteIndex] = new ReactPromise(
2943
+ "pending",
2944
+ null,
2945
+ null
2946
+ ));
2947
+ nextWriteIndex < buffer.length;
2957
2948
 
2958
- )
2959
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2949
+ )
2950
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2960
2951
  }
2961
2952
  });
2962
2953
  return iterator;
@@ -2968,7 +2959,7 @@ function parseModelString(response, obj, key, value, reference) {
2968
2959
  return value.slice(1);
2969
2960
  case "@":
2970
2961
  return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
2971
- case "F":
2962
+ case "h":
2972
2963
  return (
2973
2964
  (value = value.slice(2)),
2974
2965
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -3268,7 +3259,8 @@ exports.registerServerReference = function (reference, id, exportName) {
3268
3259
  configurable: !0
3269
3260
  },
3270
3261
  $$bound: { value: null, configurable: !0 },
3271
- bind: { value: bind, configurable: !0 }
3262
+ bind: { value: bind, configurable: !0 },
3263
+ toString: serverReferenceToString
3272
3264
  });
3273
3265
  };
3274
3266
  exports.renderToReadableStream = function (model, webpackMap, options) {