vite-plugin-react-server 1.1.7 → 1.1.8
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 +56 -29
- 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 +64 -36
- 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.8",
|
|
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,CAgPlD"}
|
|
@@ -23,38 +23,56 @@ 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;
|
|
52
69
|
if (condition === "react-client") {
|
|
53
|
-
|
|
70
|
+
const clientConfig = {
|
|
54
71
|
...config,
|
|
55
72
|
root,
|
|
56
73
|
mode,
|
|
57
74
|
base: userOptions.moduleBasePath,
|
|
75
|
+
envPrefix: vitePrefix,
|
|
58
76
|
resolve: {
|
|
59
77
|
...config.resolve,
|
|
60
78
|
external: config.resolve?.external ?? [
|
|
@@ -87,7 +105,7 @@ function resolveUserConfig({
|
|
|
87
105
|
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
88
106
|
outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),
|
|
89
107
|
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
90
|
-
copyPublicDir: config.build?.copyPublicDir
|
|
108
|
+
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir : !ssr,
|
|
91
109
|
// modern browsers
|
|
92
110
|
target: config.build?.target ?? ["esnext"],
|
|
93
111
|
minify,
|
|
@@ -104,12 +122,18 @@ function resolveUserConfig({
|
|
|
104
122
|
cssCodeSplit: typeof config.build?.cssCodeSplit === "boolean" ? config.build?.cssCodeSplit : true
|
|
105
123
|
}
|
|
106
124
|
};
|
|
125
|
+
stashedUserConfig[envId] = clientConfig;
|
|
126
|
+
return {
|
|
127
|
+
type: "success",
|
|
128
|
+
userConfig: clientConfig
|
|
129
|
+
};
|
|
107
130
|
} else {
|
|
108
|
-
|
|
131
|
+
const serverConfig = {
|
|
109
132
|
...config,
|
|
110
133
|
root,
|
|
111
134
|
mode,
|
|
112
135
|
base: userOptions.moduleBasePath,
|
|
136
|
+
envPrefix: vitePrefix,
|
|
113
137
|
resolve: {
|
|
114
138
|
...config.resolve,
|
|
115
139
|
externalConditions: config.resolve?.externalConditions ?? [
|
|
@@ -118,15 +142,23 @@ function resolveUserConfig({
|
|
|
118
142
|
},
|
|
119
143
|
define: {
|
|
120
144
|
...config.define,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
145
|
+
[`process.env.${vitePrefix}SSR`]: `"1"`,
|
|
146
|
+
[`process.env.${vitePrefix}DEV`]: `"${mode === "development" ? "1" : "0"}"`,
|
|
147
|
+
[`process.env.${vitePrefix}PROD`]: `"${mode === "production" ? "1" : "0"}"`,
|
|
148
|
+
[`process.env.${vitePrefix}MODE`]: `"${mode}"`,
|
|
149
|
+
[`process.env.${vitePrefix}BASE_URL`]: `"${userOptions.moduleBasePath === "" || userOptions.moduleBasePath === "/" ? "/" : !userOptions.moduleBasePath.endsWith("/") ? userOptions.moduleBasePath + "/" : userOptions.moduleBasePath}"`
|
|
126
150
|
},
|
|
127
151
|
ssr: {
|
|
128
152
|
...config.ssr,
|
|
129
153
|
target: config.ssr?.target ?? "node",
|
|
154
|
+
optimizeDeps: {
|
|
155
|
+
...config.ssr?.optimizeDeps,
|
|
156
|
+
include: config.ssr?.optimizeDeps?.include ?? [
|
|
157
|
+
"react",
|
|
158
|
+
"react-dom",
|
|
159
|
+
"react-server-dom-esm/client"
|
|
160
|
+
]
|
|
161
|
+
},
|
|
130
162
|
resolve: {
|
|
131
163
|
...config.ssr?.resolve,
|
|
132
164
|
externalConditions: config.ssr?.resolve?.externalConditions ?? [
|
|
@@ -145,7 +177,7 @@ function resolveUserConfig({
|
|
|
145
177
|
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
146
178
|
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
147
179
|
ssrEmitAssets: typeof config.build?.ssrEmitAssets === "boolean" ? config.build?.ssrEmitAssets : true,
|
|
148
|
-
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir :
|
|
180
|
+
copyPublicDir: typeof config.build?.copyPublicDir === "boolean" ? config.build?.copyPublicDir : false,
|
|
149
181
|
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
150
182
|
// Ensure CSS files are output to static directory
|
|
151
183
|
cssCodeSplit: typeof config.build?.cssCodeSplit === "boolean" ? config.build?.cssCodeSplit : true,
|
|
@@ -157,17 +189,12 @@ function resolveUserConfig({
|
|
|
157
189
|
}
|
|
158
190
|
}
|
|
159
191
|
};
|
|
160
|
-
|
|
161
|
-
if (!stashedUserConfig[envId]) {
|
|
192
|
+
stashedUserConfig[envId] = serverConfig;
|
|
162
193
|
return {
|
|
163
|
-
type: "
|
|
164
|
-
|
|
194
|
+
type: "success",
|
|
195
|
+
userConfig: serverConfig
|
|
165
196
|
};
|
|
166
197
|
}
|
|
167
|
-
return {
|
|
168
|
-
type: "success",
|
|
169
|
-
userConfig: stashedUserConfig[envId]
|
|
170
|
-
};
|
|
171
198
|
}
|
|
172
199
|
|
|
173
200
|
export { resolveUserConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions } from \"rollup\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\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 autoDiscoveredFiles,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) || condition === \"react-server\";\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n const staticEntries =\n ssr && autoDiscoveredFiles.staticManifest\n ? Object.entries(autoDiscoveredFiles.staticManifest)\n : [];\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: (info) => {\n if (ssr) {\n const entry = staticEntries.find(([, { file }]) =>\n file.startsWith(info.name)\n );\n if (entry) {\n return entry[1].file;\n }\n }\n return userOptions.build.entryFile(info, ssr);\n },\n assetFileNames: (i) => {\n return userOptions.build.assetFile(i, false);\n },\n chunkFileNames: (i) => {\n return userOptions.build.chunkFile(i, ssr);\n },\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const mode =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : config.mode\n ? config.mode\n : configEnv.mode\n ? configEnv.mode\n : configEnv.command === \"build\"\n ? \"production\"\n : \"development\";\n const minify = config.build?.minify;\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir: config.build?.copyPublicDir ?? true,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n };\n } else {\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: {\n ...config.define,\n \"process.env.VITE_SSR\": `\"1\"`,\n \"process.env.VITE_DEV\": `\"${mode === \"development\" ? \"1\" : \"0\"}\"`,\n \"process.env.VITE_PROD\": `\"${mode === \"production\" ? \"1\" : \"0\"}\"`,\n \"process.env.VITE_MODE\": `\"${mode}\"`,\n \"process.env.VITE_BASE_URL\": `\"${\n userOptions.moduleBasePath === \"\" ||\n userOptions.moduleBasePath === \"/\"\n ? \"/\"\n : !userOptions.moduleBasePath.endsWith(\"/\")\n ? userOptions.moduleBasePath + \"/\"\n : userOptions.moduleBasePath\n }\"`,\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n };\n }\n if (!stashedUserConfig[envId]) {\n return {\n type: \"error\",\n error: new Error(\"Failed to resolve config\"),\n };\n }\n\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\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 ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions, PreRenderedAsset, PreRenderedChunk } from \"rollup\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\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 autoDiscoveredFiles,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) || condition === \"react-server\";\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const handleSsrName = <T extends PreRenderedChunk | PreRenderedAsset>(\n info: T,\n input: string | null,\n fallback: (info: T, ssr: boolean) => string,\n ssr: boolean\n ) => {\n if (!ssr || !input) {\n return fallback(info, false);\n }\n const [, value] = userOptions.normalizer(\n input\n );\n const entry = autoDiscoveredFiles.staticManifest[value];\n if(entry?.name && info.type === 'asset' && userOptions.autoDiscover.cssPattern(value)) {\n const withoutExt = entry.name?.split('.')[0]\n const found = entry.css?.find(css => css.startsWith(withoutExt as string))\n if(found) {\n return found\n } else {\n return entry.file\n }\n }\n if (entry) {\n return entry.file\n }\n return fallback(info, true);\n };\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: (info) => {\n const input = info.facadeModuleId\n return handleSsrName(info, input, userOptions.build.entryFile, ssr);\n },\n assetFileNames: (i) => {\n const input = i.originalFileNames[0]\n return handleSsrName(i, input, userOptions.build.assetFile, ssr);\n },\n chunkFileNames: (i) => {\n const input = i.facadeModuleId \n return handleSsrName(i, input, userOptions.build.chunkFile, ssr);\n },\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const vitePrefix = config.envPrefix ?? \"VITE_\";\n const mode =\n process.env[\"NODE_ENV\"] === \"development\"\n ? \"development\"\n : config.mode\n ? config.mode\n : configEnv.mode\n ? configEnv.mode\n : configEnv.command === \"build\"\n ? \"production\"\n : \"development\";\n const minify = config.build?.minify;\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n const clientConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir: typeof config.build?.copyPublicDir === \"boolean\" ? config.build?.copyPublicDir : !ssr,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = clientConfig;\n return {\n type: \"success\",\n userConfig: clientConfig,\n };\n } else {\n const serverConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBasePath,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: {\n ...config.define,\n [`process.env.${vitePrefix}SSR`]: `\"1\"`,\n [`process.env.${vitePrefix}DEV`]: `\"${mode === \"development\" ? \"1\" : \"0\"}\"`,\n [`process.env.${vitePrefix}PROD`]: `\"${mode === \"production\" ? \"1\" : \"0\"}\"`,\n [`process.env.${vitePrefix}MODE`]: `\"${mode}\"`,\n [`process.env.${vitePrefix}BASE_URL`]: `\"${\n userOptions.moduleBasePath === \"\" ||\n userOptions.moduleBasePath === \"/\"\n ? \"/\"\n : !userOptions.moduleBasePath.endsWith(\"/\")\n ? userOptions.moduleBasePath + \"/\"\n : userOptions.moduleBasePath\n }\"`,\n },\n ssr: {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : false,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = serverConfig;\n return {\n type: \"success\",\n userConfig: serverConfig,\n };\n }\n}\n"],"names":["ssr"],"mappings":";;;;;;;AASA,IAAI,oBAA+D,EAAC;AAc7D,SAAS,iBAAkB,CAAA;AAAA,EAChC,SAAA;AAAA,EACA,MAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAoD,EAAA;AAClD,EAAA,MAAM,GACJ,GAAA,OAAO,MAAO,CAAA,KAAA,EAAO,GAAQ,KAAA,SAAA,GACzB,MAAO,CAAA,KAAA,EAAO,GACd,GAAA,OAAA,CAAQ,SAAU,CAAA,UAAU,KAAK,SAAc,KAAA,cAAA;AACrD,EAAA,MAAM,MACJ,GAAA,SAAA,KAAc,cAAkB,IAAA,GAAA,GAC5B,WAAY,CAAA,KAAA,CAAM,MAClB,GAAA,SAAA,KAAc,cACd,GAAA,WAAA,CAAY,KAAM,CAAA,MAAA,GAClB,YAAY,KAAM,CAAA,MAAA;AACxB,EAAA,MAAM,QAAQ,CAAG,EAAA,MAAM,CAAG,EAAA,GAAA,GAAM,SAAS,EAAE,CAAA,CAAA;AAE3C,EAAI,IAAA,iBAAA,CAAkB,KAAK,CAAG,EAAA;AAC5B,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,UAAA,EAAY,kBAAkB,KAAK;AAAA,KACrC;AAAA;AAIF,EAAA,MAAM,OAAO,MAAO,CAAA,IAAA,IAAQ,WAAY,CAAA,WAAA,IAAe,QAAQ,GAAI,EAAA;AAEnE,EAAA,MAAM,aAAgB,GAAA,CACpB,IACA,EAAA,KAAA,EACA,UACAA,IACG,KAAA;AACH,IAAI,IAAA,CAACA,IAAO,IAAA,CAAC,KAAO,EAAA;AAClB,MAAO,OAAA,QAAA,CAAS,MAAM,KAAK,CAAA;AAAA;AAE7B,IAAA,MAAM,GAAG,KAAK,CAAA,GAAI,WAAY,CAAA,UAAA;AAAA,MAC5B;AAAA,KACF;AACA,IAAM,MAAA,KAAA,GAAQ,mBAAoB,CAAA,cAAA,CAAe,KAAK,CAAA;AACtD,IAAG,IAAA,KAAA,EAAO,QAAQ,IAAK,CAAA,IAAA,KAAS,WAAW,WAAY,CAAA,YAAA,CAAa,UAAW,CAAA,KAAK,CAAG,EAAA;AACrF,MAAA,MAAM,aAAa,KAAM,CAAA,IAAA,EAAM,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA;AAC3C,MAAM,MAAA,KAAA,GAAQ,MAAM,GAAK,EAAA,IAAA,CAAK,SAAO,GAAI,CAAA,UAAA,CAAW,UAAoB,CAAC,CAAA;AACzE,MAAA,IAAG,KAAO,EAAA;AACR,QAAO,OAAA,KAAA;AAAA,OACF,MAAA;AACL,QAAA,OAAO,KAAM,CAAA,IAAA;AAAA;AACf;AAEF,IAAA,IAAI,KAAO,EAAA;AACT,MAAA,OAAO,KAAM,CAAA,IAAA;AAAA;AAEf,IAAO,OAAA,QAAA,CAAS,MAAM,IAAI,CAAA;AAAA,GAC5B;AACA,EAAA,MAAM,YAAe,GAAA;AAAA,IACnB,mBAAqB,EAAA,WAAA,CAAY,KAAM,CAAA,mBAAA,GACnC,YAAY,UACZ,GAAA,SAAA;AAAA,IACJ,cAAA,EAAgB,CAAC,IAAS,KAAA;AACxB,MAAA,MAAM,QAAQ,IAAK,CAAA,cAAA;AACnB,MAAA,OAAO,cAAc,IAAO,EAAA,KAAA,EAAO,WAAY,CAAA,KAAA,CAAM,WAAW,GAAG,CAAA;AAAA,KACrE;AAAA,IACA,cAAA,EAAgB,CAAC,CAAM,KAAA;AACrB,MAAM,MAAA,KAAA,GAAQ,CAAE,CAAA,iBAAA,CAAkB,CAAC,CAAA;AACnC,MAAA,OAAO,cAAc,CAAG,EAAA,KAAA,EAAO,WAAY,CAAA,KAAA,CAAM,WAAW,GAAG,CAAA;AAAA,KACjE;AAAA,IACA,cAAA,EAAgB,CAAC,CAAM,KAAA;AACrB,MAAA,MAAM,QAAQ,CAAE,CAAA,cAAA;AAChB,MAAA,OAAO,cAAc,CAAG,EAAA,KAAA,EAAO,WAAY,CAAA,KAAA,CAAM,WAAW,GAAG,CAAA;AAAA,KACjE;AAAA,IACA,MAAQ,EAAA,KAAA;AAAA,IACR,OAAS,EAAA;AAAA,GACX;AAEA,EAAA,IAAI,SAAY,GAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,OAAO,aAAe,EAAA,MAAM,CAC7D,GAAA,CAAC,GAAG,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,QAAQ,YAAY,CAAA,GACrD,OAAO,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,MAAW,KAAA,QAAA,IAC/C,OAAO,KAAO,EAAA,aAAA,EAAe,MAAW,KAAA,IAAA,GACxC,CAAC,MAAO,CAAA,KAAA,EAAO,aAAe,EAAA,MAAA,EAAQ,YAAY,CAClD,GAAA,YAAA;AACJ,EAAM,MAAA,UAAA,GAAa,OAAO,SAAa,IAAA,OAAA;AACvC,EAAA,MAAM,OACJ,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,aAAA,GACxB,gBACA,MAAO,CAAA,IAAA,GACP,MAAO,CAAA,IAAA,GACP,UAAU,IACV,GAAA,SAAA,CAAU,OACV,SAAU,CAAA,OAAA,KAAY,UACtB,YACA,GAAA,aAAA;AACN,EAAM,MAAA,MAAA,GAAS,OAAO,KAAO,EAAA,MAAA;AAC7B,EAAA,IAAI,cAAc,cAAgB,EAAA;AAEhC,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,GAAG,MAAA;AAAA,MACH,IAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAM,WAAY,CAAA,cAAA;AAAA,MAClB,SAAW,EAAA,UAAA;AAAA,MACX,OAAS,EAAA;AAAA,QACP,GAAG,MAAO,CAAA,OAAA;AAAA,QACV,QAAA,EAAU,MAAO,CAAA,OAAA,EAAS,QAAY,IAAA;AAAA,UACpC,OAAA;AAAA,UACA,WAAA;AAAA,UACA;AAAA;AACF,OACF;AAAA,MACA,GAAK,EAAA;AAAA,QACH,GAAG,MAAO,CAAA,GAAA;AAAA,QACV,MAAA,EAAQ,MAAO,CAAA,GAAA,EAAK,MAAU,IAAA,MAAA;AAAA,QAC9B,YAAc,EAAA;AAAA,UACZ,GAAG,OAAO,GAAK,EAAA,YAAA;AAAA,UACf,OAAS,EAAA,MAAA,CAAO,GAAK,EAAA,YAAA,EAAc,OAAW,IAAA;AAAA,YAC5C,OAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AACF,SACF;AAAA,QACA,OAAS,EAAA;AAAA,UACP,GAAG,OAAO,GAAK,EAAA,OAAA;AAAA,UACf,kBAAoB,EAAA,MAAA,CAAO,GAAK,EAAA,OAAA,EAAS,kBAAsB,IAAA;AAAA,YAC7D;AAAA;AACF;AACF,OACF;AAAA;AAAA,MAEA,KAAO,EAAA;AAAA,QACL,GAAG,MAAO,CAAA,KAAA;AAAA,QACV,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,IAAA;AAAA,QAC1C,MAAA,EAAQ,OAAO,KAAO,EAAA,MAAA,IAAU,KAAK,WAAY,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA;AAAA,QACrE,SAAW,EAAA,MAAA,CAAO,KAAO,EAAA,SAAA,IAAa,YAAY,KAAM,CAAA,SAAA;AAAA,QACxD,aAAA,EAAe,OAAO,MAAO,CAAA,KAAA,EAAO,kBAAkB,SAAY,GAAA,MAAA,CAAO,KAAO,EAAA,aAAA,GAAgB,CAAC,GAAA;AAAA;AAAA,QAEjG,MAAQ,EAAA,MAAA,CAAO,KAAO,EAAA,MAAA,IAAU,CAAC,QAAQ,CAAA;AAAA,QACzC,MAAA;AAAA,QACA,aAAe,EAAA;AAAA,UACb,GAAG,OAAO,KAAO,EAAA,aAAA;AAAA,UACjB,OAAO,mBAAoB,CAAA,MAAA;AAAA,UAC3B,MAAQ,EAAA,SAAA;AAAA,UACR,uBACE,EAAA,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,uBAC7B,IAAA;AAAA,SACJ;AAAA,QACA,GAAA;AAAA,QACA,QAAA,EAAU,MAAO,CAAA,KAAA,EAAO,QAAY,IAAA,CAAA,mBAAA,CAAA;AAAA,QACpC,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA,uBAAA,CAAA;AAAA,QAC1C,aAAA,EAAe,MAAO,CAAA,KAAA,EAAO,aAAiB,IAAA,IAAA;AAAA,QAC9C,YAAA,EACE,OAAO,MAAO,CAAA,KAAA,EAAO,iBAAiB,SAClC,GAAA,MAAA,CAAO,OAAO,YACd,GAAA;AAAA;AACR,KACF;AACA,IAAA,iBAAA,CAAkB,KAAK,CAAI,GAAA,YAAA;AAC3B,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,UAAY,EAAA;AAAA,KACd;AAAA,GACK,MAAA;AACL,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,GAAG,MAAA;AAAA,MACH,IAAA;AAAA,MACA,IAAA;AAAA,MACA,MAAM,WAAY,CAAA,cAAA;AAAA,MAClB,SAAW,EAAA,UAAA;AAAA,MACX,OAAS,EAAA;AAAA,QACP,GAAG,MAAO,CAAA,OAAA;AAAA,QACV,kBAAA,EAAoB,MAAO,CAAA,OAAA,EAAS,kBAAsB,IAAA;AAAA,UACxD;AAAA;AACF,OACF;AAAA,MACA,MAAQ,EAAA;AAAA,QACN,GAAG,MAAO,CAAA,MAAA;AAAA,QACV,CAAC,CAAA,YAAA,EAAe,UAAU,CAAA,GAAA,CAAK,GAAG,CAAA,GAAA,CAAA;AAAA,QAClC,CAAC,eAAe,UAAU,CAAA,GAAA,CAAK,GAAG,CAAI,CAAA,EAAA,IAAA,KAAS,aAAgB,GAAA,GAAA,GAAM,GAAG,CAAA,CAAA,CAAA;AAAA,QACxE,CAAC,eAAe,UAAU,CAAA,IAAA,CAAM,GAAG,CAAI,CAAA,EAAA,IAAA,KAAS,YAAe,GAAA,GAAA,GAAM,GAAG,CAAA,CAAA,CAAA;AAAA,QACxE,CAAC,CAAe,YAAA,EAAA,UAAU,CAAM,IAAA,CAAA,GAAG,IAAI,IAAI,CAAA,CAAA,CAAA;AAAA,QAC3C,CAAC,eAAe,UAAU,CAAA,QAAA,CAAU,GAAG,CACrC,CAAA,EAAA,WAAA,CAAY,cAAmB,KAAA,EAAA,IAC/B,WAAY,CAAA,cAAA,KAAmB,MAC3B,GACA,GAAA,CAAC,WAAY,CAAA,cAAA,CAAe,QAAS,CAAA,GAAG,IACxC,WAAY,CAAA,cAAA,GAAiB,GAC7B,GAAA,WAAA,CAAY,cAClB,CAAA,CAAA;AAAA,OACF;AAAA,MACA,GAAK,EAAA;AAAA,QACH,GAAG,MAAO,CAAA,GAAA;AAAA,QACV,MAAA,EAAQ,MAAO,CAAA,GAAA,EAAK,MAAU,IAAA,MAAA;AAAA,QAC9B,YAAc,EAAA;AAAA,UACZ,GAAG,OAAO,GAAK,EAAA,YAAA;AAAA,UACf,OAAS,EAAA,MAAA,CAAO,GAAK,EAAA,YAAA,EAAc,OAAW,IAAA;AAAA,YAC5C,OAAA;AAAA,YACA,WAAA;AAAA,YACA;AAAA;AACF,SACF;AAAA,QACA,OAAS,EAAA;AAAA,UACP,GAAG,OAAO,GAAK,EAAA,OAAA;AAAA,UACf,kBAAoB,EAAA,MAAA,CAAO,GAAK,EAAA,OAAA,EAAS,kBAAsB,IAAA;AAAA,YAC7D;AAAA;AACF;AACF,OACF;AAAA;AAAA,MAEA,KAAO,EAAA;AAAA,QACL,GAAG,MAAO,CAAA,KAAA;AAAA,QACV,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,IAAA;AAAA,QAC1C,MAAA,EAAQ,OAAO,KAAO,EAAA,MAAA,IAAU,KAAK,WAAY,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA;AAAA,QACrE,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,MAAU,IAAA,QAAA;AAAA,QAChC,MAAA;AAAA,QACA,GAAA;AAAA,QACA,QAAA,EAAU,MAAO,CAAA,KAAA,EAAO,QAAY,IAAA,CAAA,mBAAA,CAAA;AAAA,QACpC,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA,uBAAA,CAAA;AAAA,QAC1C,aAAA,EACE,OAAO,MAAO,CAAA,KAAA,EAAO,kBAAkB,SACnC,GAAA,MAAA,CAAO,OAAO,aACd,GAAA,IAAA;AAAA,QACN,aAAA,EACE,OAAO,MAAO,CAAA,KAAA,EAAO,kBAAkB,SACnC,GAAA,MAAA,CAAO,OAAO,aACd,GAAA,KAAA;AAAA,QACN,SAAW,EAAA,MAAA,CAAO,KAAO,EAAA,SAAA,IAAa,YAAY,KAAM,CAAA,SAAA;AAAA;AAAA,QAExD,YAAA,EACE,OAAO,MAAO,CAAA,KAAA,EAAO,iBAAiB,SAClC,GAAA,MAAA,CAAO,OAAO,YACd,GAAA,IAAA;AAAA,QACN,aAAe,EAAA;AAAA,UACb,GAAG,OAAO,KAAO,EAAA,aAAA;AAAA,UACjB,OAAO,mBAAoB,CAAA,MAAA;AAAA,UAC3B,uBACE,EAAA,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,uBAA2B,IAAA,QAAA;AAAA,UAC1D,MAAQ,EAAA;AAAA;AACV;AACF,KACF;AACA,IAAA,iBAAA,CAAkB,KAAK,CAAI,GAAA,YAAA;AAC3B,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,UAAY,EAAA;AAAA,KACd;AAAA;AAEJ;;;;"}
|