vite-plugin-react-server 1.1.15 → 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.
Files changed (57) hide show
  1. package/dist/package.json +2 -1
  2. package/dist/plugin/config/createModuleID.d.ts +8 -0
  3. package/dist/plugin/config/createModuleID.d.ts.map +1 -0
  4. package/dist/plugin/config/createModuleID.js +33 -0
  5. package/dist/plugin/config/defaults.d.ts +5 -0
  6. package/dist/plugin/config/defaults.d.ts.map +1 -1
  7. package/dist/plugin/config/defaults.js +8 -3
  8. package/dist/plugin/config/defaults.js.map +1 -1
  9. package/dist/plugin/config/extMap.d.ts +3 -0
  10. package/dist/plugin/config/extMap.d.ts.map +1 -0
  11. package/dist/plugin/config/extMap.js +57 -0
  12. package/dist/plugin/config/extMap.js.map +1 -0
  13. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  14. package/dist/plugin/config/resolveOptions.js +29 -26
  15. package/dist/plugin/config/resolveOptions.js.map +1 -1
  16. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  17. package/dist/plugin/config/resolveUserConfig.js +23 -13
  18. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  19. package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
  20. package/dist/plugin/helpers/inputNormalizer.js +8 -1
  21. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  22. package/dist/plugin/helpers/requestInfo.d.ts +2 -2
  23. package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
  24. package/dist/plugin/helpers/requestInfo.js +9 -8
  25. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  26. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +0 -19
  27. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -1
  28. package/dist/plugin/react-server/configureReactServer.js.map +1 -1
  29. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -1
  30. package/dist/plugin/source-map/createMappingsSerializer.js +0 -1
  31. package/dist/plugin/source-map/readMappings.d.ts.map +1 -1
  32. package/dist/plugin/source-map/readMappings.js +0 -1
  33. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  34. package/dist/plugin/transformer/plugin.server.js +1 -10
  35. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  36. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  37. package/dist/plugin/utils/createCallServer.js +1 -2
  38. package/dist/plugin/utils/createCallServer.js.map +1 -1
  39. package/dist/plugin/worker/rsc/state.d.ts +0 -9
  40. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  41. package/dist/plugin/worker/rsc/state.js.map +1 -1
  42. package/dist/tsconfig.tsbuildinfo +1 -1
  43. package/package.json +2 -1
  44. package/plugin/config/createModuleID.ts +51 -0
  45. package/plugin/config/defaults.tsx +7 -2
  46. package/plugin/config/extMap.ts +60 -0
  47. package/plugin/config/resolveOptions.ts +66 -54
  48. package/plugin/config/resolveUserConfig.ts +31 -15
  49. package/plugin/helpers/inputNormalizer.ts +19 -3
  50. package/plugin/helpers/requestInfo.ts +29 -21
  51. package/plugin/loader/transformModuleWithPreservedFunctions.ts +1 -1
  52. package/plugin/react-server/configureReactServer.ts +1 -1
  53. package/plugin/source-map/createMappingsSerializer.ts +0 -1
  54. package/plugin/source-map/readMappings.ts +0 -1
  55. package/plugin/transformer/plugin.server.ts +1 -10
  56. package/plugin/utils/createCallServer.ts +1 -2
  57. 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.15",
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;;6BAGtB,MAAM;;CAEd,CAAC"}
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"}
@@ -67,11 +67,11 @@ const DEFAULT_CONFIG = {
67
67
  /**
68
68
  * /(\.|\/)?client(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
69
69
  */
70
- clientComponents: (n) => /(\.|\/)?client(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
70
+ clientComponents: (n) => /(\.|\/)?client(\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),
71
71
  /**
72
72
  * /(\.|\/)?server(\.(m|c)?(j|t)sx?)$/ and .lowerCase()
73
73
  */
74
- serverFunctions: (n) => /(\.|\/)?server(\.(m|c)?(j|t)sx?)$/.test(n.toLowerCase()),
74
+ serverFunctions: (n) => /(\.|\/)?server(\.(m|c)?(j|t)sx?)?$/.test(n.toLowerCase()),
75
75
  /**
76
76
  * /\.css$/
77
77
  */
@@ -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":";;;;;;;AAEO,MAAM,cAAiB,GAAA;AAAA,EAC5B,iBAAmB,EAAA,QAAA;AAAA,EAEnB,WAAa,EAAA,KAAA;AAAA,EACb,gBAAkB,EAAA,GAAA;AAAA,EAClB,eAAiB,EAAA,GAAA;AAAA,EACjB,aAAe,EAAA,EAAA;AAAA,EAGf,YAAc,EAAA,SAAA;AAAA,EACd,YAAc,EAAA,SAAA;AAAA,EACd,gBAAkB,EAAA,MAAA;AAAA,EAClB,iBAAmB,EAAA,OAAA;AAAA,EACnB,gBAAA,EAAkB,2BAChB,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,YAAA,GAAe,eAAe,aAC5D,CAAA,GAAA,CAAA;AAAA,EACA,eAAA,EAAiB,yBACf,OAAQ,CAAA,GAAA,CAAI,UAAU,CAAM,KAAA,YAAA,GAAe,eAAe,aAC5D,CAAA,GAAA,CAAA;AAAA,EACA,WAAa,EAAA,kBAAA;AAAA,EAGb,IAAM,EAAA,IAAA;AAAA,EACN,YAAY,MAAI;AAAA,GAAC;AAAA,EAKjB,UAAY,EAAA,OAAA;AAAA,EACZ,KAAO,EAAA;AAAA,IACL,OAAO,EAAC;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,MAAQ,EAAA,QAAA;AAAA,IACR,GAAK,EAAA,KAAA;AAAA,IACL,MAAQ,EAAA,MAAA;AAAA,IAER,IAAM,EAAA,MAAA;AAAA,IACN,aAAe,EAAA,WAAA;AAAA,IACf,cAAgB,EAAA,YAAA;AAAA,IAChB,mBAAqB,EAAA;AAAA,GACvB;AAAA,EACA,GAAK,EAAA;AAAA,IACH,SAAW,EAAA,KAAA;AAAA,IAEX,eAAiB,EAAA,IAAA;AAAA;AAAA,IACjB,gBAAgB,EAAC;AAAA;AAAA,IACjB,cAAc;AAAC;AAAA,GACjB;AAAA,EAEA,aAAe,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYb,eAAe,CAAC,CAAA,KAAc,oBAAoB,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAItE,aAAa,CAAC,CAAA,KAAc,6BAA6B,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAI7E,cAAc,CAAC,CAAA,KAAc,8BAA8B,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAI/E,kBAAkB,CAAC,CAAA,KAAc,qCAAqC,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAI1F,iBAAiB,CAAC,CAAA,KAAc,qCAAqC,IAAK,CAAA,CAAA,CAAE,aAAa,CAAA;AAAA;AAAA;AAAA;AAAA,IAIzF,UAAY,EAAA,QAAA;AAAA;AAAA;AAAA;AAAA,IAIZ,gBAAkB,EAAA,YAAA;AAAA;AAAA;AAAA;AAAA,IAIlB,cAAgB,EAAA,QAAA;AAAA;AAAA;AAAA;AAAA,IAIhB,aAAe,EAAA,mBAAA;AAAA;AAAA;AAAA;AAAA,IAIf,WAAa,EAAA,SAAA;AAAA;AAAA;AAAA;AAAA,IAIb,WAAa,EAAA,SAAA;AAAA;AAAA;AAAA;AAAA,IAIb,QAAU,EAAA,gBAAA;AAAA;AAAA;AAAA;AAAA,IAIV,QAAU,EAAA,CAAC,CAAc,KAAA,CAAA,CAAE,KAAM,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,CAAK,CAAA,KAAA,CAAA,CAAE,UAAW,CAAA,GAAG,CAAC,CAAA;AAAA;AAAA;AAAA;AAAA,IAIjE,UAAY,EAAA,QAAA;AAAA;AAAA;AAAA;AAAA,IAIZ,eAAiB,EAAA,mBAAA;AAAA;AAAA;AAAA;AAAA,IAIjB,eAAiB,EAAA,yBAAA;AAAA;AAAA;AAAA;AAAA,IAIjB,eAAiB,EAAA,yBAAA;AAAA,IAEjB,sBAAsB,CAAC,IAAA,EAAc,QACnC,KAAA,IAAA,CAAK,MAAM,cAAe,CAAA,aAAA,CAAc,eAAe,CAAA,KAAM,QAC5D,QAAY,IAAA,cAAA,CAAe,aAAc,CAAA,eAAA,CAAgB,QAAQ,CAClE,IAAA,KAAA;AAAA,IACF,qBAAA,EAAuB,CAAC,IAAiB,KAAA,IAAA,CAAK,MAAM,cAAe,CAAA,aAAA,CAAc,eAAe,CAAM,KAAA,IAAA;AAAA,IACtG,WAAa,EAAA,KAAA;AAAA,IACb,YAAc,EAAA,MAAA;AAAA,IACd,aAAe,EAAA,OAAA;AAAA,IACf,aAAe,EAAA,OAAA;AAAA,IACf,YAAc,EAAA;AAAA,GAEhB;AAAA,EAEA,OAAS,EAAA;AACX;;;;"}
@@ -0,0 +1,3 @@
1
+ import type { ResolvedUserOptions } from "../types.js";
2
+ export declare const extMap: ({ moduleExtension, jsExtension, cssExtension, jsonExtension, htmlExtension, rscExtension, }?: Pick<ResolvedUserOptions["autoDiscover"], "moduleExtension" | "jsExtension" | "cssExtension" | "jsonExtension" | "htmlExtension" | "rscExtension">) => (id: string) => string;
3
+ //# sourceMappingURL=extMap.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,57 @@
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
+ };
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;CA8chC,CAAC"}
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,13 +9,8 @@ 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
- const addExtension = (path, extension = "js") => {
14
- if (path.endsWith(`.${extension}`)) return path;
15
- if (path.endsWith("/.")) return path.slice(0, -2) + "." + extension;
16
- if (path.endsWith(".")) return path + "." + extension;
17
- return path + "." + extension;
18
- };
19
14
  const handleSearchQuery = (path) => {
20
15
  const searchQuery = path.split("?")[1];
21
16
  if (!searchQuery) return path;
@@ -30,7 +25,11 @@ const registerPath = (path, _pattern, ext) => {
30
25
  return path;
31
26
  };
32
27
  const resolveOptions = (options) => {
28
+ const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
33
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;
34
33
  const {
35
34
  pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,
36
35
  propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME
@@ -42,8 +41,6 @@ const resolveOptions = (options) => {
42
41
  const staticBuild = options.build?.static ?? DEFAULT_CONFIG.BUILD.static;
43
42
  const outDir = options.build?.outDir ?? DEFAULT_CONFIG.BUILD.outDir;
44
43
  const assetsDir = options.build?.assetsDir ?? `${DEFAULT_CONFIG.CLIENT_ASSETS_DIR}`;
45
- const preserveModulesRoot = options.build?.preserveModulesRoot ?? DEFAULT_CONFIG.BUILD.preserveModulesRoot;
46
- const moduleBase = typeof options.moduleBase === "string" ? options.moduleBase : DEFAULT_CONFIG.MODULE_BASE;
47
44
  const moduleBasePath = typeof options.moduleBasePath === "string" ? options.moduleBasePath : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_PATH;
48
45
  const moduleBaseURL = typeof options.moduleBaseURL === "string" ? options.moduleBaseURL : process.env.VITE_BASE_URL ?? DEFAULT_CONFIG.MODULE_BASE_URL;
49
46
  const moduleRootPath = typeof options.moduleRootPath === "string" ? options.moduleRootPath : join(projectRoot, outDir, client);
@@ -57,12 +54,6 @@ const resolveOptions = (options) => {
57
54
  if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
58
55
  process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
59
56
  }
60
- const normalizer = options.normalizer ?? createInputNormalizer({
61
- root: projectRoot,
62
- preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,
63
- removeExtension: true,
64
- moduleBasePath
65
- });
66
57
  const moduleExtension = resolveAutoDiscoverMatcher(
67
58
  options.autoDiscover?.moduleExtension,
68
59
  DEFAULT_CONFIG.AUTO_DISCOVER.moduleExtension
@@ -89,11 +80,11 @@ const resolveOptions = (options) => {
89
80
  );
90
81
  const clientComponents = resolveAutoDiscoverMatcher(
91
82
  options.autoDiscover?.clientComponents,
92
- options.autoDiscover?.moduleExtension ? (id) => moduleExtension(id.toLowerCase()) && /(\.|\/)?client(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents
83
+ options.autoDiscover?.moduleExtension ? (id) => /(\.|\/)?client(\.|\/)?/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents
93
84
  );
94
85
  const serverFunctions = resolveAutoDiscoverMatcher(
95
86
  options.autoDiscover?.serverFunctions,
96
- options.autoDiscover?.moduleExtension ? (id) => moduleExtension(id.toLowerCase()) && /(\.|\/)?server(\.|\/)/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
87
+ options.autoDiscover?.moduleExtension ? (id) => /(\.|\/)?server(\.|\/)?/.test(id.toLowerCase()) : DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions
97
88
  );
98
89
  const nodeOnly = resolveAutoDiscoverMatcher(
99
90
  options.autoDiscover?.nodeOnly,
@@ -133,13 +124,6 @@ const resolveOptions = (options) => {
133
124
  );
134
125
  const hashOption = typeof options.build?.hash === "string" ? options.build.hash : DEFAULT_CONFIG.BUILD.hash;
135
126
  const hashString = hashOption === "" ? "" : `-[${hashOption}]`;
136
- const addModuleExtension = (path) => {
137
- const isAsset = autoDiscover.cssPattern(path) || autoDiscover.jsonPattern(path);
138
- if (isAsset) {
139
- return path;
140
- }
141
- return addExtension(path);
142
- };
143
127
  const hash = (n, ssr) => {
144
128
  if (!n) return "";
145
129
  if (ssr) return n;
@@ -216,8 +200,14 @@ const resolveOptions = (options) => {
216
200
  options.autoDiscover?.modulePattern,
217
201
  jsExtension
218
202
  );
219
- return path;
203
+ return registerPath(path, options.autoDiscover?.modulePattern, jsExtension);
220
204
  };
205
+ const normalizer = options.normalizer ?? createInputNormalizer({
206
+ root: projectRoot,
207
+ preserveModulesRoot: prodModuleBase,
208
+ removeExtension: true,
209
+ moduleBasePath
210
+ });
221
211
  const entryFile = (n, ssr) => {
222
212
  if (vendorPattern(n.name)) {
223
213
  const search = n.facadeModuleId?.split("?")[1];
@@ -227,10 +217,10 @@ const resolveOptions = (options) => {
227
217
  return hash(`${n.name}${jsExtension}`, ssr);
228
218
  }
229
219
  }
230
- return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);
220
+ return hash(getOutputPath(normalizer(n.name)[0]), ssr);
231
221
  };
232
222
  const chunkFile = (n, ssr) => {
233
- return hash(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);
223
+ return hash(getOutputPath(normalizer(n.name)[0]), ssr);
234
224
  };
235
225
  const assetFile = (n, ssr) => {
236
226
  const firstName = n.names[0];
@@ -241,9 +231,21 @@ const resolveOptions = (options) => {
241
231
  return hash(getOutputPath(assetName), ssr);
242
232
  };
243
233
  const moduleID = typeof options.moduleID === "function" ? options.moduleID : (id) => {
234
+ if (prodModuleBase && id.startsWith(prodModuleBase)) {
235
+ id = id.slice(prodModuleBase.length);
236
+ }
244
237
  if (!id.startsWith(moduleBasePath)) {
245
238
  id = join(moduleBasePath, id);
246
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
+ }
247
249
  return id;
248
250
  };
249
251
  const rscOutputPath = options.build?.rscOutputPath ?? DEFAULT_CONFIG.BUILD.rscOutputPath;
@@ -290,6 +292,7 @@ const resolveOptions = (options) => {
290
292
  isServerFunctionCode,
291
293
  isClientComponentCode
292
294
  };
295
+ const mapExtension = extMap(autoDiscover);
293
296
  const pipeableStreamOptions = options.pipeableStreamOptions ? options.pipeableStreamOptions : {};
294
297
  try {
295
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 */\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 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) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?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) =>\n moduleExtension(id.toLowerCase()) &&\n /(\\.|\\/)?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\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 (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 path;\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(addModuleExtension(getOutputPath(normalizer(n.name)[0])), ssr);\n };\n\n const chunkFile = (n: PreRenderedChunk, ssr: boolean) => {\n return hash(addModuleExtension(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 \n // Ensure the path starts with moduleBasePath\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,CAoUhE"}
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"}
@@ -31,12 +31,14 @@ function resolveUserConfig({
31
31
  if (!ssr2 || !input) {
32
32
  return fallback(info, false);
33
33
  }
34
- const [, value] = userOptions.normalizer(input);
34
+ let [id, value] = userOptions.normalizer(input);
35
+ if (value.startsWith(userOptions.moduleBasePath)) {
36
+ value = value.slice(userOptions.moduleBasePath.length);
37
+ }
35
38
  const entry = autoDiscoveredFiles.staticManifest[value];
36
39
  if (entry?.name && info.type === "asset" && userOptions.autoDiscover.cssPattern(value)) {
37
- const withoutExt = entry.name?.split(".")[0];
38
40
  const found = entry.css?.find(
39
- (css) => css.startsWith(withoutExt)
41
+ (css) => css.startsWith(id)
40
42
  );
41
43
  if (found) {
42
44
  return found;
@@ -63,7 +65,8 @@ function resolveUserConfig({
63
65
  preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
64
66
  entryFileNames: userDefinedEntryFileNames ?? ((info) => {
65
67
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
66
- if (!stashedReturns[input]) {
68
+ const inputId = input + (ssr ? "-ssr" : "");
69
+ if (!stashedReturns[inputId]) {
67
70
  const r = handleSsrName(
68
71
  info,
69
72
  input,
@@ -73,31 +76,38 @@ function resolveUserConfig({
73
76
  if (userOptions.verbose) {
74
77
  console.log("entryFileNames", input, r);
75
78
  }
76
- stashedReturns[input] = r;
79
+ stashedReturns[inputId] = r;
77
80
  }
78
- return stashedReturns[input];
81
+ return stashedReturns[inputId];
79
82
  }),
80
83
  assetFileNames: process.env["VITEST"] ? undefined : userDefinedAssetFileNames ?? ((i) => {
81
84
  const input = i.originalFileNames[0];
82
- if (!stashedReturns[input]) {
85
+ const inputId = input + (ssr ? "-ssr" : "");
86
+ if (!stashedReturns[inputId]) {
83
87
  const r = handleSsrName(i, input, userOptions.build.assetFile, ssr);
84
88
  if (userOptions.verbose) {
85
89
  console.log("assetFileNames", input, stashedReturns[input]);
86
90
  }
87
- stashedReturns[input] = r;
91
+ stashedReturns[inputId] = r;
88
92
  }
89
- return stashedReturns[input];
93
+ return stashedReturns[inputId];
90
94
  }),
91
95
  chunkFileNames: userDefinedChunkFileNames ?? ((info) => {
92
96
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
93
- if (!stashedReturns[input]) {
94
- const r = handleSsrName(info, input, userOptions.build.chunkFile, ssr);
97
+ const inputId = input + (ssr ? "-ssr" : "");
98
+ if (!stashedReturns[inputId]) {
99
+ const r = handleSsrName(
100
+ info,
101
+ input,
102
+ userOptions.build.chunkFile,
103
+ ssr
104
+ );
95
105
  if (userOptions.verbose) {
96
106
  console.log("chunkFileNames", input, stashedReturns[input]);
97
107
  }
98
- stashedReturns[input] = r;
108
+ stashedReturns[inputId] = r;
99
109
  }
100
- return stashedReturns[input];
110
+ return stashedReturns[inputId];
101
111
  }),
102
112
  format: "esm",
103
113
  exports: "named"