@vitejs/plugin-rsc 0.5.27 → 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 (56) hide show
  1. package/README.md +34 -18
  2. package/dist/browser.d.ts +3 -3
  3. package/dist/{cjs-BspwazE6.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-CRBgMeBq.js → encryption-utils-BNbYHtC4.js} +1 -1
  13. package/dist/{index-DViteJjw.d.ts → index-BjJe9jqG.d.ts} +35 -12
  14. package/dist/{index-BrXJaflA.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-CEw5D0BV.js → picocolors-DFVOi1sR.js} +4 -2
  18. package/dist/{plugin-BK29Va7z.js → plugin-BOTpkess.js} +29 -15
  19. package/dist/{plugin-Bm-Fb4g7.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-Bwt9GVLP.js → scope-Do08R7C2.js} +1 -1
  41. package/dist/server-DTkvSyJT.d.ts +20 -0
  42. package/dist/shared-D42sHPD1.js +25 -0
  43. package/dist/{shared-BVLpj0Y8.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 +1 -1
  47. package/dist/transforms/index.js +39 -28
  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 +11 -11
  54. /package/dist/{browser-C_qguV-a.d.ts → browser-DI_Wyg5Y.d.ts} +0 -0
  55. /package/dist/{dist-rz-Bnebz.js → dist-uqdtSkzK.js} +0 -0
  56. /package/dist/{shared-DeahDSXi.js → shared-B6H2TbnP.js} +0 -0
@@ -1,7 +1,6 @@
1
- import { f as TransformWrapExportFilter } from "./index-DViteJjw.js";
1
+ import { f as TransformWrapExportFilter } from "./index-BjJe9jqG.js";
2
2
  import MagicString from "magic-string";
3
3
  import { Plugin, ResolvedConfig, Rollup, ViteDevServer, parseAstAsync } from "vite";
4
-
5
4
  //#region src/plugins/import-environment.d.ts
6
5
  type EnvironmentImportMeta = {
7
6
  resolvedId: string;
@@ -20,23 +19,23 @@ type ClientReferenceMeta = {
20
19
  serverChunk?: string;
21
20
  groupChunkId?: string;
22
21
  };
23
- type ServerRerferenceMeta = {
22
+ type ServerReferenceMeta = {
24
23
  importId: string;
25
24
  referenceKey: string;
26
25
  exportNames: string[];
27
26
  };
28
27
  /**
29
- * @experimental
30
- */
28
+ * @experimental
29
+ */
31
30
  declare class RscPluginManager {
32
- server!: ViteDevServer;
33
- config!: ResolvedConfig;
31
+ server: ViteDevServer;
32
+ config: ResolvedConfig;
34
33
  bundles: Record<string, Rollup.OutputBundle>;
35
34
  buildAssetsManifest: AssetsManifest | undefined;
36
35
  isScanBuild: boolean;
37
36
  clientReferenceMetaMap: Record<string, ClientReferenceMeta>;
38
37
  clientReferenceGroups: Record<string, ClientReferenceMeta[]>;
39
- serverReferenceMetaMap: Record<string, ServerRerferenceMeta>;
38
+ serverReferenceMetaMap: Record<string, ServerReferenceMeta>;
40
39
  serverResourcesMetaMap: Record<string, {
41
40
  key: string;
42
41
  }>;
@@ -48,94 +47,100 @@ declare class RscPluginManager {
48
47
  }
49
48
  type RscPluginOptions = {
50
49
  /**
51
- * shorthand for configuring `environments.(name).build.rollupOptions.input.index`
52
- */
53
- entries?: Partial<Record<"client" | "ssr" | "rsc", string>>; /** @default { enviornmentName: "rsc", entryName: "index" } */
50
+ * shorthand for configuring `environments.(name).build.rollupOptions.input.index`
51
+ */
52
+ entries?: Partial<Record<"client" | "ssr" | "rsc", string>>;
53
+ /** @default { enviornmentName: "rsc", entryName: "index" } */
54
54
  serverHandler?: {
55
55
  environmentName: string;
56
56
  entryName: string;
57
- } | false; /** @default false */
57
+ } | false;
58
+ /** @default false */
58
59
  loadModuleDevProxy?: boolean;
59
60
  rscCssTransform?: false | {
60
61
  filter?: (id: string) => boolean;
61
62
  };
62
63
  /**
63
- * @deprecated This option is a no-op and will be removed in a future major.
64
- */
64
+ * @deprecated This option is a no-op and will be removed in a future major.
65
+ */
65
66
  copyServerAssetsToClient?: (fileName: string) => boolean;
66
67
  /**
67
- * This option allows disabling action closure encryption for debugging purpose.
68
- * @default true
69
- */
68
+ * This option allows disabling action closure encryption for debugging purpose.
69
+ * @default true
70
+ */
70
71
  enableActionEncryption?: boolean;
71
72
  /**
72
- * By default, the plugin uses a build-time generated encryption key for
73
- * "use server" closure argument binding.
74
- * This can be overwritten by configuring `defineEncryptionKey` option,
75
- * for example, to obtain a key through environment variable during runtime.
76
- * cf. https://nextjs.org/docs/app/guides/data-security#overwriting-encryption-keys-advanced
77
- */
78
- defineEncryptionKey?: string; /** Escape hatch for Waku's `allowServer` */
73
+ * By default, the plugin uses a build-time generated encryption key for
74
+ * "use server" closure argument binding.
75
+ * This can be overwritten by configuring `defineEncryptionKey` option,
76
+ * for example, to obtain a key through environment variable during runtime.
77
+ * cf. https://nextjs.org/docs/app/guides/data-security#overwriting-encryption-keys-advanced
78
+ */
79
+ defineEncryptionKey?: string;
80
+ /** Escape hatch for Waku's `allowServer` */
79
81
  keepUseCientProxy?: boolean;
80
82
  /**
81
- * Enable build-time validation of 'client-only' and 'server-only' imports
82
- * @default true
83
- */
83
+ * Enable build-time validation of 'client-only' and 'server-only' imports
84
+ * @default true
85
+ */
84
86
  validateImports?: boolean;
85
87
  /**
86
- * use `Plugin.buildApp` hook (introduced on Vite 7) instead of `builder.buildApp` configuration
87
- * for better composability with other plugins.
88
- * @default true since Vite 7
89
- */
88
+ * use `Plugin.buildApp` hook (introduced on Vite 7) instead of `builder.buildApp` configuration
89
+ * for better composability with other plugins.
90
+ * @default true since Vite 7
91
+ */
90
92
  useBuildAppHook?: boolean;
91
93
  /**
92
- * Skip the default buildApp orchestration for downstream frameworks
93
- * to implement custom build pipelines using `getPluginApi()`.
94
- * @experimental
95
- * @default false
96
- */
94
+ * Skip the default buildApp orchestration for downstream frameworks
95
+ * to implement custom build pipelines using `getPluginApi()`.
96
+ * @experimental
97
+ * @default false
98
+ */
97
99
  customBuildApp?: boolean;
98
100
  /**
99
- * Custom environment configuration
100
- * @experimental
101
- * @default { browser: 'client', ssr: 'ssr', rsc: 'rsc' }
102
- */
101
+ * Custom environment configuration
102
+ * @experimental
103
+ * @default { browser: 'client', ssr: 'ssr', rsc: 'rsc' }
104
+ */
103
105
  environment?: {
104
106
  browser?: string;
105
107
  ssr?: string;
106
108
  rsc?: string;
107
109
  };
108
110
  /**
109
- * Custom chunking strategy for client reference modules.
110
- *
111
- * This function allows you to group multiple client components into
112
- * custom chunks instead of having each module in its own chunk.
113
- * By default, client chunks are grouped by `meta.serverChunk`.
114
- */
111
+ * Custom chunking strategy for client reference modules.
112
+ *
113
+ * This function allows you to group multiple client components into
114
+ * custom chunks instead of having each module in its own chunk.
115
+ * By default, client chunks are grouped by `meta.serverChunk`.
116
+ */
115
117
  clientChunks?: (meta: {
116
- /** client reference module id */id: string; /** normalized client reference module id */
117
- normalizedId: string; /** server chunk which includes a corresponding client reference proxy module */
118
+ /** client reference module id */
119
+ id: string;
120
+ /** normalized client reference module id */
121
+ normalizedId: string;
122
+ /** server chunk which includes a corresponding client reference proxy module */
118
123
  serverChunk: string;
119
124
  }) => string | undefined;
120
125
  /**
121
- * Controls whether CSS links use React's `precedence` attribute.
122
- * @experimental
123
- * @default true
124
- */
126
+ * Controls whether CSS links use React's `precedence` attribute.
127
+ * @experimental
128
+ * @default true
129
+ */
125
130
  cssLinkPrecedence?: boolean;
126
131
  /**
127
- * Opt out of the default "index" client entry convention.
128
- * When enabled, the plugin will not:
129
- * - Require an entry chunk named "index"
130
- * - Automatically include client entry deps in each client reference's dependencies
131
- *
132
- * Note: `import.meta.viteRsc.loadBootstrapScriptContent` cannot be used with this option.
133
- *
134
- * Use this when you manually handle client entry setup and preloading.
135
- *
136
- * @experimental
137
- * @default false
138
- */
132
+ * Opt out of the default "index" client entry convention.
133
+ * When enabled, the plugin will not:
134
+ * - Require an entry chunk named "index"
135
+ * - Automatically include client entry deps in each client reference's dependencies
136
+ *
137
+ * Note: `import.meta.viteRsc.loadBootstrapScriptContent` cannot be used with this option.
138
+ *
139
+ * Use this when you manually handle client entry setup and preloading.
140
+ *
141
+ * @experimental
142
+ * @default false
143
+ */
139
144
  customClientEntry?: boolean;
140
145
  };
141
146
  type PluginApi = {
@@ -155,6 +160,7 @@ declare class RuntimeAsset {
155
160
  }
156
161
  type AssetsManifest = {
157
162
  bootstrapScriptContent: string | RuntimeAsset;
163
+ clientEntryDeps?: AssetDeps;
158
164
  clientReferenceDeps: Record<string, AssetDeps>;
159
165
  serverResources?: Record<string, Pick<AssetDeps, "css">>;
160
166
  cssLinkPrecedence?: boolean;
@@ -165,6 +171,7 @@ type AssetDeps = {
165
171
  };
166
172
  type ResolvedAssetsManifest = {
167
173
  bootstrapScriptContent: string;
174
+ clientEntryDeps?: ResolvedAssetDeps;
168
175
  clientReferenceDeps: Record<string, ResolvedAssetDeps>;
169
176
  serverResources?: Record<string, Pick<ResolvedAssetDeps, "css">>;
170
177
  cssLinkPrecedence?: boolean;
package/dist/plugin.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { a as ResolvedAssetsManifest, c as getPluginApi, d as vitePluginRscMinimal, i as ResolvedAssetDeps, l as transformRscCssExport, n as AssetsManifest, o as RscPluginManager, r as PluginApi, s as RscPluginOptions, t as AssetDeps, u as vitePluginRsc } from "./plugin-Bm-Fb4g7.js";
2
- export { AssetDeps, AssetsManifest, PluginApi, ResolvedAssetDeps, ResolvedAssetsManifest, RscPluginManager, RscPluginOptions, vitePluginRsc as default, getPluginApi, transformRscCssExport, vitePluginRscMinimal };
1
+ import { a as ResolvedAssetsManifest, c as getPluginApi, d as vitePluginRscMinimal, i as ResolvedAssetDeps, l as transformRscCssExport, n as AssetsManifest, o as RscPluginManager, r as PluginApi, s as RscPluginOptions, t as AssetDeps, u as vitePluginRsc } from "./plugin-CaLiN8ED.js";
2
+ export { AssetDeps, AssetsManifest, PluginApi, ResolvedAssetDeps, ResolvedAssetsManifest, type RscPluginManager, RscPluginOptions, vitePluginRsc as default, getPluginApi, transformRscCssExport, vitePluginRscMinimal };
package/dist/plugin.js CHANGED
@@ -1,2 +1,2 @@
1
- import { i as vitePluginRscMinimal, n as transformRscCssExport, r as vitePluginRsc, t as getPluginApi } from "./plugin-BK29Va7z.js";
1
+ import { i as vitePluginRscMinimal, n as transformRscCssExport, r as vitePluginRsc, t as getPluginApi } from "./plugin-BOTpkess.js";
2
2
  export { vitePluginRsc as default, getPluginApi, transformRscCssExport, vitePluginRscMinimal };
@@ -1,5 +1,4 @@
1
1
  import { Plugin } from "vite";
2
-
3
2
  //#region src/plugins/cjs.d.ts
4
3
  declare function cjsModuleRunnerPlugin(): Plugin[];
5
4
  //#endregion
@@ -1,2 +1,2 @@
1
- import { t as cjsModuleRunnerPlugin } from "../cjs-BspwazE6.js";
1
+ import { t as cjsModuleRunnerPlugin } from "../cjs-Cxg_7upE.js";
2
2
  export { cjsModuleRunnerPlugin };
@@ -1,6 +1,5 @@
1
- import { i as CreateFromReadableStreamBrowserOptions, n as CallServerCallback, r as ClientTemporaryReferenceSet, s as EncodeReplyFunction } from "../index-BrXJaflA.js";
2
- import { t as setRequireModule } from "../browser-C_qguV-a.js";
3
-
1
+ import { c as EncodeReplyFunction, i as CreateFromReadableStreamBrowserOptions, n as CallServerCallback, r as ClientTemporaryReferenceSet } from "../index-CqNlZcWp.js";
2
+ import { t as setRequireModule } from "../browser-DI_Wyg5Y.js";
4
3
  //#region src/react/browser.d.ts
5
4
  declare function createFromReadableStream<T>(stream: ReadableStream<Uint8Array>, options?: CreateFromReadableStreamBrowserOptions): Promise<T>;
6
5
  declare function createFromFetch<T>(promiseForResponse: Promise<Response>, options?: CreateFromReadableStreamBrowserOptions): Promise<T>;
@@ -0,0 +1,2 @@
1
+ import { n as createFromReadableStream, r as encodeReply, t as createClientTemporaryReferenceSet } from "../../client-BrwlzXgg.js";
2
+ export { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply };
@@ -0,0 +1,16 @@
1
+ import { createServerDecodeClientManifest, createServerManifest } from "../../core/rsc.js";
2
+ import * as ReactClient from "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge";
3
+ //#region src/react/rsc/client.ts
4
+ function createFromReadableStream(stream, options = {}, extraOptions) {
5
+ return ReactClient.createFromReadableStream(stream, {
6
+ serverConsumerManifest: {
7
+ serverModuleMap: createServerManifest({ preserveServerReferences: extraOptions?.preserveServerReferences }),
8
+ moduleMap: createServerDecodeClientManifest()
9
+ },
10
+ ...options
11
+ });
12
+ }
13
+ const encodeReply = ReactClient.encodeReply;
14
+ const createClientTemporaryReferenceSet = ReactClient.createTemporaryReferenceSet;
15
+ //#endregion
16
+ export { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply };
@@ -0,0 +1,3 @@
1
+ import { a as setRequireModule, i as loadServerAction } from "../../rsc-CGkkhLG3.js";
2
+ import { a as registerClientReference, i as decodeReply, n as decodeAction, o as registerServerReference, r as decodeFormState, s as renderToReadableStream, t as createTemporaryReferenceSet } from "../../server-DTkvSyJT.js";
3
+ export { createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -0,0 +1,20 @@
1
+ import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "../../core/rsc.js";
2
+ import * as ReactServer from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
3
+ //#region src/react/rsc/server.ts
4
+ function renderToReadableStream(data, options, extraOptions) {
5
+ return ReactServer.renderToReadableStream(data, createClientManifest({ onClientReference: extraOptions?.onClientReference }), options);
6
+ }
7
+ function registerClientReference(proxy, id, name) {
8
+ return ReactServer.registerClientReference(proxy, id, name);
9
+ }
10
+ const registerServerReference = ReactServer.registerServerReference;
11
+ const decodeReply = (body, options) => ReactServer.decodeReply(body, createServerManifest(), options);
12
+ function decodeAction(body) {
13
+ return ReactServer.decodeAction(body, createServerManifest());
14
+ }
15
+ function decodeFormState(actionResult, body) {
16
+ return ReactServer.decodeFormState(actionResult, body, createServerManifest());
17
+ }
18
+ const createTemporaryReferenceSet = ReactServer.createTemporaryReferenceSet;
19
+ //#endregion
20
+ export { createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -1,25 +1,4 @@
1
- import { a as CreateFromReadableStreamEdgeOptions, d as ServerTemporaryReferenceSet, l as RenderToReadableStreamOptions, o as DecodeReplyFunction, r as ClientTemporaryReferenceSet, s as EncodeReplyFunction } from "../index-BrXJaflA.js";
2
- import { loadServerAction, setRequireModule } from "../core/rsc.js";
3
- import { ReactFormState } from "react-dom/client";
4
-
5
- //#region src/react/rsc.d.ts
6
- declare function renderToReadableStream<T>(data: T, options?: RenderToReadableStreamOptions, extraOptions?: {
7
- /**
8
- * @internal
9
- */
10
- onClientReference?: (metadata: {
11
- id: string;
12
- name: string;
13
- }) => void;
14
- }): ReadableStream<Uint8Array>;
15
- declare function createFromReadableStream<T>(stream: ReadableStream<Uint8Array>, options?: CreateFromReadableStreamEdgeOptions): Promise<T>;
16
- declare function registerClientReference<T>(proxy: T, id: string, name: string): T;
17
- declare const registerServerReference: <T>(ref: T, id: string, name: string) => T;
18
- declare const decodeReply: DecodeReplyFunction;
19
- declare function decodeAction(body: FormData): Promise<() => Promise<void>>;
20
- declare function decodeFormState(actionResult: unknown, body: FormData): Promise<ReactFormState | undefined>;
21
- declare const createTemporaryReferenceSet: () => ServerTemporaryReferenceSet;
22
- declare const encodeReply: EncodeReplyFunction;
23
- declare const createClientTemporaryReferenceSet: () => ClientTemporaryReferenceSet;
24
- //#endregion
1
+ import { a as setRequireModule, i as loadServerAction } from "../rsc-CGkkhLG3.js";
2
+ import { a as registerClientReference, i as decodeReply, n as decodeAction, o as registerServerReference, r as decodeFormState, s as renderToReadableStream, t as createTemporaryReferenceSet } from "../server-DTkvSyJT.js";
3
+ import { n as createFromReadableStream, r as encodeReply, t as createClientTemporaryReferenceSet } from "../client-BrwlzXgg.js";
25
4
  export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
package/dist/react/rsc.js CHANGED
@@ -1,32 +1,4 @@
1
- import { createClientManifest, createServerDecodeClientManifest, createServerManifest, loadServerAction, setRequireModule } from "../core/rsc.js";
2
- import * as ReactClient from "@vitejs/plugin-rsc/vendor/react-server-dom/client.edge";
3
- import * as ReactServer from "@vitejs/plugin-rsc/vendor/react-server-dom/server.edge";
4
- //#region src/react/rsc.ts
5
- function renderToReadableStream(data, options, extraOptions) {
6
- return ReactServer.renderToReadableStream(data, createClientManifest({ onClientReference: extraOptions?.onClientReference }), options);
7
- }
8
- function createFromReadableStream(stream, options = {}) {
9
- return ReactClient.createFromReadableStream(stream, {
10
- serverConsumerManifest: {
11
- serverModuleMap: createServerManifest(),
12
- moduleMap: createServerDecodeClientManifest()
13
- },
14
- ...options
15
- });
16
- }
17
- function registerClientReference(proxy, id, name) {
18
- return ReactServer.registerClientReference(proxy, id, name);
19
- }
20
- const registerServerReference = ReactServer.registerServerReference;
21
- const decodeReply = (body, options) => ReactServer.decodeReply(body, createServerManifest(), options);
22
- function decodeAction(body) {
23
- return ReactServer.decodeAction(body, createServerManifest());
24
- }
25
- function decodeFormState(actionResult, body) {
26
- return ReactServer.decodeFormState(actionResult, body, createServerManifest());
27
- }
28
- const createTemporaryReferenceSet = ReactServer.createTemporaryReferenceSet;
29
- const encodeReply = ReactClient.encodeReply;
30
- const createClientTemporaryReferenceSet = ReactClient.createTemporaryReferenceSet;
31
- //#endregion
1
+ import { loadServerAction, setRequireModule } from "../core/rsc.js";
2
+ import { createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, registerClientReference, registerServerReference, renderToReadableStream } from "./rsc/server.js";
3
+ import { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply } from "./rsc/client.js";
32
4
  export { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -1,10 +1,11 @@
1
- import { a as CreateFromReadableStreamEdgeOptions } from "../index-BrXJaflA.js";
1
+ import { a as CreateFromReadableStreamEdgeOptions, c as EncodeReplyFunction, r as ClientTemporaryReferenceSet, s as EncodeFormActionCallback } from "../index-CqNlZcWp.js";
2
2
  import { setRequireModule } from "../core/ssr.js";
3
-
4
3
  //#region src/react/ssr.d.ts
5
4
  declare function createFromReadableStream<T>(stream: ReadableStream<Uint8Array>, options?: CreateFromReadableStreamEdgeOptions): Promise<T>;
6
5
  declare function createServerReference(id: string): unknown;
6
+ declare const encodeReply: EncodeReplyFunction;
7
+ declare const createTemporaryReferenceSet: () => ClientTemporaryReferenceSet;
7
8
  declare const callServer: null;
8
9
  declare const findSourceMapURL: null;
9
10
  //#endregion
10
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL, setRequireModule };
11
+ export { type EncodeFormActionCallback, callServer, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setRequireModule };
package/dist/react/ssr.js CHANGED
@@ -10,7 +10,9 @@ function createFromReadableStream(stream, options = {}) {
10
10
  function createServerReference(id) {
11
11
  return ReactClient.createServerReference(id);
12
12
  }
13
+ const encodeReply = ReactClient.encodeReply;
14
+ const createTemporaryReferenceSet = ReactClient.createTemporaryReferenceSet;
13
15
  const callServer = null;
14
16
  const findSourceMapURL = null;
15
17
  //#endregion
16
- export { callServer, createFromReadableStream, createServerReference, findSourceMapURL, setRequireModule };
18
+ export { callServer, createFromReadableStream, createServerReference, createTemporaryReferenceSet, encodeReply, findSourceMapURL, setRequireModule };
@@ -0,0 +1,2 @@
1
+ import { n as createFromReadableStream, r as encodeReply, t as createClientTemporaryReferenceSet } from "../client-BrwlzXgg.js";
2
+ export { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply };
@@ -0,0 +1,3 @@
1
+ import "../shared-D42sHPD1.js";
2
+ import { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply } from "../react/rsc/client.js";
3
+ export { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply };
@@ -0,0 +1,16 @@
1
+ import { a as setRequireModule, i as loadServerAction, r as createServerManifest, t as createClientManifest } from "../rsc-CGkkhLG3.js";
2
+ import { i as ResolvedAssetDeps } from "../plugin-CaLiN8ED.js";
3
+ import { a as registerClientReference, i as decodeReply, n as decodeAction, o as registerServerReference, r as decodeFormState, t as createTemporaryReferenceSet } from "../server-DTkvSyJT.js";
4
+ //#region src/rsc/server.d.ts
5
+ declare function renderToReadableStream<T>(data: T, options?: object, extraOptions?: {
6
+ /**
7
+ * @experimental
8
+ */
9
+ onClientReference?: (metadata: {
10
+ id: string;
11
+ name: string;
12
+ deps: ResolvedAssetDeps;
13
+ }) => void;
14
+ }): ReadableStream<Uint8Array>;
15
+ //#endregion
16
+ export { createClientManifest, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -0,0 +1,20 @@
1
+ import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "../core/rsc.js";
2
+ import { createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, registerClientReference, registerServerReference, renderToReadableStream as renderToReadableStream$1 } from "../react/rsc/server.js";
3
+ import "../shared-D42sHPD1.js";
4
+ import assetsManifest from "virtual:vite-rsc/assets-manifest";
5
+ //#region src/rsc/server.tsx
6
+ function renderToReadableStream(data, options, extraOptions) {
7
+ return renderToReadableStream$1(data, options, { onClientReference(metadata) {
8
+ const deps = assetsManifest.clientReferenceDeps[metadata.id] ?? {
9
+ js: [],
10
+ css: []
11
+ };
12
+ extraOptions?.onClientReference?.({
13
+ id: metadata.id,
14
+ name: metadata.name,
15
+ deps
16
+ });
17
+ } });
18
+ }
19
+ //#endregion
20
+ export { createClientManifest, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -0,0 +1,21 @@
1
+ import { l as ModuleMap, t as BundlerConfig } from "./index-CqNlZcWp.js";
2
+ //#region src/core/rsc.d.ts
3
+ declare function setRequireModule(options: {
4
+ load: (id: string) => unknown;
5
+ }): void;
6
+ declare function loadServerAction(id: string): Promise<Function>;
7
+ declare function createServerManifest(options?: {
8
+ preserveServerReferences?: boolean;
9
+ }): BundlerConfig;
10
+ declare function createServerDecodeClientManifest(): ModuleMap;
11
+ declare function createClientManifest(options?: {
12
+ /**
13
+ * @internal
14
+ */
15
+ onClientReference?: (metadata: {
16
+ id: string;
17
+ name: string;
18
+ }) => void;
19
+ }): BundlerConfig;
20
+ //#endregion
21
+ export { setRequireModule as a, loadServerAction as i, createServerDecodeClientManifest as n, createServerManifest as r, createClientManifest as t };
package/dist/rsc.d.ts CHANGED
@@ -1,18 +1,6 @@
1
- import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "./core/rsc.js";
2
- import { i as ResolvedAssetDeps } from "./plugin-Bm-Fb4g7.js";
3
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference } from "./react/rsc.js";
1
+ import { a as setRequireModule, i as loadServerAction, r as createServerManifest, t as createClientManifest } from "./rsc-CGkkhLG3.js";
2
+ import { a as registerClientReference, i as decodeReply, n as decodeAction, o as registerServerReference, r as decodeFormState, t as createTemporaryReferenceSet } from "./server-DTkvSyJT.js";
3
+ import { n as createFromReadableStream, r as encodeReply, t as createClientTemporaryReferenceSet } from "./client-BrwlzXgg.js";
4
4
  import { decryptActionBoundArgs, encryptActionBoundArgs } from "./utils/encryption-runtime.js";
5
-
6
- //#region src/rsc.d.ts
7
- declare function renderToReadableStream<T>(data: T, options?: object, extraOptions?: {
8
- /**
9
- * @experimental
10
- */
11
- onClientReference?: (metadata: {
12
- id: string;
13
- name: string;
14
- deps: ResolvedAssetDeps;
15
- }) => void;
16
- }): ReadableStream<Uint8Array>;
17
- //#endregion
5
+ import { renderToReadableStream } from "./rsc/server.js";
18
6
  export { createClientManifest, createClientTemporaryReferenceSet, createFromReadableStream, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, decryptActionBoundArgs, encodeReply, encryptActionBoundArgs, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
package/dist/rsc.js CHANGED
@@ -1,44 +1,7 @@
1
- import { a as toReferenceValidationVirtual } from "./shared-DeahDSXi.js";
2
1
  import { createClientManifest, createServerManifest, loadServerAction, setRequireModule } from "./core/rsc.js";
3
- import { createClientTemporaryReferenceSet, createFromReadableStream, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, encodeReply, registerClientReference, registerServerReference, renderToReadableStream as renderToReadableStream$1 } from "./react/rsc.js";
2
+ import { createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, registerClientReference, registerServerReference } from "./react/rsc/server.js";
4
3
  import { decryptActionBoundArgs, encryptActionBoundArgs } from "./utils/encryption-runtime.js";
5
- import assetsManifest from "virtual:vite-rsc/assets-manifest";
6
- import serverReferences from "virtual:vite-rsc/server-references";
7
- //#region src/rsc.tsx
8
- initialize();
9
- function initialize() {
10
- setRequireModule({ load: async (id) => {
11
- if (!import.meta.env.__vite_rsc_build__) {
12
- await import(
13
- /* @vite-ignore */
14
- "/@id/__x00__" + toReferenceValidationVirtual({
15
- id,
16
- type: "server"
17
- })
18
- );
19
- return import(
20
- /* @vite-ignore */
21
- id
22
- );
23
- } else {
24
- const import_ = serverReferences[id];
25
- if (!import_) throw new Error(`server reference not found '${id}'`);
26
- return import_();
27
- }
28
- } });
29
- }
30
- function renderToReadableStream(data, options, extraOptions) {
31
- return renderToReadableStream$1(data, options, { onClientReference(metadata) {
32
- const deps = assetsManifest.clientReferenceDeps[metadata.id] ?? {
33
- js: [],
34
- css: []
35
- };
36
- extraOptions?.onClientReference?.({
37
- id: metadata.id,
38
- name: metadata.name,
39
- deps
40
- });
41
- } });
42
- }
43
- //#endregion
4
+ import { renderToReadableStream } from "./rsc/server.js";
5
+ import { createClientTemporaryReferenceSet, createFromReadableStream, encodeReply } from "./react/rsc/client.js";
6
+ import "./rsc/client.js";
44
7
  export { createClientManifest, createClientTemporaryReferenceSet, createFromReadableStream, createServerManifest, createTemporaryReferenceSet, decodeAction, decodeFormState, decodeReply, decryptActionBoundArgs, encodeReply, encryptActionBoundArgs, loadServerAction, registerClientReference, registerServerReference, renderToReadableStream, setRequireModule };
@@ -1,4 +1,4 @@
1
- import { i as tinyassert } from "./dist-rz-Bnebz.js";
1
+ import { i as tinyassert } from "./dist-uqdtSkzK.js";
2
2
  import { walk } from "estree-walker";
3
3
  //#region src/transforms/utils.ts
4
4
  function hasDirective(body, directive) {
@@ -0,0 +1,20 @@
1
+ import { f as ServerTemporaryReferenceSet, o as DecodeReplyFunction, u as RenderToReadableStreamOptions } from "./index-CqNlZcWp.js";
2
+ import { ReactFormState } from "react-dom/client";
3
+ //#region src/react/rsc/server.d.ts
4
+ declare function renderToReadableStream<T>(data: T, options?: RenderToReadableStreamOptions, extraOptions?: {
5
+ /**
6
+ * @internal
7
+ */
8
+ onClientReference?: (metadata: {
9
+ id: string;
10
+ name: string;
11
+ }) => void;
12
+ }): ReadableStream<Uint8Array>;
13
+ declare function registerClientReference<T>(proxy: T, id: string, name: string): T;
14
+ declare const registerServerReference: <T>(ref: T, id: string, name: string) => T;
15
+ declare const decodeReply: DecodeReplyFunction;
16
+ declare function decodeAction(body: FormData): Promise<() => Promise<void>>;
17
+ declare function decodeFormState(actionResult: unknown, body: FormData): Promise<ReactFormState | undefined>;
18
+ declare const createTemporaryReferenceSet: () => ServerTemporaryReferenceSet;
19
+ //#endregion
20
+ export { registerClientReference as a, decodeReply as i, decodeAction as n, registerServerReference as o, decodeFormState as r, renderToReadableStream as s, createTemporaryReferenceSet as t };
@@ -0,0 +1,25 @@
1
+ import { a as toReferenceValidationVirtual } from "./shared-B6H2TbnP.js";
2
+ import { setRequireModule } from "./core/rsc.js";
3
+ import serverReferences from "virtual:vite-rsc/server-references";
4
+ //#region src/rsc/shared.ts
5
+ setRequireModule({ load: async (id) => {
6
+ if (!import.meta.env.__vite_rsc_build__) {
7
+ await import(
8
+ /* @vite-ignore */
9
+ "/@id/__x00__" + toReferenceValidationVirtual({
10
+ id,
11
+ type: "server"
12
+ })
13
+ );
14
+ return import(
15
+ /* @vite-ignore */
16
+ id
17
+ );
18
+ } else {
19
+ const import_ = serverReferences[id];
20
+ if (!import_) throw new Error(`server reference not found '${id}'`);
21
+ return import_();
22
+ }
23
+ } });
24
+ //#endregion
25
+ export {};
@@ -1,6 +1,7 @@
1
1
  //#region src/core/shared.ts
2
2
  const SERVER_REFERENCE_PREFIX = "$$server:";
3
3
  const SERVER_DECODE_CLIENT_PREFIX = "$$decode-client:";
4
+ const SERVER_REFERENCE_PRESERVE_PREFIX = "$$preserve:";
4
5
  function createReferenceCacheTag() {
5
6
  return "$$cache=" + Math.random().toString(36).slice(2);
6
7
  }
@@ -17,4 +18,4 @@ function setInternalRequire() {
17
18
  };
18
19
  }
19
20
  //#endregion
20
- export { setInternalRequire as a, removeReferenceCacheTag as i, SERVER_REFERENCE_PREFIX as n, createReferenceCacheTag as r, SERVER_DECODE_CLIENT_PREFIX as t };
21
+ export { removeReferenceCacheTag as a, createReferenceCacheTag as i, SERVER_REFERENCE_PREFIX as n, setInternalRequire as o, SERVER_REFERENCE_PRESERVE_PREFIX as r, SERVER_DECODE_CLIENT_PREFIX as t };