vite-plugin-react-server 0.3.18 → 1.0.0
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.
- package/README.md +220 -141
- package/bin/patch.mjs +8 -2
- package/dist/package.json +15 -8
- package/dist/plugin/checkFilesExist.d.ts.map +1 -1
- package/dist/plugin/checkFilesExist.js +6 -2
- package/dist/plugin/checkFilesExist.js.map +1 -1
- package/dist/plugin/collect-manifest-client-files.d.ts +23 -0
- package/dist/plugin/collect-manifest-client-files.d.ts.map +1 -0
- package/dist/plugin/collect-manifest-client-files.js +131 -0
- package/dist/plugin/collect-manifest-client-files.js.map +1 -0
- package/dist/plugin/components.d.ts +3 -13
- package/dist/plugin/components.d.ts.map +1 -1
- package/dist/plugin/components.js +3 -13
- package/dist/plugin/config/defaults.d.ts +14 -6
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +9 -5
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/getPaths.d.ts +0 -1
- package/dist/plugin/config/getPaths.d.ts.map +1 -1
- package/dist/plugin/config/getPaths.js +2 -7
- package/dist/plugin/config/getPaths.js.map +1 -1
- package/dist/plugin/config/mimeTypes.d.ts +2 -0
- package/dist/plugin/config/mimeTypes.d.ts.map +1 -0
- package/dist/plugin/config/mimeTypes.js +24 -0
- package/dist/plugin/config/mimeTypes.js.map +1 -0
- package/dist/plugin/config/resolveOptions.d.ts +2 -2
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +47 -28
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolvePages.d.ts +1 -0
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js +9 -5
- package/dist/plugin/config/resolvePages.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts +2 -1
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +181 -147
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/copy-dir.js +23 -18
- package/dist/plugin/copy-dir.js.map +1 -0
- package/dist/plugin/css-collector-inline.d.ts +10 -0
- package/dist/plugin/css-collector-inline.d.ts.map +1 -0
- package/dist/plugin/css-collector-inline.js +55 -0
- package/dist/plugin/css-collector-inline.js.map +1 -0
- package/dist/plugin/css-collector.d.ts +14 -0
- package/dist/plugin/css-collector.d.ts.map +1 -0
- package/dist/plugin/css-collector.js +49 -0
- package/dist/plugin/css-collector.js.map +1 -0
- package/dist/plugin/helpers/createHandler.d.ts +17 -0
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -0
- package/dist/plugin/helpers/createHandler.js +111 -0
- package/dist/plugin/helpers/createHandler.js.map +1 -0
- package/dist/plugin/helpers/createRscStream.d.ts +27 -0
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -0
- package/dist/plugin/helpers/createRscStream.js +80 -0
- package/dist/plugin/helpers/createRscStream.js.map +1 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.js +12 -4
- package/dist/plugin/helpers/getBundleManifest.js.map +1 -1
- package/dist/plugin/html.d.ts +5 -0
- package/dist/plugin/html.d.ts.map +1 -0
- package/dist/plugin/html.js +11 -0
- package/dist/plugin/html.js.map +1 -0
- package/dist/plugin/loader/createBuildLoader.d.ts +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +8 -5
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/loader/css-loader.d.ts.map +1 -1
- package/dist/plugin/loader/css-loader.js.map +1 -1
- package/dist/plugin/loader/react-loader.js +2 -2
- package/dist/plugin/loader/react-loader.js.map +1 -1
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +49 -14
- package/dist/plugin/preserver/plugin.js.map +1 -1
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +21 -78
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-server/index.d.ts.map +1 -1
- package/dist/plugin/react-server/index.js +2 -0
- package/dist/plugin/react-server/index.js.map +1 -1
- package/dist/plugin/react-server/plugin.d.ts +2 -1
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +92 -225
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/react-static/index.d.ts +2 -0
- package/dist/plugin/react-static/index.d.ts.map +1 -0
- package/dist/plugin/react-static/index.js +1 -0
- package/dist/plugin/react-static/plugin.d.ts +7 -0
- package/dist/plugin/react-static/plugin.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.js +207 -0
- package/dist/plugin/react-static/plugin.js.map +1 -0
- package/dist/plugin/react-static/types.d.ts +2 -0
- package/dist/plugin/react-static/types.d.ts.map +1 -0
- package/dist/plugin/resolvePage.d.ts.map +1 -1
- package/dist/plugin/resolvePage.js +9 -0
- package/dist/plugin/resolvePage.js.map +1 -1
- package/dist/plugin/root.d.ts +2 -0
- package/dist/plugin/root.d.ts.map +1 -0
- package/dist/plugin/root.js +12 -0
- package/dist/plugin/root.js.map +1 -0
- package/dist/plugin/transformer/plugin.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.js +32 -23
- package/dist/plugin/transformer/plugin.js.map +1 -1
- package/dist/plugin/transformer/types.d.ts +1 -18
- package/dist/plugin/transformer/types.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +70 -15
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +0 -1
- package/dist/plugin/worker/createWorker.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.development.d.ts +30 -0
- package/dist/plugin/worker/html/html-worker.development.d.ts.map +1 -1
- package/dist/plugin/worker/html/html-worker.development.js +30 -2
- package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.production.js +3 -5
- package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +12 -3
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/html/renderPages.d.ts +13 -26
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +138 -86
- package/dist/plugin/worker/html/renderPages.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +104 -84
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.development.js +13 -18
- package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js +4 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js.map +1 -1
- package/dist/plugin/worker/types.d.ts +3 -0
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -6
- package/plugin/checkFilesExist.ts +7 -3
- package/plugin/collect-manifest-client-files.ts +167 -0
- package/plugin/components.ts +3 -0
- package/plugin/config/defaults.tsx +70 -0
- package/plugin/config/getPaths.ts +1 -7
- package/plugin/config/mimeTypes.ts +17 -0
- package/plugin/config/resolveOptions.ts +58 -45
- package/plugin/config/resolvePages.ts +8 -4
- package/plugin/config/resolveUserConfig.ts +220 -176
- package/plugin/css-collector-inline.tsx +60 -0
- package/plugin/css-collector.tsx +62 -0
- package/plugin/helpers/createHandler.ts +135 -0
- package/plugin/helpers/createRscStream.ts +109 -0
- package/plugin/helpers/getBundleManifest.ts +14 -5
- package/plugin/html.tsx +9 -0
- package/plugin/loader/createBuildLoader.ts +9 -6
- package/plugin/loader/css-loader.ts +0 -2
- package/plugin/loader/react-loader.ts +2 -2
- package/plugin/preserver/plugin.ts +64 -17
- package/plugin/react-client/plugin.ts +23 -93
- package/plugin/react-server/index.ts +2 -0
- package/plugin/react-server/plugin.ts +111 -302
- package/plugin/react-static/index.ts +1 -0
- package/plugin/react-static/plugin.ts +256 -0
- package/plugin/react-static/types.ts +3 -0
- package/plugin/resolvePage.ts +9 -0
- package/plugin/root.ts +4 -0
- package/plugin/transformer/plugin.ts +40 -31
- package/plugin/transformer/types.ts +0 -19
- package/plugin/types.ts +77 -16
- package/plugin/worker/createWorker.ts +1 -1
- package/plugin/worker/html/README.md +63 -0
- package/plugin/worker/html/html-worker.development.tsx +89 -2
- package/plugin/worker/html/html-worker.production.tsx +8 -10
- package/plugin/worker/html/messageHandler.ts +12 -3
- package/plugin/worker/html/renderPages.ts +178 -138
- package/plugin/worker/rsc/README.md +58 -0
- package/plugin/worker/rsc/messageHandler.tsx +112 -113
- package/plugin/worker/rsc/rsc-worker.development.ts +12 -22
- package/plugin/worker/rsc/rsc-worker.production.ts +5 -1
- package/plugin/worker/rsc/state.ts +0 -3
- package/plugin/worker/types.ts +3 -0
- package/scripts/react+0.0.0-experimental-eda36a1c-20250228.patch +114 -12
- package/scripts/react-dom+0.0.0-experimental-eda36a1c-20250228.patch +10571 -121
- package/tsconfig.json +2 -2
- package/dist/plugin/collect-css-manifest.d.ts +0 -4
- package/dist/plugin/collect-css-manifest.d.ts.map +0 -1
- package/dist/plugin/collect-css-manifest.js +0 -65
- package/dist/plugin/collect-css-manifest.js.map +0 -1
- package/dist/plugin/config/createModuleIdGenerator.d.ts +0 -11
- package/dist/plugin/config/createModuleIdGenerator.d.ts.map +0 -1
- package/dist/plugin/config/createModuleIdGenerator.js +0 -44
- package/dist/plugin/config/createModuleIdGenerator.js.map +0 -1
- package/dist/plugin/getEnv.d.ts +0 -19
- package/dist/plugin/getEnv.d.ts.map +0 -1
- package/dist/plugin/getEnv.js +0 -107
- package/dist/plugin/loader/createCssLoader.d.ts +0 -30
- package/dist/plugin/loader/createCssLoader.d.ts.map +0 -1
- package/dist/plugin/loader/createCssLoader.js +0 -35
- package/dist/plugin/loader/createPageLoader.d.ts +0 -24
- package/dist/plugin/loader/createPageLoader.d.ts.map +0 -1
- package/dist/plugin/loader/createPageLoader.js +0 -50
- package/dist/plugin/loader/rsc/messageHandler.d.ts +0 -2
- package/dist/plugin/loader/rsc/messageHandler.d.ts.map +0 -1
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts +0 -2
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts.map +0 -1
- package/dist/plugin/loader/rsc/rsc-worker.development.js +0 -1
- package/dist/plugin/module-graph.d.ts +0 -10
- package/dist/plugin/module-graph.d.ts.map +0 -1
- package/dist/plugin/module-graph.js +0 -35
- package/dist/plugin/react-server/createHandler.d.ts +0 -17
- package/dist/plugin/react-server/createHandler.d.ts.map +0 -1
- package/dist/plugin/react-server/createHandler.js +0 -126
- package/dist/plugin/react-server/createHandler.js.map +0 -1
- package/dist/plugin/react-server/createRscStream.d.ts +0 -16
- package/dist/plugin/react-server/createRscStream.d.ts.map +0 -1
- package/dist/plugin/react-server/createRscStream.js +0 -70
- package/dist/plugin/react-server/createRscStream.js.map +0 -1
- package/dist/plugin/react-server/createSsrHandler.d.ts +0 -4
- package/dist/plugin/react-server/createSsrHandler.d.ts.map +0 -1
- package/dist/plugin/react-server/createSsrHandler.js +0 -95
- package/dist/plugin/utils/logger.d.ts +0 -9
- package/dist/plugin/utils/logger.d.ts.map +0 -1
- package/dist/plugin/utils/logger.js +0 -68
- package/dist/plugin/utils/logger.js.map +0 -1
- package/dist/plugin/worker/html/plugin.d.ts +0 -4
- package/dist/plugin/worker/html/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/html/plugin.js +0 -94
- package/dist/plugin/worker/plugin.d.ts +0 -19
- package/dist/plugin/worker/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/plugin.js +0 -23
- package/dist/plugin/worker/rsc/plugin.d.ts +0 -4
- package/dist/plugin/worker/rsc/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/plugin.js +0 -76
- package/plugin/collect-css-manifest.ts +0 -82
- package/plugin/components.tsx +0 -14
- package/plugin/config/createModuleIdGenerator.ts +0 -52
- package/plugin/config/defaults.ts +0 -51
- package/plugin/getEnv.ts +0 -135
- package/plugin/loader/createCssLoader.ts +0 -73
- package/plugin/loader/createPageLoader.ts +0 -103
- package/plugin/loader/rsc/messageHandler.tsx +0 -1
- package/plugin/loader/rsc/rsc-worker.development.ts +0 -1
- package/plugin/module-graph.ts +0 -48
- package/plugin/react-server/createHandler.ts +0 -162
- package/plugin/react-server/createRscStream.ts +0 -86
- package/plugin/react-server/createSsrHandler.ts +0 -125
- package/plugin/utils/logger.ts +0 -52
- package/plugin/worker/html/plugin.ts +0 -101
- package/plugin/worker/plugin.ts +0 -26
- package/plugin/worker/rsc/plugin.ts +0 -84
- /package/dist/plugin/{loader/rsc/messageHandler.js → react-static/types.js} +0 -0
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
import { createLogger } from 'vite';
|
|
7
|
-
import { collectManifestCss, collectModuleGraphCss } from '../collect-css-manifest.js';
|
|
8
|
-
import { DEFAULT_CONFIG } from '../config/defaults.js';
|
|
9
|
-
import { resolvePage } from '../resolvePage.js';
|
|
10
|
-
import { resolveProps } from '../resolveProps.js';
|
|
11
|
-
import { createRscStream } from './createRscStream.js';
|
|
12
|
-
|
|
13
|
-
async function createHandler(url, pluginOptions, streamOptions) {
|
|
14
|
-
const root = pluginOptions.projectRoot ?? process.cwd();
|
|
15
|
-
const Html = pluginOptions.Html ?? DEFAULT_CONFIG.HTML;
|
|
16
|
-
const pageExportName = pluginOptions.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT_NAME;
|
|
17
|
-
const propsExportName = pluginOptions.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT_NAME;
|
|
18
|
-
const controller = new AbortController();
|
|
19
|
-
const cssFiles = streamOptions.cssFiles;
|
|
20
|
-
const propsPath = typeof pluginOptions.props === "function" ? pluginOptions.props(url) : pluginOptions.props;
|
|
21
|
-
const pagePath = typeof pluginOptions.Page === "function" ? pluginOptions.Page(url) : pluginOptions.Page;
|
|
22
|
-
const cssModules = /* @__PURE__ */ new Set();
|
|
23
|
-
if (!(streamOptions.serverManifest || streamOptions.moduleGraph))
|
|
24
|
-
throw new Error("Missing server manifest or moduleGraph, pass it to options.");
|
|
25
|
-
const getCss = streamOptions.serverManifest ? (id) => collectManifestCss(
|
|
26
|
-
streamOptions.serverManifest,
|
|
27
|
-
root,
|
|
28
|
-
id,
|
|
29
|
-
streamOptions.onCssFile
|
|
30
|
-
) : (id) => collectModuleGraphCss(streamOptions.moduleGraph, id);
|
|
31
|
-
const loadWithCss = async (id, parentUrl) => {
|
|
32
|
-
try {
|
|
33
|
-
const mod = await streamOptions.loader(id);
|
|
34
|
-
const pageCss = await Promise.resolve(getCss(id));
|
|
35
|
-
Array.from(pageCss.keys()).forEach((css) => {
|
|
36
|
-
cssModules.add(css);
|
|
37
|
-
if (streamOptions.onCssFile) {
|
|
38
|
-
streamOptions.onCssFile(css, parentUrl);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return mod;
|
|
42
|
-
} catch (e) {
|
|
43
|
-
if (e.message?.includes("module runner has been closed")) {
|
|
44
|
-
return { type: "skip" };
|
|
45
|
-
} else {
|
|
46
|
-
return { type: "error", error: e };
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
};
|
|
50
|
-
const PropsModule = await resolveProps({
|
|
51
|
-
propsModule: await loadWithCss(propsPath ?? pagePath, url),
|
|
52
|
-
path: String(propsPath ?? pagePath),
|
|
53
|
-
exportName: propsExportName,
|
|
54
|
-
url
|
|
55
|
-
});
|
|
56
|
-
if (PropsModule.type === "error")
|
|
57
|
-
return { type: PropsModule.type, error: PropsModule?.error };
|
|
58
|
-
if (PropsModule.type === "skip") return { type: PropsModule.type };
|
|
59
|
-
const props = PropsModule[propsExportName];
|
|
60
|
-
if (props?.type === "error") return { type: props.type, error: props.error };
|
|
61
|
-
if (props?.type === "skip") return { type: props.type };
|
|
62
|
-
const PageModule = await resolvePage({
|
|
63
|
-
pageModule: await loadWithCss(pagePath, url),
|
|
64
|
-
path: pagePath,
|
|
65
|
-
exportName: pageExportName,
|
|
66
|
-
url
|
|
67
|
-
});
|
|
68
|
-
if (PageModule.type === "error")
|
|
69
|
-
return { type: PageModule.type, error: PageModule.error };
|
|
70
|
-
if (PageModule.type === "skip") return { type: PageModule.type };
|
|
71
|
-
const Page = PageModule[pageExportName];
|
|
72
|
-
if (Page?.type === "error") return { type: Page.type, error: Page.error };
|
|
73
|
-
if (Page?.type === "skip") return { type: Page.type };
|
|
74
|
-
if (!(typeof Page === "function")) {
|
|
75
|
-
return {
|
|
76
|
-
type: "error",
|
|
77
|
-
error: new Error("Invalid Page component: " + pagePath, {
|
|
78
|
-
cause: Page
|
|
79
|
-
})
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
if (!(typeof props === "object")) {
|
|
83
|
-
return {
|
|
84
|
-
type: "error",
|
|
85
|
-
error: new Error("Invalid props: " + propsPath, {
|
|
86
|
-
cause: props
|
|
87
|
-
})
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
if (streamOptions.cssFiles) {
|
|
91
|
-
streamOptions.cssFiles.forEach((css) => cssModules.add(css));
|
|
92
|
-
}
|
|
93
|
-
const stream = createRscStream({
|
|
94
|
-
Html,
|
|
95
|
-
Page,
|
|
96
|
-
props,
|
|
97
|
-
moduleBasePath: "",
|
|
98
|
-
logger: streamOptions.logger ?? createLogger(),
|
|
99
|
-
cssFiles: Array.from(cssModules),
|
|
100
|
-
route: url,
|
|
101
|
-
url,
|
|
102
|
-
pipableStreamOptions: streamOptions.pipableStreamOptions,
|
|
103
|
-
htmlProps: {
|
|
104
|
-
pageProps: props,
|
|
105
|
-
route: url,
|
|
106
|
-
url
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
if (!stream) {
|
|
110
|
-
return { type: "skip" };
|
|
111
|
-
}
|
|
112
|
-
const assets = {
|
|
113
|
-
css: new Set(cssFiles ?? []),
|
|
114
|
-
clientPath: pagePath ?? ""
|
|
115
|
-
};
|
|
116
|
-
return {
|
|
117
|
-
type: "success",
|
|
118
|
-
controller,
|
|
119
|
-
stream,
|
|
120
|
-
assets,
|
|
121
|
-
clientPath: assets.clientPath
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
export { createHandler };
|
|
126
|
-
//# sourceMappingURL=createHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createHandler.js","sources":["../../../plugin/react-server/createHandler.ts"],"sourcesContent":["import type { PipeableStream } from \"react-dom/server\";\nimport { createLogger } from \"vite\";\nimport {\n collectManifestCss,\n collectModuleGraphCss,\n} from \"../collect-css-manifest.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { resolvePage } from \"../resolvePage.js\";\nimport { resolveProps } from \"../resolveProps.js\";\nimport type { CreateHandlerOptions, ResolvedUserOptions } from \"../types.js\";\nimport { createRscStream } from \"./createRscStream.js\";\n\ntype CreateHandlerResult = \n | { type: \"success\"; controller: AbortController; stream: PipeableStream; assets: any; clientPath: string }\n | { type: \"error\"; error: Error }\n | { type: \"skip\" };\n\ninterface HandlerAssets {\n css: Set<string>;\n clientPath: string;\n}\n\nexport async function createHandler<T>(\n url: string,\n pluginOptions: ResolvedUserOptions,\n streamOptions: CreateHandlerOptions<T>\n): Promise<CreateHandlerResult> {\n const root = pluginOptions.projectRoot ?? process.cwd();\n\n const Html = pluginOptions.Html ?? DEFAULT_CONFIG.HTML;\n const pageExportName =\n pluginOptions.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT_NAME;\n const propsExportName =\n pluginOptions.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT_NAME;\n const controller = new AbortController();\n\n const cssFiles = streamOptions.cssFiles;\n const propsPath =\n typeof pluginOptions.props === \"function\"\n ? pluginOptions.props(url)\n : pluginOptions.props;\n const pagePath =\n typeof pluginOptions.Page === \"function\"\n ? pluginOptions.Page(url)\n : pluginOptions.Page;\n\n const cssModules = new Set<string>();\n\n if (!(streamOptions.serverManifest || streamOptions.moduleGraph))\n throw new Error(\"Missing server manifest or moduleGraph, pass it to options.\");\n\n const getCss = streamOptions.serverManifest\n ? (id: string) =>\n collectManifestCss(\n streamOptions.serverManifest!,\n root,\n id,\n streamOptions.onCssFile\n )\n : (id: string) => collectModuleGraphCss(streamOptions.moduleGraph!, id);\n\n const loadWithCss = async (id: string, parentUrl: string) => {\n try {\n const mod = await streamOptions.loader(id);\n const pageCss = await Promise.resolve(getCss(id));\n Array.from(pageCss.keys()).forEach((css) => {\n cssModules.add(css);\n // Notify about new CSS file if callback exists\n if (streamOptions.onCssFile) {\n streamOptions.onCssFile(css, parentUrl);\n }\n });\n return mod as Record<string, any>;\n } catch (e: any) {\n if (e.message?.includes(\"module runner has been closed\")) {\n return { type: \"skip\" } as Record<string, any>;\n } else {\n return { type: \"error\", error: e } as Record<string, any>;\n }\n }\n };\n\n const PropsModule = await resolveProps({\n propsModule: await loadWithCss(propsPath ?? pagePath, url),\n path: String(propsPath ?? pagePath),\n exportName: propsExportName,\n url,\n });\n if (PropsModule.type === \"error\")\n return { type: PropsModule.type, error: PropsModule?.error };\n if (PropsModule.type === \"skip\") return { type: PropsModule.type };\n const props = PropsModule[propsExportName as keyof typeof PropsModule] as any;\n if (props?.type === \"error\") return { type: props.type, error: props.error };\n if (props?.type === \"skip\") return { type: props.type };\n\n const PageModule = await resolvePage({\n pageModule: await loadWithCss(pagePath, url),\n path: pagePath,\n exportName: pageExportName,\n url,\n });\n if (PageModule.type === \"error\")\n return { type: PageModule.type, error: PageModule.error };\n if (PageModule.type === \"skip\") return { type: PageModule.type };\n const Page = PageModule[pageExportName as keyof typeof PageModule] as any;\n if (Page?.type === \"error\") return { type: Page.type, error: Page.error };\n if (Page?.type === \"skip\") return { type: Page.type };\n if (!(typeof Page === \"function\")) {\n return {\n type: \"error\",\n error: new Error(\"Invalid Page component: \" + pagePath, {\n cause: Page,\n }),\n };\n }\n if (!(typeof props === \"object\")) {\n return {\n type: \"error\",\n error: new Error(\"Invalid props: \" + propsPath, {\n cause: props,\n }),\n } \n }\n\n // Add any additional CSS files\n if (streamOptions.cssFiles) {\n streamOptions.cssFiles.forEach((css) => cssModules.add(css));\n }\n const stream = createRscStream({\n Html: Html,\n Page: Page,\n props: props,\n moduleBasePath: '',\n logger: streamOptions.logger ?? createLogger(),\n cssFiles: Array.from(cssModules),\n route: url,\n url,\n pipableStreamOptions: streamOptions.pipableStreamOptions,\n htmlProps: {\n pageProps: props,\n route: url,\n url: url,\n },\n });\n\n if (!stream) {\n return { type: \"skip\" as const };\n }\n\n const assets: HandlerAssets = {\n css: new Set(cssFiles ?? []),\n clientPath: pagePath ?? ''\n };\n\n return {\n type: \"success\",\n controller,\n stream,\n assets,\n clientPath: assets.clientPath,\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import type { PipeableStreamOptions } from "../worker/types.js";
|
|
3
|
-
import type { Logger } from "vite";
|
|
4
|
-
export declare function createRscStream({ Html, Page, props, moduleBasePath, logger, cssFiles, route, url, pipableStreamOptions, htmlProps, }: {
|
|
5
|
-
Html: React.ComponentType<any>;
|
|
6
|
-
Page: React.ComponentType<any>;
|
|
7
|
-
props: any;
|
|
8
|
-
moduleBasePath: string;
|
|
9
|
-
logger: Logger;
|
|
10
|
-
cssFiles?: string[];
|
|
11
|
-
route: string;
|
|
12
|
-
url: string;
|
|
13
|
-
pipableStreamOptions?: PipeableStreamOptions;
|
|
14
|
-
htmlProps?: any;
|
|
15
|
-
}): any;
|
|
16
|
-
//# sourceMappingURL=createRscStream.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createRscStream.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/createRscStream.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AA2BnC,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,cAAc,EACd,MAAM,EACN,QAAa,EACb,KAAK,EACL,GAAG,EACH,oBAAoB,EACpB,SAAS,GACV,EAAE;IACD,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IAC/B,KAAK,EAAE,GAAG,CAAC;IACX,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB,CAAC,EAAE,qBAAqB,CAAC;IAC7C,SAAS,CAAC,EAAE,GAAG,CAAC;CACjB,OAgCA"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
import * as React from 'react';
|
|
7
|
-
import { renderToPipeableStream } from 'react-server-dom-esm/server.node';
|
|
8
|
-
|
|
9
|
-
function CssCollector({
|
|
10
|
-
children,
|
|
11
|
-
cssFiles
|
|
12
|
-
}) {
|
|
13
|
-
return React.createElement(
|
|
14
|
-
React.Fragment,
|
|
15
|
-
null,
|
|
16
|
-
...cssFiles.map((css) => {
|
|
17
|
-
const url = css.startsWith("/") || css.startsWith("http") || css.startsWith("./") ? css : "/" + css;
|
|
18
|
-
return React.createElement("link", {
|
|
19
|
-
key: css,
|
|
20
|
-
rel: "stylesheet",
|
|
21
|
-
href: url,
|
|
22
|
-
precedence: "high"
|
|
23
|
-
});
|
|
24
|
-
}),
|
|
25
|
-
children
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
function createRscStream({
|
|
29
|
-
Html,
|
|
30
|
-
Page,
|
|
31
|
-
props,
|
|
32
|
-
moduleBasePath,
|
|
33
|
-
logger,
|
|
34
|
-
cssFiles = [],
|
|
35
|
-
route,
|
|
36
|
-
url,
|
|
37
|
-
pipableStreamOptions,
|
|
38
|
-
htmlProps
|
|
39
|
-
}) {
|
|
40
|
-
const htmlIsFragment = Html == React.Fragment;
|
|
41
|
-
const withCss = React.createElement(
|
|
42
|
-
CssCollector,
|
|
43
|
-
{ cssFiles },
|
|
44
|
-
React.createElement(Page, props)
|
|
45
|
-
);
|
|
46
|
-
const content = htmlIsFragment ? withCss : React.createElement(Html, htmlProps, withCss);
|
|
47
|
-
try {
|
|
48
|
-
return renderToPipeableStream(
|
|
49
|
-
content,
|
|
50
|
-
moduleBasePath,
|
|
51
|
-
{
|
|
52
|
-
onError: (error) => {
|
|
53
|
-
if (process.env["NODE_ENV"] === "development") {
|
|
54
|
-
console.trace(error);
|
|
55
|
-
}
|
|
56
|
-
logger.error(`Stream error at ${route}.`, { error });
|
|
57
|
-
},
|
|
58
|
-
onPostpone: logger.info ?? console.info,
|
|
59
|
-
environmentName: "Server",
|
|
60
|
-
...pipableStreamOptions
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
} catch (error) {
|
|
64
|
-
logger.error(`Failed to create stream for ${route}.`, { error });
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
export { createRscStream };
|
|
70
|
-
//# sourceMappingURL=createRscStream.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createRscStream.js","sources":["../../../plugin/react-server/createRscStream.ts"],"sourcesContent":["import * as React from \"react\";\n// @ts-ignore\nimport { renderToPipeableStream } from \"react-server-dom-esm/server.node\";\nimport type { PipeableStreamOptions } from \"../worker/types.js\";\nimport type { Logger } from \"vite\";\n\n\n// CSS collector component\nfunction CssCollector({\n children,\n cssFiles,\n}: {\n children?: React.ReactNode;\n cssFiles: string[];\n}) {\n return React.createElement(\n React.Fragment,\n null,\n ...cssFiles.map((css) => {\n const url = css.startsWith('/') || css.startsWith('http') || css.startsWith('./') ? css : '/'+css\n return React.createElement('link', {\n key: css,\n rel: 'stylesheet',\n href: url,\n precedence: 'high'\n })\n }),\n children\n );\n}\n\nexport function createRscStream({\n Html,\n Page,\n props,\n moduleBasePath,\n logger,\n cssFiles = [],\n route,\n url,\n pipableStreamOptions,\n htmlProps,\n}: {\n Html: React.ComponentType<any>;\n Page: React.ComponentType<any>;\n props: any;\n moduleBasePath: string;\n logger: Logger;\n cssFiles?: string[];\n route: string;\n url: string;\n pipableStreamOptions?: PipeableStreamOptions;\n htmlProps?: any;\n}) {\n \n const htmlIsFragment = Html == React.Fragment;\n const withCss = React.createElement(\n CssCollector,\n { cssFiles },\n React.createElement(Page, props)\n )\n // Otherwise wrap with Html component\n const content = htmlIsFragment \n ? withCss\n : React.createElement(Html, htmlProps, withCss);\n try {\n return renderToPipeableStream(\n content,\n moduleBasePath,\n {\n onError: (error: Error) => {\n if(process.env['NODE_ENV'] === 'development') {\n console.trace(error);\n }\n logger.error(`Stream error at ${route}.`, {error});\n },\n onPostpone: logger.info ?? console.info, \n environmentName: \"Server\",\n ...pipableStreamOptions,\n }\n );\n } catch (error) {\n logger.error(`Failed to create stream for ${route}.`, {error: error as Error});\n return null;\n }\n}\n"],"names":[],"mappings":";;;;;;;;AAQA,SAAS,YAAa,CAAA;AAAA,EACpB,QAAA;AAAA,EACA;AACF,CAGG,EAAA;AACD,EAAA,OAAO,KAAM,CAAA,aAAA;AAAA,IACX,KAAM,CAAA,QAAA;AAAA,IACN,IAAA;AAAA,IACA,GAAG,QAAA,CAAS,GAAI,CAAA,CAAC,GAAQ,KAAA;AACvB,MAAA,MAAM,GAAM,GAAA,GAAA,CAAI,UAAW,CAAA,GAAG,KAAK,GAAI,CAAA,UAAA,CAAW,MAAM,CAAA,IAAK,GAAI,CAAA,UAAA,CAAW,IAAI,CAAA,GAAI,MAAM,GAAI,GAAA,GAAA;AAC9F,MAAO,OAAA,KAAA,CAAM,cAAc,MAAQ,EAAA;AAAA,QACjC,GAAK,EAAA,GAAA;AAAA,QACL,GAAK,EAAA,YAAA;AAAA,QACL,IAAM,EAAA,GAAA;AAAA,QACN,UAAY,EAAA;AAAA,OACb,CAAA;AAAA,KACF,CAAA;AAAA,IACD;AAAA,GACF;AACF;AAEO,SAAS,eAAgB,CAAA;AAAA,EAC9B,IAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,WAAW,EAAC;AAAA,EACZ,KAAA;AAAA,EACA,GAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAWG,EAAA;AAED,EAAM,MAAA,cAAA,GAAiB,QAAQ,KAAM,CAAA,QAAA;AACrC,EAAA,MAAM,UAAU,KAAM,CAAA,aAAA;AAAA,IACpB,YAAA;AAAA,IACA,EAAE,QAAS,EAAA;AAAA,IACX,KAAA,CAAM,aAAc,CAAA,IAAA,EAAM,KAAK;AAAA,GACjC;AAEA,EAAA,MAAM,UAAU,cACZ,GAAA,OAAA,GACA,MAAM,aAAc,CAAA,IAAA,EAAM,WAAW,OAAO,CAAA;AAChD,EAAI,IAAA;AACF,IAAO,OAAA,sBAAA;AAAA,MACL,OAAA;AAAA,MACA,cAAA;AAAA,MACA;AAAA,QACE,OAAA,EAAS,CAAC,KAAiB,KAAA;AACzB,UAAA,IAAG,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAA,KAAM,aAAe,EAAA;AAC5C,YAAA,OAAA,CAAQ,MAAM,KAAK,CAAA;AAAA;AAErB,UAAA,MAAA,CAAO,MAAM,CAAmB,gBAAA,EAAA,KAAK,CAAK,CAAA,CAAA,EAAA,EAAC,OAAM,CAAA;AAAA,SACnD;AAAA,QACA,UAAA,EAAY,MAAO,CAAA,IAAA,IAAQ,OAAQ,CAAA,IAAA;AAAA,QACnC,eAAiB,EAAA,QAAA;AAAA,QACjB,GAAG;AAAA;AACL,KACF;AAAA,WACO,KAAO,EAAA;AACd,IAAA,MAAA,CAAO,MAAM,CAA+B,4BAAA,EAAA,KAAK,CAAK,CAAA,CAAA,EAAA,EAAC,OAAsB,CAAA;AAC7E,IAAO,OAAA,IAAA;AAAA;AAEX;;;;"}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { type ViteDevServer } from "vite";
|
|
2
|
-
import type { RequestHandler, ResolvedUserOptions } from "../types.js";
|
|
3
|
-
export declare function createSsrHandler(options: ResolvedUserOptions, server: ViteDevServer): RequestHandler;
|
|
4
|
-
//# sourceMappingURL=createSsrHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"createSsrHandler.d.ts","sourceRoot":"","sources":["../../../plugin/react-server/createSsrHandler.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,aAAa,EAAE,MAAM,MAAM,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAKvE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,aAAa,GACpB,cAAc,CA+GhB"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
import { join, resolve } from "node:path";
|
|
2
|
-
import { Writable } from "node:stream";
|
|
3
|
-
import { Worker } from "node:worker_threads";
|
|
4
|
-
import {} from "vite";
|
|
5
|
-
import { DEFAULT_CONFIG } from "../config/defaults.js";
|
|
6
|
-
import { createHandler } from "./createHandler.js";
|
|
7
|
-
export function createSsrHandler(options, server) {
|
|
8
|
-
const worker = new Worker(options?.htmlWorkerPath
|
|
9
|
-
? resolve(server.config.root, options?.htmlWorkerPath)
|
|
10
|
-
: DEFAULT_CONFIG.HTML_WORKER_PATH, {
|
|
11
|
-
env: {
|
|
12
|
-
NODE_OPTIONS: "--conditions ''",
|
|
13
|
-
VITE_LOADER_PATH: resolve(server.config.cacheDir, "react-stream/worker/loader.js"),
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
return async function handleSsrRequest(req, res, next) {
|
|
17
|
-
if (!req.url ||
|
|
18
|
-
req.url.startsWith("/@") ||
|
|
19
|
-
(req.url.includes(".") && !req.url.endsWith(".html"))) {
|
|
20
|
-
return next();
|
|
21
|
-
}
|
|
22
|
-
try {
|
|
23
|
-
const result = await createHandler(req.url ?? "", {
|
|
24
|
-
...options,
|
|
25
|
-
projectRoot: server.config.root,
|
|
26
|
-
}, {
|
|
27
|
-
loader: server.ssrLoadModule.bind(server),
|
|
28
|
-
moduleGraph: server.moduleGraph,
|
|
29
|
-
});
|
|
30
|
-
const moduleRootPath = join(server.config.cacheDir, options.moduleBasePath);
|
|
31
|
-
// const htmlOutputPath = join(
|
|
32
|
-
// server.config.cacheDir,
|
|
33
|
-
// server.config.build.outDir,
|
|
34
|
-
// req.url,
|
|
35
|
-
// "index.html"
|
|
36
|
-
// );
|
|
37
|
-
if (result.type !== "success") {
|
|
38
|
-
throw new Error(result.type === "error" ? String(result.error) : "Skipped");
|
|
39
|
-
}
|
|
40
|
-
// Collect RSC stream data
|
|
41
|
-
const rscData = await new Promise((resolve, reject) => {
|
|
42
|
-
let data = "";
|
|
43
|
-
if (!result.stream) {
|
|
44
|
-
resolve(data);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
const writable = new Writable({
|
|
48
|
-
write(chunk, _, callback) {
|
|
49
|
-
data += chunk;
|
|
50
|
-
callback();
|
|
51
|
-
},
|
|
52
|
-
final(callback) {
|
|
53
|
-
resolve(data);
|
|
54
|
-
callback();
|
|
55
|
-
},
|
|
56
|
-
});
|
|
57
|
-
result.stream.pipe(writable);
|
|
58
|
-
writable.on("error", reject);
|
|
59
|
-
});
|
|
60
|
-
// Get HTML from worker
|
|
61
|
-
const html = await new Promise((resolve, reject) => {
|
|
62
|
-
worker.postMessage({
|
|
63
|
-
type: "RSC_CHUNK",
|
|
64
|
-
id: req.url ?? "/",
|
|
65
|
-
chunk: rscData,
|
|
66
|
-
moduleRootPath: moduleRootPath,
|
|
67
|
-
moduleBaseURL: options.moduleBaseURL,
|
|
68
|
-
// Don't need file paths in dev mode
|
|
69
|
-
outDir: "",
|
|
70
|
-
htmlOutputPath: "",
|
|
71
|
-
pipableStreamOptions: options.pipableStreamOptions ?? {},
|
|
72
|
-
clientManifest: {},
|
|
73
|
-
serverManifest: {},
|
|
74
|
-
});
|
|
75
|
-
worker.once("message", (msg) => {
|
|
76
|
-
if (msg.type === "ERROR") {
|
|
77
|
-
const message = msg.error instanceof Error
|
|
78
|
-
? msg.error.message
|
|
79
|
-
: String(msg.error);
|
|
80
|
-
reject(new Error(message, { cause: msg }));
|
|
81
|
-
}
|
|
82
|
-
else if (msg.type === "HTML") {
|
|
83
|
-
// In dev, content will be the HTML string
|
|
84
|
-
resolve(msg.content);
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
});
|
|
88
|
-
res.setHeader("Content-Type", "text/html");
|
|
89
|
-
res.end(html);
|
|
90
|
-
}
|
|
91
|
-
catch (error) {
|
|
92
|
-
next(error);
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { type LogLevel } from 'vite';
|
|
2
|
-
export declare const createLogger: (prefix: string, logLevel?: LogLevel) => {
|
|
3
|
-
clear: () => void;
|
|
4
|
-
info: (msg: string, ...args: any[]) => void;
|
|
5
|
-
warn: (msg: string, ...args: any[]) => void;
|
|
6
|
-
error: (msg: string, ...args: any[]) => void;
|
|
7
|
-
debug: (msg: string, ...args: any[]) => void;
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=logger.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../plugin/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AAwBvE,eAAO,MAAM,YAAY,WAA0D,MAAM,aAAY,QAAQ;;gBAM7F,MAAM,WAAW,GAAG,EAAE;gBAGtB,MAAM,WAAW,GAAG,EAAE;iBAGrB,MAAM,WAAW,GAAG,EAAE;iBAGtB,MAAM,WAAW,GAAG,EAAE;CAYtC,CAAC"}
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* vite-plugin-react-server
|
|
3
|
-
* Copyright (c) Nico Brinkkemper
|
|
4
|
-
* MIT License
|
|
5
|
-
*/
|
|
6
|
-
import { createLogger as createLogger$1 } from 'vite';
|
|
7
|
-
|
|
8
|
-
const isPrimitive = (value) => {
|
|
9
|
-
return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || typeof value === "symbol";
|
|
10
|
-
};
|
|
11
|
-
const buildMessage = (prefix, msg, ...args) => {
|
|
12
|
-
let buildMsg = `[${prefix}] ${msg}`;
|
|
13
|
-
for (const arg of args) {
|
|
14
|
-
if (isPrimitive(arg)) {
|
|
15
|
-
buildMsg += `
|
|
16
|
-
[${prefix}] ${String(arg)}`;
|
|
17
|
-
} else if (arg instanceof Error) {
|
|
18
|
-
buildMsg += `
|
|
19
|
-
[${prefix}] ${arg.name}`;
|
|
20
|
-
buildMsg += `
|
|
21
|
-
[${prefix}] ${arg.message}`;
|
|
22
|
-
buildMsg += `
|
|
23
|
-
[${prefix}] ${arg.stack}`;
|
|
24
|
-
buildMsg += `
|
|
25
|
-
[${prefix}] ${arg.cause}`;
|
|
26
|
-
} else {
|
|
27
|
-
buildMsg += `
|
|
28
|
-
[${prefix}] ${JSON.stringify(arg)}`;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return buildMsg;
|
|
32
|
-
};
|
|
33
|
-
const createLogger = process.env["NODE_ENV"] === "development" ? (prefix, logLevel = "info") => {
|
|
34
|
-
const logger = createLogger$1(logLevel, {
|
|
35
|
-
allowClearScreen: true
|
|
36
|
-
});
|
|
37
|
-
return {
|
|
38
|
-
clear: () => logger.clearScreen("info"),
|
|
39
|
-
info: (msg, ...args) => {
|
|
40
|
-
console.log(buildMessage(prefix, msg, ...args));
|
|
41
|
-
},
|
|
42
|
-
warn: (msg, ...args) => {
|
|
43
|
-
console.warn(buildMessage(prefix, msg, ...args));
|
|
44
|
-
},
|
|
45
|
-
error: (msg, ...args) => {
|
|
46
|
-
console.error(buildMessage(prefix, msg, ...args));
|
|
47
|
-
},
|
|
48
|
-
debug: (msg, ...args) => {
|
|
49
|
-
console.debug(buildMessage(prefix, msg, ...args));
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
} : () => {
|
|
53
|
-
return {
|
|
54
|
-
clear: () => {
|
|
55
|
-
},
|
|
56
|
-
info: () => {
|
|
57
|
-
},
|
|
58
|
-
warn: () => {
|
|
59
|
-
},
|
|
60
|
-
error: () => {
|
|
61
|
-
},
|
|
62
|
-
debug: () => {
|
|
63
|
-
}
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
export { createLogger };
|
|
68
|
-
//# sourceMappingURL=logger.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sources":["../../../plugin/utils/logger.ts"],"sourcesContent":["import { createLogger as createViteLogger, type LogLevel } from 'vite';\n\n\nconst isPrimitive = (value: any) => {\n return typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean' || typeof value === 'symbol';\n}\n\nconst buildMessage = (prefix: string, msg: string, ...args: any[]) => {\n let buildMsg = `[${prefix}] ${msg}`\n for(const arg of args) {\n if(isPrimitive(arg)) {\n buildMsg += `\\n[${prefix}] ${String(arg)}`;\n } else if(arg instanceof Error) {\n buildMsg += `\\n[${prefix}] ${arg.name}`\n buildMsg += `\\n[${prefix}] ${arg.message}`\n buildMsg += `\\n[${prefix}] ${arg.stack}`\n buildMsg += `\\n[${prefix}] ${arg.cause}`\n } else {\n buildMsg += `\\n[${prefix}] ${JSON.stringify(arg)}`;\n }\n }\n return buildMsg;\n}\n\nexport const createLogger = (process.env['NODE_ENV'] === 'development') ? (prefix: string, logLevel: LogLevel = 'info') => {\n const logger = createViteLogger(logLevel, {\n allowClearScreen: true\n });\n return {\n clear: () => logger.clearScreen('info'),\n info: (msg: string, ...args: any[]) => {\n console.log(buildMessage(prefix, msg, ...args))\n },\n warn: (msg: string, ...args: any[]) => {\n console.warn(buildMessage(prefix, msg, ...args))\n },\n error: (msg: string, ...args: any[]) => {\n console.error(buildMessage(prefix, msg, ...args))\n },\n debug: (msg: string, ...args: any[]) => {\n console.debug(buildMessage(prefix, msg, ...args))\n }\n };\n} : () => {\n return {\n clear: () => {},\n info: () => {},\n warn: () => {},\n error: () => {},\n debug: () => {},\n };\n};"],"names":["createViteLogger"],"mappings":";;;;;;;AAGA,MAAM,WAAA,GAAc,CAAC,KAAe,KAAA;AAClC,EAAO,OAAA,OAAO,KAAU,KAAA,QAAA,IAAY,OAAO,KAAA,KAAU,YAAY,OAAO,KAAA,KAAU,SAAa,IAAA,OAAO,KAAU,KAAA,QAAA;AAClH,CAAA;AAEA,MAAM,YAAe,GAAA,CAAC,MAAgB,EAAA,GAAA,EAAA,GAAgB,IAAgB,KAAA;AACpE,EAAA,IAAI,QAAW,GAAA,CAAA,CAAA,EAAI,MAAM,CAAA,EAAA,EAAK,GAAG,CAAA,CAAA;AACjC,EAAA,KAAA,MAAU,OAAO,IAAM,EAAA;AACrB,IAAG,IAAA,WAAA,CAAY,GAAG,CAAG,EAAA;AACnB,MAAY,QAAA,IAAA;AAAA,CAAA,EAAM,MAAM,CAAA,EAAA,EAAK,MAAO,CAAA,GAAG,CAAC,CAAA,CAAA;AAAA,KAC1C,MAAA,IAAU,eAAe,KAAO,EAAA;AAC9B,MAAY,QAAA,IAAA;AAAA,CAAM,EAAA,MAAM,CAAK,EAAA,EAAA,GAAA,CAAI,IAAI,CAAA,CAAA;AACrC,MAAY,QAAA,IAAA;AAAA,CAAM,EAAA,MAAM,CAAK,EAAA,EAAA,GAAA,CAAI,OAAO,CAAA,CAAA;AACxC,MAAY,QAAA,IAAA;AAAA,CAAM,EAAA,MAAM,CAAK,EAAA,EAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AACtC,MAAY,QAAA,IAAA;AAAA,CAAM,EAAA,MAAM,CAAK,EAAA,EAAA,GAAA,CAAI,KAAK,CAAA,CAAA;AAAA,KACjC,MAAA;AACL,MAAY,QAAA,IAAA;AAAA,CAAA,EAAM,MAAM,CAAA,EAAA,EAAK,IAAK,CAAA,SAAA,CAAU,GAAG,CAAC,CAAA,CAAA;AAAA;AAClD;AAEF,EAAO,OAAA,QAAA;AACT,CAAA;AAEa,MAAA,YAAA,GAAgB,QAAQ,GAAI,CAAA,UAAU,MAAM,aAAiB,GAAA,CAAC,MAAgB,EAAA,QAAA,GAAqB,MAAW,KAAA;AACzH,EAAM,MAAA,MAAA,GAASA,eAAiB,QAAU,EAAA;AAAA,IACxC,gBAAkB,EAAA;AAAA,GACnB,CAAA;AACD,EAAO,OAAA;AAAA,IACL,KAAO,EAAA,MAAM,MAAO,CAAA,WAAA,CAAY,MAAM,CAAA;AAAA,IACtC,IAAA,EAAM,CAAC,GAAA,EAAA,GAAgB,IAAgB,KAAA;AACrC,MAAA,OAAA,CAAQ,IAAI,YAAa,CAAA,MAAA,EAAQ,GAAK,EAAA,GAAG,IAAI,CAAC,CAAA;AAAA,KAChD;AAAA,IACA,IAAA,EAAM,CAAC,GAAA,EAAA,GAAgB,IAAgB,KAAA;AACrC,MAAA,OAAA,CAAQ,KAAK,YAAa,CAAA,MAAA,EAAQ,GAAK,EAAA,GAAG,IAAI,CAAC,CAAA;AAAA,KACjD;AAAA,IACA,KAAA,EAAO,CAAC,GAAA,EAAA,GAAgB,IAAgB,KAAA;AACtC,MAAA,OAAA,CAAQ,MAAM,YAAa,CAAA,MAAA,EAAQ,GAAK,EAAA,GAAG,IAAI,CAAC,CAAA;AAAA,KAClD;AAAA,IACA,KAAA,EAAO,CAAC,GAAA,EAAA,GAAgB,IAAgB,KAAA;AACtC,MAAA,OAAA,CAAQ,MAAM,YAAa,CAAA,MAAA,EAAQ,GAAK,EAAA,GAAG,IAAI,CAAC,CAAA;AAAA;AAClD,GACF;AACF,CAAA,GAAI,MAAM;AACR,EAAO,OAAA;AAAA,IACL,OAAO,MAAM;AAAA,KAAC;AAAA,IACd,MAAM,MAAM;AAAA,KAAC;AAAA,IACb,MAAM,MAAM;AAAA,KAAC;AAAA,IACb,OAAO,MAAM;AAAA,KAAC;AAAA,IACd,OAAO,MAAM;AAAA;AAAC,GAChB;AACF;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/html/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAc,MAAM,MAAM,CAAC;AAG/C,OAAO,KAAK,EAAuB,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAM/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA2F1E"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { join, resolve } from "path";
|
|
2
|
-
import { DEFAULT_CONFIG } from "../../config/defaults.js";
|
|
3
|
-
import { getPluginRoot } from "../../config/getPaths.js";
|
|
4
|
-
import { resolveOptions } from "../../config/resolveOptions.js";
|
|
5
|
-
let userOptions;
|
|
6
|
-
export function reactHtmlWorkerPlugin(options) {
|
|
7
|
-
const resolvedUserOptions = resolveOptions(options);
|
|
8
|
-
if (resolvedUserOptions.type === 'error') {
|
|
9
|
-
throw resolvedUserOptions.error;
|
|
10
|
-
}
|
|
11
|
-
userOptions = resolvedUserOptions.userOptions;
|
|
12
|
-
return {
|
|
13
|
-
name: "vite:react-html-worker",
|
|
14
|
-
config(config) {
|
|
15
|
-
const root = config.root ?? process.cwd();
|
|
16
|
-
const pluginRoot = getPluginRoot();
|
|
17
|
-
const htmlWorkerPath = typeof options.htmlWorkerPath === 'string'
|
|
18
|
-
? resolve(root, options.htmlWorkerPath)
|
|
19
|
-
: resolve(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);
|
|
20
|
-
const format = 'esm';
|
|
21
|
-
// Single worker output for server build
|
|
22
|
-
const workerConfig = {
|
|
23
|
-
input: {
|
|
24
|
-
'html-worker': htmlWorkerPath,
|
|
25
|
-
},
|
|
26
|
-
output: {
|
|
27
|
-
format,
|
|
28
|
-
dir: join(userOptions.build.outDir, userOptions.build.server),
|
|
29
|
-
entryFileNames: '[name].js',
|
|
30
|
-
preserveModules: true,
|
|
31
|
-
preserveModulesRoot: userOptions.build.preserveModulesRoot === true ? userOptions.moduleBase : undefined,
|
|
32
|
-
// Add manifest entry
|
|
33
|
-
manualChunks: {
|
|
34
|
-
'html-worker': [htmlWorkerPath]
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
};
|
|
38
|
-
return {
|
|
39
|
-
build: {
|
|
40
|
-
rollupOptions: {
|
|
41
|
-
preserveEntrySignatures: 'strict',
|
|
42
|
-
input: {
|
|
43
|
-
...workerConfig.input,
|
|
44
|
-
...(typeof config.build?.rollupOptions?.input === 'object'
|
|
45
|
-
? config.build?.rollupOptions?.input
|
|
46
|
-
: {}),
|
|
47
|
-
},
|
|
48
|
-
external: [
|
|
49
|
-
'vite',
|
|
50
|
-
'rollup',
|
|
51
|
-
'react',
|
|
52
|
-
'react-dom',
|
|
53
|
-
'react-dom/server',
|
|
54
|
-
'react-server-dom-esm',
|
|
55
|
-
'react-server-dom-esm/client.node',
|
|
56
|
-
'react-server-dom-esm/server.node',
|
|
57
|
-
'react-server-dom-esm/node-loader',
|
|
58
|
-
'source-map',
|
|
59
|
-
'acorn-loose',
|
|
60
|
-
'webpack-sources',
|
|
61
|
-
'stream',
|
|
62
|
-
'util',
|
|
63
|
-
'crypto',
|
|
64
|
-
'async_hooks',
|
|
65
|
-
'fs',
|
|
66
|
-
'path',
|
|
67
|
-
'worker_threads',
|
|
68
|
-
// if we use node: paths in our code, it should always be catched by below rule.
|
|
69
|
-
/^node:.*/,
|
|
70
|
-
],
|
|
71
|
-
output: {
|
|
72
|
-
...workerConfig.output,
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
manifest: true, // Ensure manifest is generated
|
|
76
|
-
minify: false,
|
|
77
|
-
sourcemap: true,
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
},
|
|
81
|
-
// Add this to ensure entry is in manifest
|
|
82
|
-
generateBundle(_, bundle) {
|
|
83
|
-
const workerEntry = bundle['html-worker.js'];
|
|
84
|
-
if (workerEntry) {
|
|
85
|
-
Object.defineProperty(workerEntry, 'isEntry', {
|
|
86
|
-
value: true,
|
|
87
|
-
writable: false,
|
|
88
|
-
enumerable: true,
|
|
89
|
-
configurable: false
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { StreamPluginOptions } from "../types.js";
|
|
2
|
-
import type { Plugin } from "vite";
|
|
3
|
-
/**
|
|
4
|
-
* This plugin can be used to create your own worker paths. This build should be separated from the main build.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* ```ts
|
|
8
|
-
* @example
|
|
9
|
-
*export reactWorkerPluginConfig = {
|
|
10
|
-
* htmlWorkerPath: './workers/html.tsx',
|
|
11
|
-
* rscWorkerPath: './workers/rsc.tsx',
|
|
12
|
-
* }
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* @param options
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export declare function reactWorkerPlugin(options: StreamPluginOptions): Plugin[];
|
|
19
|
-
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/worker/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAA;AACtD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAKxE"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { reactHtmlWorkerPlugin } from "./html/plugin.js";
|
|
2
|
-
import { reactRscWorkerPlugin } from "./rsc/plugin.js";
|
|
3
|
-
/**
|
|
4
|
-
* This plugin can be used to create your own worker paths. This build should be separated from the main build.
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
* ```ts
|
|
8
|
-
* @example
|
|
9
|
-
*export reactWorkerPluginConfig = {
|
|
10
|
-
* htmlWorkerPath: './workers/html.tsx',
|
|
11
|
-
* rscWorkerPath: './workers/rsc.tsx',
|
|
12
|
-
* }
|
|
13
|
-
* ```
|
|
14
|
-
*
|
|
15
|
-
* @param options
|
|
16
|
-
* @returns
|
|
17
|
-
*/
|
|
18
|
-
export function reactWorkerPlugin(options) {
|
|
19
|
-
return [
|
|
20
|
-
reactHtmlWorkerPlugin(options),
|
|
21
|
-
reactRscWorkerPlugin(options)
|
|
22
|
-
];
|
|
23
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../../plugin/worker/rsc/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAGnC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAI1D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CA4EzE"}
|