vite-plugin-react-server 0.3.18 → 0.3.19
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 +119 -118
- package/bin/patch.mjs +8 -2
- package/dist/package.json +3 -3
- 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 +117 -0
- package/dist/plugin/collect-manifest-client-files.js.map +1 -0
- package/dist/plugin/components.d.ts +9 -9
- package/dist/plugin/components.d.ts.map +1 -1
- package/dist/plugin/components.js +50 -9
- package/dist/plugin/components.js.map +1 -0
- package/dist/plugin/config/defaults.d.ts +7 -6
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +8 -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 +1 -1
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +41 -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 +10 -5
- 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/helpers/createHandler.d.ts +22 -0
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -0
- package/dist/plugin/{react-server → helpers}/createHandler.js +36 -48
- package/dist/plugin/helpers/createHandler.js.map +1 -0
- package/dist/plugin/{react-server → helpers}/createRscStream.d.ts +2 -1
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -0
- package/dist/plugin/helpers/createRscStream.js +71 -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/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 +18 -76
- 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 +53 -217
- 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 +199 -0
- package/dist/plugin/react-static/plugin.js.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 +24 -6
- 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 +8 -2
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/html/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/html/plugin.js +2 -3
- package/dist/plugin/worker/html/renderPages.d.ts +8 -4
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +118 -83
- 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 +89 -84
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/plugin.js +1 -2
- 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/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/plugin/checkFilesExist.ts +7 -3
- package/plugin/collect-manifest-client-files.ts +152 -0
- package/plugin/components.tsx +55 -10
- package/plugin/config/defaults.tsx +69 -0
- package/plugin/config/getPaths.ts +1 -7
- package/plugin/config/mimeTypes.ts +17 -0
- package/plugin/config/resolveOptions.ts +48 -40
- package/plugin/config/resolvePages.ts +8 -4
- package/plugin/config/resolveUserConfig.ts +12 -9
- package/plugin/{react-server → helpers}/createHandler.ts +46 -63
- package/plugin/helpers/createRscStream.ts +81 -0
- package/plugin/helpers/getBundleManifest.ts +14 -5
- 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 +20 -91
- package/plugin/react-server/index.ts +2 -0
- package/plugin/react-server/plugin.ts +66 -293
- package/plugin/react-static/index.ts +1 -0
- package/plugin/react-static/plugin.ts +247 -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 +25 -6
- 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 +8 -2
- package/plugin/worker/html/plugin.ts +2 -3
- package/plugin/worker/html/renderPages.ts +150 -114
- package/plugin/worker/rsc/README.md +58 -0
- package/plugin/worker/rsc/messageHandler.tsx +95 -111
- package/plugin/worker/rsc/plugin.ts +1 -2
- 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/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/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/messageHandler.js +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/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.map +0 -1
- 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/plugin/collect-css-manifest.ts +0 -82
- package/plugin/config/createModuleIdGenerator.ts +0 -52
- package/plugin/config/defaults.ts +0 -51
- 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/react-server/createRscStream.ts +0 -86
- package/plugin/react-server/createSsrHandler.ts +0 -125
- package/plugin/utils/logger.ts +0 -52
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/react-static/plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,KAAK,MAAM,IAAI,UAAU,EAC1B,MAAM,MAAM,CAAC;AAOd,OAAO,KAAK,EAGV,qBAAqB,EAGtB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAcvD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,UAAU,CAAC;IAC1E,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC,CAgND"}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { join, dirname } from 'node:path';
|
|
7
|
+
import 'node:worker_threads';
|
|
8
|
+
import 'vite';
|
|
9
|
+
import { checkFilesExist } from '../checkFilesExist.js';
|
|
10
|
+
import { resolveOptions } from '../config/resolveOptions.js';
|
|
11
|
+
import { resolvePages } from '../config/resolvePages.js';
|
|
12
|
+
import { resolveUserConfig } from '../config/resolveUserConfig.js';
|
|
13
|
+
import { tryManifest } from '../helpers/tryManifest.js';
|
|
14
|
+
import { createBuildLoader } from '../loader/createBuildLoader.js';
|
|
15
|
+
import { createWorker } from '../worker/createWorker.js';
|
|
16
|
+
import { renderPages } from '../worker/html/renderPages.js';
|
|
17
|
+
import { mkdir } from 'node:fs/promises';
|
|
18
|
+
import { collectManifestClientFiles } from '../collect-manifest-client-files.js';
|
|
19
|
+
import { mkdirSync, copyFileSync } from 'node:fs';
|
|
20
|
+
import { copyDir } from '../copy-dir.js';
|
|
21
|
+
|
|
22
|
+
let loader = null;
|
|
23
|
+
let worker;
|
|
24
|
+
let htmlTransform = null;
|
|
25
|
+
let clientAssets = /* @__PURE__ */ new Set();
|
|
26
|
+
function reactStaticPlugin(options) {
|
|
27
|
+
const timing = {
|
|
28
|
+
start: Date.now()
|
|
29
|
+
};
|
|
30
|
+
let files;
|
|
31
|
+
let root = process.cwd();
|
|
32
|
+
let userConfig;
|
|
33
|
+
let userOptions;
|
|
34
|
+
let resolvedPages;
|
|
35
|
+
let serverManifest = {};
|
|
36
|
+
let clientManifest = {};
|
|
37
|
+
const resolvedOptions = resolveOptions(options, false);
|
|
38
|
+
if (resolvedOptions.type === "error") {
|
|
39
|
+
throw resolvedOptions.error;
|
|
40
|
+
}
|
|
41
|
+
userOptions = resolvedOptions.userOptions;
|
|
42
|
+
if (userOptions.projectRoot != root && typeof userOptions.projectRoot === "string" && userOptions.projectRoot !== process.cwd() && userOptions.projectRoot !== "") {
|
|
43
|
+
root = userOptions.projectRoot;
|
|
44
|
+
console.log(
|
|
45
|
+
"[vite:plugin-react-server] Root dir changed in plugin",
|
|
46
|
+
userOptions.projectRoot,
|
|
47
|
+
root
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
return {
|
|
51
|
+
name: "vite:plugin-react-server/static",
|
|
52
|
+
enforce: "post",
|
|
53
|
+
api: {
|
|
54
|
+
meta: { timing }
|
|
55
|
+
},
|
|
56
|
+
async config(config, configEnv) {
|
|
57
|
+
if (typeof config.root === "string" && config.root !== root && config.root !== process.cwd() && config.root !== "") {
|
|
58
|
+
root = config.root;
|
|
59
|
+
}
|
|
60
|
+
const resolvedPagesResult = await resolvePages(userOptions.build.pages);
|
|
61
|
+
if (resolvedPagesResult.type === "error") {
|
|
62
|
+
throw resolvedPagesResult.error;
|
|
63
|
+
}
|
|
64
|
+
resolvedPages = resolvedPagesResult.pages;
|
|
65
|
+
files = await checkFilesExist(resolvedPages, userOptions, root);
|
|
66
|
+
const resolvedConfig2 = resolveUserConfig({
|
|
67
|
+
isStatic: true,
|
|
68
|
+
config,
|
|
69
|
+
configEnv,
|
|
70
|
+
userOptions,
|
|
71
|
+
files
|
|
72
|
+
});
|
|
73
|
+
if (resolvedConfig2.type === "error") {
|
|
74
|
+
throw resolvedConfig2.error;
|
|
75
|
+
}
|
|
76
|
+
userConfig = resolvedConfig2.userConfig;
|
|
77
|
+
timing.configResolved = Date.now();
|
|
78
|
+
return {};
|
|
79
|
+
},
|
|
80
|
+
async buildStart() {
|
|
81
|
+
timing.buildStart = Date.now();
|
|
82
|
+
},
|
|
83
|
+
async closeBundle() {
|
|
84
|
+
timing.renderStart = Date.now();
|
|
85
|
+
const serverManifestResult = tryManifest({
|
|
86
|
+
root,
|
|
87
|
+
outDir: join(userOptions.build.outDir, userOptions.build.server),
|
|
88
|
+
ssrManifest: false
|
|
89
|
+
});
|
|
90
|
+
if (serverManifestResult.type === "error") {
|
|
91
|
+
throw serverManifestResult.error;
|
|
92
|
+
}
|
|
93
|
+
serverManifest = serverManifestResult.manifest;
|
|
94
|
+
const clientManifestResult = tryManifest({
|
|
95
|
+
root,
|
|
96
|
+
outDir: join(userOptions.build.outDir, userOptions.build.client),
|
|
97
|
+
ssrManifest: false
|
|
98
|
+
});
|
|
99
|
+
if (clientManifestResult.type === "error") {
|
|
100
|
+
throw clientManifestResult.error;
|
|
101
|
+
}
|
|
102
|
+
clientManifest = clientManifestResult.manifest;
|
|
103
|
+
const staticDir = join(root, userOptions.build.outDir, userOptions.build.static);
|
|
104
|
+
await mkdir(staticDir, { recursive: true });
|
|
105
|
+
worker = await createWorker({
|
|
106
|
+
projectRoot: root,
|
|
107
|
+
workerPath: userOptions.htmlWorkerPath,
|
|
108
|
+
condition: "react-server",
|
|
109
|
+
reverseCondition: true,
|
|
110
|
+
mode: "production"
|
|
111
|
+
});
|
|
112
|
+
if (typeof loader !== "function") {
|
|
113
|
+
loader = createBuildLoader({
|
|
114
|
+
root,
|
|
115
|
+
userConfig,
|
|
116
|
+
userOptions,
|
|
117
|
+
pluginContext: this,
|
|
118
|
+
serverManifest,
|
|
119
|
+
clientManifest
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
const routeCssMap = /* @__PURE__ */ new Map();
|
|
123
|
+
const globalCss = /* @__PURE__ */ new Set();
|
|
124
|
+
await mkdir(staticDir, { recursive: true });
|
|
125
|
+
await copyDir(join(root, userOptions.build.outDir, userOptions.build.client), join(root, userOptions.build.outDir, userOptions.build.static));
|
|
126
|
+
const { cssFiles: indexCss } = collectManifestClientFiles({
|
|
127
|
+
manifest: clientManifest,
|
|
128
|
+
root,
|
|
129
|
+
pagePath: "index.html",
|
|
130
|
+
moduleBase: userOptions.moduleBase,
|
|
131
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot,
|
|
132
|
+
testClient: () => true
|
|
133
|
+
});
|
|
134
|
+
indexCss.forEach((css) => globalCss.add(css));
|
|
135
|
+
for (const route of resolvedPages) {
|
|
136
|
+
const routeFiles = files.urlMap.get(route);
|
|
137
|
+
if (routeFiles) {
|
|
138
|
+
const pageCss = collectManifestClientFiles({
|
|
139
|
+
manifest: serverManifest,
|
|
140
|
+
root,
|
|
141
|
+
pagePath: routeFiles.page,
|
|
142
|
+
moduleBase: userOptions.moduleBase,
|
|
143
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot,
|
|
144
|
+
onClientModule(path) {
|
|
145
|
+
const targetPath = join(root, userOptions.build.outDir, userOptions.build.server, path);
|
|
146
|
+
const destinationPath = join(root, userOptions.build.outDir, userOptions.build.static, path);
|
|
147
|
+
mkdirSync(dirname(destinationPath), { recursive: true });
|
|
148
|
+
copyFileSync(targetPath, destinationPath);
|
|
149
|
+
},
|
|
150
|
+
testClient: userOptions.autoDiscover.cssPattern,
|
|
151
|
+
testJson: userOptions.autoDiscover.jsonPattern
|
|
152
|
+
});
|
|
153
|
+
routeCssMap.set(route, /* @__PURE__ */ new Set([...globalCss, ...pageCss.cssFiles.keys()]));
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
const bootstrapModules = clientManifest["index.html"]?.file ? [clientManifest["index.html"].file.startsWith("/") ? clientManifest["index.html"].file.slice(1) : clientManifest["index.html"].file] : [];
|
|
157
|
+
const { failedRoutes, completedRoutes } = await renderPages(
|
|
158
|
+
resolvedPages,
|
|
159
|
+
files,
|
|
160
|
+
{
|
|
161
|
+
outDir: userOptions.build.outDir,
|
|
162
|
+
htmlOutputPath: join(userOptions.build.outDir, userOptions.build.static, "index.html"),
|
|
163
|
+
pipableStreamOptions: {
|
|
164
|
+
bootstrapModules
|
|
165
|
+
},
|
|
166
|
+
moduleBasePath: join(root, userOptions.build.outDir, userOptions.build.client),
|
|
167
|
+
moduleBaseURL: userOptions.moduleBaseURL,
|
|
168
|
+
userConfig,
|
|
169
|
+
pluginOptions: userOptions,
|
|
170
|
+
worker,
|
|
171
|
+
clientManifest,
|
|
172
|
+
serverManifest,
|
|
173
|
+
loader,
|
|
174
|
+
transformIndexHtml: htmlTransform,
|
|
175
|
+
onClientJSFile: (url) => {
|
|
176
|
+
if (!clientAssets.has(url)) {
|
|
177
|
+
const clientPath = join(root, userOptions.build.outDir, userOptions.build.client, url);
|
|
178
|
+
const targetPath = join(root, userOptions.build.outDir, userOptions.build.static, url);
|
|
179
|
+
mkdirSync(dirname(targetPath), { recursive: true });
|
|
180
|
+
copyFileSync(clientPath, targetPath);
|
|
181
|
+
clientAssets.add(url);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
if (failedRoutes.size > 0) {
|
|
187
|
+
console.error(
|
|
188
|
+
"[vite-plugin-react-server] Failed to render routes:",
|
|
189
|
+
failedRoutes
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
console.log(`Rendered ${completedRoutes.size} unique routes to ${join(userOptions.build.outDir, userOptions.build.static)}`);
|
|
193
|
+
await worker.terminate();
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
export { reactStaticPlugin };
|
|
199
|
+
//# sourceMappingURL=plugin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../plugin/react-static/plugin.ts"],"sourcesContent":["import { join, dirname } from \"node:path\";\nimport { Worker } from \"node:worker_threads\";\nimport {\n type ResolvedConfig,\n type UserConfig,\n type Manifest,\n type IndexHtmlTransformHook,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { checkFilesExist } from \"../checkFilesExist.js\";\nimport { resolveOptions } from \"../config/resolveOptions.js\";\nimport { resolvePages } from \"../config/resolvePages.js\";\nimport { resolveUserConfig } from \"../config/resolveUserConfig.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { createBuildLoader } from \"../loader/createBuildLoader.js\";\nimport type {\n BuildTiming,\n CheckFilesExistReturn,\n ReactStreamPluginMeta,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { type StreamPluginOptions } from \"../types.js\";\nimport { createWorker } from \"../worker/createWorker.js\";\nimport { renderPages } from \"../worker/html/renderPages.js\";\nimport { mkdir } from \"node:fs/promises\";\nimport { collectManifestClientFiles } from \"../collect-manifest-client-files.js\";\nimport { mkdirSync, copyFileSync } from \"node:fs\";\nimport { copyDir } from \"../copy-dir.js\";\n\nlet resolvedConfig: ResolvedConfig | null = null;\nlet loader: ((id: string) => Promise<Record<string, any>>) | null = null;\nlet worker: Worker;\nlet htmlTransform: IndexHtmlTransformHook | null = null;\nlet clientAssets = new Set<string>();\n\nexport function reactStaticPlugin(options: StreamPluginOptions): VitePlugin<{\n meta: ReactStreamPluginMeta;\n}> {\n const timing: BuildTiming = {\n start: Date.now(),\n };\n\n let files: CheckFilesExistReturn;\n let root: string = process.cwd();\n let userConfig: ResolvedUserConfig;\n let userOptions: ResolvedUserOptions;\n let resolvedPages: string[];\n let serverManifest: Manifest = {};\n let clientManifest: Manifest = {};\n\n const resolvedOptions = resolveOptions(options, false);\n if (resolvedOptions.type === \"error\") {\n throw resolvedOptions.error;\n }\n userOptions = resolvedOptions.userOptions;\n if (\n userOptions.projectRoot != root &&\n typeof userOptions.projectRoot === \"string\" &&\n userOptions.projectRoot !== process.cwd() &&\n userOptions.projectRoot !== \"\"\n ) {\n root = userOptions.projectRoot;\n console.log(\n \"[vite:plugin-react-server] Root dir changed in plugin\",\n userOptions.projectRoot,\n root\n );\n }\n\n return {\n name: \"vite:plugin-react-server/static\",\n enforce: \"post\",\n api: {\n meta: { timing },\n },\n async config(config, configEnv): Promise<UserConfig> {\n if (\n typeof config.root === \"string\" &&\n config.root !== root &&\n config.root !== process.cwd() &&\n config.root !== \"\"\n ) {\n root = config.root;\n }\n const resolvedPagesResult = await resolvePages(userOptions.build.pages);\n if (resolvedPagesResult.type === \"error\") {\n throw resolvedPagesResult.error;\n }\n resolvedPages = resolvedPagesResult.pages;\n files = await checkFilesExist(resolvedPages, userOptions, root);\n\n const resolvedConfig = resolveUserConfig({\n isStatic: true,\n config,\n configEnv,\n userOptions,\n files,\n });\n\n if (resolvedConfig.type === \"error\") {\n throw resolvedConfig.error;\n }\n\n userConfig = resolvedConfig.userConfig;\n timing.configResolved = Date.now();\n return {};\n },\n async buildStart() {\n timing.buildStart = Date.now();\n },\n async closeBundle() {\n timing.renderStart = Date.now();\n\n // Create the loader\n const serverManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.server),\n ssrManifest: false,\n });\n if (serverManifestResult.type === \"error\") {\n throw serverManifestResult.error;\n }\n serverManifest = serverManifestResult.manifest;\n\n // Get the client manifest\n const clientManifestResult = tryManifest({\n root: root,\n outDir: join(userOptions.build.outDir, userOptions.build.client),\n ssrManifest: false,\n });\n\n if (clientManifestResult.type === \"error\") {\n throw clientManifestResult.error;\n }\n clientManifest = clientManifestResult.manifest;\n\n // Ensure static directory exists\n const staticDir = join(root, userOptions.build.outDir, userOptions.build.static);\n await mkdir(staticDir, { recursive: true });\n\n worker = await createWorker({\n projectRoot: root,\n workerPath: userOptions.htmlWorkerPath,\n condition: \"react-server\",\n reverseCondition: true,\n mode: (resolvedConfig?.mode ?? \"production\") as \"production\" | \"development\",\n });\n\n if (typeof loader !== \"function\") {\n loader = createBuildLoader({\n root: root,\n userConfig,\n userOptions,\n pluginContext: this,\n serverManifest,\n clientManifest,\n });\n }\n\n // Collect CSS files per route\n const routeCssMap = new Map<string, Set<string>>();\n const globalCss = new Set<string>();\n // copy whole client directory to static directory\n await mkdir(staticDir, { recursive: true });\n await copyDir(join(root, userOptions.build.outDir, userOptions.build.client), join(root, userOptions.build.outDir, userOptions.build.static));\n // Add global CSS from index.html - use client manifest\n const {cssFiles: indexCss} = collectManifestClientFiles({\n manifest: clientManifest,\n root: root,\n pagePath: 'index.html',\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n testClient: ()=>true,\n });\n indexCss.forEach((css) => globalCss.add(css));\n\n // Add CSS for each route's page component - use server manifest\n for (const route of resolvedPages) {\n const routeFiles = files.urlMap.get(route);\n if (routeFiles) {\n const pageCss = collectManifestClientFiles({\n manifest: serverManifest,\n root: root,\n pagePath: routeFiles.page,\n moduleBase: userOptions.moduleBase,\n preserveModulesRoot: userOptions.build.preserveModulesRoot,\n onClientModule(path) {\n // copy the css file to the static directory\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.server, path);\n const destinationPath = join(root, userOptions.build.outDir, userOptions.build.static, path);\n mkdirSync(dirname(destinationPath), { recursive: true });\n copyFileSync(targetPath, destinationPath);\n },\n testClient: userOptions.autoDiscover.cssPattern,\n testJson: userOptions.autoDiscover.jsonPattern,\n });\n routeCssMap.set(route, new Set([...globalCss, ...pageCss.cssFiles.keys()]));\n }\n }\n const bootstrapModules = clientManifest[\"index.html\"]?.file\n ? [clientManifest[\"index.html\"].file.startsWith(\"/\")\n ? clientManifest[\"index.html\"].file.slice(1)\n : clientManifest[\"index.html\"].file]\n : [];\n \n const { failedRoutes, completedRoutes} = await renderPages(\n resolvedPages,\n files,\n {\n outDir: userOptions.build.outDir,\n htmlOutputPath: join( userOptions.build.outDir, userOptions.build.static, \"index.html\"),\n pipableStreamOptions: {\n bootstrapModules: bootstrapModules,\n },\n moduleBasePath: join(root, userOptions.build.outDir, userOptions.build.client),\n moduleBaseURL: userOptions.moduleBaseURL,\n userConfig,\n pluginOptions: userOptions,\n worker,\n clientManifest,\n serverManifest,\n loader,\n transformIndexHtml: htmlTransform!,\n onClientJSFile: (url) => {\n if (!clientAssets.has(url)) {\n const clientPath = join(root, userOptions.build.outDir, userOptions.build.client, url);\n const targetPath = join(root, userOptions.build.outDir, userOptions.build.static, url);\n mkdirSync(dirname(targetPath), { recursive: true });\n copyFileSync(clientPath, targetPath);\n clientAssets.add(url);\n }\n }\n }\n );\n\n if (failedRoutes.size > 0) {\n console.error(\n \"[vite-plugin-react-server] Failed to render routes:\",\n failedRoutes\n );\n }\n console.log(`Rendered ${completedRoutes.size} unique routes to ${join(userOptions.build.outDir, userOptions.build.static)}`);\n await worker.terminate();\n },\n };\n}\n"],"names":["resolvedConfig"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePage.d.ts","sourceRoot":"","sources":["../../plugin/resolvePage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolvePage.d.ts","sourceRoot":"","sources":["../../plugin/resolvePage.ts"],"names":[],"mappings":"AAEA,KAAK,kBAAkB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAClB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,GAC3C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,wBAAsB,WAAW,CAAC,EAChC,UAAU,EACV,IAAI,EACJ,GAAG,EACH,UAAU,GACX,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsDjD"}
|
|
@@ -3,12 +3,21 @@
|
|
|
3
3
|
* Copyright (c) Nico Brinkkemper
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
|
+
import { stashedPages } from './config/resolvePages.js';
|
|
7
|
+
|
|
6
8
|
async function resolvePage({
|
|
7
9
|
pageModule,
|
|
8
10
|
path,
|
|
9
11
|
url,
|
|
10
12
|
exportName
|
|
11
13
|
}) {
|
|
14
|
+
if (stashedPages.length > 0 && stashedPages.includes(path)) {
|
|
15
|
+
return {
|
|
16
|
+
type: "success",
|
|
17
|
+
key: path,
|
|
18
|
+
Page: pageModule
|
|
19
|
+
};
|
|
20
|
+
}
|
|
12
21
|
if (!pageModule) {
|
|
13
22
|
return {
|
|
14
23
|
type: "error",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePage.js","sources":["../../plugin/resolvePage.ts"],"sourcesContent":["
|
|
1
|
+
{"version":3,"file":"resolvePage.js","sources":["../../plugin/resolvePage.ts"],"sourcesContent":["import { stashedPages } from \"./config/resolvePages.js\";\n\ntype ResolvePageOptions = {\n pageModule: Record<string, any>;\n path: string;\n url: string;\n exportName: string;\n};\n\ntype ResolvePageResult =\n | { type: \"success\"; key: string; Page: any }\n | { type: \"error\"; error: Error }\n | { type: \"skip\" };\n\nexport async function resolvePage({\n pageModule,\n path,\n url,\n exportName,\n}: ResolvePageOptions): Promise<ResolvePageResult> {\n if(stashedPages.length > 0 && stashedPages.includes(path)){\n return {\n type: \"success\",\n key: path,\n Page: pageModule,\n }\n }\n if (!pageModule) {\n return {\n type: \"error\",\n error: new Error(`pageModule is ${typeof pageModule}`),\n };\n }\n const keys =\n typeof pageModule === \"object\" && pageModule != null\n ? Object.keys(pageModule)\n : [];\n const found = keys.find((v) => v === exportName || v === url || v === path);\n if (found) {\n if (typeof pageModule[found] === \"function\") {\n return {\n type: \"success\",\n key: found,\n Page: pageModule[found],\n };\n } else {\n if (\n typeof pageModule === \"object\" &&\n pageModule != null &&\n Object.keys(pageModule).includes(\"type\")\n )\n return pageModule as ResolvePageResult;\n return {\n type: \"error\",\n [exportName]: () => found,\n error: pageModule[found][\"error\"],\n };\n }\n }\n if (keys.includes(\"type\")) return pageModule as ResolvePageResult;\n return {\n type: \"error\",\n error: new Error(\n `Could not find Page export \"${exportName}\" in \"${path}\". ${\n typeof pageModule === \"object\" && pageModule != null\n ? keys.length\n ? \"Available exports: \" + keys.join(\", \")\n : \"The object was defined but has no properties. \\\"\" + JSON.stringify(pageModule) + \"\\\"\"\n : \"typeof pageModule =\" + typeof pageModule\n }`,\n { cause: pageModule }\n ),\n };\n}\n"],"names":[],"mappings":";;;;;;;AAcA,eAAsB,WAAY,CAAA;AAAA,EAChC,UAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAmD,EAAA;AACjD,EAAA,IAAG,aAAa,MAAS,GAAA,CAAA,IAAK,YAAa,CAAA,QAAA,CAAS,IAAI,CAAE,EAAA;AACxD,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,GAAK,EAAA,IAAA;AAAA,MACL,IAAM,EAAA;AAAA,KACR;AAAA;AAEF,EAAA,IAAI,CAAC,UAAY,EAAA;AACf,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OAAO,IAAI,KAAA,CAAM,CAAiB,cAAA,EAAA,OAAO,UAAU,CAAE,CAAA;AAAA,KACvD;AAAA;AAEF,EAAM,MAAA,IAAA,GACJ,OAAO,UAAA,KAAe,QAAY,IAAA,UAAA,IAAc,OAC5C,MAAO,CAAA,IAAA,CAAK,UAAU,CAAA,GACtB,EAAC;AACP,EAAM,MAAA,KAAA,GAAQ,IAAK,CAAA,IAAA,CAAK,CAAC,CAAA,KAAM,MAAM,UAAc,IAAA,CAAA,KAAM,GAAO,IAAA,CAAA,KAAM,IAAI,CAAA;AAC1E,EAAA,IAAI,KAAO,EAAA;AACT,IAAA,IAAI,OAAO,UAAA,CAAW,KAAK,CAAA,KAAM,UAAY,EAAA;AAC3C,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,SAAA;AAAA,QACN,GAAK,EAAA,KAAA;AAAA,QACL,IAAA,EAAM,WAAW,KAAK;AAAA,OACxB;AAAA,KACK,MAAA;AACL,MACE,IAAA,OAAO,UAAe,KAAA,QAAA,IACtB,UAAc,IAAA,IAAA,IACd,OAAO,IAAK,CAAA,UAAU,CAAE,CAAA,QAAA,CAAS,MAAM,CAAA;AAEvC,QAAO,OAAA,UAAA;AACT,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,OAAA;AAAA,QACN,CAAC,UAAU,GAAG,MAAM,KAAA;AAAA,QACpB,KAAO,EAAA,UAAA,CAAW,KAAK,CAAA,CAAE,OAAO;AAAA,OAClC;AAAA;AACF;AAEF,EAAA,IAAI,IAAK,CAAA,QAAA,CAAS,MAAM,CAAA,EAAU,OAAA,UAAA;AAClC,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,OAAA;AAAA,IACN,OAAO,IAAI,KAAA;AAAA,MACT,CAAA,4BAAA,EAA+B,UAAU,CAAA,MAAA,EAAS,IAAI,CAAA,GAAA,EACpD,OAAO,UAAe,KAAA,QAAA,IAAY,UAAc,IAAA,IAAA,GAC5C,IAAK,CAAA,MAAA,GACH,wBAAwB,IAAK,CAAA,IAAA,CAAK,IAAI,CAAA,GACtC,iDAAqD,GAAA,IAAA,CAAK,SAAU,CAAA,UAAU,CAAI,GAAA,GAAA,GACpF,qBAAwB,GAAA,OAAO,UACrC,CAAA,CAAA;AAAA,MACA,EAAE,OAAO,UAAW;AAAA;AACtB,GACF;AACF;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.d.ts","sourceRoot":"","sources":["../../plugin/root.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,QAA0C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { dirname } from 'node:path';
|
|
7
|
+
import { fileURLToPath } from 'node:url';
|
|
8
|
+
|
|
9
|
+
const pluginRoot = dirname(fileURLToPath(import.meta.url));
|
|
10
|
+
|
|
11
|
+
export { pluginRoot };
|
|
12
|
+
//# sourceMappingURL=root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"root.js","sources":["../../plugin/root.ts"],"sourcesContent":["import { dirname } from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nexport const pluginRoot = dirname(fileURLToPath(import.meta.url));\n\n"],"names":[],"mappings":";;;;;;;;AAEO,MAAM,UAAa,GAAA,OAAA,CAAQ,aAAc,CAAA,MAAA,CAAA,IAAA,CAAY,GAAG,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/transformer/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/transformer/plugin.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAwC,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7F,OAAO,EAAiB,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAMlD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAkFzE"}
|
|
@@ -12,35 +12,45 @@ import { tryManifest } from '../helpers/tryManifest.js';
|
|
|
12
12
|
import { join } from 'node:path';
|
|
13
13
|
|
|
14
14
|
function reactTransformPlugin(options) {
|
|
15
|
-
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
root: resolvedOptions.userOptions.projectRoot,
|
|
20
|
-
preserveModulesRoot: undefined,
|
|
21
|
-
removeExtension: false
|
|
22
|
-
});
|
|
23
|
-
const clientManifestResult = tryManifest({
|
|
24
|
-
root: resolvedOptions.userOptions.projectRoot,
|
|
25
|
-
outDir: join(
|
|
26
|
-
resolvedOptions.userOptions.build.outDir,
|
|
27
|
-
resolvedOptions.userOptions.build.client
|
|
28
|
-
),
|
|
29
|
-
ssrManifest: false
|
|
30
|
-
});
|
|
15
|
+
let normalizer;
|
|
16
|
+
let clientManifest;
|
|
17
|
+
let isDev;
|
|
18
|
+
let userOptions;
|
|
31
19
|
return {
|
|
32
20
|
name: "vite:react-transform",
|
|
33
21
|
enforce: "pre",
|
|
34
22
|
// Run before Vite's transforms
|
|
35
23
|
config(config, configEnv) {
|
|
24
|
+
const resolvedOptionsResult = resolveOptions(
|
|
25
|
+
options,
|
|
26
|
+
config.build?.outDir?.startsWith(
|
|
27
|
+
join(options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir, options.build?.client ?? DEFAULT_CONFIG.BUILD.client)
|
|
28
|
+
) ?? false
|
|
29
|
+
);
|
|
36
30
|
isDev = configEnv.mode === "development" && configEnv.command === "serve";
|
|
31
|
+
if (resolvedOptionsResult.type === "error") throw resolvedOptionsResult.error;
|
|
32
|
+
userOptions = resolvedOptionsResult.userOptions;
|
|
33
|
+
normalizer = createInputNormalizer({
|
|
34
|
+
root: resolvedOptionsResult.userOptions.projectRoot,
|
|
35
|
+
preserveModulesRoot: undefined,
|
|
36
|
+
removeExtension: false
|
|
37
|
+
});
|
|
37
38
|
},
|
|
38
39
|
async transform(code, id, options2) {
|
|
39
40
|
const ssr = options2?.ssr ?? false;
|
|
40
41
|
if (!ssr) return null;
|
|
41
42
|
if (!id.match(DEFAULT_CONFIG.FILE_REGEX)) return null;
|
|
42
|
-
if (!code.match('"use client"'))
|
|
43
|
-
|
|
43
|
+
if (!code.match('"use client"')) return null;
|
|
44
|
+
const clientManifestResult = tryManifest({
|
|
45
|
+
root: userOptions.projectRoot,
|
|
46
|
+
outDir: join(
|
|
47
|
+
userOptions.build.outDir,
|
|
48
|
+
userOptions.build.client
|
|
49
|
+
),
|
|
50
|
+
ssrManifest: false
|
|
51
|
+
});
|
|
52
|
+
if (clientManifestResult.type === "error") throw clientManifestResult.error;
|
|
53
|
+
clientManifest = clientManifestResult.manifest;
|
|
44
54
|
const [key, value] = normalizer(id);
|
|
45
55
|
const transformed = await transformModuleIfNeeded(
|
|
46
56
|
code,
|
|
@@ -67,12 +77,11 @@ function reactTransformPlugin(options) {
|
|
|
67
77
|
);
|
|
68
78
|
return null;
|
|
69
79
|
}
|
|
70
|
-
|
|
71
|
-
throw clientManifestResult.error;
|
|
72
|
-
}
|
|
73
|
-
const clientPath = clientManifestResult.manifest[key]?.file;
|
|
80
|
+
const clientPath = clientManifest[key]?.file;
|
|
74
81
|
if (!clientPath) {
|
|
75
|
-
console.warn(
|
|
82
|
+
console.warn(
|
|
83
|
+
`[vite-plugin-react-server] Could not find client path for ${value}. Ignoring.`
|
|
84
|
+
);
|
|
76
85
|
return null;
|
|
77
86
|
}
|
|
78
87
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../plugin/transformer/plugin.ts"],"sourcesContent":["import { resolveOptions } from \"../config/resolveOptions.js\";\nimport type { StreamPluginOptions } from \"../types.js\";\nimport { type Plugin } from \"vite\";\nimport { transformModuleIfNeeded } from \"../loader/react-loader.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { join } from \"node:path\";\n/**\n * Plugin for transforming React Client Components.\n *\n * Core responsibilities:\n * 1. Detects \"use client\" directives\n * 2. Transforms client components for RSC boundaries\n * 3. Adds client reference metadata for RSC\n *\n * When a component is marked with \"use client\", it:\n * - Gets transformed into a client reference\n * - Maintains module ID for RSC boundaries\n * - Preserves class/function behavior\n *\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [\n * viteReactClientTransformPlugin({\n * projectRoot: process.cwd(),\n * })\n * ]\n * });\n * ```\n */\n\nexport function reactTransformPlugin(options: StreamPluginOptions): Plugin {\n
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../plugin/transformer/plugin.ts"],"sourcesContent":["import { resolveOptions } from \"../config/resolveOptions.js\";\nimport type { InputNormalizer, ResolvedUserOptions, StreamPluginOptions } from \"../types.js\";\nimport { type Manifest, type Plugin } from \"vite\";\nimport { transformModuleIfNeeded } from \"../loader/react-loader.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport { join } from \"node:path\";\n/**\n * Plugin for transforming React Client Components.\n *\n * Core responsibilities:\n * 1. Detects \"use client\" directives\n * 2. Transforms client components for RSC boundaries\n * 3. Adds client reference metadata for RSC\n *\n * When a component is marked with \"use client\", it:\n * - Gets transformed into a client reference\n * - Maintains module ID for RSC boundaries\n * - Preserves class/function behavior\n *\n * @example\n * ```ts\n * export default defineConfig({\n * plugins: [\n * viteReactClientTransformPlugin({\n * projectRoot: process.cwd(),\n * })\n * ]\n * });\n * ```\n */\n\nexport function reactTransformPlugin(options: StreamPluginOptions): Plugin {\n let normalizer: InputNormalizer;\n let clientManifest: Manifest;\n let isDev:boolean;\n let userOptions: ResolvedUserOptions\n return {\n name: \"vite:react-transform\",\n enforce: \"pre\", // Run before Vite's transforms\n config(config, configEnv) {\n const resolvedOptionsResult = resolveOptions(\n options,\n config.build?.outDir?.startsWith(\n join(options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir, options.build?.client ?? DEFAULT_CONFIG.BUILD.client)\n ) ?? false\n );\n isDev = configEnv.mode === \"development\" && configEnv.command === \"serve\"\n if (resolvedOptionsResult.type === \"error\") throw resolvedOptionsResult.error;\n userOptions = resolvedOptionsResult.userOptions;\n normalizer = createInputNormalizer({\n root: resolvedOptionsResult.userOptions.projectRoot,\n preserveModulesRoot: undefined,\n removeExtension: false,\n });\n\n },\n async transform(code, id, options) {\n const ssr = options?.ssr ?? false;\n if (!ssr) return null;\n if (!id.match(DEFAULT_CONFIG.FILE_REGEX)) return null;\n if (!code.match('\"use client\"')) return null;\n \n // Get the client manifest\n const clientManifestResult = tryManifest({\n root: userOptions.projectRoot,\n outDir: join(\n userOptions.build.outDir,\n userOptions.build.client\n ),\n ssrManifest: false,\n });\n if (clientManifestResult.type === \"error\") throw clientManifestResult.error;\n clientManifest = clientManifestResult.manifest;\n const [key, value] = normalizer(id);\n const transformed = await transformModuleIfNeeded(\n code,\n id,\n // Pass null for nextLoad since we don't need module loading in the plugin\n null\n );\n if (!transformed) return null;\n if (isDev) {\n return {\n code: transformed,\n map: null,\n };\n }\n const moduleIdIndex = transformed.indexOf(value);\n if (moduleIdIndex === -1) {\n console.warn(\n `[vite-plugin-react-server] Could not find module id in transformed code. Ignoring.`,\n {\n code,\n id,\n transformed,\n }\n );\n return null;\n }\n const clientPath = clientManifest[key]?.file;\n\n if (!clientPath) {\n console.warn(\n `[vite-plugin-react-server] Could not find client path for ${value}. Ignoring.`\n );\n return null;\n }\n return {\n code: transformed.replace(key, clientPath),\n map: null,\n };\n },\n };\n}\n"],"names":["options"],"mappings":"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"}
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
export
|
|
2
|
-
projectRoot?: string;
|
|
3
|
-
moduleId?: (path: string, ssr: boolean) => string;
|
|
4
|
-
validateModuleId?: (moduleId: string) => boolean;
|
|
5
|
-
include?: string | RegExp | (string | RegExp)[];
|
|
6
|
-
exclude?: string | RegExp | (string | RegExp)[];
|
|
7
|
-
}
|
|
8
|
-
export interface TransformerOptions {
|
|
9
|
-
moduleId: (path: string, ssr: boolean) => string;
|
|
10
|
-
/**
|
|
11
|
-
* Optional validation function for module IDs
|
|
12
|
-
*/
|
|
13
|
-
validateModuleId?: (moduleId: string) => boolean;
|
|
14
|
-
/**
|
|
15
|
-
* The directory to use for the module IDs
|
|
16
|
-
*/
|
|
17
|
-
moduleBase: string;
|
|
18
|
-
}
|
|
1
|
+
export {};
|
|
19
2
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../plugin/transformer/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../plugin/transformer/types.ts"],"names":[],"mappings":""}
|
package/dist/plugin/types.d.ts
CHANGED
|
@@ -6,9 +6,7 @@ export type NormalizerInput = unknown;
|
|
|
6
6
|
export type InputNormalizer = (input: NormalizerInput) => [string, string];
|
|
7
7
|
export type InputNormalizerWorker = (input: NormalizerInput) => Promise<[string, string]>;
|
|
8
8
|
export type ResolvedUserConfig = Required<Pick<UserConfig, "root" | "mode" | "build" | "resolve">> & Omit<UserConfig, "root" | "mode" | "build" | "resolve"> & {
|
|
9
|
-
resolve:
|
|
10
|
-
alias: AliasOptions;
|
|
11
|
-
} & ResolveOptions;
|
|
9
|
+
resolve: ResolveOptions;
|
|
12
10
|
} & {
|
|
13
11
|
build: NonNullable<Required<Pick<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest" | "rollupOptions">>> & Omit<BuildOptions, "target" | "outDir" | "assetsDir" | "ssr" | "ssrEmitAssets" | "ssrManifest" | "manifest">;
|
|
14
12
|
};
|
|
@@ -23,7 +21,7 @@ export interface StreamPluginOptionsClient {
|
|
|
23
21
|
clientComponents?: AliasOptions;
|
|
24
22
|
cssFiles?: AliasOptions;
|
|
25
23
|
}
|
|
26
|
-
export type ResolvedUserOptions = Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot" | "build" | "Page" | "props" | "Html" | "pageExportName" | "propsExportName" | "collectCss" | "collectAssets" | "htmlWorkerPath" | "rscWorkerPath" | "loaderPath" | "clientEntry" | "serverEntry" | "moduleBaseExceptions" | "pipableStreamOptions"
|
|
24
|
+
export type ResolvedUserOptions = Required<Pick<StreamPluginOptions, "moduleBase" | "moduleBasePath" | "moduleBaseURL" | "projectRoot" | "build" | "Page" | "props" | "Html" | "pageExportName" | "propsExportName" | "collectCss" | "collectAssets" | "htmlWorkerPath" | "rscWorkerPath" | "loaderPath" | "clientEntry" | "serverEntry" | "moduleBaseExceptions" | "pipableStreamOptions">> & {
|
|
27
25
|
build: NonNullable<Required<StreamPluginOptions["build"]>>;
|
|
28
26
|
autoDiscover: {
|
|
29
27
|
modulePattern: (path: string) => boolean;
|
|
@@ -82,14 +80,16 @@ export interface StreamPluginOptions {
|
|
|
82
80
|
build?: BuildConfig;
|
|
83
81
|
moduleBaseExceptions?: string[];
|
|
84
82
|
pipableStreamOptions?: PipeableStreamOptions;
|
|
85
|
-
moduleId?: (id: string, ssr: boolean) => string;
|
|
86
83
|
}
|
|
87
84
|
export interface CreateHandlerOptions<T = any> {
|
|
88
85
|
loader: (id: string) => Promise<T>;
|
|
89
86
|
clientManifest?: import("vite").Manifest;
|
|
90
87
|
serverManifest?: import("vite").Manifest;
|
|
88
|
+
moduleBasePath: string;
|
|
89
|
+
moduleBaseURL: string;
|
|
91
90
|
moduleGraph?: import("vite").ModuleGraph;
|
|
92
91
|
cssFiles?: string[];
|
|
92
|
+
cssModules?: Set<string>;
|
|
93
93
|
onCssFile?: (path: string, parentUrl: string) => void;
|
|
94
94
|
logger?: import("vite").Logger;
|
|
95
95
|
pipableStreamOptions?: PipeableStreamOptions;
|
|
@@ -143,7 +143,7 @@ export interface BuildOutput {
|
|
|
143
143
|
ext?: string;
|
|
144
144
|
}
|
|
145
145
|
export interface BuildConfig {
|
|
146
|
-
pages: string[] | (() => Promise<string[]> | string[])
|
|
146
|
+
pages: string[] | (() => Promise<string[]> | string[]) | Promise<string[]>;
|
|
147
147
|
assetsDir?: string;
|
|
148
148
|
client?: string;
|
|
149
149
|
server?: string;
|
|
@@ -258,4 +258,22 @@ export type HtmlProps = {
|
|
|
258
258
|
url: string;
|
|
259
259
|
cssFiles: string[];
|
|
260
260
|
};
|
|
261
|
+
export interface PageAsset {
|
|
262
|
+
type: 'css' | 'js';
|
|
263
|
+
path: string;
|
|
264
|
+
parentUrl: string;
|
|
265
|
+
}
|
|
266
|
+
export interface PageData {
|
|
267
|
+
route: string;
|
|
268
|
+
clientComponents?: string[];
|
|
269
|
+
html?: {
|
|
270
|
+
raw: string;
|
|
271
|
+
transformed?: string;
|
|
272
|
+
assets: PageAsset[];
|
|
273
|
+
};
|
|
274
|
+
rsc?: {
|
|
275
|
+
content: string;
|
|
276
|
+
modules: Array<[string, string]>;
|
|
277
|
+
};
|
|
278
|
+
}
|
|
261
279
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../plugin/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../plugin/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createWorker.js","sources":["../../../plugin/worker/createWorker.ts"],"sourcesContent":["import { Worker, type ResourceLimits } from \"node:worker_threads\";\nimport { getMode, getNodePath } from \"../config/getPaths.js\";\nimport { getCondition } from \"../config/getCondition.js\";\
|
|
1
|
+
{"version":3,"file":"createWorker.js","sources":["../../../plugin/worker/createWorker.ts"],"sourcesContent":["import { Worker, type ResourceLimits } from \"node:worker_threads\";\nimport { getMode, getNodePath } from \"../config/getPaths.js\";\nimport { getCondition } from \"../config/getCondition.js\";\n\ntype CreateWorkerOptions = {\n projectRoot?: string;\n condition?: \"react-server\" | \"react-client\";\n nodePath?: string;\n nodeOptions?: string;\n mode?: \"production\" | \"development\";\n reverseCondition?: boolean;\n maxListeners?: number;\n workerPath: string;\n resourceLimits?: ResourceLimits;\n typescript?: boolean;\n};\n\nexport async function createWorker(options: CreateWorkerOptions) {\n const {\n projectRoot = process.cwd(),\n nodePath = getNodePath(projectRoot),\n condition = getCondition(),\n reverseCondition = true,\n maxListeners = 100,\n mode = getMode(),\n workerPath,\n resourceLimits = {\n maxOldGenerationSizeMb: 512,\n maxYoungGenerationSizeMb: 128,\n },\n } = options;\n\n // Ensure consistent NODE_ENV between main thread and worker\n const isTestEnv = process.env[\"VITEST\"] || process.env[\"NODE_ENV\"] === \"test\";\n const nodeEnv = isTestEnv ? \"development\" : mode;\n\n const env = {\n ...process.env,\n NODE_ENV: nodeEnv,\n NODE_PATH: nodePath,\n NODE_OPTIONS: `${\n reverseCondition\n ? condition === \"react-server\"\n ? process.env[\"NODE_OPTIONS\"]?.includes(\"react-server\")\n ? process.env[\"NODE_OPTIONS\"]?.replace(\"react-server\", \"react-client\")\n : `${process.env[\"NODE_OPTIONS\"] ?? ''} --conditions=react-client`\n : process.env[\"NODE_OPTIONS\"]?.includes(\"react-client\")\n ? process.env[\"NODE_OPTIONS\"]?.replace(\"react-client\", \"react-server\")\n : `${process.env[\"NODE_OPTIONS\"] ?? ''} --conditions=react-server`\n : process.env[\"NODE_OPTIONS\"]\n }`,\n };\n\n // Create worker with proper environment\n const worker = new Worker(\n workerPath.startsWith(\"/\") ? workerPath : './' + workerPath,\n {\n env,\n resourceLimits,\n }\n );\n\n worker.setMaxListeners(maxListeners);\n\n // Wait for worker to be ready\n return await new Promise<Worker>((resolve, reject) => {\n const timeout = setTimeout(() => {\n reject(new Error('Worker ready timeout'));\n }, 5000);\n\n worker.once(\"message\", (msg) => {\n if (msg.type === \"READY\" && msg.env === nodeEnv) {\n clearTimeout(timeout);\n resolve(worker);\n }\n });\n\n worker.once(\"error\", (error) => {\n clearTimeout(timeout);\n reject(error);\n });\n });\n}\n"],"names":[],"mappings":";;;;;;;;;AAiBA,eAAsB,aAAa,OAA8B,EAAA;AAC/D,EAAM,MAAA;AAAA,IACJ,WAAA,GAAc,QAAQ,GAAI,EAAA;AAAA,IAC1B,QAAA,GAAW,YAAY,WAAW,CAAA;AAAA,IAClC,YAAY,YAAa,EAAA;AAAA,IACzB,gBAAmB,GAAA,IAAA;AAAA,IACnB,YAAe,GAAA,GAAA;AAAA,IACf,OAAO,OAAQ,EAAA;AAAA,IACf,UAAA;AAAA,IACA,cAAiB,GAAA;AAAA,MACf,sBAAwB,EAAA,GAAA;AAAA,MACxB,wBAA0B,EAAA;AAAA;AAC5B,GACE,GAAA,OAAA;AAGJ,EAAM,MAAA,SAAA,GAAY,QAAQ,GAAI,CAAA,QAAQ,KAAK,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,MAAA;AACvE,EAAM,MAAA,OAAA,GAAU,YAAY,aAAgB,GAAA,IAAA;AAE5C,EAAA,MAAM,GAAM,GAAA;AAAA,IACV,GAAG,OAAQ,CAAA,GAAA;AAAA,IACX,QAAU,EAAA,OAAA;AAAA,IACV,SAAW,EAAA,QAAA;AAAA,IACX,YAAA,EAAc,CACZ,EAAA,gBAAA,GACI,SAAc,KAAA,cAAA,GACZ,QAAQ,GAAI,CAAA,cAAc,CAAG,EAAA,QAAA,CAAS,cAAc,CAAA,GAClD,QAAQ,GAAI,CAAA,cAAc,CAAG,EAAA,OAAA,CAAQ,cAAgB,EAAA,cAAc,IACnE,CAAG,EAAA,OAAA,CAAQ,GAAI,CAAA,cAAc,CAAK,IAAA,EAAE,+BACtC,OAAQ,CAAA,GAAA,CAAI,cAAc,CAAA,EAAG,QAAS,CAAA,cAAc,IAClD,OAAQ,CAAA,GAAA,CAAI,cAAc,CAAA,EAAG,OAAQ,CAAA,cAAA,EAAgB,cAAc,CACnE,GAAA,CAAA,EAAG,OAAQ,CAAA,GAAA,CAAI,cAAc,CAAA,IAAK,EAAE,CACxC,0BAAA,CAAA,GAAA,OAAA,CAAQ,GAAI,CAAA,cAAc,CAChC,CAAA;AAAA,GACF;AAGA,EAAA,MAAM,SAAS,IAAI,MAAA;AAAA,IACjB,UAAW,CAAA,UAAA,CAAW,GAAG,CAAA,GAAI,aAAa,IAAO,GAAA,UAAA;AAAA,IACjD;AAAA,MACE,GAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAA,CAAO,gBAAgB,YAAY,CAAA;AAGnC,EAAA,OAAO,MAAM,IAAI,OAAgB,CAAA,CAAC,SAAS,MAAW,KAAA;AACpD,IAAM,MAAA,OAAA,GAAU,WAAW,MAAM;AAC/B,MAAO,MAAA,CAAA,IAAI,KAAM,CAAA,sBAAsB,CAAC,CAAA;AAAA,OACvC,GAAI,CAAA;AAEP,IAAO,MAAA,CAAA,IAAA,CAAK,SAAW,EAAA,CAAC,GAAQ,KAAA;AAC9B,MAAA,IAAI,GAAI,CAAA,IAAA,KAAS,OAAW,IAAA,GAAA,CAAI,QAAQ,OAAS,EAAA;AAC/C,QAAA,YAAA,CAAa,OAAO,CAAA;AACpB,QAAA,OAAA,CAAQ,MAAM,CAAA;AAAA;AAChB,KACD,CAAA;AAED,IAAO,MAAA,CAAA,IAAA,CAAK,OAAS,EAAA,CAAC,KAAU,KAAA;AAC9B,MAAA,YAAA,CAAa,OAAO,CAAA;AACpB,MAAA,MAAA,CAAO,KAAK,CAAA;AAAA,KACb,CAAA;AAAA,GACF,CAAA;AACH;;;;"}
|