@vitejs/plugin-rsc 0.4.10-alpha.1 → 0.4.10

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 (108) hide show
  1. package/README.md +0 -1
  2. package/package.json +18 -13
  3. package/dist/browser-D8OPzpF5.js +0 -35
  4. package/dist/browser-DjnGtEmB.d.ts +0 -15
  5. package/dist/browser-Dw18EFgE.d.ts +0 -6
  6. package/dist/browser-LizIyxet.js +0 -17
  7. package/dist/browser-QWbIPyhO.js +0 -17
  8. package/dist/browser.d.ts +0 -4
  9. package/dist/browser.js +0 -7
  10. package/dist/client-edAdk2GF.js +0 -23
  11. package/dist/core/browser.d.ts +0 -2
  12. package/dist/core/browser.js +0 -5
  13. package/dist/core/plugin.d.ts +0 -6
  14. package/dist/core/plugin.js +0 -3
  15. package/dist/core/rsc.d.ts +0 -3
  16. package/dist/core/rsc.js +0 -5
  17. package/dist/core/ssr.d.ts +0 -3
  18. package/dist/core/ssr.js +0 -5
  19. package/dist/dist-DEF94lDJ.js +0 -41
  20. package/dist/encryption-utils-BDwwcMVT.js +0 -73
  21. package/dist/extra/browser.d.ts +0 -7
  22. package/dist/extra/browser.js +0 -83
  23. package/dist/extra/rsc.d.ts +0 -2
  24. package/dist/extra/rsc.js +0 -60
  25. package/dist/extra/ssr.d.ts +0 -10
  26. package/dist/extra/ssr.js +0 -35
  27. package/dist/index-BHqtj9tT.d.ts +0 -26
  28. package/dist/index.d.ts +0 -23
  29. package/dist/index.js +0 -8
  30. package/dist/plugin-BZEsXXjV.js +0 -1442
  31. package/dist/plugin-CZbI4rhS.js +0 -24
  32. package/dist/plugin-Dg2agPFN.d.ts +0 -88
  33. package/dist/plugin.d.ts +0 -2
  34. package/dist/plugin.js +0 -8
  35. package/dist/react/browser.d.ts +0 -4
  36. package/dist/react/browser.js +0 -6
  37. package/dist/react/rsc.d.ts +0 -4
  38. package/dist/react/rsc.js +0 -6
  39. package/dist/react/ssr.d.ts +0 -4
  40. package/dist/react/ssr.js +0 -6
  41. package/dist/rpc-tGuLT8PD.js +0 -47
  42. package/dist/rsc-BOV3yNSd.d.ts +0 -12
  43. package/dist/rsc-Cmvt9txp.d.ts +0 -13
  44. package/dist/rsc-DHfL29FT.js +0 -36
  45. package/dist/rsc-DKA6wwTB.js +0 -78
  46. package/dist/rsc-DgrejoNf.d.ts +0 -15
  47. package/dist/rsc-DmPsJrxF.js +0 -42
  48. package/dist/rsc-html-stream/browser.d.ts +0 -4
  49. package/dist/rsc-html-stream/browser.js +0 -7
  50. package/dist/rsc-html-stream/ssr.d.ts +0 -6
  51. package/dist/rsc-html-stream/ssr.js +0 -7
  52. package/dist/rsc.d.ts +0 -13
  53. package/dist/rsc.js +0 -8
  54. package/dist/server-DGTepepH.js +0 -67
  55. package/dist/shared-CEyKoKAb.js +0 -22
  56. package/dist/ssr-BOIYlvSn.js +0 -23
  57. package/dist/ssr-D5pxP29F.js +0 -18
  58. package/dist/ssr-D708H86k.d.ts +0 -7
  59. package/dist/ssr-DgSrGrln.d.ts +0 -9
  60. package/dist/ssr-Do_Ok_bB.js +0 -47
  61. package/dist/ssr.d.ts +0 -4
  62. package/dist/ssr.js +0 -7
  63. package/dist/utils/rpc.d.ts +0 -7
  64. package/dist/utils/rpc.js +0 -3
  65. package/dist/vendor/react-server-dom/LICENSE +0 -21
  66. package/dist/vendor/react-server-dom/README.md +0 -5
  67. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.development.js +0 -2785
  68. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.browser.production.js +0 -1664
  69. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.development.js +0 -2959
  70. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.edge.production.js +0 -1845
  71. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.development.js +0 -3002
  72. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.production.js +0 -1894
  73. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.development.js +0 -2964
  74. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-client.node.unbundled.production.js +0 -1859
  75. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-node-register.js +0 -69
  76. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-plugin.js +0 -400
  77. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.development.js +0 -4079
  78. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.browser.production.js +0 -2806
  79. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.development.js +0 -4187
  80. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.edge.production.js +0 -2845
  81. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.development.js +0 -4195
  82. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.production.js +0 -2902
  83. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.development.js +0 -4158
  84. package/dist/vendor/react-server-dom/cjs/react-server-dom-webpack-server.node.unbundled.production.js +0 -2868
  85. package/dist/vendor/react-server-dom/client.browser.js +0 -7
  86. package/dist/vendor/react-server-dom/client.edge.js +0 -7
  87. package/dist/vendor/react-server-dom/client.js +0 -3
  88. package/dist/vendor/react-server-dom/client.node.js +0 -7
  89. package/dist/vendor/react-server-dom/client.node.unbundled.js +0 -7
  90. package/dist/vendor/react-server-dom/esm/package.json +0 -3
  91. package/dist/vendor/react-server-dom/esm/react-server-dom-webpack-node-loader.production.js +0 -515
  92. package/dist/vendor/react-server-dom/index.js +0 -12
  93. package/dist/vendor/react-server-dom/node-register.js +0 -3
  94. package/dist/vendor/react-server-dom/package.json +0 -111
  95. package/dist/vendor/react-server-dom/plugin.js +0 -3
  96. package/dist/vendor/react-server-dom/server.browser.js +0 -17
  97. package/dist/vendor/react-server-dom/server.edge.js +0 -18
  98. package/dist/vendor/react-server-dom/server.js +0 -6
  99. package/dist/vendor/react-server-dom/server.node.js +0 -18
  100. package/dist/vendor/react-server-dom/server.node.unbundled.js +0 -18
  101. package/dist/vendor/react-server-dom/static.browser.js +0 -12
  102. package/dist/vendor/react-server-dom/static.edge.js +0 -12
  103. package/dist/vendor/react-server-dom/static.js +0 -6
  104. package/dist/vendor/react-server-dom/static.node.js +0 -12
  105. package/dist/vendor/react-server-dom/static.node.unbundled.js +0 -12
  106. package/dist/vite-utils-CcqBE-C4.js +0 -64
  107. package/dist/vite-utils.d.ts +0 -21
  108. package/dist/vite-utils.js +0 -3
@@ -1,24 +0,0 @@
1
- //#region src/core/plugin.ts
2
- function vitePluginRscCore() {
3
- return [{
4
- name: "rsc:patch-react-server-dom-webpack",
5
- transform(originalCode, _id, _options) {
6
- let code = originalCode;
7
- if (code.includes("__webpack_require__.u")) code = code.replaceAll("__webpack_require__.u", "({}).u");
8
- if (code.includes("__webpack_require__")) code = code.replaceAll("__webpack_require__", "__vite_rsc_require__");
9
- if (code !== originalCode) return {
10
- code,
11
- map: null
12
- };
13
- }
14
- }, {
15
- name: "rsc:workaround-linked-dep",
16
- apply: () => !import.meta.url.includes("/node_modules/"),
17
- configEnvironment() {
18
- return { build: { commonjsOptions: { include: [/\/node_modules\//, /\/vendor\/react-server-dom\//] } } };
19
- }
20
- }];
21
- }
22
-
23
- //#endregion
24
- export { vitePluginRscCore };
@@ -1,88 +0,0 @@
1
- import MagicString from "magic-string";
2
- import { Plugin, ViteDevServer, parseAstAsync } from "vite";
3
- import { Program } from "estree";
4
-
5
- //#region src/transforms/wrap-export.d.ts
6
- type ExportMeta = {
7
- declName?: string;
8
- isFunction?: boolean;
9
- defaultExportIdentifierName?: string;
10
- };
11
- type TransformWrapExportFilter = (name: string, meta: ExportMeta) => boolean;
12
- //#endregion
13
- //#region src/plugin.d.ts
14
- type RscPluginOptions = {
15
- /**
16
- * shorthand for configuring `environments.(name).build.rollupOptions.input.index`
17
- */
18
- entries?: Partial<Record<"client" | "ssr" | "rsc", string>>;
19
- /** @deprecated use `serverHandler: false` */
20
- disableServerHandler?: boolean;
21
- /** @default { enviornmentName: "rsc", entryName: "index" } */
22
- serverHandler?: {
23
- environmentName: string;
24
- entryName: string;
25
- } | false;
26
- /** @default false */
27
- loadModuleDevProxy?: boolean;
28
- rscCssTransform?: false | {
29
- filter?: (id: string) => boolean;
30
- };
31
- ignoredPackageWarnings?: (string | RegExp)[];
32
- /**
33
- * This option allows customizing how client build copies assets from server build.
34
- * By default, all assets are copied, but frameworks might want to establish some convention
35
- * to tighten security based on this option.
36
- */
37
- copyServerAssetsToClient?: (fileName: string) => boolean;
38
- defineEncryptionKey?: string;
39
- /**
40
- * Allows enabling action closure encryption for debugging purpose.
41
- * @default true
42
- */
43
- enableActionEncryption?: boolean;
44
- /** Escape hatch for Waku's `allowServer` */
45
- keepUseCientProxy?: boolean;
46
- };
47
- declare function vitePluginRsc(rscPluginOptions?: RscPluginOptions): Plugin[];
48
- //
49
- // collect client reference dependency chunk for modulepreload
50
- //
51
- type AssetsManifest = {
52
- bootstrapScriptContent: string;
53
- clientReferenceDeps: Record<string, AssetDeps>;
54
- serverResources?: Record<string, {
55
- css: string[];
56
- }>;
57
- };
58
- type AssetDeps = {
59
- js: string[];
60
- css: string[];
61
- };
62
- //
63
- // support findSourceMapURL
64
- // https://github.com/facebook/react/pull/29708
65
- // https://github.com/facebook/react/pull/30741
66
- //
67
- declare function vitePluginFindSourceMapURL(): Plugin[];
68
- declare function findSourceMapURL(server: ViteDevServer, filename: string, environmentName: string): Promise<object | undefined>;
69
- //
70
- // css support
71
- //
72
- declare function vitePluginRscCss(rscCssOptions?: Pick<RscPluginOptions, "rscCssTransform">): Plugin[];
73
- declare function transformRscCssExport(options: {
74
- ast: Awaited<ReturnType<typeof parseAstAsync>>;
75
- code: string;
76
- id?: string;
77
- filter: TransformWrapExportFilter;
78
- }): Promise<{
79
- output: MagicString;
80
- } | undefined>;
81
- /**
82
- * temporary workaround for
83
- * - https://github.com/cloudflare/workers-sdk/issues/9538 (fixed in @cloudflare/vite-plugin@1.8.0)
84
- * - https://github.com/vitejs/vite/pull/20077 (fixed in vite@7.0.0)
85
- */
86
- declare function __fix_cloudflare(): Plugin;
87
- //#endregion
88
- export { AssetDeps, AssetsManifest, RscPluginOptions, __fix_cloudflare, findSourceMapURL, transformRscCssExport, vitePluginFindSourceMapURL, vitePluginRsc, vitePluginRscCss };
package/dist/plugin.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { AssetDeps, AssetsManifest, RscPluginOptions, __fix_cloudflare, findSourceMapURL, transformRscCssExport, vitePluginFindSourceMapURL, vitePluginRsc, vitePluginRscCss } from "./plugin-Dg2agPFN.js";
2
- export { AssetDeps, AssetsManifest, RscPluginOptions, __fix_cloudflare, vitePluginRsc as default, findSourceMapURL, transformRscCssExport, vitePluginFindSourceMapURL, vitePluginRscCss };
package/dist/plugin.js DELETED
@@ -1,8 +0,0 @@
1
- import "./dist-DEF94lDJ.js";
2
- import "./plugin-CZbI4rhS.js";
3
- import { __fix_cloudflare, findSourceMapURL, transformRscCssExport, vitePluginFindSourceMapURL, vitePluginRsc, vitePluginRscCss } from "./plugin-BZEsXXjV.js";
4
- import "./encryption-utils-BDwwcMVT.js";
5
- import "./rpc-tGuLT8PD.js";
6
- import "./vite-utils-CcqBE-C4.js";
7
-
8
- export { __fix_cloudflare, vitePluginRsc as default, findSourceMapURL, transformRscCssExport, vitePluginFindSourceMapURL, vitePluginRscCss };
@@ -1,4 +0,0 @@
1
- import { CallServerCallback } from "../index-BHqtj9tT.js";
2
- import { setRequireModule } from "../browser-Dw18EFgE.js";
3
- import { callServer, createFromFetch, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setServerCallback } from "../browser-DjnGtEmB.js";
4
- export { CallServerCallback, callServer, createFromFetch, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setRequireModule, setServerCallback };
@@ -1,6 +0,0 @@
1
- import "../dist-DEF94lDJ.js";
2
- import "../shared-CEyKoKAb.js";
3
- import { setRequireModule } from "../browser-QWbIPyhO.js";
4
- import { callServer, createFromFetch, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setServerCallback } from "../browser-D8OPzpF5.js";
5
-
6
- export { callServer, createFromFetch, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setRequireModule, setServerCallback };
@@ -1,4 +0,0 @@
1
- import "../index-BHqtj9tT.js";
2
- import { loadServerAction, setRequireModule } from "../rsc-BOV3yNSd.js";
3
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream } from "../rsc-DgrejoNf.js";
4
- export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
package/dist/react/rsc.js DELETED
@@ -1,6 +0,0 @@
1
- import "../dist-DEF94lDJ.js";
2
- import "../shared-CEyKoKAb.js";
3
- import { loadServerAction, setRequireModule } from "../rsc-DKA6wwTB.js";
4
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream } from "../rsc-DHfL29FT.js";
5
-
6
- export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -1,4 +0,0 @@
1
- import "../index-BHqtj9tT.js";
2
- import { setRequireModule } from "../ssr-DgSrGrln.js";
3
- import { callServer, createFromReadableStream, createServerReference, findSourceMapURL } from "../ssr-D708H86k.js";
4
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL, setRequireModule };
package/dist/react/ssr.js DELETED
@@ -1,6 +0,0 @@
1
- import "../dist-DEF94lDJ.js";
2
- import "../shared-CEyKoKAb.js";
3
- import { setRequireModule } from "../ssr-BOIYlvSn.js";
4
- import { callServer, createFromReadableStream, createServerReference, findSourceMapURL } from "../ssr-D5pxP29F.js";
5
-
6
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL, setRequireModule };
@@ -1,47 +0,0 @@
1
- import { decode, encode } from "turbo-stream";
2
-
3
- //#region src/utils/rpc.ts
4
- function createRpcServer(handlers) {
5
- return async (request) => {
6
- if (!request.body) throw new Error(`loadModuleDevProxy error: missing request body`);
7
- const reqPayload = await decode(request.body.pipeThrough(new TextDecoderStream()));
8
- const handler = handlers[reqPayload.method];
9
- if (!handler) throw new Error(`loadModuleDevProxy error: unknown method ${reqPayload.method}`);
10
- const resPayload = {
11
- ok: true,
12
- data: void 0
13
- };
14
- try {
15
- resPayload.data = await handler(...reqPayload.args);
16
- } catch (e) {
17
- resPayload.ok = false;
18
- resPayload.data = e;
19
- }
20
- return new Response(encode(resPayload));
21
- };
22
- }
23
- function createRpcClient(options) {
24
- async function callRpc(method, args) {
25
- const reqPayload = {
26
- method,
27
- args
28
- };
29
- const body = encode(reqPayload).pipeThrough(new TextEncoderStream());
30
- const res = await fetch(options.endpoint, {
31
- method: "POST",
32
- body,
33
- duplex: "half"
34
- });
35
- if (!res.ok || !res.body) throw new Error(`loadModuleDevProxy error: ${res.status} ${res.statusText}`);
36
- const resPayload = await decode(res.body.pipeThrough(new TextDecoderStream()));
37
- if (!resPayload.ok) throw resPayload.data;
38
- return resPayload.data;
39
- }
40
- return new Proxy({}, { get(_target, p, _receiver) {
41
- if (typeof p !== "string" || p === "then") return;
42
- return (...args) => callRpc(p, args);
43
- } });
44
- }
45
-
46
- //#endregion
47
- export { createRpcClient, createRpcServer };
@@ -1,12 +0,0 @@
1
- import { BundlerConfig, ModuleMap } from "./index-BHqtj9tT.js";
2
-
3
- //#region src/core/rsc.d.ts
4
- declare function setRequireModule(options: {
5
- load: (id: string) => unknown;
6
- }): void;
7
- declare function loadServerAction(id: string): Promise<Function>;
8
- declare function createServerManifest(): BundlerConfig;
9
- declare function createServerDecodeClientManifest(): ModuleMap;
10
- declare function createClientManifest(): BundlerConfig;
11
- //#endregion
12
- export { createClientManifest, createServerDecodeClientManifest, createServerManifest, loadServerAction, setRequireModule };
@@ -1,13 +0,0 @@
1
- import { ReactFormState } from "react-dom/client";
2
-
3
- //#region src/extra/rsc.d.ts
4
- type RscPayload = {
5
- root: React.ReactNode;
6
- formState?: ReactFormState;
7
- returnValue?: unknown;
8
- };
9
- declare function renderRequest(request: Request, root: React.ReactNode, options?: {
10
- nonce?: string;
11
- }): Promise<Response>;
12
- //#endregion
13
- export { RscPayload, renderRequest };
@@ -1,36 +0,0 @@
1
- import { createClientManifest, createServerDecodeClientManifest, createServerManifest } from "./rsc-DKA6wwTB.js";
2
- import * as ReactServer from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
3
- import * as ReactClient from "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge";
4
-
5
- //#region src/react/rsc.ts
6
- function renderToReadableStream(data, options) {
7
- return ReactServer.renderToReadableStream(data, createClientManifest(), options);
8
- }
9
- function createFromReadableStream(stream, options = {}) {
10
- return ReactClient.createFromReadableStream(stream, {
11
- serverConsumerManifest: {
12
- serverModuleMap: createServerManifest(),
13
- moduleMap: createServerDecodeClientManifest()
14
- },
15
- ...options
16
- });
17
- }
18
- function registerClientReference(proxy, id, name) {
19
- return ReactServer.registerClientReference(proxy, id, name);
20
- }
21
- const registerServerReference = ReactServer.registerServerReference;
22
- function decodeReply(body, options) {
23
- return ReactServer.decodeReply(body, createServerManifest(), options);
24
- }
25
- function decodeAction(body) {
26
- return ReactServer.decodeAction(body, createServerManifest());
27
- }
28
- function decodeFormState(actionResult, body) {
29
- return ReactServer.decodeFormState(actionResult, body, createServerManifest());
30
- }
31
- const createTemporaryReferenceSet = ReactServer.createTemporaryReferenceSet;
32
- const encodeReply = ReactClient.encodeReply;
33
- const createClientTemporaryReferenceSet = ReactClient.createTemporaryReferenceSet;
34
-
35
- //#endregion
36
- export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream };
@@ -1,78 +0,0 @@
1
- import { memoize, tinyassert } from "./dist-DEF94lDJ.js";
2
- import { SERVER_DECODE_CLIENT_PREFIX, SERVER_REFERENCE_PREFIX, createReferenceCacheTag, removeReferenceCacheTag, setInternalRequire } from "./shared-CEyKoKAb.js";
3
- import * as ReactServer from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
4
-
5
- //#region src/core/rsc.ts
6
- let init = false;
7
- let requireModule;
8
- function setRequireModule(options) {
9
- if (init) return;
10
- init = true;
11
- requireModule = (id) => {
12
- return options.load(removeReferenceCacheTag(id));
13
- };
14
- globalThis.__vite_rsc_server_require__ = memoize(async (id) => {
15
- if (id.startsWith(SERVER_DECODE_CLIENT_PREFIX)) {
16
- id = id.slice(SERVER_DECODE_CLIENT_PREFIX.length);
17
- id = removeReferenceCacheTag(id);
18
- return new Proxy({}, { get(target, name, _receiver) {
19
- if (typeof name !== "string" || name === "then") return;
20
- return target[name] ??= ReactServer.registerClientReference(() => {
21
- throw new Error(`Unexpectedly client reference export '${name}' is called on server`);
22
- }, id, name);
23
- } });
24
- }
25
- return requireModule(id);
26
- });
27
- setInternalRequire();
28
- }
29
- async function loadServerAction(id) {
30
- const [file, name] = id.split("#");
31
- const mod = await requireModule(file);
32
- return mod[name];
33
- }
34
- function createServerManifest() {
35
- const cacheTag = import.meta.env.DEV ? createReferenceCacheTag() : "";
36
- return new Proxy({}, { get(_target, $$id, _receiver) {
37
- tinyassert(typeof $$id === "string");
38
- let [id, name] = $$id.split("#");
39
- tinyassert(id);
40
- tinyassert(name);
41
- return {
42
- id: SERVER_REFERENCE_PREFIX + id + cacheTag,
43
- name,
44
- chunks: [],
45
- async: true
46
- };
47
- } });
48
- }
49
- function createServerDecodeClientManifest() {
50
- return new Proxy({}, { get(_target, id) {
51
- return new Proxy({}, { get(_target$1, name) {
52
- return {
53
- id: SERVER_REFERENCE_PREFIX + SERVER_DECODE_CLIENT_PREFIX + id,
54
- name,
55
- chunks: [],
56
- async: true
57
- };
58
- } });
59
- } });
60
- }
61
- function createClientManifest() {
62
- const cacheTag = import.meta.env.DEV ? createReferenceCacheTag() : "";
63
- return new Proxy({}, { get(_target, $$id, _receiver) {
64
- tinyassert(typeof $$id === "string");
65
- let [id, name] = $$id.split("#");
66
- tinyassert(id);
67
- tinyassert(name);
68
- return {
69
- id: id + cacheTag,
70
- name,
71
- chunks: [],
72
- async: true
73
- };
74
- } });
75
- }
76
-
77
- //#endregion
78
- export { createClientManifest, createServerDecodeClientManifest, createServerManifest, loadServerAction, setRequireModule };
@@ -1,15 +0,0 @@
1
- import { ReactFormState } from "react-dom/client";
2
-
3
- //#region src/react/rsc.d.ts
4
- declare function renderToReadableStream<T>(data: T, options?: object): ReadableStream<Uint8Array>;
5
- declare function createFromReadableStream<T>(stream: ReadableStream<Uint8Array>, options?: object): Promise<T>;
6
- declare function registerClientReference<T>(proxy: T, id: string, name: string): T;
7
- declare const registerServerReference: <T>(ref: T, id: string, name: string) => T;
8
- declare function decodeReply(body: string | FormData, options?: unknown): Promise<unknown[]>;
9
- declare function decodeAction(body: FormData): Promise<() => Promise<void>>;
10
- declare function decodeFormState(actionResult: unknown, body: FormData): Promise<ReactFormState | undefined>;
11
- declare const createTemporaryReferenceSet: () => unknown;
12
- declare const encodeReply: (v: unknown[], options?: unknown) => Promise<string | FormData>;
13
- declare const createClientTemporaryReferenceSet: () => unknown;
14
- //#endregion
15
- export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream };
@@ -1,42 +0,0 @@
1
- import { once } from "./dist-DEF94lDJ.js";
2
- import { arrayToStream, concatArrayStream, decryptBuffer, encryptBuffer, fromBase64 } from "./encryption-utils-BDwwcMVT.js";
3
- import { setRequireModule } from "./rsc-DKA6wwTB.js";
4
- import { createFromReadableStream, renderToReadableStream } from "./rsc-DHfL29FT.js";
5
- import serverReferences from "virtual:vite-rsc/server-references";
6
- import encryptionKeySource from "virtual:vite-rsc/encryption-key";
7
-
8
- //#region src/utils/encryption-runtime.ts
9
- async function encryptActionBoundArgs(originalValue) {
10
- const serialized = renderToReadableStream(originalValue);
11
- const serializedBuffer = await concatArrayStream(serialized);
12
- return encryptBuffer(serializedBuffer, await getEncryptionKey());
13
- }
14
- async function decryptActionBoundArgs(encrypted) {
15
- const serializedBuffer = await decryptBuffer(await encrypted, await getEncryptionKey());
16
- const serialized = arrayToStream(new Uint8Array(serializedBuffer));
17
- return createFromReadableStream(serialized);
18
- }
19
- const getEncryptionKey = /* @__PURE__ */ once(async () => {
20
- const resolved = await encryptionKeySource();
21
- const key = await crypto.subtle.importKey("raw", fromBase64(resolved), { name: "AES-GCM" }, true, ["encrypt", "decrypt"]);
22
- return key;
23
- });
24
-
25
- //#endregion
26
- //#region src/rsc.tsx
27
- initialize();
28
- function initialize() {
29
- setRequireModule({ load: async (id) => {
30
- if (!import.meta.env.__vite_rsc_build__) return import(
31
- /* @vite-ignore */
32
- id);
33
- else {
34
- const import_ = serverReferences[id];
35
- if (!import_) throw new Error(`server reference not found '${id}'`);
36
- return import_();
37
- }
38
- } });
39
- }
40
-
41
- //#endregion
42
- export { decryptActionBoundArgs, encryptActionBoundArgs };
@@ -1,4 +0,0 @@
1
- //#region src/rsc-html-stream/browser.d.ts
2
- declare const getRscStreamFromHtml: () => ReadableStream<Uint8Array>;
3
- //#endregion
4
- export { getRscStreamFromHtml };
@@ -1,7 +0,0 @@
1
- import { rscStream } from "../client-edAdk2GF.js";
2
-
3
- //#region src/rsc-html-stream/browser.ts
4
- const getRscStreamFromHtml = () => rscStream;
5
-
6
- //#endregion
7
- export { getRscStreamFromHtml };
@@ -1,6 +0,0 @@
1
- //#region src/rsc-html-stream/ssr.d.ts
2
- declare const injectRscStreamToHtml: (stream: ReadableStream<Uint8Array>, options?: {
3
- nonce?: string;
4
- }) => TransformStream<Uint8Array, Uint8Array>;
5
- //#endregion
6
- export { injectRscStreamToHtml };
@@ -1,7 +0,0 @@
1
- import { injectRSCPayload } from "../server-DGTepepH.js";
2
-
3
- //#region src/rsc-html-stream/ssr.ts
4
- const injectRscStreamToHtml = (stream, options) => injectRSCPayload(stream, options);
5
-
6
- //#endregion
7
- export { injectRscStreamToHtml };
package/dist/rsc.d.ts DELETED
@@ -1,13 +0,0 @@
1
- import "./index-BHqtj9tT.js";
2
- import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "./rsc-BOV3yNSd.js";
3
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream } from "./rsc-DgrejoNf.js";
4
-
5
- //#region src/utils/encryption-runtime.d.ts
6
- // based on
7
- // https://github.com/parcel-bundler/parcel/blob/9855f558a69edde843b1464f39a6010f6b421efe/packages/transformers/js/src/rsc-utils.js
8
- // https://github.com/vercel/next.js/blob/c10c10daf9e95346c31c24dc49d6b7cda48b5bc8/packages/next/src/server/app-render/encryption.ts
9
- // https://github.com/vercel/next.js/pull/56377
10
- declare function encryptActionBoundArgs(originalValue: unknown): Promise<string>;
11
- declare function decryptActionBoundArgs(encrypted: ReturnType<typeof encryptActionBoundArgs>): Promise<unknown>;
12
- //#endregion
13
- export { createClientManifest, createClientTemporaryReferenceSet, createFromReadableStream, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, decryptActionBoundArgs, encodeReply, encryptActionBoundArgs, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
package/dist/rsc.js DELETED
@@ -1,8 +0,0 @@
1
- import "./dist-DEF94lDJ.js";
2
- import "./shared-CEyKoKAb.js";
3
- import "./encryption-utils-BDwwcMVT.js";
4
- import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "./rsc-DKA6wwTB.js";
5
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream } from "./rsc-DHfL29FT.js";
6
- import { decryptActionBoundArgs, encryptActionBoundArgs } from "./rsc-DmPsJrxF.js";
7
-
8
- export { createClientManifest, createClientTemporaryReferenceSet, createFromReadableStream, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, decryptActionBoundArgs, encodeReply, encryptActionBoundArgs, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -1,67 +0,0 @@
1
- //#region ../../node_modules/.pnpm/rsc-html-stream@0.0.6/node_modules/rsc-html-stream/server.js
2
- const encoder = new TextEncoder();
3
- const trailer = "</body></html>";
4
- function injectRSCPayload(rscStream, options) {
5
- let decoder = new TextDecoder();
6
- let resolveFlightDataPromise;
7
- let flightDataPromise = new Promise((resolve) => resolveFlightDataPromise = resolve);
8
- let startedRSC = false;
9
- let nonce = options && typeof options.nonce === "string" ? options.nonce : void 0;
10
- let buffered = [];
11
- let timeout = null;
12
- function flushBufferedChunks(controller) {
13
- for (let chunk of buffered) {
14
- let buf = decoder.decode(chunk, { stream: true });
15
- if (buf.endsWith(trailer)) buf = buf.slice(0, -14);
16
- controller.enqueue(encoder.encode(buf));
17
- }
18
- let remaining = decoder.decode();
19
- if (remaining.length) {
20
- if (remaining.endsWith(trailer)) remaining = remaining.slice(0, -14);
21
- controller.enqueue(encoder.encode(remaining));
22
- }
23
- buffered.length = 0;
24
- timeout = null;
25
- }
26
- return new TransformStream({
27
- transform(chunk, controller) {
28
- buffered.push(chunk);
29
- if (timeout) return;
30
- timeout = setTimeout(async () => {
31
- flushBufferedChunks(controller);
32
- if (!startedRSC) {
33
- startedRSC = true;
34
- writeRSCStream(rscStream, controller, nonce).catch((err) => controller.error(err)).then(resolveFlightDataPromise);
35
- }
36
- }, 0);
37
- },
38
- async flush(controller) {
39
- await flightDataPromise;
40
- if (timeout) {
41
- clearTimeout(timeout);
42
- flushBufferedChunks(controller);
43
- }
44
- controller.enqueue(encoder.encode(trailer));
45
- }
46
- });
47
- }
48
- async function writeRSCStream(rscStream, controller, nonce) {
49
- let decoder = new TextDecoder("utf-8", { fatal: true });
50
- for await (let chunk of rscStream) try {
51
- writeChunk(JSON.stringify(decoder.decode(chunk, { stream: true })), controller, nonce);
52
- } catch (err) {
53
- let base64 = JSON.stringify(btoa(String.fromCodePoint(...chunk)));
54
- writeChunk(`Uint8Array.from(atob(${base64}), m => m.codePointAt(0))`, controller, nonce);
55
- }
56
- let remaining = decoder.decode();
57
- if (remaining.length) writeChunk(JSON.stringify(remaining), controller, nonce);
58
- }
59
- function writeChunk(chunk, controller, nonce) {
60
- controller.enqueue(encoder.encode(`<script${nonce ? ` nonce="${nonce}"` : ""}>${escapeScript(`(self.__FLIGHT_DATA||=[]).push(${chunk})`)}</script>`));
61
- }
62
- function escapeScript(script) {
63
- return script.replace(/<!--/g, "<\\!--").replace(/<\/(script)/gi, "</\\$1");
64
- }
65
-
66
- //#endregion
67
- export { injectRSCPayload };
@@ -1,22 +0,0 @@
1
- //#region src/core/shared.ts
2
- const SERVER_REFERENCE_PREFIX = "$$server:";
3
- const SERVER_DECODE_CLIENT_PREFIX = "$$decode-client:";
4
- function createReferenceCacheTag() {
5
- const cache = Math.random().toString(36).slice(2);
6
- return "$$cache=" + cache;
7
- }
8
- function removeReferenceCacheTag(id) {
9
- return id.split("$$cache=")[0];
10
- }
11
- function setInternalRequire() {
12
- globalThis.__vite_rsc_require__ = (id) => {
13
- if (id.startsWith(SERVER_REFERENCE_PREFIX)) {
14
- id = id.slice(9);
15
- return globalThis.__vite_rsc_server_require__(id);
16
- }
17
- return globalThis.__vite_rsc_client_require__(id);
18
- };
19
- }
20
-
21
- //#endregion
22
- export { SERVER_DECODE_CLIENT_PREFIX, SERVER_REFERENCE_PREFIX, createReferenceCacheTag, removeReferenceCacheTag, setInternalRequire };
@@ -1,23 +0,0 @@
1
- import { memoize } from "./dist-DEF94lDJ.js";
2
- import { removeReferenceCacheTag, setInternalRequire } from "./shared-CEyKoKAb.js";
3
-
4
- //#region src/core/ssr.ts
5
- let init = false;
6
- function setRequireModule(options) {
7
- if (init) return;
8
- init = true;
9
- const requireModule = memoize((id) => {
10
- return options.load(removeReferenceCacheTag(id));
11
- });
12
- const clientRequire = (id) => {
13
- return requireModule(id);
14
- };
15
- globalThis.__vite_rsc_client_require__ = clientRequire;
16
- setInternalRequire();
17
- }
18
- function createServerConsumerManifest() {
19
- return {};
20
- }
21
-
22
- //#endregion
23
- export { createServerConsumerManifest, setRequireModule };
@@ -1,18 +0,0 @@
1
- import { createServerConsumerManifest } from "./ssr-BOIYlvSn.js";
2
- import * as ReactClient from "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge";
3
-
4
- //#region src/react/ssr.ts
5
- function createFromReadableStream(stream, options = {}) {
6
- return ReactClient.createFromReadableStream(stream, {
7
- serverConsumerManifest: createServerConsumerManifest(),
8
- ...options
9
- });
10
- }
11
- function createServerReference(id) {
12
- return ReactClient.createServerReference(id);
13
- }
14
- const callServer = null;
15
- const findSourceMapURL = null;
16
-
17
- //#endregion
18
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL };
@@ -1,7 +0,0 @@
1
- //#region src/react/ssr.d.ts
2
- declare function createFromReadableStream<T>(stream: ReadableStream<Uint8Array>, options?: object): Promise<T>;
3
- declare function createServerReference(id: string): unknown;
4
- declare const callServer: null;
5
- declare const findSourceMapURL: null;
6
- //#endregion
7
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL };
@@ -1,9 +0,0 @@
1
- import { ServerConsumerManifest } from "./index-BHqtj9tT.js";
2
-
3
- //#region src/core/ssr.d.ts
4
- declare function setRequireModule(options: {
5
- load: (id: string) => unknown;
6
- }): void;
7
- declare function createServerConsumerManifest(): ServerConsumerManifest;
8
- //#endregion
9
- export { createServerConsumerManifest, setRequireModule };