@vitejs/plugin-rsc 0.5.26 → 0.5.28

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 (57) hide show
  1. package/README.md +34 -18
  2. package/dist/browser.d.ts +3 -3
  3. package/dist/{cjs-BdahOUyh.js → cjs-Cxg_7upE.js} +3 -3
  4. package/dist/client-BrwlzXgg.d.ts +19 -0
  5. package/dist/core/browser.d.ts +1 -1
  6. package/dist/core/browser.js +2 -2
  7. package/dist/core/plugin.d.ts +0 -1
  8. package/dist/core/rsc.d.ts +1 -19
  9. package/dist/core/rsc.js +20 -4
  10. package/dist/core/ssr.d.ts +1 -2
  11. package/dist/core/ssr.js +2 -2
  12. package/dist/{encryption-utils-BblioYEx.js → encryption-utils-BNbYHtC4.js} +1 -1
  13. package/dist/{index-2GoUFmVR.d.ts → index-BjJe9jqG.d.ts} +52 -20
  14. package/dist/{index-D2a5dlVU.d.ts → index-CqNlZcWp.d.ts} +12 -1
  15. package/dist/index.d.ts +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/{picocolors-BDx0CW3k.js → picocolors-DFVOi1sR.js} +4 -2
  18. package/dist/{plugin-BhzHKRFo.js → plugin-BOTpkess.js} +89 -20
  19. package/dist/{plugin-DGxRH4Nv.d.ts → plugin-CaLiN8ED.d.ts} +71 -64
  20. package/dist/plugin.d.ts +2 -2
  21. package/dist/plugin.js +1 -1
  22. package/dist/plugins/cjs.d.ts +0 -1
  23. package/dist/plugins/cjs.js +1 -1
  24. package/dist/react/browser.d.ts +2 -3
  25. package/dist/react/rsc/client.d.ts +2 -0
  26. package/dist/react/rsc/client.js +16 -0
  27. package/dist/react/rsc/server.d.ts +3 -0
  28. package/dist/react/rsc/server.js +20 -0
  29. package/dist/react/rsc.d.ts +3 -24
  30. package/dist/react/rsc.js +3 -31
  31. package/dist/react/ssr.d.ts +4 -3
  32. package/dist/react/ssr.js +3 -1
  33. package/dist/rsc/client.d.ts +2 -0
  34. package/dist/rsc/client.js +3 -0
  35. package/dist/rsc/server.d.ts +16 -0
  36. package/dist/rsc/server.js +20 -0
  37. package/dist/rsc-CGkkhLG3.d.ts +21 -0
  38. package/dist/rsc.d.ts +4 -16
  39. package/dist/rsc.js +4 -41
  40. package/dist/{scope-DKCDtt0O.js → scope-Do08R7C2.js} +4 -38
  41. package/dist/server-DTkvSyJT.d.ts +20 -0
  42. package/dist/shared-D42sHPD1.js +25 -0
  43. package/dist/{shared-BViDMJTQ.js → shared-Y4B6DJ99.js} +2 -1
  44. package/dist/ssr.d.ts +12 -12
  45. package/dist/ssr.js +12 -7
  46. package/dist/transforms/index.d.ts +2 -2
  47. package/dist/transforms/index.js +133 -34
  48. package/dist/utils/encryption-runtime.js +5 -5
  49. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +2 -2
  50. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +70 -33
  51. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +69 -29
  52. package/dist/vendor/react-server-dom/package.json +3 -3
  53. package/package.json +13 -13
  54. package/dist/chunk-DpdyVxdi.js +0 -25
  55. /package/dist/{browser-CUMAmYC3.d.ts → browser-DI_Wyg5Y.d.ts} +0 -0
  56. /package/dist/{dist-rz-Bnebz.js → dist-uqdtSkzK.js} +0 -0
  57. /package/dist/{shared-DeahDSXi.js → shared-B6H2TbnP.js} +0 -0
@@ -6392,20 +6392,58 @@
6392
6392
  webpackMap,
6393
6393
  options
6394
6394
  ) {
6395
- var response = createResponse(
6395
+ function flush() {
6396
+ for (; null !== head; ) {
6397
+ var current = head;
6398
+ if (!current.complete) return;
6399
+ try {
6400
+ var response = response$jscomp$0,
6401
+ key = current.name,
6402
+ handle = current.file,
6403
+ blob = new Blob(handle.chunks, { type: handle.mime }),
6404
+ backingStore = response._formData;
6405
+ response = key;
6406
+ backingStore.data.append(response, blob, handle.filename);
6407
+ var keys = backingStore.keys;
6408
+ null === keys
6409
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
6410
+ (backingStore.keyPointer = 0))
6411
+ : keys.push(response);
6412
+ var queuedFields = current.queuedFields;
6413
+ if (null !== queuedFields)
6414
+ for (response = 0; response < queuedFields.length; response += 2)
6415
+ resolveField(
6416
+ response$jscomp$0,
6417
+ queuedFields[response],
6418
+ queuedFields[response + 1]
6419
+ );
6420
+ } catch (error) {
6421
+ busboyStream.destroy(error);
6422
+ return;
6423
+ }
6424
+ head = current.next;
6425
+ }
6426
+ tail = null;
6427
+ bodyFinished && !closed && ((closed = !0), close(response$jscomp$0));
6428
+ }
6429
+ var response$jscomp$0 = createResponse(
6396
6430
  webpackMap,
6397
6431
  "",
6398
6432
  options ? options.temporaryReferences : void 0,
6399
6433
  void 0,
6400
6434
  options ? options.arraySizeLimit : void 0
6401
6435
  ),
6402
- pendingFiles = 0,
6403
- queuedFields = [];
6436
+ head = null,
6437
+ tail = null,
6438
+ bodyFinished = !1,
6439
+ closed = !1;
6404
6440
  busboyStream.on("field", function (name, value) {
6405
- if (0 < pendingFiles) queuedFields.push(name, value);
6441
+ if (null !== tail)
6442
+ null === tail.queuedFields && (tail.queuedFields = []),
6443
+ tail.queuedFields.push(name, value);
6406
6444
  else
6407
6445
  try {
6408
- resolveField(response, name, value);
6446
+ resolveField(response$jscomp$0, name, value);
6409
6447
  } catch (error) {
6410
6448
  busboyStream.destroy(error);
6411
6449
  }
@@ -6420,46 +6458,45 @@
6420
6458
  )
6421
6459
  );
6422
6460
  else {
6423
- pendingFiles++;
6424
- var JSCompiler_object_inline_chunks_266 = [];
6461
+ var file = { chunks: [], filename: filename, mime: mimeType },
6462
+ pendingFile = {
6463
+ name: name,
6464
+ file: file,
6465
+ complete: !1,
6466
+ queuedFields: null,
6467
+ next: null
6468
+ };
6469
+ null === tail ? (head = pendingFile) : (tail.next = pendingFile);
6470
+ tail = pendingFile;
6425
6471
  value.on("data", function (chunk) {
6426
- JSCompiler_object_inline_chunks_266.push(chunk);
6427
- });
6428
- value.on("end", function () {
6429
6472
  try {
6430
- var blob = new Blob(JSCompiler_object_inline_chunks_266, {
6431
- type: mimeType
6432
- }),
6433
- backingStore = response._formData;
6434
- backingStore.data.append(name, blob, filename);
6435
- var keys = backingStore.keys;
6436
- null === keys
6437
- ? ((backingStore.keys = Array.from(backingStore.data.keys())),
6438
- (backingStore.keyPointer = 0))
6439
- : keys.push(name);
6440
- pendingFiles--;
6441
- if (0 === pendingFiles) {
6442
- for (blob = 0; blob < queuedFields.length; blob += 2)
6443
- resolveField(
6444
- response,
6445
- queuedFields[blob],
6446
- queuedFields[blob + 1]
6447
- );
6448
- queuedFields.length = 0;
6449
- }
6473
+ file.chunks.push(chunk);
6450
6474
  } catch (error) {
6451
6475
  busboyStream.destroy(error);
6452
6476
  }
6453
6477
  });
6478
+ value.on("error", function (error) {
6479
+ busboyStream.destroy(error);
6480
+ });
6481
+ value.on("end", function () {
6482
+ pendingFile.complete = !0;
6483
+ flush();
6484
+ });
6454
6485
  }
6455
6486
  });
6456
6487
  busboyStream.on("finish", function () {
6457
- close(response);
6488
+ bodyFinished = !0;
6489
+ flush();
6490
+ closed ||
6491
+ reportGlobalError(
6492
+ response$jscomp$0,
6493
+ Error("Reply finished with incomplete file part.")
6494
+ );
6458
6495
  });
6459
6496
  busboyStream.on("error", function (err) {
6460
- reportGlobalError(response, err);
6497
+ reportGlobalError(response$jscomp$0, err);
6461
6498
  });
6462
- return getChunk(response, 0);
6499
+ return getChunk(response$jscomp$0, 0);
6463
6500
  };
6464
6501
  exports.prerender = function (model, webpackMap, options) {
6465
6502
  return new Promise(function (resolve, reject) {
@@ -3574,6 +3574,43 @@ exports.decodeReplyFromAsyncIterable = function (
3574
3574
  return getChunk(response, 0);
3575
3575
  };
3576
3576
  exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3577
+ function flush() {
3578
+ for (; null !== head; ) {
3579
+ var current = head;
3580
+ if (!current.complete) return;
3581
+ try {
3582
+ var key = current.name,
3583
+ handle = current.file,
3584
+ blob = new Blob(handle.chunks, { type: handle.mime }),
3585
+ backingStore = response._formData,
3586
+ key$jscomp$0 = key;
3587
+ backingStore.data.append(key$jscomp$0, blob, handle.filename);
3588
+ var keys = backingStore.keys;
3589
+ null === keys
3590
+ ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3591
+ (backingStore.keyPointer = 0))
3592
+ : keys.push(key$jscomp$0);
3593
+ var queuedFields = current.queuedFields;
3594
+ if (null !== queuedFields)
3595
+ for (
3596
+ key$jscomp$0 = 0;
3597
+ key$jscomp$0 < queuedFields.length;
3598
+ key$jscomp$0 += 2
3599
+ )
3600
+ resolveField(
3601
+ response,
3602
+ queuedFields[key$jscomp$0],
3603
+ queuedFields[key$jscomp$0 + 1]
3604
+ );
3605
+ } catch (error) {
3606
+ busboyStream.destroy(error);
3607
+ return;
3608
+ }
3609
+ head = current.next;
3610
+ }
3611
+ tail = null;
3612
+ bodyFinished && !closed && ((closed = !0), close(response));
3613
+ }
3577
3614
  var response = createResponse(
3578
3615
  webpackMap,
3579
3616
  "",
@@ -3581,10 +3618,14 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3581
3618
  void 0,
3582
3619
  options ? options.arraySizeLimit : void 0
3583
3620
  ),
3584
- pendingFiles = 0,
3585
- queuedFields = [];
3621
+ head = null,
3622
+ tail = null,
3623
+ bodyFinished = !1,
3624
+ closed = !1;
3586
3625
  busboyStream.on("field", function (name, value) {
3587
- if (0 < pendingFiles) queuedFields.push(name, value);
3626
+ if (null !== tail)
3627
+ null === tail.queuedFields && (tail.queuedFields = []),
3628
+ tail.queuedFields.push(name, value);
3588
3629
  else
3589
3630
  try {
3590
3631
  resolveField(response, name, value);
@@ -3602,41 +3643,40 @@ exports.decodeReplyFromBusboy = function (busboyStream, webpackMap, options) {
3602
3643
  )
3603
3644
  );
3604
3645
  else {
3605
- pendingFiles++;
3606
- var JSCompiler_object_inline_chunks_296 = [];
3646
+ var file = { chunks: [], filename: filename, mime: mimeType },
3647
+ pendingFile = {
3648
+ name: name,
3649
+ file: file,
3650
+ complete: !1,
3651
+ queuedFields: null,
3652
+ next: null
3653
+ };
3654
+ null === tail ? (head = pendingFile) : (tail.next = pendingFile);
3655
+ tail = pendingFile;
3607
3656
  value.on("data", function (chunk) {
3608
- JSCompiler_object_inline_chunks_296.push(chunk);
3609
- });
3610
- value.on("end", function () {
3611
3657
  try {
3612
- var blob = new Blob(JSCompiler_object_inline_chunks_296, {
3613
- type: mimeType
3614
- }),
3615
- backingStore = response._formData;
3616
- backingStore.data.append(name, blob, filename);
3617
- var keys = backingStore.keys;
3618
- null === keys
3619
- ? ((backingStore.keys = Array.from(backingStore.data.keys())),
3620
- (backingStore.keyPointer = 0))
3621
- : keys.push(name);
3622
- pendingFiles--;
3623
- if (0 === pendingFiles) {
3624
- for (blob = 0; blob < queuedFields.length; blob += 2)
3625
- resolveField(
3626
- response,
3627
- queuedFields[blob],
3628
- queuedFields[blob + 1]
3629
- );
3630
- queuedFields.length = 0;
3631
- }
3658
+ file.chunks.push(chunk);
3632
3659
  } catch (error) {
3633
3660
  busboyStream.destroy(error);
3634
3661
  }
3635
3662
  });
3663
+ value.on("error", function (error) {
3664
+ busboyStream.destroy(error);
3665
+ });
3666
+ value.on("end", function () {
3667
+ pendingFile.complete = !0;
3668
+ flush();
3669
+ });
3636
3670
  }
3637
3671
  });
3638
3672
  busboyStream.on("finish", function () {
3639
- close(response);
3673
+ bodyFinished = !0;
3674
+ flush();
3675
+ closed ||
3676
+ reportGlobalError(
3677
+ response,
3678
+ Error("Reply finished with incomplete file part.")
3679
+ );
3640
3680
  });
3641
3681
  busboyStream.on("error", function (err) {
3642
3682
  reportGlobalError(response, err);
@@ -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.2.6",
4
+ "version": "19.2.7",
5
5
  "keywords": [
6
6
  "react"
7
7
  ],
@@ -84,8 +84,8 @@
84
84
  "node": ">=0.10.0"
85
85
  },
86
86
  "peerDependencies": {
87
- "react": "^19.2.6",
88
- "react-dom": "^19.2.6",
87
+ "react": "^19.2.7",
88
+ "react-dom": "^19.2.7",
89
89
  "webpack": "^5.59.0"
90
90
  },
91
91
  "dependencies": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vitejs/plugin-rsc",
3
- "version": "0.5.26",
3
+ "version": "0.5.28",
4
4
  "description": "React Server Components (RSC) support for Vite.",
5
5
  "keywords": [
6
6
  "react",
@@ -39,32 +39,32 @@
39
39
  "prepack": "tsdown"
40
40
  },
41
41
  "dependencies": {
42
- "@rolldown/pluginutils": "1.0.0-rc.18",
43
- "es-module-lexer": "^2.1.0",
42
+ "@rolldown/pluginutils": "^1.0.1",
43
+ "es-module-lexer": "^2.3.1",
44
44
  "estree-walker": "^3.0.3",
45
45
  "magic-string": "^0.30.21",
46
- "srvx": "^0.11.15",
46
+ "srvx": "^0.11.22",
47
47
  "strip-literal": "^3.1.0",
48
48
  "turbo-stream": "^3.2.0",
49
49
  "vitefu": "^1.1.3"
50
50
  },
51
51
  "devDependencies": {
52
52
  "@hiogawa/utils": "^1.7.0",
53
- "@playwright/test": "^1.59.1",
53
+ "@playwright/test": "^1.61.1",
54
54
  "@tsconfig/strictest": "^2.0.8",
55
- "@types/estree": "^1.0.8",
56
- "@types/node": "^24.12.2",
57
- "@types/react": "^19.2.14",
55
+ "@types/estree": "^1.0.9",
56
+ "@types/node": "^24.13.3",
57
+ "@types/react": "^19.2.17",
58
58
  "@types/react-dom": "^19.2.3",
59
59
  "@vitejs/plugin-react": "workspace:*",
60
60
  "@vitejs/test-dep-cjs-and-esm": "./test-dep/cjs-and-esm",
61
61
  "@vitejs/test-dep-cjs-falsy-primitive": "./test-dep/cjs-falsy-primitive",
62
62
  "picocolors": "^1.1.1",
63
- "react": "^19.2.6",
64
- "react-dom": "^19.2.6",
65
- "react-server-dom-webpack": "^19.2.6",
66
- "tinyexec": "^1.1.2",
67
- "tsdown": "^0.21.10"
63
+ "react": "^19.2.7",
64
+ "react-dom": "^19.2.7",
65
+ "react-server-dom-webpack": "^19.2.7",
66
+ "tinyexec": "^1.2.4",
67
+ "tsdown": "^0.22.7"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "react": "*",
@@ -1,25 +0,0 @@
1
- import "node:module";
2
- //#region \0rolldown/runtime.js
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __commonJSMin = (cb, mod) => () => (mod || (cb((mod = { exports: {} }).exports, mod), cb = null), mod.exports);
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
12
- key = keys[i];
13
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
14
- get: ((k) => from[k]).bind(null, key),
15
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
16
- });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
21
- value: mod,
22
- enumerable: true
23
- }) : target, mod));
24
- //#endregion
25
- export { __toESM as n, __commonJSMin as t };
File without changes
File without changes