vite-plugin-react-server 0.3.9 → 0.3.11
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/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/package.json +2 -4
- package/dist/plugin/assertServerCondition.d.ts +5 -1
- package/dist/plugin/assertServerCondition.d.ts.map +1 -1
- package/dist/plugin/assertServerCondition.js +1 -3
- package/dist/plugin/checkFilesExist.js +10 -7
- package/dist/plugin/checkFilesExist.js.map +1 -1
- package/dist/plugin/components.js +1 -1
- package/dist/plugin/components.js.map +1 -1
- package/dist/plugin/config/createModuleIdGenerator.d.ts +11 -0
- package/dist/plugin/config/createModuleIdGenerator.d.ts.map +1 -0
- package/dist/plugin/config/createModuleIdGenerator.js +44 -0
- package/dist/plugin/config/createModuleIdGenerator.js.map +1 -0
- package/dist/plugin/config/defaults.d.ts +31 -19
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +22 -27
- package/dist/plugin/config/defaults.js.map +1 -1
- 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 +202 -16
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolvePages.d.ts +2 -0
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts +2 -2
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +161 -50
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.d.ts +20 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -0
- package/dist/plugin/helpers/getBundleManifest.js +43 -0
- package/dist/plugin/helpers/getBundleManifest.js.map +1 -0
- package/dist/plugin/helpers/getModuleManifest.d.ts +5 -0
- package/dist/plugin/helpers/getModuleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getModuleManifest.js +20 -21
- package/dist/plugin/helpers/inputNormalizer.d.ts +15 -1
- package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
- package/dist/plugin/helpers/inputNormalizer.js +122 -16
- package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts +2 -1
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +1 -1
- package/dist/plugin/helpers/inputNormalizerWorker.js +10 -7
- package/dist/plugin/helpers/tryManifest.d.ts +2 -0
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +1 -1
- package/dist/plugin/helpers/tryManifest.js.map +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts +6 -2
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +35 -10
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/loader/createPageLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createPageLoader.js +0 -7
- package/dist/plugin/plugin.d.ts +0 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +2 -1
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +3 -2
- package/dist/plugin/preserver/plugin.js.map +1 -1
- package/dist/plugin/react-client/index.d.ts +2 -1
- package/dist/plugin/react-client/index.d.ts.map +1 -1
- package/dist/plugin/react-client/index.js +19 -1
- package/dist/plugin/react-client/index.js.map +1 -0
- package/dist/plugin/react-client/plugin.d.ts +2 -2
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +106 -10
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-server/createHandler.d.ts +2 -2
- package/dist/plugin/react-server/createHandler.d.ts.map +1 -1
- package/dist/plugin/react-server/createHandler.js +5 -5
- package/dist/plugin/react-server/createHandler.js.map +1 -1
- package/dist/plugin/react-server/createRscStream.d.ts.map +1 -1
- package/dist/plugin/react-server/createRscStream.js +15 -1
- package/dist/plugin/react-server/createRscStream.js.map +1 -1
- package/dist/plugin/react-server/createSsrHandler.d.ts +2 -2
- package/dist/plugin/react-server/createSsrHandler.d.ts.map +1 -1
- package/dist/plugin/react-server/createSsrHandler.js +5 -12
- package/dist/plugin/react-server/index.js +18 -9
- package/dist/plugin/react-server/index.js.map +1 -0
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +133 -127
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/transformer/plugin.d.ts +2 -1
- package/dist/plugin/transformer/plugin.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.js +52 -72
- package/dist/plugin/transformer/plugin.js.map +1 -1
- package/dist/plugin/transformer/transformer-client-components.d.ts +12 -3
- package/dist/plugin/transformer/transformer-client-components.d.ts.map +1 -1
- package/dist/plugin/transformer/transformer-client-components.js +71 -10
- package/dist/plugin/transformer/transformer-client-components.js.map +1 -1
- package/dist/plugin/transformer/transformer-server-actions.d.ts +3 -3
- package/dist/plugin/transformer/transformer-server-actions.d.ts.map +1 -1
- package/dist/plugin/transformer/transformer-server-actions.js +80 -66
- package/dist/plugin/transformer/types.d.ts +4 -0
- package/dist/plugin/transformer/types.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +51 -20
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +37 -23
- 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 +10 -5
- package/dist/plugin/worker/html/renderPages.d.ts +7 -6
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +112 -57
- package/dist/plugin/worker/html/renderPages.js.map +1 -1
- package/dist/plugin/worker/loader.d.ts +1 -11
- package/dist/plugin/worker/loader.d.ts.map +1 -1
- package/dist/plugin/worker/loader.js +2 -2
- package/dist/plugin/worker/loader.js.map +1 -1
- package/dist/plugin/worker/plugin.d.ts +10 -1
- package/dist/plugin/worker/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/plugin.js +10 -1
- package/dist/plugin/worker/types.d.ts +17 -4
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/server.d.ts +1 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -3
- package/dist/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -4
- package/plugin/assertServerCondition.ts +2 -3
- package/plugin/checkFilesExist.ts +10 -10
- package/plugin/components.tsx +1 -1
- package/plugin/config/createModuleIdGenerator.ts +52 -0
- package/plugin/config/defaults.ts +24 -15
- package/plugin/config/resolveOptions.ts +253 -25
- package/plugin/config/resolvePages.ts +1 -1
- package/plugin/config/resolveUserConfig.ts +197 -62
- package/plugin/helpers/getBundleManifest.ts +75 -0
- package/plugin/helpers/getModuleManifest.ts +5 -0
- package/plugin/helpers/inputNormalizer.ts +175 -26
- package/plugin/helpers/inputNormalizerWorker.ts +13 -8
- package/plugin/helpers/tryManifest.ts +2 -0
- package/plugin/loader/createBuildLoader.ts +54 -10
- package/plugin/loader/createPageLoader.ts +1 -7
- package/plugin/plugin.ts +2 -1
- package/plugin/preserver/plugin.ts +2 -1
- package/plugin/react-client/index.ts +12 -1
- package/plugin/react-client/plugin.ts +127 -12
- package/plugin/react-server/createHandler.ts +7 -13
- package/plugin/react-server/createRscStream.ts +14 -2
- package/plugin/react-server/createSsrHandler.ts +7 -26
- package/plugin/react-server/plugin.ts +176 -144
- package/plugin/transformer/plugin.ts +69 -94
- package/plugin/transformer/transformer-client-components.ts +98 -24
- package/plugin/transformer/transformer-server-actions.ts +22 -7
- package/plugin/transformer/types.ts +4 -0
- package/plugin/types.ts +118 -64
- package/plugin/worker/html/messageHandler.ts +46 -31
- package/plugin/worker/html/plugin.ts +15 -11
- package/plugin/worker/html/renderPages.ts +175 -88
- package/plugin/worker/loader.ts +4 -13
- package/plugin/worker/plugin.ts +10 -1
- package/plugin/worker/types.ts +24 -3
- package/dist/node_modules/magic-string/dist/magic-string.es.js +0 -1283
- package/dist/node_modules/magic-string/dist/magic-string.es.js.map +0 -1
- package/dist/plugin/build/createClientBuildConfig.d.ts +0 -3
- package/dist/plugin/build/createClientBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createClientBuildConfig.js +0 -14
- package/dist/plugin/build/createServerBuildConfig.d.ts +0 -12
- package/dist/plugin/build/createServerBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createServerBuildConfig.js +0 -40
- package/dist/plugin/build/createSharedBuildConfig.d.ts +0 -5
- package/dist/plugin/build/createSharedBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createSharedBuildConfig.js +0 -28
- package/dist/plugin/build/mergeInputs.d.ts +0 -9
- package/dist/plugin/build/mergeInputs.d.ts.map +0 -1
- package/dist/plugin/build/mergeInputs.js +0 -56
- package/dist/plugin/config/moduleIdDefault.d.ts +0 -8
- package/dist/plugin/config/moduleIdDefault.d.ts.map +0 -1
- package/dist/plugin/config/moduleIdDefault.js +0 -23
- package/dist/plugin/config/moduleIdDefault.js.map +0 -1
- package/dist/plugin/helpers/getModuleManifest.js.map +0 -1
- package/dist/plugin/react-server/createDevMiddleware.d.ts +0 -8
- package/dist/plugin/react-server/createDevMiddleware.d.ts.map +0 -1
- package/dist/plugin/react-server/createDevMiddleware.js +0 -68
- package/dist/plugin/react-server/createDevServer.d.ts +0 -4
- package/dist/plugin/react-server/createDevServer.d.ts.map +0 -1
- package/dist/plugin/react-server/createDevServer.js +0 -4
- package/dist/plugin/react-server/createReactNodeStreamer.d.ts +0 -10
- package/dist/plugin/react-server/createReactNodeStreamer.d.ts.map +0 -1
- package/dist/plugin/react-server/createReactNodeStreamer.js +0 -7
- package/dist/plugin/transformer/transformer-server-actions.js.map +0 -1
- package/plugin/build/createClientBuildConfig.ts +0 -21
- package/plugin/build/createServerBuildConfig.ts +0 -66
- package/plugin/build/createSharedBuildConfig.ts +0 -35
- package/plugin/build/mergeInputs.ts +0 -58
- package/plugin/config/moduleIdDefault.ts +0 -23
- package/plugin/react-server/createDevMiddleware.ts +0 -91
- package/plugin/react-server/createDevServer.ts +0 -9
- package/plugin/react-server/createReactNodeStreamer.ts +0 -26
|
@@ -4,46 +4,232 @@
|
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
6
|
import { DEFAULT_CONFIG } from './defaults.js';
|
|
7
|
+
import 'path';
|
|
8
|
+
import { createModuleIdGenerator } from './createModuleIdGenerator.js';
|
|
7
9
|
|
|
8
|
-
const
|
|
10
|
+
const resolveAutoDiscoverMatcher = (options, fallback) => {
|
|
11
|
+
if (!options) {
|
|
12
|
+
if (typeof fallback === "function") {
|
|
13
|
+
return fallback;
|
|
14
|
+
} else {
|
|
15
|
+
return (path) => fallback.test(path);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
if (typeof options === "string") {
|
|
19
|
+
const matcher = new RegExp(options);
|
|
20
|
+
return (path) => matcher.test(path);
|
|
21
|
+
} else if (typeof options === "function") {
|
|
22
|
+
return options;
|
|
23
|
+
} else {
|
|
24
|
+
return (path) => options.test(path);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const resolveOptions = (options, isClient = false) => {
|
|
9
28
|
const projectRoot = options.projectRoot ?? process.cwd();
|
|
10
|
-
const
|
|
29
|
+
const { pageExportName = DEFAULT_CONFIG.PAGE_EXPORT, propsExportName = DEFAULT_CONFIG.PROPS_EXPORT } = options;
|
|
30
|
+
const pages = typeof options.build?.pages === "function" ? options.build.pages : Array.isArray(options.build?.pages) ? options.build.pages : DEFAULT_CONFIG.BUILD.pages;
|
|
31
|
+
let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;
|
|
32
|
+
let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;
|
|
33
|
+
const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;
|
|
34
|
+
const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;
|
|
35
|
+
const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;
|
|
36
|
+
const assetsDir = options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;
|
|
37
|
+
const ensureModuleBase = (n) => {
|
|
38
|
+
if (!n) return "";
|
|
39
|
+
return n.startsWith(moduleBase + "/") ? n.slice(moduleBase.length + 1) : n;
|
|
40
|
+
};
|
|
41
|
+
const testModulePattern = resolveAutoDiscoverMatcher(
|
|
42
|
+
options.autoDiscover?.modulePattern,
|
|
43
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern
|
|
44
|
+
);
|
|
45
|
+
const testJson = resolveAutoDiscoverMatcher(
|
|
46
|
+
options.autoDiscover?.jsonPattern,
|
|
47
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern
|
|
48
|
+
);
|
|
49
|
+
const testCss = resolveAutoDiscoverMatcher(
|
|
50
|
+
options.autoDiscover?.cssPattern,
|
|
51
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern
|
|
52
|
+
);
|
|
53
|
+
const testHtml = resolveAutoDiscoverMatcher(
|
|
54
|
+
options.autoDiscover?.htmlPattern,
|
|
55
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern
|
|
56
|
+
);
|
|
57
|
+
const testClientComponents = resolveAutoDiscoverMatcher(
|
|
58
|
+
options.autoDiscover?.clientComponents,
|
|
59
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents
|
|
60
|
+
);
|
|
61
|
+
const testServerFunctions = resolveAutoDiscoverMatcher(
|
|
62
|
+
options.autoDiscover?.serverFunctions,
|
|
63
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
|
|
64
|
+
);
|
|
65
|
+
const testPropsPattern = resolveAutoDiscoverMatcher(
|
|
66
|
+
options.autoDiscover?.propsPattern,
|
|
67
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern
|
|
68
|
+
);
|
|
69
|
+
const testPagePattern = resolveAutoDiscoverMatcher(
|
|
70
|
+
options.autoDiscover?.pagePattern,
|
|
71
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern
|
|
72
|
+
);
|
|
73
|
+
const testCssModule = resolveAutoDiscoverMatcher(
|
|
74
|
+
options.autoDiscover?.cssModulePattern,
|
|
75
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern
|
|
76
|
+
);
|
|
77
|
+
const testVendor = resolveAutoDiscoverMatcher(
|
|
78
|
+
options.autoDiscover?.vendorPattern,
|
|
79
|
+
DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern
|
|
80
|
+
);
|
|
81
|
+
const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
|
|
82
|
+
const hashOption = typeof options.build?.hash === "string" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash;
|
|
83
|
+
const hashString = hashOption === "" ? "" : `-[${hashOption}]`;
|
|
84
|
+
const hash = (n) => {
|
|
85
|
+
if (!n) return "";
|
|
86
|
+
if (hashString === "" || !isClient && !testClientComponents(n)) return n;
|
|
87
|
+
const extensionIndex = n.lastIndexOf(".");
|
|
88
|
+
if (extensionIndex !== -1 && !testClientComponents(n)) {
|
|
89
|
+
const extension = n.slice(extensionIndex);
|
|
90
|
+
const filename = n.slice(0, extensionIndex);
|
|
91
|
+
return filename + hashString + extension;
|
|
92
|
+
} else {
|
|
93
|
+
return n + hashString;
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
const getOutputPath = (n) => {
|
|
97
|
+
if (!n) return "";
|
|
98
|
+
const path = n.startsWith(moduleBase + "/") ? n.slice(moduleBase.length + 1) : n;
|
|
99
|
+
if (testClientComponents(path)) {
|
|
100
|
+
return `${assetsDir}/${path}`;
|
|
101
|
+
}
|
|
102
|
+
if (testCss(path)) {
|
|
103
|
+
return `${path}`;
|
|
104
|
+
}
|
|
105
|
+
if (testHtml(path)) {
|
|
106
|
+
if (options.autoDiscover?.htmlPattern && typeof options.autoDiscover.htmlPattern !== "function") {
|
|
107
|
+
return `${path.replace(options.autoDiscover.htmlPattern, ".js")}`;
|
|
108
|
+
} else {
|
|
109
|
+
return `${path.replace(".html", "")}`;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (testJson(path)) {
|
|
113
|
+
if (options.autoDiscover?.jsonPattern && typeof options.autoDiscover.jsonPattern !== "function") {
|
|
114
|
+
return `${path.replace(options.autoDiscover.jsonPattern, ".js")}`;
|
|
115
|
+
} else {
|
|
116
|
+
return `${path}`;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
if (testPropsPattern(path)) {
|
|
120
|
+
return `${path}`;
|
|
121
|
+
}
|
|
122
|
+
if (testPagePattern(path)) {
|
|
123
|
+
return `${path}`;
|
|
124
|
+
}
|
|
125
|
+
if (testServerFunctions(path)) {
|
|
126
|
+
return `${api}/${path}`;
|
|
127
|
+
}
|
|
128
|
+
if (testCssModule(path)) {
|
|
129
|
+
if (options.autoDiscover?.cssModulePattern && typeof options.autoDiscover.cssModulePattern !== "function") {
|
|
130
|
+
return `${path.replace(options.autoDiscover.cssModulePattern, ".js")}`;
|
|
131
|
+
} else {
|
|
132
|
+
return `${path.replace(".css.js", ".js")}`;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
if (testVendor(path)) {
|
|
136
|
+
return `vendor`;
|
|
137
|
+
}
|
|
138
|
+
return `${path}`;
|
|
139
|
+
};
|
|
140
|
+
const entryFile = (n) => {
|
|
141
|
+
if (testCss(n.name)) {
|
|
142
|
+
const result2 = `${hash(getOutputPath(ensureModuleBase(n.name + ".js")))}`;
|
|
143
|
+
return result2;
|
|
144
|
+
}
|
|
145
|
+
const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;
|
|
146
|
+
return result;
|
|
147
|
+
};
|
|
148
|
+
const chunkFile = (n) => {
|
|
149
|
+
const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;
|
|
150
|
+
return result;
|
|
151
|
+
};
|
|
152
|
+
const assetFile = (n) => {
|
|
153
|
+
const result = `${hash(getOutputPath(ensureModuleBase(n.names[0])))}`;
|
|
154
|
+
return result;
|
|
155
|
+
};
|
|
156
|
+
const build = typeof options.build === "object" && options.build !== null ? {
|
|
157
|
+
pages,
|
|
158
|
+
client,
|
|
159
|
+
server,
|
|
160
|
+
static: staticBuild,
|
|
161
|
+
outDir,
|
|
162
|
+
assetsDir,
|
|
163
|
+
api,
|
|
164
|
+
hash: hashOption,
|
|
165
|
+
preserveModulesRoot,
|
|
166
|
+
entryFile: typeof options.build?.entryFile === "function" ? options.build.entryFile : entryFile,
|
|
167
|
+
chunkFile: typeof options.build?.chunkFile === "function" ? options.build.chunkFile : chunkFile,
|
|
168
|
+
assetFile: typeof options.build?.assetFile === "function" ? options.build.assetFile : assetFile
|
|
169
|
+
} : {
|
|
170
|
+
pages,
|
|
171
|
+
client,
|
|
172
|
+
server,
|
|
173
|
+
static: staticBuild,
|
|
174
|
+
outDir,
|
|
175
|
+
assetsDir,
|
|
176
|
+
api,
|
|
177
|
+
hash: hashOption,
|
|
178
|
+
preserveModulesRoot,
|
|
179
|
+
entryFile,
|
|
180
|
+
chunkFile,
|
|
181
|
+
assetFile
|
|
182
|
+
};
|
|
11
183
|
const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
12
184
|
const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : options.moduleBase.startsWith("/") ? options.moduleBase : "/" + options.moduleBase;
|
|
13
185
|
const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;
|
|
186
|
+
const autoDiscover = {
|
|
187
|
+
modulePattern: testModulePattern,
|
|
188
|
+
cssPattern: testCss,
|
|
189
|
+
jsonPattern: testJson,
|
|
190
|
+
clientComponents: testClientComponents,
|
|
191
|
+
serverFunctions: testServerFunctions,
|
|
192
|
+
propsPattern: testPropsPattern,
|
|
193
|
+
pagePattern: testPagePattern,
|
|
194
|
+
cssModulePattern: testCssModule,
|
|
195
|
+
vendorPattern: testVendor
|
|
196
|
+
};
|
|
197
|
+
const moduleId = typeof options.moduleId === "function" ? options.moduleId : createModuleIdGenerator({
|
|
198
|
+
isProduction: process.env["NODE_ENV"] === "production",
|
|
199
|
+
inputRoot: projectRoot,
|
|
200
|
+
client,
|
|
201
|
+
server,
|
|
202
|
+
moduleBase,
|
|
203
|
+
preserveModulesRoot,
|
|
204
|
+
removeExtension: DEFAULT_CONFIG.FILE_REGEX,
|
|
205
|
+
imports: {}
|
|
206
|
+
});
|
|
14
207
|
try {
|
|
15
208
|
return {
|
|
16
209
|
type: "success",
|
|
17
210
|
userOptions: {
|
|
18
211
|
projectRoot,
|
|
212
|
+
moduleId,
|
|
19
213
|
moduleBase,
|
|
20
214
|
moduleBasePath,
|
|
21
215
|
moduleBaseURL,
|
|
22
|
-
build
|
|
23
|
-
pages: build.pages ?? DEFAULT_CONFIG.BUILD.pages,
|
|
24
|
-
client: build.client ?? DEFAULT_CONFIG.BUILD.client,
|
|
25
|
-
server: build.server ?? DEFAULT_CONFIG.BUILD.server,
|
|
26
|
-
static: build.static ?? DEFAULT_CONFIG.BUILD.static
|
|
27
|
-
},
|
|
216
|
+
build,
|
|
28
217
|
Page: options.Page ?? DEFAULT_CONFIG.PAGE,
|
|
29
218
|
props: options.props ?? DEFAULT_CONFIG.PROPS,
|
|
30
219
|
Html: options.Html ?? DEFAULT_CONFIG.HTML,
|
|
31
|
-
pageExportName
|
|
32
|
-
propsExportName
|
|
220
|
+
pageExportName,
|
|
221
|
+
propsExportName,
|
|
33
222
|
collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,
|
|
34
223
|
collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,
|
|
35
|
-
assetsDir: options.assetsDir ?? DEFAULT_CONFIG.CLIENT_ASSETS_DIR,
|
|
36
224
|
htmlWorkerPath: options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,
|
|
37
225
|
rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,
|
|
38
226
|
loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,
|
|
39
227
|
clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,
|
|
40
228
|
serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,
|
|
41
229
|
moduleBaseExceptions: options.moduleBaseExceptions ?? [],
|
|
42
|
-
autoDiscover
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
clientComponents: options.autoDiscover?.clientComponents ?? DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents,
|
|
46
|
-
serverFunctions: options.autoDiscover?.serverFunctions ?? DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
|
|
230
|
+
autoDiscover,
|
|
231
|
+
pipableStreamOptions: options.pipableStreamOptions ?? {
|
|
232
|
+
bootstrapModules: [options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY]
|
|
47
233
|
}
|
|
48
234
|
}
|
|
49
235
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nexport const resolveOptions = (\n options: StreamPluginOptions\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n\n const build = options.build ?? DEFAULT_CONFIG.BUILD;\n\n const moduleBase = typeof options.moduleBase === \"string\" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : options.moduleBase.startsWith(\"/\")\n ? options.moduleBase\n : \"/\" + options.moduleBase;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: {\n pages: build.pages ?? DEFAULT_CONFIG.BUILD.pages,\n client: build.client ?? DEFAULT_CONFIG.BUILD.client,\n server: build.server ?? DEFAULT_CONFIG.BUILD.server,\n static: build.static ?? DEFAULT_CONFIG.BUILD.static,\n },\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n pageExportName: options.pageExportName ?? DEFAULT_CONFIG.PAGE_EXPORT,\n propsExportName: options.propsExportName ?? DEFAULT_CONFIG.PROPS_EXPORT,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n assetsDir: options.assetsDir ?? DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n htmlWorkerPath:\n options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,\n rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,\n loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: {\n pagePattern:\n options.autoDiscover?.pagePattern ??\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern,\n propsPattern:\n options.autoDiscover?.propsPattern ??\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern,\n clientComponents:\n options.autoDiscover?.clientComponents ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents,\n serverFunctions:\n options.autoDiscover?.serverFunctions ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions,\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":";;;;;;;AAGa,MAAA,cAAA,GAAiB,CAC5B,OAGqC,KAAA;AACrC,EAAA,MAAM,WAAc,GAAA,OAAA,CAAQ,WAAe,IAAA,OAAA,CAAQ,GAAI,EAAA;AAEvD,EAAM,MAAA,KAAA,GAAQ,OAAQ,CAAA,KAAA,IAAS,cAAe,CAAA,KAAA;AAE9C,EAAA,MAAM,aAAa,OAAO,OAAA,CAAQ,eAAe,QAAW,GAAA,OAAA,CAAQ,aAAa,cAAe,CAAA,WAAA;AAChG,EAAA,MAAM,cACJ,GAAA,OAAO,OAAQ,CAAA,cAAA,KAAmB,WAC9B,OAAQ,CAAA,cAAA,GACR,OAAQ,CAAA,UAAA,CAAW,WAAW,GAAG,CAAA,GACjC,OAAQ,CAAA,UAAA,GACR,MAAM,OAAQ,CAAA,UAAA;AACpB,EAAM,MAAA,aAAA,GACJ,OAAO,OAAQ,CAAA,aAAA,KAAkB,WAC7B,OAAQ,CAAA,aAAA,GACR,kBAAkB,cAAe,CAAA,eAAA;AACvC,EAAI,IAAA;AACF,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA;AAAA,QACX,WAAA;AAAA,QACA,UAAA;AAAA,QACA,cAAA;AAAA,QACA,aAAA;AAAA,QACA,KAAO,EAAA;AAAA,UACL,KAAO,EAAA,KAAA,CAAM,KAAS,IAAA,cAAA,CAAe,KAAM,CAAA,KAAA;AAAA,UAC3C,MAAQ,EAAA,KAAA,CAAM,MAAU,IAAA,cAAA,CAAe,KAAM,CAAA,MAAA;AAAA,UAC7C,MAAQ,EAAA,KAAA,CAAM,MAAU,IAAA,cAAA,CAAe,KAAM,CAAA,MAAA;AAAA,UAC7C,MAAQ,EAAA,KAAA,CAAM,MAAU,IAAA,cAAA,CAAe,KAAM,CAAA;AAAA,SAC/C;AAAA,QACA,IAAA,EAAM,OAAQ,CAAA,IAAA,IAAQ,cAAe,CAAA,IAAA;AAAA,QACrC,KAAA,EAAO,OAAQ,CAAA,KAAA,IAAS,cAAe,CAAA,KAAA;AAAA,QACvC,IAAA,EAAM,OAAQ,CAAA,IAAA,IAAQ,cAAe,CAAA,IAAA;AAAA,QACrC,cAAA,EAAgB,OAAQ,CAAA,cAAA,IAAkB,cAAe,CAAA,WAAA;AAAA,QACzD,eAAA,EAAiB,OAAQ,CAAA,eAAA,IAAmB,cAAe,CAAA,YAAA;AAAA,QAC3D,UAAA,EAAY,OAAQ,CAAA,UAAA,IAAc,cAAe,CAAA,WAAA;AAAA,QACjD,aAAA,EAAe,OAAQ,CAAA,aAAA,IAAiB,cAAe,CAAA,cAAA;AAAA,QACvD,SAAA,EAAW,OAAQ,CAAA,SAAA,IAAa,cAAe,CAAA,iBAAA;AAAA,QAC/C,cAAA,EACE,OAAQ,CAAA,cAAA,IAAkB,cAAe,CAAA,gBAAA;AAAA,QAC3C,aAAA,EAAe,OAAQ,CAAA,aAAA,IAAiB,cAAe,CAAA,eAAA;AAAA,QACvD,UAAA,EAAY,OAAQ,CAAA,UAAA,IAAc,cAAe,CAAA,WAAA;AAAA,QACjD,WAAA,EAAa,OAAQ,CAAA,WAAA,IAAe,cAAe,CAAA,YAAA;AAAA,QACnD,WAAA,EAAa,OAAQ,CAAA,WAAA,IAAe,cAAe,CAAA,YAAA;AAAA,QACnD,oBAAA,EAAsB,OAAQ,CAAA,oBAAA,IAAwB,EAAC;AAAA,QACvD,YAAc,EAAA;AAAA,UACZ,WACE,EAAA,OAAA,CAAQ,YAAc,EAAA,WAAA,IACtB,eAAe,aAAc,CAAA,WAAA;AAAA,UAC/B,YACE,EAAA,OAAA,CAAQ,YAAc,EAAA,YAAA,IACtB,eAAe,aAAc,CAAA,YAAA;AAAA,UAC/B,gBACE,EAAA,OAAA,CAAQ,YAAc,EAAA,gBAAA,IACtB,eAAe,aAAc,CAAA,gBAAA;AAAA,UAC/B,eACE,EAAA,OAAA,CAAQ,YAAc,EAAA,eAAA,IACtB,eAAe,aAAc,CAAA;AAAA;AACjC;AACF,KACF;AAAA,WACO,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OACE,KAAiB,YAAA,KAAA,GAAQ,KAAQ,GAAA,IAAI,MAAM,2BAA2B;AAAA,KAC1E;AAAA;AAEJ;;;;"}
|
|
1
|
+
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"path\";\nimport { createModuleIdGenerator } from \"./createModuleIdGenerator.js\";\n\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\nexport const resolveOptions = (\n options: StreamPluginOptions,\n isClient: boolean = false\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n const { pageExportName = DEFAULT_CONFIG.PAGE_EXPORT, propsExportName = DEFAULT_CONFIG.PROPS_EXPORT } = options;\n const pages =\n typeof options.build?.pages === \"function\"\n ? options.build.pages\n : Array.isArray(options.build?.pages)\n ? options.build.pages\n : DEFAULT_CONFIG.BUILD.pages;\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n\n const api = options.build?.api ?? DEFAULT_CONFIG.BUILD.api;\n const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;\n const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;\n const assetsDir =\n options.build?.assetsDir ??\n `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n const ensureModuleBase = (n: string | null) => {\n if(!n) return '';\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n }\n\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n const hashOption = typeof options.build?.hash === \"string\" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash\n const hashString = hashOption === '' ? '' : `-[${hashOption}]`;\n const hash = (n: string | null) => {\n if(!n) return '';\n if(hashString === '' || (!isClient && !testClientComponents(n))) return n;\n const extensionIndex = n.lastIndexOf('.') \n if(extensionIndex !== -1 && !testClientComponents(n)) {\n // put hash between extension and filename\n const extension = n.slice(extensionIndex)\n const filename = n.slice(0, extensionIndex)\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n }\n\n const getOutputPath = (n: string | null) => {\n if(!n) return '';\n // Remove src/ prefix if present\n const path = n.startsWith(moduleBase + \"/\")\n ? n.slice(moduleBase.length + 1)\n : n;\n\n if (testClientComponents(path)) {\n return `${assetsDir}/${path}`; \n }\n if (testCss(path)) {\n return `${path}`; \n }\n if(testHtml(path)) {\n if(options.autoDiscover?.htmlPattern && typeof options.autoDiscover.htmlPattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.htmlPattern, '.js')}`;\n } else {\n return `${path.replace('.html', '')}`; \n }\n }\n if(testJson(path)) {\n if(options.autoDiscover?.jsonPattern && typeof options.autoDiscover.jsonPattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.jsonPattern, '.js')}`;\n } else {\n return `${path}`; \n }\n }\n if (testPropsPattern(path)) {\n return `${path}`; \n }\n if (testPagePattern(path)) {\n return `${path}`; \n }\n if (testServerFunctions(path)) {\n return `${api}/${path}`; // \n }\n if(testCssModule(path)) {\n if(options.autoDiscover?.cssModulePattern && typeof options.autoDiscover.cssModulePattern !== \"function\") {\n // if it's not a function, use it as an option for replace\n return `${path.replace(options.autoDiscover.cssModulePattern, '.js')}`;\n } else {\n return `${path.replace('.css.js', '.js')}`;\n }\n }\n if(testVendor(path)) {\n return `vendor`;\n }\n return `${path}`;\n };\n\n const entryFile = (n: PreRenderedChunk) => {\n if(testCss(n.name)) {\n // this is the css.js chunk for ssr, which (if we keep the .css) would go into client, this prevents that.\n const result = `${hash(getOutputPath(ensureModuleBase(n.name + '.js')))}`;\n return result;\n }\n const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;\n return result;\n }\n\n const chunkFile = (n: PreRenderedChunk) => {\n const result = `${hash(getOutputPath(ensureModuleBase(n.name)))}.js`;\n return result;\n }\n\n const assetFile = (n: PreRenderedAsset) => {\n const result = `${hash(getOutputPath(ensureModuleBase(n.names[0])))}`;\n return result;\n }\n\n const build =\n typeof options.build === \"object\" && options.build !== null\n ? {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile:\n typeof options.build?.entryFile === \"function\"\n ? options.build.entryFile\n : entryFile,\n chunkFile:\n typeof options.build?.chunkFile === \"function\"\n ? options.build.chunkFile\n : chunkFile,\n assetFile:\n typeof options.build?.assetFile === \"function\"\n ? options.build.assetFile\n : assetFile,\n }\n : {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile,\n chunkFile,\n assetFile,\n };\n\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : options.moduleBase.startsWith(\"/\")\n ? options.moduleBase\n : \"/\" + options.moduleBase;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n \n const autoDiscover = {\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n };\n\n const moduleId = typeof options.moduleId === \"function\" ? options.moduleId : createModuleIdGenerator({\n isProduction: process.env['NODE_ENV'] === \"production\",\n inputRoot: projectRoot,\n client: client,\n server: server,\n moduleBase: moduleBase,\n preserveModulesRoot: preserveModulesRoot,\n removeExtension: DEFAULT_CONFIG.FILE_REGEX,\n imports: {},\n });\n\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleId,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: build,\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n htmlWorkerPath:\n options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,\n rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,\n loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipableStreamOptions: options.pipableStreamOptions ?? {\n bootstrapModules: [options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY],\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":["result"],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ResolvedUserOptions } from '../types.js';
|
|
2
2
|
export declare function resolvePages(pages: ResolvedUserOptions["build"]["pages"]): Promise<{
|
|
3
3
|
type: "success";
|
|
4
|
+
error?: never;
|
|
4
5
|
pages: string[];
|
|
5
6
|
} | {
|
|
6
7
|
type: "error";
|
|
7
8
|
error: Error;
|
|
9
|
+
pages?: never;
|
|
8
10
|
}>;
|
|
9
11
|
//# sourceMappingURL=resolvePages.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePages.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolvePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAC3C,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"resolvePages.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolvePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAC3C,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAA;CAAE,CAAC,CAsC7G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePages.js","sources":["../../../plugin/config/resolvePages.ts"],"sourcesContent":["import type { ResolvedUserOptions } from '../types.js';\n\nexport async function resolvePages(\n pages: ResolvedUserOptions[\"build\"][\"pages\"]\n): Promise<{ type: \"success\"; pages: string[] } | { type: \"error\"; error: Error }> {\n if (!pages) {\n return { type: \"success\", pages: [] };\n }\n\n try {\n // Handle function\n if (typeof pages === \"function\") {\n const result = await Promise.resolve(pages());\n return resolvePages(result);\n }\n\n // Handle Promise\n if (pages instanceof Promise) {\n const result = await pages;\n return resolvePages(result);\n }\n\n // Handle string\n if (typeof pages === \"string\") {\n return { type: \"success\", pages: [pages] };\n }\n\n // Handle array\n if (Array.isArray(pages)) {\n if (pages.every(page => typeof page === \"string\")) {\n return { type: \"success\", pages };\n }\n throw new Error('All pages must be strings');\n }\n\n throw new Error('Invalid pages format');\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error('Failed to resolve pages')\n };\n }\n} "],"names":[],"mappings":";;;;;AAEA,eAAsB,aACpB,
|
|
1
|
+
{"version":3,"file":"resolvePages.js","sources":["../../../plugin/config/resolvePages.ts"],"sourcesContent":["import type { ResolvedUserOptions } from '../types.js';\n\nexport async function resolvePages(\n pages: ResolvedUserOptions[\"build\"][\"pages\"]\n): Promise<{ type: \"success\"; error?:never; pages: string[] } | { type: \"error\"; error: Error; pages?:never }> {\n if (!pages) {\n return { type: \"success\", pages: [] };\n }\n\n try {\n // Handle function\n if (typeof pages === \"function\") {\n const result = await Promise.resolve(pages());\n return resolvePages(result);\n }\n\n // Handle Promise\n if (pages instanceof Promise) {\n const result = await pages;\n return resolvePages(result);\n }\n\n // Handle string\n if (typeof pages === \"string\") {\n return { type: \"success\", pages: [pages] };\n }\n\n // Handle array\n if (Array.isArray(pages)) {\n if (pages.every(page => typeof page === \"string\")) {\n return { type: \"success\", pages };\n }\n throw new Error('All pages must be strings');\n }\n\n throw new Error('Invalid pages format');\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error('Failed to resolve pages')\n };\n }\n} "],"names":[],"mappings":";;;;;AAEA,eAAsB,aACpB,KAC6G,EAAA;AAC7G,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAA,OAAO,EAAE,IAAA,EAAM,SAAW,EAAA,KAAA,EAAO,EAAG,EAAA;AAAA;AAGtC,EAAI,IAAA;AAEF,IAAI,IAAA,OAAO,UAAU,UAAY,EAAA;AAC/B,MAAA,MAAM,MAAS,GAAA,MAAM,OAAQ,CAAA,OAAA,CAAQ,OAAO,CAAA;AAC5C,MAAA,OAAO,aAAa,MAAM,CAAA;AAAA;AAI5B,IAAA,IAAI,iBAAiB,OAAS,EAAA;AAC5B,MAAA,MAAM,SAAS,MAAM,KAAA;AACrB,MAAA,OAAO,aAAa,MAAM,CAAA;AAAA;AAI5B,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,MAAA,OAAO,EAAE,IAAM,EAAA,SAAA,EAAW,KAAO,EAAA,CAAC,KAAK,CAAE,EAAA;AAAA;AAI3C,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,MAAA,IAAI,MAAM,KAAM,CAAA,CAAA,IAAA,KAAQ,OAAO,IAAA,KAAS,QAAQ,CAAG,EAAA;AACjD,QAAO,OAAA,EAAE,IAAM,EAAA,SAAA,EAAW,KAAM,EAAA;AAAA;AAElC,MAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA;AAAA;AAG7C,IAAM,MAAA,IAAI,MAAM,sBAAsB,CAAA;AAAA,WAC/B,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OAAO,KAAiB,YAAA,KAAA,GAAQ,KAAQ,GAAA,IAAI,MAAM,yBAAyB;AAAA,KAC7E;AAAA;AAEJ;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ConfigEnv, UserConfig } from "vite";
|
|
2
2
|
import type { CheckFilesExistReturn, ResolvedUserConfig, ResolvedUserOptions } from "../types.js";
|
|
3
3
|
export type ResolveUserConfigProps = {
|
|
4
|
-
|
|
4
|
+
isClient?: boolean;
|
|
5
5
|
config: UserConfig;
|
|
6
6
|
configEnv: ConfigEnv;
|
|
7
7
|
userOptions: ResolvedUserOptions;
|
|
@@ -14,5 +14,5 @@ export type ResolveUserConfigReturn = {
|
|
|
14
14
|
type: "error";
|
|
15
15
|
error: Error;
|
|
16
16
|
};
|
|
17
|
-
export declare function resolveUserConfig({
|
|
17
|
+
export declare function resolveUserConfig({ isClient, config, configEnv, userOptions, files, }: ResolveUserConfigProps): ResolveUserConfigReturn;
|
|
18
18
|
//# sourceMappingURL=resolveUserConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"resolveUserConfig.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveUserConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EACV,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,uBAAuB,CAyMlD"}
|
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
* Copyright (c) Nico Brinkkemper
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
|
-
import { DEFAULT_CONFIG } from './defaults.js';
|
|
7
6
|
import { createInputNormalizer } from '../helpers/inputNormalizer.js';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
import { globSync } from 'fs';
|
|
8
9
|
|
|
9
10
|
function resolveUserConfig({
|
|
10
|
-
|
|
11
|
+
isClient = false,
|
|
11
12
|
config,
|
|
12
13
|
configEnv,
|
|
13
14
|
userOptions,
|
|
@@ -15,61 +16,171 @@ function resolveUserConfig({
|
|
|
15
16
|
}) {
|
|
16
17
|
try {
|
|
17
18
|
const root = config.root ?? userOptions.projectRoot ?? process.cwd();
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
const normalizer = createInputNormalizer({
|
|
20
|
+
root,
|
|
21
|
+
preserveModulesRoot: void 0
|
|
22
|
+
});
|
|
23
|
+
const serverEntry = userOptions.serverEntry ? Object.fromEntries([
|
|
24
|
+
normalizer([userOptions.serverEntry, userOptions.serverEntry])
|
|
25
|
+
]) : null;
|
|
26
|
+
const clientEntry = userOptions.clientEntry ? Object.fromEntries(
|
|
27
|
+
[
|
|
28
|
+
[userOptions.clientEntry, userOptions.clientEntry],
|
|
29
|
+
["index.html", "index.html"]
|
|
30
|
+
].map(normalizer)
|
|
31
|
+
) : { "index.html": "index.html" };
|
|
32
|
+
const autoDiscoveredClientFiles = (inputs2) => {
|
|
33
|
+
const allFiles = globSync(`**/*.client.*`, {
|
|
34
|
+
cwd: join(root, userOptions.moduleBase)
|
|
35
|
+
});
|
|
36
|
+
for (const [key, value] of Object.entries(allFiles).map(([n, path]) => {
|
|
37
|
+
if (typeof path !== "string") {
|
|
38
|
+
throw new Error(`Invalid path: ${JSON.stringify(path)}`);
|
|
39
|
+
}
|
|
40
|
+
const [key2, value2] = normalizer(join(userOptions.moduleBase, path));
|
|
41
|
+
return [key2, value2];
|
|
42
|
+
})) {
|
|
43
|
+
if (!inputs2[key]) {
|
|
44
|
+
inputs2[key] = value;
|
|
45
|
+
}
|
|
33
46
|
}
|
|
47
|
+
return inputs2;
|
|
34
48
|
};
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
format: "esm",
|
|
59
|
-
exports: "named",
|
|
60
|
-
hoistTransitiveImports: false,
|
|
61
|
-
generatedCode: {
|
|
62
|
-
constBindings: true,
|
|
63
|
-
objectShorthand: true
|
|
64
|
-
},
|
|
65
|
-
interop: "auto"
|
|
66
|
-
} : void 0
|
|
49
|
+
const autoDiscoveredServerFiles = (inputs2) => {
|
|
50
|
+
const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {
|
|
51
|
+
cwd: join(root, userOptions.moduleBase)
|
|
52
|
+
});
|
|
53
|
+
for (const [key, value] of Object.entries(allFiles).map(normalizer)) {
|
|
54
|
+
if (!inputs2[key]) {
|
|
55
|
+
inputs2[key] = value;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return inputs2;
|
|
59
|
+
};
|
|
60
|
+
const autoDiscoveredFiles = (inputs2) => {
|
|
61
|
+
if (!files) {
|
|
62
|
+
return inputs2;
|
|
63
|
+
}
|
|
64
|
+
for (const [key, value] of Object.entries(Array.from(files.pageMap.entries())).map(normalizer)) {
|
|
65
|
+
if (!inputs2[key]) {
|
|
66
|
+
inputs2[key] = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
for (const [key, value] of Object.entries(Array.from(files.propsMap.entries())).map(normalizer)) {
|
|
70
|
+
if (!inputs2[key]) {
|
|
71
|
+
inputs2[key] = value;
|
|
67
72
|
}
|
|
68
73
|
}
|
|
74
|
+
return inputs2;
|
|
69
75
|
};
|
|
76
|
+
let inputs = isClient ? autoDiscoveredClientFiles(clientEntry) : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));
|
|
77
|
+
if (userOptions.build.preserveModulesRoot) {
|
|
78
|
+
inputs = Object.fromEntries(
|
|
79
|
+
Object.entries(inputs).map(([key, value]) => {
|
|
80
|
+
if (key.startsWith(userOptions.moduleBase + "/")) {
|
|
81
|
+
return [key.slice(userOptions.moduleBase.length + 1), value];
|
|
82
|
+
}
|
|
83
|
+
return [key, value];
|
|
84
|
+
})
|
|
85
|
+
);
|
|
86
|
+
}
|
|
87
|
+
const envDir = isClient ? userOptions.build.client : userOptions.build.server;
|
|
88
|
+
if (isClient) {
|
|
89
|
+
return {
|
|
90
|
+
type: "success",
|
|
91
|
+
userConfig: {
|
|
92
|
+
...config,
|
|
93
|
+
root,
|
|
94
|
+
mode: configEnv.command === "build" ? "production" : "development",
|
|
95
|
+
resolve: {
|
|
96
|
+
external: ["react", "react-dom"],
|
|
97
|
+
alias: {
|
|
98
|
+
[userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),
|
|
99
|
+
[userOptions.moduleBase]: join(root, userOptions.moduleBase),
|
|
100
|
+
["index.html"]: join(root, "index.html")
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
ssr: {
|
|
104
|
+
target: "node",
|
|
105
|
+
external: ["react", "react-dom", "react-server-dom-esm/client.browser"],
|
|
106
|
+
resolve: {
|
|
107
|
+
conditions: ["react-server"],
|
|
108
|
+
externalConditions: ["react-server"]
|
|
109
|
+
}
|
|
110
|
+
},
|
|
111
|
+
build: {
|
|
112
|
+
...config.build,
|
|
113
|
+
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
114
|
+
outDir: join(userOptions.build.outDir, envDir),
|
|
115
|
+
assetsDir: userOptions.build.assetsDir,
|
|
116
|
+
// modern browsers
|
|
117
|
+
target: ["esnext"],
|
|
118
|
+
minify: true,
|
|
119
|
+
ssr: true,
|
|
120
|
+
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
121
|
+
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
122
|
+
ssrEmitAssets: true,
|
|
123
|
+
rollupOptions: {
|
|
124
|
+
...config.build?.rollupOptions,
|
|
125
|
+
input: inputs,
|
|
126
|
+
output: {
|
|
127
|
+
...config.build?.rollupOptions?.output,
|
|
128
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
const mergeOutputArray = Array.isArray(config.build?.rollupOptions?.output);
|
|
136
|
+
const pluginOutput = {
|
|
137
|
+
preserveModules: true,
|
|
138
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
|
|
139
|
+
entryFileNames: userOptions.build.entryFile,
|
|
140
|
+
assetFileNames: userOptions.build.assetFile,
|
|
141
|
+
chunkFileNames: userOptions.build.chunkFile,
|
|
142
|
+
format: "esm",
|
|
143
|
+
exports: "named",
|
|
144
|
+
hoistTransitiveImports: false,
|
|
145
|
+
generatedCode: {
|
|
146
|
+
constBindings: true,
|
|
147
|
+
objectShorthand: true
|
|
148
|
+
},
|
|
149
|
+
interop: "auto"
|
|
150
|
+
};
|
|
151
|
+
const newOutput = Array.isArray(config.build?.rollupOptions?.output) ? [...config.build?.rollupOptions?.output, pluginOutput] : typeof config.build?.rollupOptions?.output === "object" && config.build?.rollupOptions?.output !== null ? [config.build?.rollupOptions?.output, pluginOutput] : pluginOutput;
|
|
70
152
|
return {
|
|
71
153
|
type: "success",
|
|
72
|
-
userConfig
|
|
154
|
+
userConfig: {
|
|
155
|
+
...config,
|
|
156
|
+
root,
|
|
157
|
+
mode: configEnv.command === "build" ? "production" : "development",
|
|
158
|
+
resolve: {
|
|
159
|
+
alias: {
|
|
160
|
+
[userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),
|
|
161
|
+
[userOptions.moduleBase]: join(root, userOptions.moduleBase),
|
|
162
|
+
["index.html"]: join(root, "index.html")
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
build: {
|
|
166
|
+
...config.build,
|
|
167
|
+
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
168
|
+
outDir: join(userOptions.build.outDir, envDir),
|
|
169
|
+
target: "node18",
|
|
170
|
+
minify: true,
|
|
171
|
+
ssr: true,
|
|
172
|
+
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
173
|
+
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
174
|
+
ssrEmitAssets: true,
|
|
175
|
+
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
176
|
+
rollupOptions: {
|
|
177
|
+
...config.build?.rollupOptions,
|
|
178
|
+
input: inputs,
|
|
179
|
+
preserveEntrySignatures: "strict",
|
|
180
|
+
output: newOutput
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
|
73
184
|
};
|
|
74
185
|
} catch (error) {
|
|
75
186
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type { CheckFilesExistReturn, ResolvedUserConfig, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\" | \"\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn = \n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n condition,\n config,\n configEnv,\n userOptions,\n files\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n\n\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n const existingInput = config.build?.rollupOptions?.input || {};\n const currentInputs = typeof existingInput === 'string' ? { default: existingInput } : existingInput;\n const normalizer = createInputNormalizer(root);\n\n const serverEntry = userOptions.serverEntry ? [userOptions.serverEntry, userOptions.serverEntry] : [];\n // Add inputs based on condition\n const inputs = {\n ...currentInputs,\n ...(condition === 'react-server' && files ? {\n 'index.html': '/index.html',\n ...Object.fromEntries([\n ...serverEntry,\n ...Array.from(files.pageMap.entries()),\n ...Array.from(files.propsMap.entries())\n ].map(normalizer))\n } : {\n client: userOptions.clientEntry\n })\n };\n\n const userConfig = {\n ...config,\n root: root,\n mode: configEnv.command === 'build' ? 'production' : 'development',\n build: {\n ...config.build,\n outDir: condition === 'react-server' ? userOptions.build.server : userOptions.build.client,\n assetsDir: condition === 'react-server' ? \"\" : DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n ssr: condition === 'react-server',\n target: condition === 'react-server' ? 'node18' : 'es2020',\n minify: condition === 'react-server' ? false : true,\n manifest: true,\n ssrManifest: false,\n ssrEmitAssets: true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: 'strict',\n output: condition === 'react-server' ? {\n preserveModules: true,\n entryFileNames: '[name].js',\n assetFileNames: '[name].[ext]',\n chunkFileNames: '[name].[ext]',\n format: 'esm',\n exports: 'named',\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true\n },\n interop: 'auto'\n } : undefined\n }\n }\n };\n\n return {\n type: \"success\",\n userConfig: userConfig as ResolvedUserConfig\n };\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error(\"Failed to resolve config\")\n };\n }\n} "],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n CheckFilesExistReturn,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { join } from \"path\";\n// @ts-ignore\nimport { globSync } from \"fs\";\nimport type { OutputOptions } from \"rollup\";\nexport type ResolveUserConfigProps = {\n isClient?: boolean;\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n isClient = false,\n config,\n configEnv,\n userOptions,\n files,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: undefined,\n });\n\n const serverEntry = userOptions.serverEntry\n ? Object.fromEntries([\n normalizer([userOptions.serverEntry, userOptions.serverEntry]),\n ])\n : null;\n const clientEntry = userOptions.clientEntry\n ? Object.fromEntries(\n [\n [userOptions.clientEntry, userOptions.clientEntry],\n [\"index.html\", \"index.html\"],\n ].map(normalizer)\n )\n : { \"index.html\": \"index.html\" };\n\n const autoDiscoveredClientFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`**/*.client.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const [key, value] of Object.entries(allFiles).map(([n, path]) => {\n if (typeof path !== \"string\") {\n throw new Error(`Invalid path: ${JSON.stringify(path)}`);\n }\n const [key, value] = normalizer(join(userOptions.moduleBase, path));\n return [key, value];\n })) {\n // check if not already in the inputs\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n const autoDiscoveredServerFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const [key, value] of Object.entries(allFiles).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n const autoDiscoveredFiles = (inputs: Record<string, string>) => {\n if(!files) {\n return inputs;\n }\n for (const [key, value] of Object.entries( Array.from(files.pageMap.entries())).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n for (const [key, value] of Object.entries( Array.from(files.propsMap.entries())).map(normalizer)) {\n if (!inputs[key]) {\n inputs[key] = value;\n }\n }\n return inputs;\n };\n\n // Add inputs based on condition\n let inputs = isClient\n ? autoDiscoveredClientFiles(clientEntry)\n : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));\n\n if (userOptions.build.preserveModulesRoot) {\n inputs = Object.fromEntries(\n Object.entries(inputs).map(([key, value]) => {\n if (key.startsWith(userOptions.moduleBase + \"/\")) {\n return [key.slice(userOptions.moduleBase.length + 1), value];\n }\n return [key, value];\n })\n );\n }\n\n const envDir = isClient\n ? userOptions.build.client\n : userOptions.build.server;\n if (isClient) {\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n external: [\"react\", \"react-dom\"],\n alias: {\n [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),\n [userOptions.moduleBase]: join(root, userOptions.moduleBase),\n ['index.html']: join(root, 'index.html')\n }\n },\n ssr: {\n target: \"node\",\n external: [\"react\", \"react-dom\", \"react-server-dom-esm/client.browser\"],\n resolve: {\n conditions: [\"react-server\"],\n externalConditions: [\"react-server\"],\n },\n },\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n assetsDir: userOptions.build.assetsDir,\n // modern browsers\n target: [\"esnext\"],\n minify: true,\n ssr: true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n output: {\n ...config.build?.rollupOptions?.output,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n },\n },\n },\n },\n };\n }\n const mergeOutputArray = (Array.isArray(config.build?.rollupOptions?.output)) \n const pluginOutput = {\n preserveModules: true,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: userOptions.build.entryFile,\n assetFileNames: userOptions.build.assetFile,\n chunkFileNames: userOptions.build.chunkFile,\n format: \"esm\",\n exports: \"named\",\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true,\n },\n interop: \"auto\",\n } satisfies OutputOptions;\n const newOutput = Array.isArray(config.build?.rollupOptions?.output) ? \n [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === 'object' && config.build?.rollupOptions?.output !== null ?\n [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n alias: {\n [userOptions.moduleBasePath]: join(root, userOptions.moduleBasePath),\n [userOptions.moduleBase]: join(root, userOptions.moduleBase),\n ['index.html']: join(root, 'index.html')\n }\n },\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n target: \"node18\",\n minify: true,\n ssr: true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: \"strict\",\n output: newOutput,\n },\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve config\"),\n };\n }\n}\n"],"names":["inputs","key","value"],"mappings":"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"}
|