vite-plugin-react-server 1.1.7 → 1.1.9
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/package.json +10 -5
- package/dist/plugin/config/defaults.d.ts +1 -1
- package/dist/plugin/config/defaults.js +1 -1
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/resolveAutoDiscover.d.ts +2 -0
- package/dist/plugin/config/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/resolveAutoDiscover.js +15 -18
- package/dist/plugin/config/resolveAutoDiscover.js.map +1 -1
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +4 -1
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +64 -30
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts +0 -6
- package/dist/plugin/helpers/collectBundleManifestCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectBundleManifestCss.js +2 -110
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +2 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
- package/dist/plugin/helpers/collectViteModuleGraphCss.js +19 -18
- package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
- package/dist/plugin/helpers/createCssProps.d.ts +3 -2
- package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
- package/dist/plugin/helpers/createCssProps.js +10 -6
- package/dist/plugin/helpers/createCssProps.js.map +1 -1
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscStream.js +37 -43
- package/dist/plugin/helpers/createRscStream.js.map +1 -1
- package/dist/plugin/helpers/formatMetrics.d.ts +4 -0
- package/dist/plugin/helpers/formatMetrics.d.ts.map +1 -0
- package/dist/plugin/helpers/formatMetrics.js +24 -0
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +0 -8
- package/dist/plugin/helpers/tryManifest.js.map +1 -1
- package/dist/plugin/html.js +1 -1
- package/dist/plugin/html.js.map +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +2 -0
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/metrics/formatMetrics.d.ts +4 -0
- package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -0
- package/dist/plugin/metrics/formatMetrics.js +39 -0
- package/dist/plugin/metrics/formatMetrics.js.map +1 -0
- package/dist/plugin/metrics/index.d.ts +3 -0
- package/dist/plugin/metrics/index.d.ts.map +1 -0
- package/dist/plugin/metrics/index.js +1 -0
- package/dist/plugin/metrics.js +7 -0
- package/dist/plugin/metrics.js.map +1 -0
- package/dist/plugin/react-client/createWorkerStream.d.ts +16 -0
- package/dist/plugin/react-client/createWorkerStream.d.ts.map +1 -0
- package/dist/plugin/react-client/createWorkerStream.js +88 -0
- package/dist/plugin/react-client/createWorkerStream.js.map +1 -0
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +4 -1
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-client/restartWorker.d.ts +6 -0
- package/dist/plugin/react-client/restartWorker.d.ts.map +1 -0
- package/dist/plugin/react-client/restartWorker.js +53 -0
- package/dist/plugin/react-client/restartWorker.js.map +1 -0
- package/dist/plugin/react-client/server.d.ts +5 -4
- package/dist/plugin/react-client/server.d.ts.map +1 -1
- package/dist/plugin/react-client/server.js +79 -110
- package/dist/plugin/react-client/server.js.map +1 -1
- package/dist/plugin/react-server/server.d.ts.map +1 -1
- package/dist/plugin/react-server/server.js +23 -28
- package/dist/plugin/react-server/server.js.map +1 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js +1 -1
- package/dist/plugin/react-static/collectHtmlWorkerContent.js.map +1 -1
- package/dist/plugin/react-static/collectRscContent.js +1 -1
- package/dist/plugin/react-static/collectRscContent.js.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
- package/dist/plugin/react-static/configurePreviewServer.js +23 -4
- package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
- package/dist/plugin/react-static/fileWriter.d.ts.map +1 -1
- package/dist/plugin/react-static/fileWriter.js +5 -1
- package/dist/plugin/react-static/fileWriter.js.map +1 -1
- package/dist/plugin/react-static/plugin.d.ts.map +1 -1
- package/dist/plugin/react-static/plugin.js +50 -33
- package/dist/plugin/react-static/plugin.js.map +1 -1
- package/dist/plugin/types.d.ts +6 -7
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/utils/callServer.d.ts +2 -0
- package/dist/plugin/utils/callServer.d.ts.map +1 -0
- package/dist/plugin/utils/callServer.js +26 -0
- package/dist/plugin/utils/callServer.js.map +1 -0
- package/dist/plugin/utils/createReactFetcher.d.ts +7 -0
- package/dist/plugin/utils/createReactFetcher.d.ts.map +1 -0
- package/dist/plugin/utils/createReactFetcher.js +33 -0
- package/dist/plugin/utils/createReactFetcher.js.map +1 -0
- package/dist/plugin/utils/index.d.ts +4 -0
- package/dist/plugin/utils/index.d.ts.map +1 -0
- package/dist/plugin/utils/index.js +3 -0
- package/dist/plugin/utils/pageURL.d.ts +2 -0
- package/dist/plugin/utils/pageURL.d.ts.map +1 -0
- package/dist/plugin/utils/pageURL.js +21 -0
- package/dist/plugin/utils/pageURL.js.map +1 -0
- package/dist/plugin/utils.js +9 -0
- package/dist/plugin/utils.js.map +1 -0
- package/dist/plugin/worker/rsc/handleRender.d.ts +6 -2
- package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handleRender.js +26 -55
- package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts +1 -2
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +45 -2
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js +1 -5
- package/dist/plugin/worker/rsc/state.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -5
- package/plugin/config/defaults.tsx +1 -1
- package/plugin/config/resolveAutoDiscover.ts +17 -22
- package/plugin/config/resolveOptions.ts +5 -1
- package/plugin/config/resolveUserConfig.ts +72 -37
- package/plugin/helpers/collectBundleManifestCss.ts +1 -160
- package/plugin/helpers/collectViteModuleGraphCss.ts +31 -29
- package/plugin/helpers/createCssProps.tsx +22 -11
- package/plugin/helpers/createRscStream.tsx +42 -46
- package/plugin/helpers/formatMetrics.ts +37 -0
- package/plugin/helpers/tryManifest.ts +0 -9
- package/plugin/html.tsx +1 -1
- package/plugin/loader/createBuildLoader.ts +2 -0
- package/plugin/metrics/formatMetrics.ts +37 -0
- package/plugin/metrics/index.ts +2 -0
- package/plugin/react-client/createWorkerStream.ts +107 -0
- package/plugin/react-client/plugin.ts +3 -0
- package/plugin/react-client/restartWorker.ts +65 -0
- package/plugin/react-client/server.ts +97 -146
- package/plugin/react-server/server.ts +24 -29
- package/plugin/react-static/collectHtmlWorkerContent.ts +1 -1
- package/plugin/react-static/collectRscContent.ts +2 -2
- package/plugin/react-static/configurePreviewServer.ts +29 -6
- package/plugin/react-static/fileWriter.ts +5 -1
- package/plugin/react-static/plugin.ts +58 -38
- package/plugin/types.ts +11 -11
- package/plugin/utils/callServer.ts +25 -0
- package/plugin/utils/createReactFetcher.ts +31 -0
- package/plugin/utils/index.ts +3 -0
- package/plugin/utils/pageURL.ts +28 -0
- package/plugin/worker/rsc/handleRender.ts +33 -71
- package/plugin/worker/rsc/messageHandler.tsx +48 -6
- package/plugin/worker/rsc/state.ts +1 -5
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-plugin-react-server",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.9",
|
|
4
4
|
"description": "Vite plugin for React Server Components (RSC)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/plugin/index.js",
|
|
@@ -26,7 +26,9 @@
|
|
|
26
26
|
"./patch": "./scripts/patch.mjs",
|
|
27
27
|
"./check-react-version": "./scripts/check-react-version.mjs",
|
|
28
28
|
"./components": "./dist/plugin/components.js",
|
|
29
|
-
"./types": "./dist/plugin/types.js"
|
|
29
|
+
"./types": "./dist/plugin/types.js",
|
|
30
|
+
"./utils": "./dist/plugin/utils/index.js",
|
|
31
|
+
"./metrics": "./dist/plugin/metrics/index.js"
|
|
30
32
|
},
|
|
31
33
|
"typesVersions": {
|
|
32
34
|
"*": {
|
|
@@ -45,11 +47,14 @@
|
|
|
45
47
|
"worker": [
|
|
46
48
|
"./dist/plugin/worker/worker.d.ts"
|
|
47
49
|
],
|
|
48
|
-
"loader": [
|
|
49
|
-
"./dist/plugin/worker/loader.d.ts"
|
|
50
|
-
],
|
|
51
50
|
"components": [
|
|
52
51
|
"./dist/plugin/components.d.ts"
|
|
52
|
+
],
|
|
53
|
+
"utils": [
|
|
54
|
+
"./dist/plugin/utils/index.d.ts"
|
|
55
|
+
],
|
|
56
|
+
"metrics": [
|
|
57
|
+
"./dist/plugin/metrics/index.d.ts"
|
|
53
58
|
]
|
|
54
59
|
}
|
|
55
60
|
},
|
|
@@ -5,7 +5,7 @@ export declare const DEFAULT_CONFIG: {
|
|
|
5
5
|
readonly RSC_DIR: "rsc";
|
|
6
6
|
readonly MODULE_BASE: "src";
|
|
7
7
|
readonly MODULE_BASE_PATH: "";
|
|
8
|
-
readonly MODULE_BASE_URL: "";
|
|
8
|
+
readonly MODULE_BASE_URL: "/";
|
|
9
9
|
readonly PAGE: "page.tsx";
|
|
10
10
|
readonly PROPS: "props.ts";
|
|
11
11
|
readonly CLIENT_ENTRY: undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../css-collector.js\";\nimport { Html } from \"../html.js\";\nexport const DEFAULT_CONFIG = {\n MODULE_EXTENSION: /\\.(m|c)?(j|t)sx?$/,\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"\",\n MODULE_BASE_URL: \"
|
|
1
|
+
{"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../css-collector.js\";\nimport { Html } from \"../html.js\";\nexport const DEFAULT_CONFIG = {\n MODULE_EXTENSION: /\\.(m|c)?(j|t)sx?$/,\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"\",\n MODULE_BASE_URL: \"/\",\n PAGE: \"page.tsx\",\n PROPS: \"props.ts\",\n CLIENT_ENTRY: undefined,\n SERVER_ENTRY: undefined,\n PAGE_EXPORT_NAME: \"Page\",\n PROPS_EXPORT_NAME: \"props\",\n HTML_WORKER_PATH: `worker/html/html-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n RSC_WORKER_PATH: `worker/rsc/rsc-worker.${\n process.env[\"NODE_ENV\"] === \"production\" ? \"production\" : \"development\"\n }.js`,\n LOADER_PATH: \"worker/loader.js\",\n RSC_EXTENSION: \".rsc\",\n CSS_COLLECTOR: CssCollector,\n HTML: Html,\n ON_METRICS: ()=>{},\n DEV_PORT: 5173,\n PREVIEW_PORT: 4173,\n DEV_HOST: \"localhost\",\n PREVIEW_HOST: \"localhost\",\n ENV_PREFIX: \"VITE_\",\n BUILD: {\n pages: [\"/\"],\n client: \"client\",\n server: \"server\",\n static: \"static\",\n api: \"api\",\n outDir: \"dist\",\n assetsDir: \"assets\",\n hash: \"hash\",\n rscOutputPath: \"index.rsc\",\n htmlOutputPath: \"index.html\",\n preserveModulesRoot: true,\n },\n CSS: {\n inlineCss: false,\n purgeCss: false,\n inlineThreshold: 4096, // 4KB\n inlinePatterns: [] as RegExp[], // Always inline CSS modules\n linkPatterns: [] as RegExp[], // Always link node_modules CSS\n },\n MODULE_BASE_EXCEPTIONS: [] as string[],\n AUTO_DISCOVER: {\n // All REGEX tricks used here are based on the following:\n // $ = endsWith\n // ^ = startsWith\n // . = includes\n // \\ = escape\n // ? = optional\n // () = group\n // | = or\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n),\n pagePattern: (n: string) => /\\.?page(\\.js)?$/.test(n),\n propsPattern: (n: string) => /\\.?props(\\.js)?$/.test(n),\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.js)?$/.test(n),\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.js)?$/.test(n),\n cssPattern: (n: string) => /\\.css$/.test(n),\n cssModulePattern: (n: string) => /\\.css\\.js$/.test(n),\n virtualPattern: (n: string) => /^\\/_virtual\\//.test(n),\n vendorPattern: (n: string) =>\n /^\\/node_modules\\//.test(n),\n htmlPattern: (n: string) => /\\.html$/.test(n),\n jsonPattern: (n: string) => /\\.json$/.test(n),\n nodeOnly: (n: string) => /\\.node(\\.js)?$/.test(n),\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')),\n rscPattern: (n: string) => /\\.rsc$/.test(n), \n },\n MODULE_ID: (id: string) => id,\n} as const;"],"names":[],"mappings":"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"}
|
|
@@ -8,11 +8,13 @@ type ResolveAutoDiscoverProps = {
|
|
|
8
8
|
};
|
|
9
9
|
type ResolveAutoDiscoverReturn = {
|
|
10
10
|
type: "success";
|
|
11
|
+
id: string;
|
|
11
12
|
autoDiscoveredFiles: AutoDiscoveredFiles;
|
|
12
13
|
error?: never;
|
|
13
14
|
} | {
|
|
14
15
|
type: "error";
|
|
15
16
|
error: Error;
|
|
17
|
+
id: string;
|
|
16
18
|
autoDiscoveredFiles?: never;
|
|
17
19
|
};
|
|
18
20
|
export declare function resolveAutoDiscover({ config, configEnv, userOptions, condition, }: ResolveAutoDiscoverProps): Promise<ResolveAutoDiscoverReturn>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAgB5E,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;CAC5C,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,wBAAsB,mBAAmB,CAAC,EACxC,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,GACV,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAgI/D"}
|
|
@@ -11,7 +11,6 @@ import { createGlobAutoDiscover } from './autoDiscover/createGlobAutoDiscover.js
|
|
|
11
11
|
import { customWorkerFiles } from './autoDiscover/customWorkerFiles.js';
|
|
12
12
|
import { pageAndPropFiles } from './autoDiscover/pageAndPropFiles.js';
|
|
13
13
|
|
|
14
|
-
let stashedAutoDiscover = {};
|
|
15
14
|
const clientFiles = createGlobAutoDiscover("**/*.client.*");
|
|
16
15
|
const serverFiles = createGlobAutoDiscover("**/*.server.*");
|
|
17
16
|
const cssFiles = createGlobAutoDiscover("**/*.css");
|
|
@@ -22,7 +21,7 @@ async function resolveAutoDiscover({
|
|
|
22
21
|
userOptions,
|
|
23
22
|
condition
|
|
24
23
|
}) {
|
|
25
|
-
const ssr = configEnv.isSsrBuild;
|
|
24
|
+
const ssr = configEnv.isSsrBuild || condition === "react-server";
|
|
26
25
|
const envDir = condition === "react-server" ? userOptions.build.server : ssr ? userOptions.build.client : userOptions.build.static;
|
|
27
26
|
const envId = `${envDir}${ssr ? "-ssr" : ""}`;
|
|
28
27
|
const configInputRecord = {};
|
|
@@ -35,12 +34,6 @@ async function resolveAutoDiscover({
|
|
|
35
34
|
configInputRecord[userOptions.normalizer(value)[0]] = value;
|
|
36
35
|
}
|
|
37
36
|
}
|
|
38
|
-
if (stashedAutoDiscover[envId]) {
|
|
39
|
-
return {
|
|
40
|
-
type: "success",
|
|
41
|
-
autoDiscoveredFiles: stashedAutoDiscover[envId]
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
37
|
const serverEntry = typeof userOptions.serverEntry === "string" ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)]) : null;
|
|
45
38
|
const indexHtmlInputs = { index: "index.html" };
|
|
46
39
|
const clientEntry = typeof userOptions.clientEntry === "string" ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)]) : {};
|
|
@@ -48,7 +41,8 @@ async function resolveAutoDiscover({
|
|
|
48
41
|
if (type === "error") {
|
|
49
42
|
return {
|
|
50
43
|
type: "error",
|
|
51
|
-
error
|
|
44
|
+
error,
|
|
45
|
+
id: envId
|
|
52
46
|
};
|
|
53
47
|
}
|
|
54
48
|
const files = await resolveBuildPages({
|
|
@@ -64,6 +58,9 @@ async function resolveAutoDiscover({
|
|
|
64
58
|
});
|
|
65
59
|
if (staticManifestResult.type === "success") {
|
|
66
60
|
staticManifest = staticManifestResult.manifest;
|
|
61
|
+
} else {
|
|
62
|
+
console.warn("Error getting static manifest", staticManifestResult.error);
|
|
63
|
+
console.warn("Build may be out of date");
|
|
67
64
|
}
|
|
68
65
|
}
|
|
69
66
|
const customWorkerInputs = customWorkerFiles({
|
|
@@ -110,17 +107,17 @@ async function resolveAutoDiscover({
|
|
|
110
107
|
...cssInputs,
|
|
111
108
|
...jsonInputs
|
|
112
109
|
};
|
|
113
|
-
stashedAutoDiscover[envId] = {
|
|
114
|
-
...files,
|
|
115
|
-
workerPaths: customWorkerInputs,
|
|
116
|
-
serverEntry,
|
|
117
|
-
clientEntry,
|
|
118
|
-
staticManifest,
|
|
119
|
-
inputs
|
|
120
|
-
};
|
|
121
110
|
return {
|
|
122
111
|
type: "success",
|
|
123
|
-
|
|
112
|
+
id: envId,
|
|
113
|
+
autoDiscoveredFiles: {
|
|
114
|
+
...files,
|
|
115
|
+
workerPaths: customWorkerInputs,
|
|
116
|
+
serverEntry,
|
|
117
|
+
clientEntry,
|
|
118
|
+
staticManifest,
|
|
119
|
+
inputs
|
|
120
|
+
}
|
|
124
121
|
};
|
|
125
122
|
}
|
|
126
123
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAutoDiscover.js","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {
|
|
1
|
+
{"version":3,"file":"resolveAutoDiscover.js","sources":["../../../plugin/config/resolveAutoDiscover.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type { ResolvedUserOptions, AutoDiscoveredFiles } from \"../types.js\";\nimport { join } from \"path\";\nimport { resolveBuildPages } from \"./autoDiscover/resolveBuildPages.js\";\nimport { resolvePages } from \"./resolvePages.js\";\nimport { tryManifest } from \"../helpers/tryManifest.js\";\nimport type { Manifest } from \"vite\";\nimport { createGlobAutoDiscover } from \"./autoDiscover/createGlobAutoDiscover.js\";\nimport { customWorkerFiles } from \"./autoDiscover/customWorkerFiles.js\";\nimport { pageAndPropFiles } from \"./autoDiscover/pageAndPropFiles.js\";\n\n\nconst clientFiles = createGlobAutoDiscover(\"**/*.client.*\");\nconst serverFiles = createGlobAutoDiscover(\"**/*.server.*\");\nconst cssFiles = createGlobAutoDiscover(\"**/*.css\");\nconst jsonFiles = createGlobAutoDiscover(\"**/*.json\");\n\ntype ResolveAutoDiscoverProps = {\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n condition: \"react-server\" | \"react-client\";\n};\n\ntype ResolveAutoDiscoverReturn =\n | {\n type: \"success\";\n id: string;\n autoDiscoveredFiles: AutoDiscoveredFiles;\n error?: never;\n }\n | {\n type: \"error\";\n error: Error;\n id: string;\n autoDiscoveredFiles?: never;\n };\n\nexport async function resolveAutoDiscover({\n config,\n configEnv,\n userOptions,\n condition,\n}: ResolveAutoDiscoverProps): Promise<ResolveAutoDiscoverReturn> {\n const ssr = configEnv.isSsrBuild || condition === \"react-server\"\n const envDir =\n condition === \"react-server\"\n ? userOptions.build.server\n : ssr\n ? userOptions.build.client\n : userOptions.build.static;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n const configInputRecord = {} as Record<string, string>;\n if (typeof config.build?.rollupOptions?.input === \"string\") {\n configInputRecord[\n userOptions.normalizer(config.build?.rollupOptions?.input)[0]\n ] = config.build?.rollupOptions?.input;\n } else if (typeof config.build?.rollupOptions?.input === \"object\") {\n for (const [, value] of Object.entries(\n config.build?.rollupOptions?.input\n )) {\n configInputRecord[userOptions.normalizer(value)[0]] = value;\n }\n }\n\n const serverEntry =\n typeof userOptions.serverEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.serverEntry)])\n : null;\n\n const indexHtmlInputs = { index: \"index.html\" };\n\n const clientEntry =\n typeof userOptions.clientEntry === \"string\"\n ? Object.fromEntries([userOptions.normalizer(userOptions.clientEntry)])\n : {};\n\n const { type, error, pages } = await resolvePages(userOptions.build.pages);\n\n if (type === \"error\") {\n return {\n type: \"error\",\n error,\n id: envId,\n };\n }\n\n const files = await resolveBuildPages({\n pages,\n userOptions,\n });\n\n // Load static manifest for client build\n let staticManifest: Manifest = {};\n if (ssr) {\n const staticManifestResult = await tryManifest({\n root: userOptions.projectRoot,\n ssrManifest: false,\n outDir: join(userOptions.build.outDir, userOptions.build.static),\n });\n if (staticManifestResult.type === \"success\") {\n staticManifest = staticManifestResult.manifest;\n } else {\n console.warn(\"Error getting static manifest\", staticManifestResult.error);\n console.warn(\"Build may be out of date\");\n }\n }\n\n const customWorkerInputs = customWorkerFiles({\n inputs: {},\n userOptions,\n });\n const clientInputs = await clientFiles({\n inputs: {},\n userOptions,\n });\n const serverInputs = await serverFiles({\n inputs: {},\n userOptions,\n });\n\n const pageAndPropInputs = pageAndPropFiles({\n files,\n inputs: {},\n });\n\n const cssInputs = await cssFiles({\n inputs: {},\n userOptions,\n });\n\n const jsonInputs = await jsonFiles({\n inputs: {},\n userOptions,\n });\n const agnosticInputs = {\n ...configInputRecord,\n ...clientInputs,\n ...clientEntry,\n ...serverInputs,\n ...serverEntry,\n };\n // Add inputs based on condition\n const inputs =\n condition === \"react-client\"\n ? {\n ...indexHtmlInputs,\n ...agnosticInputs,\n ...cssInputs,\n ...jsonInputs,\n }\n : {\n ...configInputRecord,\n ...customWorkerInputs,\n ...pageAndPropInputs,\n ...agnosticInputs,\n ...cssInputs,\n ...jsonInputs,\n };\n return {\n type: \"success\",\n id: envId,\n autoDiscoveredFiles: {\n ...files,\n workerPaths: customWorkerInputs,\n serverEntry,\n clientEntry,\n staticManifest,\n inputs,\n },\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuE5E,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,OAAO,GAAG,SAAS,iCAE5B,mBAAmB,CAAC,SAAS,CAAC,KAErC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAuE5E,eAAO,MAAM,cAAc,GACzB,SAAS,SAAS,OAAO,GAAG,SAAS,iCAE5B,mBAAmB,CAAC,SAAS,CAAC,KAErC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAA;CAAE,GAChE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CA+YhC,CAAC"}
|
|
@@ -241,7 +241,10 @@ const resolveOptions = (options) => {
|
|
|
241
241
|
};
|
|
242
242
|
const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
243
243
|
const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : DEFAULT_CONFIG.MODULE_BASE_PATH;
|
|
244
|
-
const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : DEFAULT_CONFIG.MODULE_BASE_URL;
|
|
244
|
+
const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env["NODE_ENV"] === "development" ? "./" : DEFAULT_CONFIG.MODULE_BASE_URL;
|
|
245
|
+
if ("moduleBaseUrl" in options) {
|
|
246
|
+
throw new Error("moduleBaseUrl is written as moduleBaseURL (note the all caps) please change it to moduleBaseURL in your config");
|
|
247
|
+
}
|
|
245
248
|
const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
|
|
246
249
|
const rscWorkerPath = typeof options.rscWorkerPath === "string" ? join(projectRoot, options.rscWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);
|
|
247
250
|
const htmlWorkerPath = typeof options.htmlWorkerPath === "string" ? join(projectRoot, options.htmlWorkerPath) : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);
|
|
@@ -1 +1 @@
|
|
|
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 \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Resolves a matcher pattern to a function that tests paths\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\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n InlineCSS extends boolean | undefined = boolean | undefined\n>(\n options: StreamPluginOptions<InlineCSS>,\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\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\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\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 ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Path normalization helpers\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 hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n /**\n * If the defined project root is already wrong, we keep it as is.\n * Otherwise, we remove the leading slash as a representation of the wrong root.\n */\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n\n const ensureNoRoot = (n: string | null) => {\n if (typeof n !== \"string\" || n === \"\") {\n return \"\";\n }\n // if the path starts with the wrong root, we remove the wrong root\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n // if the path starts with the project root, we remove the project root\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n // Auto-discovery pattern matchers\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\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if(ssr) return n;\n if (\n hashString === \"\" ||\n autoDiscover.nodeOnly(n)\n ) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\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 // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(\n addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),\n ssr\n );\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(\n addModuleExtension(\n getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))),\n ssr\n );\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(\n getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))),\n ssr\n );\n }; \n const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath = options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\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 // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client)\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n });\n const pipeableStreamOptions =\n options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {}\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n build: build,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<InlineCSS>,\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":"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"}
|
|
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 \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\n// ============================================================================\n// Utility Functions\n// ============================================================================\n\n/**\n * Resolves a matcher pattern to a function that tests paths\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\n/**\n * Ensures a path ends with .js extension\n */\nconst addExtension = (path: string, extension: string = \"js\") => {\n if (path.endsWith(`.${extension}`)) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".\" + extension;\n if (path.endsWith(\".\")) return path + \".\" + extension;\n return path + \".\" + extension;\n};\n\n/**\n * Handles search query parameters in file paths\n */\nconst handleSearchQuery = (path: string) => {\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\n/**\n * Applies pattern matching to file paths\n */\nconst registerPath = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n InlineCSS extends boolean | undefined = boolean | undefined\n>(\n options: StreamPluginOptions<InlineCSS>,\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n\n // Build configuration\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\n let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\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 ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;\n\n // Path normalization helpers\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 hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n /**\n * If the defined project root is already wrong, we keep it as is.\n * Otherwise, we remove the leading slash as a representation of the wrong root.\n */\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n\n const ensureNoRoot = (n: string | null) => {\n if (typeof n !== \"string\" || n === \"\") {\n return \"\";\n }\n // if the path starts with the wrong root, we remove the wrong root\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n // if the path starts with the project root, we remove the project root\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n // Auto-discovery pattern matchers\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\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n\n const testRsc = resolveAutoDiscoverMatcher(\n options.autoDiscover?.rscPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.rscPattern\n );\n\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const testNodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const testVirtual = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const testDotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n\n const addModuleExtension = (path: string) => {\n const isAsset =\n autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);\n if (isAsset) {\n return path;\n }\n return addExtension(path);\n };\n\n // File naming and hashing\n\n const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if(ssr) return n;\n if (\n hashString === \"\" ||\n autoDiscover.nodeOnly(n)\n ) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\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 // Output path resolution\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path))\n return registerPath(path, options.autoDiscover?.vendorPattern, \"vendor\");\n if (testCssModule(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n if (testCss(path))\n return registerPath(path, options.autoDiscover?.cssPattern, \".css\");\n if (testClientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n if (testHtml(path))\n return registerPath(path, options.autoDiscover?.htmlPattern, \".html\");\n if (testJson(path))\n return registerPath(path, options.autoDiscover?.jsonPattern, \".json\");\n if (testPropsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n if (testPagePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n if (testServerFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n if (testModulePattern(path)) return path;\n return path;\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`, ssr);\n } else {\n return hash(`${n.name}.js`, ssr);\n }\n }\n return hash(\n addModuleExtension(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))),\n ssr\n );\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(\n addModuleExtension(\n getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))),\n ssr\n );\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n return hash(\n getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))),\n ssr\n );\n }; \n const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath = options.build?.htmlOutputPath ?? DEFAULT_CONFIG.BUILD.htmlOutputPath;\n\n // Build configuration object\n const build = {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n rscOutputPath,\n htmlOutputPath,\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 // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env['NODE_ENV'] === \"development\" ? \"./\" : DEFAULT_CONFIG.MODULE_BASE_URL;\n\n if (\"moduleBaseUrl\" in options) {\n throw new Error(\"moduleBaseUrl is written as moduleBaseURL (note the all caps) please change it to moduleBaseURL in your config\");\n }\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client)\n // Worker and loader paths\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n\n // Auto-discovery configuration\n const autoDiscover = {\n moduleExtension:\n options.autoDiscover?.moduleExtension ?? DEFAULT_CONFIG.MODULE_EXTENSION,\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n nodeOnly: testNodeOnly,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n dotFiles: testDotFiles,\n virtualPattern: testVirtual,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n });\n const pipeableStreamOptions =\n options.pipeableStreamOptions\n ? options.pipeableStreamOptions\n : {}\n\n // Return resolved options\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n moduleRootPath,\n build: build,\n onMetrics: options.onMetrics ?? DEFAULT_CONFIG.ON_METRICS,\n onEvent: options.onEvent,\n Page: options.Page ?? undefined,\n props: options.props ?? undefined,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: options.CssCollector ?? CssCollector,\n normalizer: normalizer,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n css: {\n inlineCss: options.css?.inlineCss ?? DEFAULT_CONFIG.CSS.inlineCss,\n inlineThreshold:\n options.css?.inlineThreshold ?? DEFAULT_CONFIG.CSS.inlineThreshold,\n purgeCss: options.css?.purgeCss ?? DEFAULT_CONFIG.CSS.purgeCss,\n inlinePatterns:\n options.css?.inlinePatterns ?? DEFAULT_CONFIG.CSS.inlinePatterns,\n linkPatterns:\n options.css?.linkPatterns ?? DEFAULT_CONFIG.CSS.linkPatterns,\n },\n htmlWorkerPath: htmlWorkerPath,\n rscWorkerPath: rscWorkerPath,\n loaderPath: loaderPath,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipeableStreamOptions,\n } as ResolvedUserOptions<InlineCSS>,\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":"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"}
|
|
@@ -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,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,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,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,GAAG,uBAAuB,
|
|
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,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAMrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAAE,QAAQ,GAAG,gBAAgB,CAAC,CAAC;CAC7E,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,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,GAAG,uBAAuB,CAuPlD"}
|
|
@@ -23,38 +23,63 @@ function resolveUserConfig({
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
const root = config.root ?? userOptions.projectRoot ?? process.cwd();
|
|
26
|
-
const
|
|
26
|
+
const handleSsrName = (info, input, fallback, ssr2) => {
|
|
27
|
+
if (!ssr2 || !input) {
|
|
28
|
+
return fallback(info, false);
|
|
29
|
+
}
|
|
30
|
+
const [, value] = userOptions.normalizer(
|
|
31
|
+
input
|
|
32
|
+
);
|
|
33
|
+
const entry = autoDiscoveredFiles.staticManifest[value];
|
|
34
|
+
if (entry?.name && info.type === "asset" && userOptions.autoDiscover.cssPattern(value)) {
|
|
35
|
+
const withoutExt = entry.name?.split(".")[0];
|
|
36
|
+
const found = entry.css?.find((css) => css.startsWith(withoutExt));
|
|
37
|
+
if (found) {
|
|
38
|
+
return found;
|
|
39
|
+
} else {
|
|
40
|
+
return entry.file;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (entry) {
|
|
44
|
+
return entry.file;
|
|
45
|
+
}
|
|
46
|
+
return fallback(info, true);
|
|
47
|
+
};
|
|
27
48
|
const pluginOutput = {
|
|
28
49
|
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
|
|
29
50
|
entryFileNames: (info) => {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
([, { file }]) => file.startsWith(info.name)
|
|
33
|
-
);
|
|
34
|
-
if (entry) {
|
|
35
|
-
return entry[1].file;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return userOptions.build.entryFile(info, ssr);
|
|
51
|
+
const input = info.facadeModuleId;
|
|
52
|
+
return handleSsrName(info, input, userOptions.build.entryFile, ssr);
|
|
39
53
|
},
|
|
40
54
|
assetFileNames: (i) => {
|
|
41
|
-
|
|
55
|
+
const input = i.originalFileNames[0];
|
|
56
|
+
return handleSsrName(i, input, userOptions.build.assetFile, ssr);
|
|
42
57
|
},
|
|
43
58
|
chunkFileNames: (i) => {
|
|
44
|
-
|
|
59
|
+
const input = i.facadeModuleId;
|
|
60
|
+
return handleSsrName(i, input, userOptions.build.chunkFile, ssr);
|
|
45
61
|
},
|
|
46
62
|
format: "esm",
|
|
47
63
|
exports: "named"
|
|
48
64
|
};
|
|
49
65
|
let 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;
|
|
66
|
+
const vitePrefix = config.envPrefix ?? "VITE_";
|
|
50
67
|
const mode = process.env["NODE_ENV"] === "development" ? "development" : config.mode ? config.mode : configEnv.mode ? configEnv.mode : configEnv.command === "build" ? "production" : "development";
|
|
51
68
|
const minify = config.build?.minify;
|
|
69
|
+
const safeParseURL = (() => {
|
|
70
|
+
try {
|
|
71
|
+
return new URL(userOptions.moduleBasePath, userOptions.moduleBaseURL).href;
|
|
72
|
+
} catch (error) {
|
|
73
|
+
return userOptions.moduleBaseURL + userOptions.moduleBasePath;
|
|
74
|
+
}
|
|
75
|
+
})();
|
|
52
76
|
if (condition === "react-client") {
|
|
53
|
-
|
|
77
|
+
const clientConfig = {
|
|
54
78
|
...config,
|
|
55
79
|
root,
|
|
56
80
|
mode,
|
|
57
|
-
base:
|
|
81
|
+
base: safeParseURL,
|
|
82
|
+
envPrefix: vitePrefix,
|
|
58
83
|
resolve: {
|
|
59
84
|
...config.resolve,
|
|
60
85
|
external: config.resolve?.external ?? [
|
|
@@ -87,7 +112,7 @@ function resolveUserConfig({
|
|
|
87
112
|
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
88
113
|
outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),
|
|
89
114
|
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
90
|
-
copyPublicDir: config.build?.copyPublicDir
|
|
115
|
+
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir : !ssr,
|
|
91
116
|
// modern browsers
|
|
92
117
|
target: config.build?.target ?? ["esnext"],
|
|
93
118
|
minify,
|
|
@@ -104,12 +129,18 @@ function resolveUserConfig({
|
|
|
104
129
|
cssCodeSplit: typeof config.build?.cssCodeSplit === "boolean" ? config.build?.cssCodeSplit : true
|
|
105
130
|
}
|
|
106
131
|
};
|
|
132
|
+
stashedUserConfig[envId] = clientConfig;
|
|
133
|
+
return {
|
|
134
|
+
type: "success",
|
|
135
|
+
userConfig: clientConfig
|
|
136
|
+
};
|
|
107
137
|
} else {
|
|
108
|
-
|
|
138
|
+
const serverConfig = {
|
|
109
139
|
...config,
|
|
110
140
|
root,
|
|
111
141
|
mode,
|
|
112
142
|
base: userOptions.moduleBasePath,
|
|
143
|
+
envPrefix: vitePrefix,
|
|
113
144
|
resolve: {
|
|
114
145
|
...config.resolve,
|
|
115
146
|
externalConditions: config.resolve?.externalConditions ?? [
|
|
@@ -118,15 +149,23 @@ function resolveUserConfig({
|
|
|
118
149
|
},
|
|
119
150
|
define: {
|
|
120
151
|
...config.define,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
152
|
+
[`process.env.${vitePrefix}SSR`]: `"1"`,
|
|
153
|
+
[`process.env.${vitePrefix}DEV`]: `"${mode === "development" ? "1" : "0"}"`,
|
|
154
|
+
[`process.env.${vitePrefix}PROD`]: `"${mode === "production" ? "1" : "0"}"`,
|
|
155
|
+
[`process.env.${vitePrefix}MODE`]: `"${mode}"`,
|
|
156
|
+
[`process.env.${vitePrefix}BASE_URL`]: `"${userOptions.moduleBasePath === "" || userOptions.moduleBasePath === "/" ? "/" : !userOptions.moduleBasePath.endsWith("/") ? userOptions.moduleBasePath + "/" : userOptions.moduleBasePath}"`
|
|
126
157
|
},
|
|
127
158
|
ssr: {
|
|
128
159
|
...config.ssr,
|
|
129
160
|
target: config.ssr?.target ?? "node",
|
|
161
|
+
optimizeDeps: {
|
|
162
|
+
...config.ssr?.optimizeDeps,
|
|
163
|
+
include: config.ssr?.optimizeDeps?.include ?? [
|
|
164
|
+
"react",
|
|
165
|
+
"react-dom",
|
|
166
|
+
"react-server-dom-esm/client"
|
|
167
|
+
]
|
|
168
|
+
},
|
|
130
169
|
resolve: {
|
|
131
170
|
...config.ssr?.resolve,
|
|
132
171
|
externalConditions: config.ssr?.resolve?.externalConditions ?? [
|
|
@@ -145,7 +184,7 @@ function resolveUserConfig({
|
|
|
145
184
|
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
146
185
|
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
147
186
|
ssrEmitAssets: typeof config.build?.ssrEmitAssets === "boolean" ? config.build?.ssrEmitAssets : true,
|
|
148
|
-
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir :
|
|
187
|
+
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir : false,
|
|
149
188
|
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
150
189
|
// Ensure CSS files are output to static directory
|
|
151
190
|
cssCodeSplit: typeof config.build?.cssCodeSplit === "boolean" ? config.build?.cssCodeSplit : true,
|
|
@@ -157,17 +196,12 @@ function resolveUserConfig({
|
|
|
157
196
|
}
|
|
158
197
|
}
|
|
159
198
|
};
|
|
160
|
-
|
|
161
|
-
if (!stashedUserConfig[envId]) {
|
|
199
|
+
stashedUserConfig[envId] = serverConfig;
|
|
162
200
|
return {
|
|
163
|
-
type: "
|
|
164
|
-
|
|
201
|
+
type: "success",
|
|
202
|
+
userConfig: serverConfig
|
|
165
203
|
};
|
|
166
204
|
}
|
|
167
|
-
return {
|
|
168
|
-
type: "success",
|
|
169
|
-
userConfig: stashedUserConfig[envId]
|
|
170
|
-
};
|
|
171
205
|
}
|
|
172
206
|
|
|
173
207
|
export { resolveUserConfig };
|