@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
@@ -101,7 +101,14 @@ function bind() {
101
101
  }
102
102
  return newFn;
103
103
  }
104
- var PROMISE_PROTOTYPE = Promise.prototype,
104
+ var serverReferenceToString = {
105
+ value: function () {
106
+ return "function () { [omitted code] }";
107
+ },
108
+ configurable: !0,
109
+ writable: !0
110
+ },
111
+ PROMISE_PROTOTYPE = Promise.prototype,
105
112
  deepProxyHandlers = {
106
113
  get: function (target, name) {
107
114
  switch (name) {
@@ -1732,7 +1739,7 @@ function renderModelDestructive(
1732
1739
  (task = request.writtenServerReferences),
1733
1740
  (parentPropertyName = task.get(value)),
1734
1741
  void 0 !== parentPropertyName
1735
- ? (request = "$F" + parentPropertyName.toString(16))
1742
+ ? (request = "$h" + parentPropertyName.toString(16))
1736
1743
  : ((parentPropertyName = value.$$bound),
1737
1744
  (parentPropertyName =
1738
1745
  null === parentPropertyName
@@ -1744,7 +1751,7 @@ function renderModelDestructive(
1744
1751
  0
1745
1752
  )),
1746
1753
  task.set(value, request),
1747
- (request = "$F" + request.toString(16))),
1754
+ (request = "$h" + request.toString(16))),
1748
1755
  request
1749
1756
  );
1750
1757
  if (
@@ -2259,7 +2266,24 @@ ReactPromise.prototype.then = function (resolve, reject) {
2259
2266
  }
2260
2267
  switch (this.status) {
2261
2268
  case "fulfilled":
2262
- "function" === typeof resolve && resolve(this.value);
2269
+ if ("function" === typeof resolve) {
2270
+ for (
2271
+ var inspectedValue = this.value, cycleProtection = 0;
2272
+ inspectedValue instanceof ReactPromise;
2273
+
2274
+ ) {
2275
+ cycleProtection++;
2276
+ if (inspectedValue === this || 1e3 < cycleProtection) {
2277
+ "function" === typeof reject &&
2278
+ reject(Error("Cannot have cyclic thenables."));
2279
+ return;
2280
+ }
2281
+ if ("fulfilled" === inspectedValue.status)
2282
+ inspectedValue = inspectedValue.value;
2283
+ else break;
2284
+ }
2285
+ resolve(this.value);
2286
+ }
2263
2287
  break;
2264
2288
  case "pending":
2265
2289
  case "blocked":
@@ -2411,7 +2435,7 @@ function resolveIteratorResultChunk(response, chunk, value, done) {
2411
2435
  }
2412
2436
  function loadServerReference$1(response, metaData, parentObject, key) {
2413
2437
  var id = metaData.id;
2414
- if ("string" !== typeof id) return null;
2438
+ if ("string" !== typeof id || "then" === key) return null;
2415
2439
  var serverReference = resolveServerReference(response._bundlerConfig, id);
2416
2440
  id = metaData.bound;
2417
2441
  var promise = preloadModule(serverReference);
@@ -2449,6 +2473,7 @@ function loadServerReference$1(response, metaData, parentObject, key) {
2449
2473
  ((promiseValue = resolvedValue.value),
2450
2474
  (resolvedValue.status = "fulfilled"),
2451
2475
  (resolvedValue.value = handler.value),
2476
+ (resolvedValue.reason = null),
2452
2477
  null !== promiseValue &&
2453
2478
  wakeChunk(response, promiseValue, handler.value)));
2454
2479
  },
@@ -2540,6 +2565,7 @@ function initializeModelChunk(chunk) {
2540
2565
  }
2541
2566
  chunk.status = "fulfilled";
2542
2567
  chunk.value = value;
2568
+ chunk.reason = null;
2543
2569
  } catch (error) {
2544
2570
  (chunk.status = "rejected"), (chunk.reason = error);
2545
2571
  } finally {
@@ -2550,7 +2576,11 @@ function reportGlobalError(response, error) {
2550
2576
  response._closed = !0;
2551
2577
  response._closedReason = error;
2552
2578
  response._chunks.forEach(function (chunk) {
2553
- "pending" === chunk.status && triggerErrorOnChunk(response, chunk, error);
2579
+ "pending" === chunk.status
2580
+ ? triggerErrorOnChunk(response, chunk, error)
2581
+ : "fulfilled" === chunk.status &&
2582
+ null !== chunk.reason &&
2583
+ chunk.reason.error(error);
2554
2584
  });
2555
2585
  }
2556
2586
  function getChunk(response, id) {
@@ -2568,58 +2598,39 @@ function getChunk(response, id) {
2568
2598
  return chunk;
2569
2599
  }
2570
2600
  function fulfillReference(response, reference, value) {
2571
- for (
2572
- var handler = reference.handler,
2573
- parentObject = reference.parentObject,
2574
- key = reference.key,
2575
- map = reference.map,
2576
- path = reference.path,
2577
- i = 1;
2578
- i < path.length;
2579
- i++
2580
- ) {
2581
- for (; value instanceof ReactPromise; ) {
2582
- switch (value.status) {
2583
- case "resolved_model":
2584
- initializeModelChunk(value);
2585
- }
2586
- switch (value.status) {
2587
- case "fulfilled":
2588
- value = value.value;
2589
- continue;
2590
- case "blocked":
2591
- case "pending":
2592
- path.splice(0, i - 1);
2593
- null === value.value
2594
- ? (value.value = [reference])
2595
- : value.value.push(reference);
2596
- null === value.reason
2597
- ? (value.reason = [reference])
2598
- : value.reason.push(reference);
2599
- return;
2600
- default:
2601
- rejectReference(response, reference.handler, value.reason);
2602
- return;
2603
- }
2601
+ var handler = reference.handler,
2602
+ parentObject = reference.parentObject,
2603
+ key = reference.key,
2604
+ map = reference.map,
2605
+ path = reference.path;
2606
+ try {
2607
+ for (var i = 1; i < path.length; i++) {
2608
+ var name = path[i];
2609
+ if (
2610
+ "object" !== typeof value ||
2611
+ !hasOwnProperty.call(value, name) ||
2612
+ value instanceof Promise
2613
+ )
2614
+ throw Error("Invalid reference.");
2615
+ value = value[name];
2604
2616
  }
2605
- var name = path[i];
2606
- "object" === typeof value &&
2607
- hasOwnProperty.call(value, name) &&
2608
- (value = value[name]);
2617
+ var mappedValue = map(response, value, parentObject, key);
2618
+ parentObject[key] = mappedValue;
2619
+ "" === key && null === handler.value && (handler.value = mappedValue);
2620
+ } catch (error) {
2621
+ rejectReference(response, reference.handler, error);
2622
+ return;
2609
2623
  }
2610
- reference = map(response, value, parentObject, key);
2611
- parentObject[key] = reference;
2612
- "" === key && null === handler.value && (handler.value = reference);
2613
2624
  handler.deps--;
2614
2625
  0 === handler.deps &&
2615
- ((parentObject = handler.chunk),
2616
- null !== parentObject &&
2617
- "blocked" === parentObject.status &&
2618
- ((key = parentObject.value),
2619
- (parentObject.status = "fulfilled"),
2620
- (parentObject.value = handler.value),
2621
- (parentObject.reason = handler.reason),
2622
- null !== key && wakeChunk(response, key, handler.value)));
2626
+ ((reference = handler.chunk),
2627
+ null !== reference &&
2628
+ "blocked" === reference.status &&
2629
+ ((value = reference.value),
2630
+ (reference.status = "fulfilled"),
2631
+ (reference.value = handler.value),
2632
+ (reference.reason = handler.reason),
2633
+ null !== value && wakeChunk(response, value, handler.value)));
2623
2634
  }
2624
2635
  function rejectReference(response, handler, error) {
2625
2636
  handler.errored ||
@@ -2631,33 +2642,6 @@ function rejectReference(response, handler, error) {
2631
2642
  "blocked" === handler.status &&
2632
2643
  triggerErrorOnChunk(response, handler, error));
2633
2644
  }
2634
- function waitForReference(
2635
- referencedChunk,
2636
- parentObject,
2637
- key,
2638
- response,
2639
- map,
2640
- path
2641
- ) {
2642
- initializingHandler
2643
- ? ((response = initializingHandler), response.deps++)
2644
- : (response = initializingHandler =
2645
- { chunk: null, value: null, reason: null, deps: 1, errored: !1 });
2646
- parentObject = {
2647
- handler: response,
2648
- parentObject: parentObject,
2649
- key: key,
2650
- map: map,
2651
- path: path
2652
- };
2653
- null === referencedChunk.value
2654
- ? (referencedChunk.value = [parentObject])
2655
- : referencedChunk.value.push(parentObject);
2656
- null === referencedChunk.reason
2657
- ? (referencedChunk.reason = [parentObject])
2658
- : referencedChunk.reason.push(parentObject);
2659
- return null;
2660
- }
2661
2645
  function getOutlinedModel(response, reference, parentObject, key, map) {
2662
2646
  reference = reference.split(":");
2663
2647
  var id = parseInt(reference[0], 16);
@@ -2668,53 +2652,40 @@ function getOutlinedModel(response, reference, parentObject, key, map) {
2668
2652
  }
2669
2653
  switch (id.status) {
2670
2654
  case "fulfilled":
2671
- var value = id.value;
2672
- for (id = 1; id < reference.length; id++) {
2673
- for (; value instanceof ReactPromise; ) {
2674
- switch (value.status) {
2675
- case "resolved_model":
2676
- initializeModelChunk(value);
2677
- }
2678
- switch (value.status) {
2679
- case "fulfilled":
2680
- value = value.value;
2681
- break;
2682
- case "blocked":
2683
- case "pending":
2684
- return waitForReference(
2685
- value,
2686
- parentObject,
2687
- key,
2688
- response,
2689
- map,
2690
- reference.slice(id - 1)
2691
- );
2692
- default:
2693
- return (
2694
- initializingHandler
2695
- ? ((initializingHandler.errored = !0),
2696
- (initializingHandler.value = null),
2697
- (initializingHandler.reason = value.reason))
2698
- : (initializingHandler = {
2699
- chunk: null,
2700
- value: null,
2701
- reason: value.reason,
2702
- deps: 0,
2703
- errored: !0
2704
- }),
2705
- null
2706
- );
2707
- }
2708
- }
2709
- var name = reference[id];
2710
- "object" === typeof value &&
2711
- hasOwnProperty.call(value, name) &&
2712
- (value = value[name]);
2655
+ id = id.value;
2656
+ for (var i = 1; i < reference.length; i++) {
2657
+ var name = reference[i];
2658
+ if (
2659
+ "object" !== typeof id ||
2660
+ !hasOwnProperty.call(id, name) ||
2661
+ id instanceof Promise
2662
+ )
2663
+ throw Error("Invalid reference.");
2664
+ id = id[name];
2713
2665
  }
2714
- return map(response, value, parentObject, key);
2666
+ return map(response, id, parentObject, key);
2715
2667
  case "pending":
2716
2668
  case "blocked":
2717
- return waitForReference(id, parentObject, key, response, map, reference);
2669
+ return (
2670
+ initializingHandler
2671
+ ? ((response = initializingHandler), response.deps++)
2672
+ : (response = initializingHandler =
2673
+ { chunk: null, value: null, reason: null, deps: 1, errored: !1 }),
2674
+ (parentObject = {
2675
+ handler: response,
2676
+ parentObject: parentObject,
2677
+ key: key,
2678
+ map: map,
2679
+ path: reference
2680
+ }),
2681
+ null === id.value
2682
+ ? (id.value = [parentObject])
2683
+ : id.value.push(parentObject),
2684
+ null === id.reason
2685
+ ? (id.reason = [parentObject])
2686
+ : id.reason.push(parentObject),
2687
+ null
2688
+ );
2718
2689
  default:
2719
2690
  return (
2720
2691
  initializingHandler
@@ -2741,8 +2712,8 @@ function createSet(response, model) {
2741
2712
  function extractIterator(response, model) {
2742
2713
  return model[Symbol.iterator]();
2743
2714
  }
2744
- function createModel(response, model) {
2745
- return model;
2715
+ function createModel(response, model, parentObject, key) {
2716
+ return "then" === key && "function" === typeof model ? null : model;
2746
2717
  }
2747
2718
  function parseTypedArray(
2748
2719
  response,
@@ -2753,9 +2724,10 @@ function parseTypedArray(
2753
2724
  parentKey
2754
2725
  ) {
2755
2726
  reference = parseInt(reference.slice(2), 16);
2756
- reference = response._formData
2757
- .get(response._prefix + reference)
2758
- .arrayBuffer();
2727
+ bytesPerElement = response._prefix + reference;
2728
+ if (response._chunks.has(reference))
2729
+ throw Error("Already initialized typed array.");
2730
+ reference = response._formData.get(bytesPerElement).arrayBuffer();
2759
2731
  if (initializingHandler) {
2760
2732
  var handler = initializingHandler;
2761
2733
  handler.deps++;
@@ -2781,6 +2753,7 @@ function parseTypedArray(
2781
2753
  var resolveListeners = buffer.value;
2782
2754
  buffer.status = "fulfilled";
2783
2755
  buffer.value = handler.value;
2756
+ buffer.reason = null;
2784
2757
  null !== resolveListeners &&
2785
2758
  wakeChunk(response, resolveListeners, handler.value);
2786
2759
  }
@@ -2813,7 +2786,10 @@ function resolveStream(response, id, stream, controller) {
2813
2786
  }
2814
2787
  function parseReadableStream(response, reference, type) {
2815
2788
  reference = parseInt(reference.slice(2), 16);
2816
- var controller = null;
2789
+ if (response._chunks.has(reference))
2790
+ throw Error("Already initialized stream.");
2791
+ var controller = null,
2792
+ closed = !1;
2817
2793
  type = new ReadableStream({
2818
2794
  type: type,
2819
2795
  start: function (c) {
@@ -2856,24 +2832,27 @@ function parseReadableStream(response, reference, type) {
2856
2832
  }
2857
2833
  },
2858
2834
  close: function () {
2859
- if (null === previousBlockedChunk) controller.close();
2860
- else {
2861
- var blockedChunk = previousBlockedChunk;
2862
- previousBlockedChunk = null;
2863
- blockedChunk.then(function () {
2864
- return controller.close();
2865
- });
2866
- }
2835
+ if (!closed)
2836
+ if (((closed = !0), null === previousBlockedChunk)) controller.close();
2837
+ else {
2838
+ var blockedChunk = previousBlockedChunk;
2839
+ previousBlockedChunk = null;
2840
+ blockedChunk.then(function () {
2841
+ return controller.close();
2842
+ });
2843
+ }
2867
2844
  },
2868
2845
  error: function (error) {
2869
- if (null === previousBlockedChunk) controller.error(error);
2870
- else {
2871
- var blockedChunk = previousBlockedChunk;
2872
- previousBlockedChunk = null;
2873
- blockedChunk.then(function () {
2874
- return controller.error(error);
2875
- });
2876
- }
2846
+ if (!closed)
2847
+ if (((closed = !0), null === previousBlockedChunk))
2848
+ controller.error(error);
2849
+ else {
2850
+ var blockedChunk = previousBlockedChunk;
2851
+ previousBlockedChunk = null;
2852
+ blockedChunk.then(function () {
2853
+ return controller.error(error);
2854
+ });
2855
+ }
2877
2856
  }
2878
2857
  });
2879
2858
  return type;
@@ -2888,6 +2867,8 @@ function createIterator(next) {
2888
2867
  }
2889
2868
  function parseAsyncIterable(response, reference, iterator) {
2890
2869
  reference = parseInt(reference.slice(2), 16);
2870
+ if (response._chunks.has(reference))
2871
+ throw Error("Already initialized stream.");
2891
2872
  var buffer = [],
2892
2873
  closed = !1,
2893
2874
  nextWriteIndex = 0,
@@ -2931,36 +2912,46 @@ function parseAsyncIterable(response, reference, iterator) {
2931
2912
  nextWriteIndex++;
2932
2913
  },
2933
2914
  close: function (value) {
2934
- closed = !0;
2935
- nextWriteIndex === buffer.length
2936
- ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2937
- response,
2938
- value,
2939
- !0
2940
- ))
2941
- : resolveIteratorResultChunk(
2915
+ if (!closed)
2916
+ for (
2917
+ closed = !0,
2918
+ nextWriteIndex === buffer.length
2919
+ ? (buffer[nextWriteIndex] = createResolvedIteratorResultChunk(
2920
+ response,
2921
+ value,
2922
+ !0
2923
+ ))
2924
+ : resolveIteratorResultChunk(
2925
+ response,
2926
+ buffer[nextWriteIndex],
2927
+ value,
2928
+ !0
2929
+ ),
2930
+ nextWriteIndex++;
2931
+ nextWriteIndex < buffer.length;
2932
+
2933
+ )
2934
+ resolveIteratorResultChunk(
2942
2935
  response,
2943
- buffer[nextWriteIndex],
2944
- value,
2936
+ buffer[nextWriteIndex++],
2937
+ '"$undefined"',
2945
2938
  !0
2946
2939
  );
2947
- for (nextWriteIndex++; nextWriteIndex < buffer.length; )
2948
- resolveIteratorResultChunk(
2949
- response,
2950
- buffer[nextWriteIndex++],
2951
- '"$undefined"',
2952
- !0
2953
- );
2954
2940
  },
2955
2941
  error: function (error) {
2956
- closed = !0;
2957
- for (
2958
- nextWriteIndex === buffer.length &&
2959
- (buffer[nextWriteIndex] = new ReactPromise("pending", null, null));
2960
- nextWriteIndex < buffer.length;
2942
+ if (!closed)
2943
+ for (
2944
+ closed = !0,
2945
+ nextWriteIndex === buffer.length &&
2946
+ (buffer[nextWriteIndex] = new ReactPromise(
2947
+ "pending",
2948
+ null,
2949
+ null
2950
+ ));
2951
+ nextWriteIndex < buffer.length;
2961
2952
 
2962
- )
2963
- triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2953
+ )
2954
+ triggerErrorOnChunk(response, buffer[nextWriteIndex++], error);
2964
2955
  }
2965
2956
  });
2966
2957
  return iterator;
@@ -2972,7 +2963,7 @@ function parseModelString(response, obj, key, value, reference) {
2972
2963
  return value.slice(1);
2973
2964
  case "@":
2974
2965
  return (obj = parseInt(value.slice(2), 16)), getChunk(response, obj);
2975
- case "F":
2966
+ case "h":
2976
2967
  return (
2977
2968
  (value = value.slice(2)),
2978
2969
  getOutlinedModel(response, value, obj, key, loadServerReference$1)
@@ -3234,7 +3225,8 @@ exports.registerServerReference = function (reference, id, exportName) {
3234
3225
  configurable: !0
3235
3226
  },
3236
3227
  $$bound: { value: null, configurable: !0 },
3237
- bind: { value: bind, configurable: !0 }
3228
+ bind: { value: bind, configurable: !0 },
3229
+ toString: serverReferenceToString
3238
3230
  });
3239
3231
  };
3240
3232
  exports.renderToReadableStream = function (model, webpackMap, options) {