vite-plugin-react-server 1.1.16 → 1.1.17
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 +2 -1
- package/dist/plugin/config/createModuleID.d.ts +8 -0
- package/dist/plugin/config/createModuleID.d.ts.map +1 -0
- package/dist/plugin/config/createModuleID.js +33 -0
- package/dist/plugin/config/defaults.d.ts +5 -0
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +6 -1
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/extMap.d.ts +1 -1
- package/dist/plugin/config/extMap.d.ts.map +1 -1
- package/dist/plugin/config/extMap.js +56 -26
- package/dist/plugin/config/extMap.js.map +1 -0
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +24 -8
- 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 +0 -1
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/helpers/requestInfo.d.ts +2 -2
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +9 -8
- package/dist/plugin/helpers/requestInfo.js.map +1 -1
- package/dist/plugin/react-server/configureReactServer.js.map +1 -1
- package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
- package/dist/plugin/utils/createCallServer.js +1 -2
- package/dist/plugin/utils/createCallServer.js.map +1 -1
- package/dist/plugin/worker/rsc/state.d.ts +0 -9
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/plugin/config/createModuleID.ts +51 -0
- package/plugin/config/defaults.tsx +5 -0
- package/plugin/config/extMap.ts +56 -44
- package/plugin/config/resolveOptions.ts +44 -24
- package/plugin/config/resolveUserConfig.ts +0 -1
- package/plugin/helpers/requestInfo.ts +29 -21
- package/plugin/react-server/configureReactServer.ts +1 -1
- package/plugin/utils/createCallServer.ts +1 -2
- package/plugin/worker/rsc/state.ts +0 -35
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.17",
|
|
4
4
|
"description": "Vite plugin for React Server Components (RSC)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/plugin/index.js",
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"test:server-action-integration": "npm run build && NODE_OPTIONS='--conditions react-server' vitest run test/server/server-action-integration.test.ts --reporter=verbose",
|
|
106
106
|
"test:server-action-integration-client": "npm run build && vitest run test/client/server-action-integration.test.ts --reporter=verbose",
|
|
107
107
|
"test": "npm run build && npm run test:server && npm run test:client && npm run test:unit",
|
|
108
|
+
"test-base-url": "BASE_URL='/test/' && npm run build && npm run test:server && npm run test:client && npm run test:unit",
|
|
108
109
|
"test:coverage": "npm run setup:test-fixtures && vitest run --coverage",
|
|
109
110
|
"test:ui": "npm run setup:test-fixtures && vitest --ui",
|
|
110
111
|
"experimental:clean-install": "npm install react-server-dom-esm react@experimental react-dom@experimental react-server-dom-esm --save-peer",
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ResolvedUserOptions } from "../types.js";
|
|
2
|
+
export declare const createDefaultModuleID: (options: {
|
|
3
|
+
moduleBase: ResolvedUserOptions["moduleBase"];
|
|
4
|
+
moduleBasePath: ResolvedUserOptions["moduleBasePath"];
|
|
5
|
+
autoDiscover: Pick<ResolvedUserOptions["autoDiscover"], "moduleExtension" | "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">;
|
|
6
|
+
build: Pick<ResolvedUserOptions["build"], "preserveModulesRoot">;
|
|
7
|
+
}) => (id: string) => string;
|
|
8
|
+
//# sourceMappingURL=createModuleID.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createModuleID.d.ts","sourceRoot":"","sources":["../../../plugin/config/createModuleID.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,YAAa;IAC7C,UAAU,EAAE,mBAAmB,CAAC,YAAY,CAAC,CAAC;IAC9C,cAAc,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;IACtD,YAAY,EAAE,IAAI,CAChB,mBAAmB,CAAC,cAAc,CAAC,EACjC,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,CACjB,CAAC;IACF,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC;CAClE,UAYa,MAAM,WAqBnB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { join } from "node:path";
|
|
2
|
+
import { extMap } from "./extMap.js";
|
|
3
|
+
export const createDefaultModuleID = (options) => {
|
|
4
|
+
const { moduleBase, moduleBasePath, autoDiscover } = options;
|
|
5
|
+
const isProd = process.env["NODE_ENV"] === "production" ||
|
|
6
|
+
process.env["VITE_PROD"] === "true" ||
|
|
7
|
+
process.env["VITE_PROD"] === "1";
|
|
8
|
+
const prodModuleBase = isProd && options.build?.preserveModulesRoot === true
|
|
9
|
+
? options.moduleBase
|
|
10
|
+
: undefined;
|
|
11
|
+
const mapExtension = extMap(autoDiscover);
|
|
12
|
+
return (id) => {
|
|
13
|
+
if (prodModuleBase && id.startsWith(moduleBase)) {
|
|
14
|
+
id = id.slice(moduleBase.length);
|
|
15
|
+
}
|
|
16
|
+
if (!id.startsWith(moduleBasePath)) {
|
|
17
|
+
id = join(moduleBasePath, id);
|
|
18
|
+
}
|
|
19
|
+
// in the case the moduleBase comes after the base path, remove it
|
|
20
|
+
if (prodModuleBase && id.startsWith("/" + moduleBase)) {
|
|
21
|
+
id = id.slice(moduleBase.length + 1);
|
|
22
|
+
}
|
|
23
|
+
// these paths will generally start with a /, simply ensure they always do
|
|
24
|
+
if (!id.startsWith("/")) {
|
|
25
|
+
id = "/" + id;
|
|
26
|
+
}
|
|
27
|
+
if (isProd) {
|
|
28
|
+
// generally it will work if we just use the .js extension for modules
|
|
29
|
+
return mapExtension(id);
|
|
30
|
+
}
|
|
31
|
+
return id;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
@@ -115,6 +115,11 @@ export declare const DEFAULT_CONFIG: {
|
|
|
115
115
|
readonly clientDirective: RegExp;
|
|
116
116
|
readonly isServerFunctionCode: (code: string, moduleId?: string) => boolean;
|
|
117
117
|
readonly isClientComponentCode: (code: string) => boolean;
|
|
118
|
+
readonly jsExtension: ".js";
|
|
119
|
+
readonly cssExtension: ".css";
|
|
120
|
+
readonly jsonExtension: ".json";
|
|
121
|
+
readonly htmlExtension: ".html";
|
|
122
|
+
readonly rscExtension: ".rsc";
|
|
118
123
|
};
|
|
119
124
|
readonly MODULE_ID: (id: string) => string;
|
|
120
125
|
readonly VERBOSE: false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8CD,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;QAUpC;;WAEG;oCACgB,MAAM;QACzB;;WAEG;kCACc,MAAM;QACvB;;WAEG;mCACe,MAAM;QACxB;;WAEG;uCACmB,MAAM;QAC5B;;WAEG;sCACkB,MAAM;QAC3B;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;+BACW,MAAM;QACpB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;8CAG0B,MAAM,aAAa,MAAM;+CAIxB,MAAM
|
|
1
|
+
{"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../../plugin/config/defaults.tsx"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iCA8CD,MAAM,EAAE;+BACV,MAAM,EAAE;;qCAEA,MAAM,EAAE;;QAUpC;;WAEG;oCACgB,MAAM;QACzB;;WAEG;kCACc,MAAM;QACvB;;WAEG;mCACe,MAAM;QACxB;;WAEG;uCACmB,MAAM;QAC5B;;WAEG;sCACkB,MAAM;QAC3B;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;+BACW,MAAM;QACpB;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;8CAG0B,MAAM,aAAa,MAAM;+CAIxB,MAAM;;;;;;;6BAQtB,MAAM;;CAEd,CAAC"}
|
|
@@ -121,7 +121,12 @@ const DEFAULT_CONFIG = {
|
|
|
121
121
|
*/
|
|
122
122
|
clientDirective: /^"use client"[\s;]*\n?/m,
|
|
123
123
|
isServerFunctionCode: (code, moduleId) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId) || false,
|
|
124
|
-
isClientComponentCode: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null
|
|
124
|
+
isClientComponentCode: (code) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,
|
|
125
|
+
jsExtension: ".js",
|
|
126
|
+
cssExtension: ".css",
|
|
127
|
+
jsonExtension: ".json",
|
|
128
|
+
htmlExtension: ".html",
|
|
129
|
+
rscExtension: ".rsc"
|
|
125
130
|
},
|
|
126
131
|
VERBOSE: false
|
|
127
132
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\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 /**\n * /\\.(m|c)?(j|t)sx?$/ and .lowerCase()\n */\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),\n /**\n * /\\.?page(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n pagePattern: (n: string) => /\\.?page(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.?props(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n propsPattern: (n: string) => /\\.?props(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()), \n /**\n * /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /\\.css$/\n */\n cssPattern: /\\.css$/,\n /**\n * /\\.css\\.js$/\n */\n cssModulePattern: /\\.css\\.js$/,\n /**\n * /^\\/@\\//\n */\n virtualPattern: /^\\/@\\//,\n /**\n * /^\\/node_modules\\//\n */\n vendorPattern: /^\\/node_modules\\//,\n /**\n * /\\.html$/\n */\n htmlPattern: /\\.html$/,\n /**\n * /\\.json$/\n */\n jsonPattern: /\\.json$/,\n /**\n * /\\.node(\\.js)?$/\n */\n nodeOnly: /\\.node(\\.js)?$/,\n /**\n * /\\.node(\\.js)?$/\n */\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')), \n /**\n * /\\.rsc$/\n */\n rscPattern: /\\.rsc$/, \n /**\n * /\\.(m|c)?(j|t)sx?$/\n */\n moduleExtension: /\\.(m|c)?(j|t)sx?$/,\n /**\n * /^\"use server\"[\\s;]*\\n?/m\n */\n serverDirective: /^\"use server\"[\\s;]*\\n?/m,\n /**\n * /^\"use client\"[\\s;]*\\n?/m\n */\n clientDirective: /^\"use client\"[\\s;]*\\n?/m,\n\n isServerFunctionCode: (code: string, moduleId?: string) => \n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || \n (moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId)) || \n false,\n isClientComponentCode: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,\n \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"defaults.js","sources":["../../../plugin/config/defaults.tsx"],"sourcesContent":["import { CssCollector } from \"../components/css-collector.js\";\nimport { Html } from \"../components/html.js\";\nexport const DEFAULT_CONFIG = {\n CLIENT_ASSETS_DIR: \"assets\",\n RSC_DIR: \"rsc\",\n MODULE_BASE: \"src\",\n MODULE_BASE_PATH: \"/\",\n MODULE_BASE_URL: \"/\",\n PUBLIC_ORIGIN: \"\",\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 /**\n * /\\.(m|c)?(j|t)sx?$/ and .lowerCase()\n */\n modulePattern: (n: string) => /\\.(m|c)?(j|t)sx?$/.test(n.toLowerCase()),\n /**\n * /\\.?page(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n pagePattern: (n: string) => /\\.?page(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),\n /**\n * /\\.?props(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n propsPattern: (n: string) => /\\.?props(\\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()), \n /**\n * /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n clientComponents: (n: string) => /(\\.|\\/)?client(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)$/ and .lowerCase()\n */\n serverFunctions: (n: string) => /(\\.|\\/)?server(\\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),\n /**\n * /\\.css$/\n */\n cssPattern: /\\.css$/,\n /**\n * /\\.css\\.js$/\n */\n cssModulePattern: /\\.css\\.js$/,\n /**\n * /^\\/@\\//\n */\n virtualPattern: /^\\/@\\//,\n /**\n * /^\\/node_modules\\//\n */\n vendorPattern: /^\\/node_modules\\//,\n /**\n * /\\.html$/\n */\n htmlPattern: /\\.html$/,\n /**\n * /\\.json$/\n */\n jsonPattern: /\\.json$/,\n /**\n * /\\.node(\\.js)?$/\n */\n nodeOnly: /\\.node(\\.js)?$/,\n /**\n * /\\.node(\\.js)?$/\n */\n dotFiles: (n: string) => n.split('/').some(p => p.startsWith('.')), \n /**\n * /\\.rsc$/\n */\n rscPattern: /\\.rsc$/, \n /**\n * /\\.(m|c)?(j|t)sx?$/\n */\n moduleExtension: /\\.(m|c)?(j|t)sx?$/,\n /**\n * /^\"use server\"[\\s;]*\\n?/m\n */\n serverDirective: /^\"use server\"[\\s;]*\\n?/m,\n /**\n * /^\"use client\"[\\s;]*\\n?/m\n */\n clientDirective: /^\"use client\"[\\s;]*\\n?/m,\n\n isServerFunctionCode: (code: string, moduleId?: string) => \n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) !== null || \n (moduleId && DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions(moduleId)) || \n false,\n isClientComponentCode: (code: string) => code.match(DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective) !== null,\n jsExtension: \".js\",\n cssExtension: \".css\",\n jsonExtension: \".json\",\n htmlExtension: \".html\",\n rscExtension: \".rsc\",\n \n },\n MODULE_ID: (id: string) => id,\n VERBOSE: false,\n} as const;"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { ResolvedUserOptions } from "../types.js";
|
|
2
|
-
export declare const extMap: ({ jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, }?: Pick<ResolvedUserOptions["autoDiscover"], "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">) => (
|
|
2
|
+
export declare const extMap: ({ moduleExtension, jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, }?: Pick<ResolvedUserOptions["autoDiscover"], "moduleExtension" | "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">) => (id: string) => string;
|
|
3
3
|
//# sourceMappingURL=extMap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extMap.d.ts","sourceRoot":"","sources":["../../../plugin/config/extMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"extMap.d.ts","sourceRoot":"","sources":["../../../plugin/config/extMap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAGvD,eAAO,MAAM,MAAM,iGAQd,IAAI,CACL,mBAAmB,CAAC,cAAc,CAAC,EACjC,iBAAiB,GACjB,aAAa,GACb,cAAc,GACd,eAAe,GACf,eAAe,GACf,cAAc,CACjB,UA4BW,MAAM,WAYnB,CAAC"}
|
|
@@ -1,27 +1,57 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { DEFAULT_CONFIG } from './defaults.js';
|
|
7
|
+
|
|
8
|
+
const extMap = ({
|
|
9
|
+
moduleExtension,
|
|
10
|
+
jsExtension,
|
|
11
|
+
cssExtension,
|
|
12
|
+
jsonExtension,
|
|
13
|
+
htmlExtension,
|
|
14
|
+
rscExtension
|
|
15
|
+
} = {
|
|
16
|
+
moduleExtension: DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,
|
|
17
|
+
jsExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsExtension,
|
|
18
|
+
cssExtension: DEFAULT_CONFIG.AUTO_DISCOVER.cssExtension,
|
|
19
|
+
jsonExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsonExtension,
|
|
20
|
+
htmlExtension: DEFAULT_CONFIG.AUTO_DISCOVER.htmlExtension,
|
|
21
|
+
rscExtension: DEFAULT_CONFIG.AUTO_DISCOVER.rscExtension
|
|
22
|
+
}) => {
|
|
23
|
+
const map = {
|
|
24
|
+
// should not have just .client as extension
|
|
25
|
+
".client": ".client" + jsExtension,
|
|
26
|
+
// should not have just .server as extension
|
|
27
|
+
".server": ".server" + jsExtension,
|
|
28
|
+
// these transform to js
|
|
29
|
+
".jsx": jsExtension,
|
|
30
|
+
".ts": jsExtension,
|
|
31
|
+
".tsx": jsExtension,
|
|
32
|
+
".mjs": jsExtension,
|
|
33
|
+
".cjs": jsExtension,
|
|
34
|
+
".mts": jsExtension,
|
|
35
|
+
".cts": jsExtension,
|
|
36
|
+
".css": cssExtension,
|
|
37
|
+
".json": jsonExtension,
|
|
38
|
+
".html": htmlExtension,
|
|
39
|
+
".rsc": rscExtension
|
|
40
|
+
// otherwise do nothing
|
|
41
|
+
};
|
|
42
|
+
return (id) => {
|
|
43
|
+
const lastDotIndex = id.lastIndexOf(".");
|
|
44
|
+
if (lastDotIndex === -1) {
|
|
45
|
+
return id + jsExtension;
|
|
46
|
+
}
|
|
47
|
+
let ext = id.slice(lastDotIndex);
|
|
48
|
+
let withoutExt = id.slice(0, lastDotIndex);
|
|
49
|
+
if (ext in map) {
|
|
50
|
+
return withoutExt + map[ext];
|
|
51
|
+
}
|
|
52
|
+
return id.replace(moduleExtension, jsExtension);
|
|
53
|
+
};
|
|
27
54
|
};
|
|
55
|
+
|
|
56
|
+
export { extMap };
|
|
57
|
+
//# sourceMappingURL=extMap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extMap.js","sources":["../../../plugin/config/extMap.ts"],"sourcesContent":["import type { ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nexport const extMap = (\n {\n moduleExtension,\n jsExtension,\n cssExtension,\n jsonExtension,\n htmlExtension,\n rscExtension,\n }: Pick<\n ResolvedUserOptions[\"autoDiscover\"],\n | \"moduleExtension\"\n | \"jsExtension\"\n | \"cssExtension\"\n | \"jsonExtension\"\n | \"htmlExtension\"\n | \"rscExtension\"\n > = {\n moduleExtension: DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n jsExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsExtension,\n cssExtension: DEFAULT_CONFIG.AUTO_DISCOVER.cssExtension,\n jsonExtension: DEFAULT_CONFIG.AUTO_DISCOVER.jsonExtension,\n htmlExtension: DEFAULT_CONFIG.AUTO_DISCOVER.htmlExtension,\n rscExtension: DEFAULT_CONFIG.AUTO_DISCOVER.rscExtension,\n }\n) => {\n const map = {\n // should not have just .client as extension\n \".client\": \".client\" + jsExtension,\n // should not have just .server as extension\n \".server\": \".server\" + jsExtension,\n // these transform to js\n \".jsx\": jsExtension,\n \".ts\": jsExtension,\n \".tsx\": jsExtension,\n \".mjs\": jsExtension,\n \".cjs\": jsExtension,\n \".mts\": jsExtension,\n \".cts\": jsExtension,\n \".css\": cssExtension,\n \".json\": jsonExtension,\n \".html\": htmlExtension,\n \".rsc\": rscExtension,\n // otherwise do nothing\n };\n return (id: string) => {\n const lastDotIndex = id.lastIndexOf(\".\");\n if (lastDotIndex === -1) {\n return id + jsExtension;\n }\n let ext = id.slice(lastDotIndex);\n let withoutExt = id.slice(0, lastDotIndex);\n if (ext in map) {\n return withoutExt + map[ext as keyof typeof map];\n }\n return id.replace(moduleExtension, jsExtension);\n };\n};\n"],"names":[],"mappings":";;;;;;;AAGO,MAAM,SAAS,CACpB;AAAA,EACE,eAAA;AAAA,EACA,WAAA;AAAA,EACA,YAAA;AAAA,EACA,aAAA;AAAA,EACA,aAAA;AAAA,EACA;AACF,CAQI,GAAA;AAAA,EACF,eAAA,EAAiB,eAAe,aAAc,CAAA,eAAA;AAAA,EAC9C,WAAA,EAAa,eAAe,aAAc,CAAA,WAAA;AAAA,EAC1C,YAAA,EAAc,eAAe,aAAc,CAAA,YAAA;AAAA,EAC3C,aAAA,EAAe,eAAe,aAAc,CAAA,aAAA;AAAA,EAC5C,aAAA,EAAe,eAAe,aAAc,CAAA,aAAA;AAAA,EAC5C,YAAA,EAAc,eAAe,aAAc,CAAA;AAC7C,CACG,KAAA;AACH,EAAA,MAAM,GAAM,GAAA;AAAA;AAAA,IAEV,WAAW,SAAY,GAAA,WAAA;AAAA;AAAA,IAEvB,WAAW,SAAY,GAAA,WAAA;AAAA;AAAA,IAEvB,MAAQ,EAAA,WAAA;AAAA,IACR,KAAO,EAAA,WAAA;AAAA,IACP,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,WAAA;AAAA,IACR,MAAQ,EAAA,YAAA;AAAA,IACR,OAAS,EAAA,aAAA;AAAA,IACT,OAAS,EAAA,aAAA;AAAA,IACT,MAAQ,EAAA;AAAA;AAAA,GAEV;AACA,EAAA,OAAO,CAAC,EAAe,KAAA;AACrB,IAAM,MAAA,YAAA,GAAe,EAAG,CAAA,WAAA,CAAY,GAAG,CAAA;AACvC,IAAA,IAAI,iBAAiB,EAAI,EAAA;AACvB,MAAA,OAAO,EAAK,GAAA,WAAA;AAAA;AAEd,IAAI,IAAA,GAAA,GAAM,EAAG,CAAA,KAAA,CAAM,YAAY,CAAA;AAC/B,IAAA,IAAI,UAAa,GAAA,EAAA,CAAG,KAAM,CAAA,CAAA,EAAG,YAAY,CAAA;AACzC,IAAA,IAAI,OAAO,GAAK,EAAA;AACd,MAAO,OAAA,UAAA,GAAa,IAAI,GAAuB,CAAA;AAAA;AAEjD,IAAO,OAAA,EAAA,CAAG,OAAQ,CAAA,eAAA,EAAiB,WAAW,CAAA;AAAA,GAChD;AACF;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolveOptions.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,gBACrB,SAAS,SAAS,YAAY,0BAErB,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,KAExC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,GACnE;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,EACV,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AA+CrB,eAAO,MAAM,cAAc,GACzB,CAAC,SAAS,WAAW,gBACrB,SAAS,SAAS,YAAY,0BAErB,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,KAExC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;CAAE,GACnE;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CA0dhC,CAAC"}
|
|
@@ -9,6 +9,7 @@ import { pluginRoot } from '../root.js';
|
|
|
9
9
|
import { CssCollector } from '../components/css-collector.js';
|
|
10
10
|
import { createInputNormalizer } from '../helpers/inputNormalizer.js';
|
|
11
11
|
import { resolveAutoDiscoverMatcher } from './resolveAutoDiscoverMatcher.js';
|
|
12
|
+
import { extMap } from './extMap.js';
|
|
12
13
|
|
|
13
14
|
const handleSearchQuery = (path) => {
|
|
14
15
|
const searchQuery = path.split("?")[1];
|
|
@@ -24,7 +25,11 @@ const registerPath = (path, _pattern, ext) => {
|
|
|
24
25
|
return path;
|
|
25
26
|
};
|
|
26
27
|
const resolveOptions = (options) => {
|
|
28
|
+
const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
27
29
|
const projectRoot = options.projectRoot ?? process.cwd();
|
|
30
|
+
const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
|
|
31
|
+
const isProd = process.env["NODE_ENV"] === "production" || process.env["VITE_PROD"] === "true" || process.env["VITE_PROD"] === "1";
|
|
32
|
+
const prodModuleBase = isProd && preserveModulesRoot ? moduleBase : undefined;
|
|
28
33
|
const {
|
|
29
34
|
pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,
|
|
30
35
|
propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME
|
|
@@ -36,8 +41,6 @@ const resolveOptions = (options) => {
|
|
|
36
41
|
const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;
|
|
37
42
|
const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;
|
|
38
43
|
const assetsDir = options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;
|
|
39
|
-
const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
|
|
40
|
-
const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
|
|
41
44
|
const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;
|
|
42
45
|
const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;
|
|
43
46
|
const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
|
|
@@ -51,12 +54,6 @@ const resolveOptions = (options) => {
|
|
|
51
54
|
if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
|
|
52
55
|
process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
|
|
53
56
|
}
|
|
54
|
-
const normalizer = options.normalizer ?? createInputNormalizer({
|
|
55
|
-
root: projectRoot,
|
|
56
|
-
preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,
|
|
57
|
-
removeExtension: true,
|
|
58
|
-
moduleBasePath
|
|
59
|
-
});
|
|
60
57
|
const moduleExtension = resolveAutoDiscoverMatcher(
|
|
61
58
|
options.autoDiscover?.moduleExtension,
|
|
62
59
|
DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension
|
|
@@ -205,6 +202,12 @@ const resolveOptions = (options) => {
|
|
|
205
202
|
);
|
|
206
203
|
return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);
|
|
207
204
|
};
|
|
205
|
+
const normalizer = options.normalizer ?? createInputNormalizer({
|
|
206
|
+
root: projectRoot,
|
|
207
|
+
preserveModulesRoot: prodModuleBase,
|
|
208
|
+
removeExtension: true,
|
|
209
|
+
moduleBasePath
|
|
210
|
+
});
|
|
208
211
|
const entryFile = (n, ssr) => {
|
|
209
212
|
if (vendorPattern(n.name)) {
|
|
210
213
|
const search = n.facadeModuleId?.split("?")[1];
|
|
@@ -228,9 +231,21 @@ const resolveOptions = (options) => {
|
|
|
228
231
|
return hash(getOutputPath(assetName), ssr);
|
|
229
232
|
};
|
|
230
233
|
const moduleID = typeof options.moduleID === "function" ? options.moduleID : (id) => {
|
|
234
|
+
if (prodModuleBase && id.startsWith(prodModuleBase)) {
|
|
235
|
+
id = id.slice(prodModuleBase.length);
|
|
236
|
+
}
|
|
231
237
|
if (!id.startsWith(moduleBasePath)) {
|
|
232
238
|
id = join(moduleBasePath, id);
|
|
233
239
|
}
|
|
240
|
+
if (prodModuleBase && id.startsWith("/" + prodModuleBase)) {
|
|
241
|
+
id = id.slice(prodModuleBase.length + 1);
|
|
242
|
+
}
|
|
243
|
+
if (!id.startsWith("/")) {
|
|
244
|
+
id = "/" + id;
|
|
245
|
+
}
|
|
246
|
+
if (isProd) {
|
|
247
|
+
return mapExtension(id);
|
|
248
|
+
}
|
|
234
249
|
return id;
|
|
235
250
|
};
|
|
236
251
|
const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;
|
|
@@ -277,6 +292,7 @@ const resolveOptions = (options) => {
|
|
|
277
292
|
isServerFunctionCode,
|
|
278
293
|
isClientComponentCode
|
|
279
294
|
};
|
|
295
|
+
const mapExtension = extMap(autoDiscover);
|
|
280
296
|
const pipeableStreamOptions = options.pipeableStreamOptions ? options.pipeableStreamOptions : {};
|
|
281
297
|
try {
|
|
282
298
|
return {
|
|
@@ -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 {\n StreamPluginOptions,\n ResolvedUserOptions,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { resolveAutoDiscoverMatcher } from \"./resolveAutoDiscoverMatcher.js\";\n\n// /**\n// * Ensures a path ends with .js extension\n// */\n// const 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 ext?: string | undefined\n) => {\n if (ext && !path.endsWith(ext)) {\n return path + ext;\n }\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<T, 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 // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\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 : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\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 // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot:\n preserveModulesRoot === true ? moduleBase : undefined,\n removeExtension: true,\n moduleBasePath,\n });\n\n const moduleExtension = resolveAutoDiscoverMatcher(\n options.autoDiscover?.moduleExtension,\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension\n );\n // Auto-discovery pattern matchers\n const modulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) => moduleExtension(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const jsonPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const cssPattern = 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 clientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?client(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const serverFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?server(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const nodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const propsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?props(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const pagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?page(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const cssModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const vendorPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const virtualPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const dotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n const isServerFunctionCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isServerFunction,\n options.autoDiscover?.serverDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.serverDirective!) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n : (code: string, moduleId?: string) =>\n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n );\n\n const isClientComponentCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponent,\n options.autoDiscover?.clientDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.clientDirective!) != null\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective\n );\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 // 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 const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(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 const jsExtension = options.autoDiscover?.jsExtension ?? \".js\";\n const cssExtension = options.autoDiscover?.cssExtension ?? \".css\";\n const htmlExtension = options.autoDiscover?.htmlExtension ?? \".html\";\n const jsonExtension = options.autoDiscover?.jsonExtension ?? \".json\";\n const rscExtension = options.autoDiscover?.rscExtension ?? \".rsc\";\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 + moduleBasePath)\n ? path.slice(moduleBase.length + moduleBasePath.length)\n : path;\n\n if (vendorPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.vendorPattern,\n jsExtension\n );\n if (cssModulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n cssExtension + jsExtension\n );\n if (cssPattern(path))\n return registerPath(path, options.autoDiscover?.cssPattern, cssExtension);\n if (clientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n jsExtension\n );\n if (testHtml(path))\n return registerPath(\n path,\n options.autoDiscover?.htmlPattern,\n htmlExtension\n );\n if (jsonPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.jsonPattern,\n jsonExtension\n );\n if (propsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n jsExtension\n );\n if (pagePattern(path))\n return registerPath(path, options.autoDiscover?.pagePattern, jsExtension);\n if (serverFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n jsExtension\n );\n if (modulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.modulePattern,\n jsExtension\n );\n return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);\n };\n\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (vendorPattern(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}${jsExtension}`, ssr);\n } else {\n return hash(`${n.name}${jsExtension}`, ssr);\n }\n }\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n const firstName = n.names[0];\n const extIndex = firstName.lastIndexOf(\".\");\n const nameWithoutExtension = firstName.slice(0, extIndex);\n const extension = firstName.slice(extIndex);\n const assetName = normalizer(nameWithoutExtension)[0] + extension;\n return hash(getOutputPath(assetName), ssr);\n };\n\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n if (!id.startsWith(moduleBasePath)) {\n id = join(moduleBasePath, id);\n }\n\n return id;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n 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 // Auto-discovery configuration\n const autoDiscover = {\n jsExtension: jsExtension,\n cssExtension: cssExtension,\n htmlExtension: htmlExtension,\n jsonExtension: jsonExtension,\n rscExtension: rscExtension,\n moduleExtension:\n options.autoDiscover?.moduleExtension ??\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n serverDirective:\n options.autoDiscover?.serverDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,\n clientDirective:\n options.autoDiscover?.clientDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,\n modulePattern: modulePattern,\n cssPattern: cssPattern,\n jsonPattern: jsonPattern,\n clientComponents: clientComponents,\n serverFunctions: serverFunctions,\n nodeOnly: nodeOnly,\n propsPattern: propsPattern,\n pagePattern: pagePattern,\n cssModulePattern: cssModulePattern,\n vendorPattern: vendorPattern,\n dotFiles: dotFiles,\n virtualPattern: virtualPattern,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n isServerFunctionCode: isServerFunctionCode,\n isClientComponentCode: isClientComponentCode,\n };\n const pipeableStreamOptions = 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 publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\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 moduleID: moduleID,\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 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<T, 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 {\n StreamPluginOptions,\n ResolvedUserOptions,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { CssCollector } from \"../components/css-collector.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { resolveAutoDiscoverMatcher } from \"./resolveAutoDiscoverMatcher.js\";\nimport { extMap } from \"./extMap.js\";\n// /**\n// * Ensures a path ends with .js extension\n// */\n// const 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 ext?: string | undefined\n) => {\n if (ext && !path.endsWith(ext)) {\n return path + ext;\n }\n return path;\n};\n\n// ============================================================================\n// Main Options Resolver\n// ============================================================================\n\nexport const resolveOptions = <\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>(\n options: StreamPluginOptions<T, InlineCSS>\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<T, InlineCSS> }\n | { type: \"error\"; error: Error } => {\n // Module path configuration\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n // Basic configuration\n const projectRoot = options.projectRoot ?? process.cwd();\n\n // Build options\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n\n const isProd =\n process.env[\"NODE_ENV\"] === \"production\" ||\n process.env[\"VITE_PROD\"] === \"true\" ||\n process.env[\"VITE_PROD\"] === \"1\";\n const prodModuleBase = isProd && preserveModulesRoot ? moduleBase : undefined;\n\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 const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;\n\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const moduleRootPath =\n typeof options.moduleRootPath === \"string\"\n ? options.moduleRootPath\n : join(projectRoot, outDir, client);\n\n const publicOrigin =\n typeof options.publicOrigin === \"string\"\n ? options.publicOrigin\n : process.env.VITE_PUBLIC_ORIGIN ?? DEFAULT_CONFIG.PUBLIC_ORIGIN;\n\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 // these will never be cleaned up, because, we are resolving the user options\n // and it's assumed they are relevant until the process stops\n if (process.env.VITE_BASE_URL !== moduleBaseURL) {\n process.env.VITE_BASE_URL = moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n const moduleExtension = resolveAutoDiscoverMatcher(\n options.autoDiscover?.moduleExtension,\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension\n );\n // Auto-discovery pattern matchers\n const modulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) => moduleExtension(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const jsonPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const cssPattern = 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 clientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?client(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n\n const serverFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n options.autoDiscover?.moduleExtension\n ? (id: string) => /(\\.|\\/)?server(\\.|\\/)?/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n\n const nodeOnly = resolveAutoDiscoverMatcher(\n options.autoDiscover?.nodeOnly,\n DEFAULT_CONFIG.AUTO_DISCOVER.nodeOnly\n );\n\n const propsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?props(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n\n const pagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n options.autoDiscover?.moduleExtension\n ? (id: string) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?page(\\.|\\/)/.test(id.toLowerCase())\n : DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n\n const cssModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n\n const vendorPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n\n const virtualPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.virtualPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.virtualPattern\n );\n\n const dotFiles = resolveAutoDiscoverMatcher(\n options.autoDiscover?.dotFiles,\n DEFAULT_CONFIG.AUTO_DISCOVER.dotFiles\n );\n\n const isServerFunctionCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isServerFunction,\n options.autoDiscover?.serverDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.serverDirective!) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n : (code: string, moduleId?: string) =>\n code.match(DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n );\n\n const isClientComponentCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponent,\n options.autoDiscover?.clientDirective\n ? (code: string) =>\n code.match(options.autoDiscover?.clientDirective!) != null\n : DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective\n );\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 // 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 const hash = (n: string | null, ssr: boolean) => {\n if (!n) return \"\";\n if (ssr) return n;\n if (hashString === \"\" || autoDiscover.nodeOnly(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 const jsExtension = options.autoDiscover?.jsExtension ?? \".js\";\n const cssExtension = options.autoDiscover?.cssExtension ?? \".css\";\n const htmlExtension = options.autoDiscover?.htmlExtension ?? \".html\";\n const jsonExtension = options.autoDiscover?.jsonExtension ?? \".json\";\n const rscExtension = options.autoDiscover?.rscExtension ?? \".rsc\";\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 + moduleBasePath)\n ? path.slice(moduleBase.length + moduleBasePath.length)\n : path;\n\n if (vendorPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.vendorPattern,\n jsExtension\n );\n if (cssModulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.cssModulePattern,\n cssExtension + jsExtension\n );\n if (cssPattern(path))\n return registerPath(path, options.autoDiscover?.cssPattern, cssExtension);\n if (clientComponents(path))\n return registerPath(\n path,\n options.autoDiscover?.clientComponents,\n jsExtension\n );\n if (testHtml(path))\n return registerPath(\n path,\n options.autoDiscover?.htmlPattern,\n htmlExtension\n );\n if (jsonPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.jsonPattern,\n jsonExtension\n );\n if (propsPattern(path))\n return registerPath(\n path,\n options.autoDiscover?.propsPattern,\n jsExtension\n );\n if (pagePattern(path))\n return registerPath(path, options.autoDiscover?.pagePattern, jsExtension);\n if (serverFunctions(path))\n return registerPath(\n path,\n options.autoDiscover?.serverFunctions,\n jsExtension\n );\n if (modulePattern(path))\n return registerPath(\n path,\n options.autoDiscover?.modulePattern,\n jsExtension\n );\n return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);\n };\n\n const normalizer =\n options.normalizer ??\n createInputNormalizer({\n root: projectRoot,\n preserveModulesRoot: prodModuleBase,\n removeExtension: true,\n moduleBasePath,\n });\n // File naming functions\n const entryFile = (n: PreRenderedChunk, ssr: boolean) => {\n if (vendorPattern(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}${jsExtension}`, ssr);\n } else {\n return hash(`${n.name}${jsExtension}`, ssr);\n }\n }\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(getOutputPath(normalizer(n.name)[0]), ssr);\n };\n\n const assetFile = (n: PreRenderedAsset, ssr: boolean) => {\n const firstName = n.names[0];\n const extIndex = firstName.lastIndexOf(\".\");\n const nameWithoutExtension = firstName.slice(0, extIndex);\n const extension = firstName.slice(extIndex);\n const assetName = normalizer(nameWithoutExtension)[0] + extension;\n return hash(getOutputPath(assetName), ssr);\n };\n const moduleID =\n typeof options.moduleID === \"function\"\n ? options.moduleID\n : (id: string) => {\n if (prodModuleBase && id.startsWith(prodModuleBase)) {\n id = id.slice(prodModuleBase.length);\n }\n if (!id.startsWith(moduleBasePath)) {\n id = join(moduleBasePath, id);\n }\n // in the case the moduleBase comes after the base path, remove it\n if (prodModuleBase && id.startsWith(\"/\" + prodModuleBase)) {\n id = id.slice(prodModuleBase.length + 1);\n }\n // these paths will generally start with a /, simply ensure they always do\n if (!id.startsWith(\"/\")) {\n id = \"/\" + id;\n }\n if (isProd) {\n // generally it will work if we just use the .js extension for modules\n return mapExtension(id);\n }\n // but for extra good development workflow, we keep the path intact\n // not even stripping the moduleBase or ts extensions\n return id;\n };\n\n const rscOutputPath =\n options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;\n const htmlOutputPath =\n 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 // Auto-discovery configuration\n const autoDiscover = {\n jsExtension: jsExtension,\n cssExtension: cssExtension,\n htmlExtension: htmlExtension,\n jsonExtension: jsonExtension,\n rscExtension: rscExtension,\n moduleExtension:\n options.autoDiscover?.moduleExtension ??\n DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension,\n serverDirective:\n options.autoDiscover?.serverDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.serverDirective,\n clientDirective:\n options.autoDiscover?.clientDirective ??\n DEFAULT_CONFIG.AUTO_DISCOVER.clientDirective,\n modulePattern: modulePattern,\n cssPattern: cssPattern,\n jsonPattern: jsonPattern,\n clientComponents: clientComponents,\n serverFunctions: serverFunctions,\n nodeOnly: nodeOnly,\n propsPattern: propsPattern,\n pagePattern: pagePattern,\n cssModulePattern: cssModulePattern,\n vendorPattern: vendorPattern,\n dotFiles: dotFiles,\n virtualPattern: virtualPattern,\n htmlPattern: testHtml,\n rscPattern: testRsc,\n isServerFunctionCode: isServerFunctionCode,\n isClientComponentCode: isClientComponentCode,\n };\n const mapExtension = extMap(autoDiscover);\n const pipeableStreamOptions = 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 publicOrigin,\n build: build,\n verbose: options.verbose ?? DEFAULT_CONFIG.VERBOSE,\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 moduleID: moduleID,\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 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<T, 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,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,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,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,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,EACnB,WAAW,EACX,YAAY,EACb,MAAM,aAAa,CAAC;AAOrB,MAAM,MAAM,sBAAsB,CAChC,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,IAC3C;IACF,SAAS,EAAE,cAAc,GAAG,cAAc,CAAC;IAC3C,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/C,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,CAC/B,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,SAAS,SAAS,YAAY,GAAG,YAAY,EAC7C,EACA,SAAS,EACT,MAAM,EACN,SAAS,EACT,WAAW,EACX,mBAAmB,GACpB,EAAE,sBAAsB,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,uBAAuB,CAoVhE"}
|
|
@@ -36,7 +36,6 @@ function resolveUserConfig({
|
|
|
36
36
|
value = value.slice(userOptions.moduleBasePath.length);
|
|
37
37
|
}
|
|
38
38
|
const entry = autoDiscoveredFiles.staticManifest[value];
|
|
39
|
-
console.log("entry", entry);
|
|
40
39
|
if (entry?.name && info.type === "asset" && userOptions.autoDiscover.cssPattern(value)) {
|
|
41
40
|
const found = entry.css?.find(
|
|
42
41
|
(css) => css.startsWith(id)
|