vite-plugin-react-server 1.1.17 → 1.1.19

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 (167) hide show
  1. package/README.md +9 -5
  2. package/dist/package.json +5 -4
  3. package/dist/plugin/components/css-collector-elements.d.ts.map +1 -1
  4. package/dist/plugin/components/html.d.ts.map +1 -1
  5. package/dist/plugin/config/autoDiscover/createGlobAutoDiscover.d.ts.map +1 -1
  6. package/dist/plugin/config/autoDiscover/customWorkerFiles.d.ts.map +1 -1
  7. package/dist/plugin/config/autoDiscover/pageAndPropFiles.d.ts.map +1 -1
  8. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
  9. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +7 -12
  10. package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js.map +1 -1
  11. package/dist/plugin/config/autoDiscover/resolveBuildPages.js +2 -2
  12. package/dist/plugin/config/autoDiscover/resolveBuildPages.js.map +1 -1
  13. package/dist/plugin/config/createModuleID.d.ts.map +1 -1
  14. package/dist/plugin/config/defaults.d.ts +1 -1
  15. package/dist/plugin/config/defaults.d.ts.map +1 -1
  16. package/dist/plugin/config/defaults.js +18 -4
  17. package/dist/plugin/config/defaults.js.map +1 -1
  18. package/dist/plugin/config/extMap.d.ts.map +1 -1
  19. package/dist/plugin/config/getCondition.d.ts.map +1 -1
  20. package/dist/plugin/config/getPaths.d.ts.map +1 -1
  21. package/dist/plugin/config/mimeTypes.d.ts.map +1 -1
  22. package/dist/plugin/config/mimeTypes.js +67 -0
  23. package/dist/plugin/config/mimeTypes.js.map +1 -1
  24. package/dist/plugin/config/resolveAutoDiscoverMatcher.d.ts.map +1 -1
  25. package/dist/plugin/config/resolveEnv.d.ts.map +1 -1
  26. package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
  27. package/dist/plugin/config/resolveOptions.js +5 -5
  28. package/dist/plugin/config/resolveOptions.js.map +1 -1
  29. package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
  30. package/dist/plugin/config/resolveUserConfig.js +39 -22
  31. package/dist/plugin/config/resolveUserConfig.js.map +1 -1
  32. package/dist/plugin/env/plugin.d.ts.map +1 -1
  33. package/dist/plugin/env/plugin.js +35 -2
  34. package/dist/plugin/env.js +37 -3
  35. package/dist/plugin/env.js.map +1 -1
  36. package/dist/plugin/error/toError.js +4 -4
  37. package/dist/plugin/error/toError.js.map +1 -1
  38. package/dist/plugin/helpers/cleanObject.js +2 -2
  39. package/dist/plugin/helpers/cleanObject.js.map +1 -1
  40. package/dist/plugin/helpers/collectManifestCss.js +2 -2
  41. package/dist/plugin/helpers/collectManifestCss.js.map +1 -1
  42. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts +1 -1
  43. package/dist/plugin/helpers/collectViteModuleGraphCss.d.ts.map +1 -1
  44. package/dist/plugin/helpers/collectViteModuleGraphCss.js +3 -1
  45. package/dist/plugin/helpers/collectViteModuleGraphCss.js.map +1 -1
  46. package/dist/plugin/helpers/createCssProps.d.ts +1 -1
  47. package/dist/plugin/helpers/createCssProps.d.ts.map +1 -1
  48. package/dist/plugin/helpers/createCssProps.js +12 -1
  49. package/dist/plugin/helpers/createCssProps.js.map +1 -1
  50. package/dist/plugin/helpers/createEventHandler.d.ts.map +1 -1
  51. package/dist/plugin/helpers/createEventHandler.js +1 -1
  52. package/dist/plugin/helpers/getBundleManifest.js +1 -1
  53. package/dist/plugin/helpers/getRouteFiles.d.ts.map +1 -1
  54. package/dist/plugin/helpers/getRouteFiles.js +2 -2
  55. package/dist/plugin/helpers/getRouteFiles.js.map +1 -1
  56. package/dist/plugin/helpers/handleServerAction.d.ts +34 -0
  57. package/dist/plugin/helpers/handleServerAction.d.ts.map +1 -0
  58. package/dist/plugin/helpers/handleServerAction.js +48 -0
  59. package/dist/plugin/helpers/handleServerAction.js.map +1 -0
  60. package/dist/plugin/helpers/inputNormalizer.js +1 -1
  61. package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
  62. package/dist/plugin/helpers/requestInfo.js +1 -1
  63. package/dist/plugin/helpers/requestInfo.js.map +1 -1
  64. package/dist/plugin/helpers/resolvePage.d.ts.map +1 -1
  65. package/dist/plugin/helpers/resolveProps.d.ts.map +1 -1
  66. package/dist/plugin/helpers/serializeUserOptions.d.ts.map +1 -1
  67. package/dist/plugin/helpers/sourceMap.d.ts.map +1 -1
  68. package/dist/plugin/helpers/stashReturnValue.d.ts.map +1 -1
  69. package/dist/plugin/helpers/tryManifest.d.ts +3 -1
  70. package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
  71. package/dist/plugin/helpers/tryManifest.js +14 -8
  72. package/dist/plugin/helpers/tryManifest.js.map +1 -1
  73. package/dist/plugin/loader/handleExports.d.ts +16 -10
  74. package/dist/plugin/loader/handleExports.d.ts.map +1 -1
  75. package/dist/plugin/loader/handleExports.js +32 -16
  76. package/dist/plugin/loader/handleExports.js.map +1 -1
  77. package/dist/plugin/loader/transformModuleIfNeeded.d.ts.map +1 -1
  78. package/dist/plugin/loader/transformModuleIfNeeded.js +22 -12
  79. package/dist/plugin/loader/transformModuleIfNeeded.js.map +1 -1
  80. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts +21 -0
  81. package/dist/plugin/loader/transformModuleWithPreservedFunctions.d.ts.map +1 -1
  82. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js +398 -73
  83. package/dist/plugin/loader/transformModuleWithPreservedFunctions.js.map +1 -1
  84. package/dist/plugin/loader/types.d.ts +9 -3
  85. package/dist/plugin/loader/types.d.ts.map +1 -1
  86. package/dist/plugin/metrics/formatMetrics.d.ts.map +1 -1
  87. package/dist/plugin/react-client/configureWorkerRequestHandler.d.ts.map +1 -1
  88. package/dist/plugin/react-client/configureWorkerRequestHandler.js +12 -73
  89. package/dist/plugin/react-client/configureWorkerRequestHandler.js.map +1 -1
  90. package/dist/plugin/react-client/createMessageHandlers.d.ts.map +1 -1
  91. package/dist/plugin/react-client/handleWorkerServerAction.d.ts +12 -0
  92. package/dist/plugin/react-client/handleWorkerServerAction.d.ts.map +1 -0
  93. package/dist/plugin/react-client/handleWorkerServerAction.js +47 -0
  94. package/dist/plugin/react-client/handleWorkerServerAction.js.map +1 -0
  95. package/dist/plugin/react-server/configureReactServer.d.ts.map +1 -1
  96. package/dist/plugin/react-server/configureReactServer.js +0 -12
  97. package/dist/plugin/react-server/configureReactServer.js.map +1 -1
  98. package/dist/plugin/react-server/handleServerAction.d.ts +1 -1
  99. package/dist/plugin/react-server/handleServerAction.d.ts.map +1 -1
  100. package/dist/plugin/react-server/handleServerAction.js +42 -6
  101. package/dist/plugin/react-server/handleServerAction.js.map +1 -1
  102. package/dist/plugin/react-server/plugin.js +2 -2
  103. package/dist/plugin/react-server/plugin.js.map +1 -1
  104. package/dist/plugin/react-static/configurePreviewServer.d.ts.map +1 -1
  105. package/dist/plugin/react-static/configurePreviewServer.js +1 -1
  106. package/dist/plugin/react-static/configurePreviewServer.js.map +1 -1
  107. package/dist/plugin/react-static/plugin.d.ts.map +1 -1
  108. package/dist/plugin/react-static/plugin.js +15 -16
  109. package/dist/plugin/react-static/plugin.js.map +1 -1
  110. package/dist/plugin/react-static/renderPages.js +1 -1
  111. package/dist/plugin/react-static/renderPages.js.map +1 -1
  112. package/dist/plugin/source-map/createMappingsSerializer.d.ts.map +1 -1
  113. package/dist/plugin/source-map/createMappingsSerializer.js +128 -157
  114. package/dist/plugin/source-map/createMappingsSerializer.js.map +1 -0
  115. package/dist/plugin/transformer/plugin.server.d.ts +24 -0
  116. package/dist/plugin/transformer/plugin.server.d.ts.map +1 -1
  117. package/dist/plugin/transformer/plugin.server.js +18 -15
  118. package/dist/plugin/transformer/plugin.server.js.map +1 -1
  119. package/dist/plugin/types.d.ts +7 -7
  120. package/dist/plugin/types.d.ts.map +1 -1
  121. package/dist/plugin/utils/createCallServer.d.ts.map +1 -1
  122. package/dist/plugin/utils/envUrls.node.d.ts.map +1 -1
  123. package/dist/plugin/utils/urls.d.ts.map +1 -1
  124. package/dist/plugin/vendor/types.d.ts +2 -0
  125. package/dist/plugin/vendor/types.d.ts.map +1 -0
  126. package/dist/plugin/vendor/types.js +2 -0
  127. package/dist/plugin/worker/createWorker.js +1 -1
  128. package/dist/plugin/worker/createWorker.js.map +1 -1
  129. package/dist/plugin/worker/rsc/handleRender.d.ts.map +1 -1
  130. package/dist/plugin/worker/rsc/handleRender.js +0 -1
  131. package/dist/plugin/worker/rsc/handleRender.js.map +1 -1
  132. package/dist/plugin/worker/rsc/handlers.js.map +1 -1
  133. package/dist/plugin/worker/rsc/state.d.ts +1 -1
  134. package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
  135. package/dist/plugin/worker/rsc/state.js +31 -17
  136. package/dist/plugin/worker/rsc/state.js.map +1 -1
  137. package/dist/tsconfig.tsbuildinfo +1 -1
  138. package/package.json +5 -6
  139. package/plugin/config/autoDiscover/resolveAutoDiscover.ts +6 -14
  140. package/plugin/config/defaults.tsx +5 -2
  141. package/plugin/config/mimeTypes.ts +75 -1
  142. package/plugin/config/resolveOptions.ts +9 -10
  143. package/plugin/config/resolveUserConfig.ts +46 -21
  144. package/plugin/env/plugin.ts +39 -3
  145. package/plugin/helpers/collectManifestCss.ts +2 -2
  146. package/plugin/helpers/collectViteModuleGraphCss.ts +3 -0
  147. package/plugin/helpers/createCssProps.tsx +20 -3
  148. package/plugin/helpers/handleServerAction.ts +79 -0
  149. package/plugin/helpers/requestInfo.ts +1 -1
  150. package/plugin/helpers/tryManifest.ts +20 -10
  151. package/plugin/loader/handleExports.ts +50 -40
  152. package/plugin/loader/transformModuleIfNeeded.ts +50 -18
  153. package/plugin/loader/transformModuleWithPreservedFunctions.ts +496 -126
  154. package/plugin/loader/types.ts +12 -4
  155. package/plugin/react-client/configureWorkerRequestHandler.ts +12 -92
  156. package/plugin/react-client/handleWorkerServerAction.ts +74 -0
  157. package/plugin/react-server/configureReactServer.ts +1 -13
  158. package/plugin/react-server/handleServerAction.ts +49 -12
  159. package/plugin/react-server/plugin.ts +2 -2
  160. package/plugin/react-static/configurePreviewServer.ts +1 -2
  161. package/plugin/react-static/plugin.ts +30 -29
  162. package/plugin/transformer/plugin.server.ts +22 -15
  163. package/plugin/types.ts +12 -11
  164. package/plugin/vendor/types.ts +1 -0
  165. package/plugin/worker/rsc/handleRender.ts +0 -2
  166. package/plugin/worker/rsc/handlers.ts +3 -3
  167. package/plugin/worker/rsc/state.ts +53 -28
@@ -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\";\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
+ {"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?.isServerFunctionCode,\n options.autoDiscover?.serverDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.serverDirective!) != null ||\n (moduleId && serverFunctions(moduleId)) ||\n false\n : DEFAULT_CONFIG.AUTO_DISCOVER.isServerFunctionCode\n );\n\n const isClientComponentCode = resolveAutoDiscoverMatcher(\n options.autoDiscover?.isClientComponentCode,\n options.autoDiscover?.clientDirective\n ? (code: string, moduleId?: string) =>\n code.match(options.autoDiscover?.clientDirective!) != null ||\n (moduleId && clientComponents(moduleId)) ||\n false\n : DEFAULT_CONFIG.AUTO_DISCOVER.isClientComponentCode\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,CAoVhE"}
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,CA6WhE"}
@@ -37,9 +37,7 @@ function resolveUserConfig({
37
37
  }
38
38
  const entry = autoDiscoveredFiles.staticManifest[value];
39
39
  if (entry?.name && info.type === "asset" && userOptions.autoDiscover.cssPattern(value)) {
40
- const found = entry.css?.find(
41
- (css) => css.startsWith(id)
42
- );
40
+ const found = entry.css?.find((css) => css.startsWith(id));
43
41
  if (found) {
44
42
  return found;
45
43
  } else {
@@ -54,15 +52,15 @@ function resolveUserConfig({
54
52
  const hasOtherOutput = Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;
55
53
  const hasValidOutput = userDefinedOutput && !hasOtherOutput;
56
54
  const hasObjectOutput = userDefinedOutput && !hasOtherOutput && typeof userDefinedOutput === "object" && userDefinedOutput !== null;
57
- const userDefinedAssetFileNames = hasObjectOutput ? "assetFileNames" in userDefinedOutput ? userDefinedOutput.assetFileNames : undefined : (
55
+ const userDefinedAssetFileNames = hasObjectOutput ? "assetFileNames" in userDefinedOutput ? userDefinedOutput.assetFileNames : void 0 : (
58
56
  // find the other asset file names
59
- hasOtherOutput ? userDefinedOutput.find((o) => o.assetFileNames).assetFileNames : undefined
57
+ hasOtherOutput ? userDefinedOutput.find((o) => o.assetFileNames).assetFileNames : void 0
60
58
  );
61
- const userDefinedChunkFileNames = hasValidOutput ? "chunkFileNames" in userDefinedOutput ? userDefinedOutput.chunkFileNames : undefined : undefined;
62
- const userDefinedEntryFileNames = hasValidOutput ? "entryFileNames" in userDefinedOutput ? userDefinedOutput.entryFileNames : undefined : undefined;
59
+ const userDefinedChunkFileNames = hasValidOutput ? "chunkFileNames" in userDefinedOutput ? userDefinedOutput.chunkFileNames : void 0 : void 0;
60
+ const userDefinedEntryFileNames = hasValidOutput ? "entryFileNames" in userDefinedOutput ? userDefinedOutput.entryFileNames : void 0 : void 0;
63
61
  let stashedReturns = {};
64
62
  const pluginOutput = {
65
- preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
63
+ preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
66
64
  entryFileNames: userDefinedEntryFileNames ?? ((info) => {
67
65
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
68
66
  const inputId = input + (ssr ? "-ssr" : "");
@@ -78,9 +76,9 @@ function resolveUserConfig({
78
76
  }
79
77
  stashedReturns[inputId] = r;
80
78
  }
81
- return stashedReturns[inputId];
79
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
82
80
  }),
83
- assetFileNames: process.env["VITEST"] ? undefined : userDefinedAssetFileNames ?? ((i) => {
81
+ assetFileNames: process.env["VITEST"] ? void 0 : userDefinedAssetFileNames ?? ((i) => {
84
82
  const input = i.originalFileNames[0];
85
83
  const inputId = input + (ssr ? "-ssr" : "");
86
84
  if (!stashedReturns[inputId]) {
@@ -90,7 +88,7 @@ function resolveUserConfig({
90
88
  }
91
89
  stashedReturns[inputId] = r;
92
90
  }
93
- return stashedReturns[inputId];
91
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
94
92
  }),
95
93
  chunkFileNames: userDefinedChunkFileNames ?? ((info) => {
96
94
  const input = info.facadeModuleId ?? info.name + userOptions.autoDiscover.moduleExtension;
@@ -107,14 +105,14 @@ function resolveUserConfig({
107
105
  }
108
106
  stashedReturns[inputId] = r;
109
107
  }
110
- return stashedReturns[inputId];
108
+ return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith("/")));
111
109
  }),
112
110
  format: "esm",
113
111
  exports: "named"
114
112
  };
115
113
  let newOutput = Array.isArray(config.build?.rollupOptions?.output) ? [...config.build?.rollupOptions?.output, pluginOutput] : typeof config.build?.rollupOptions?.output === "object" && config.build?.rollupOptions?.output !== null ? [config.build?.rollupOptions?.output, pluginOutput] : pluginOutput;
116
114
  const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
117
- const mode = config.mode ?? process.env["VITE_MODE"];
115
+ const mode = config.mode ?? process.env[`${vitePrefix}MODE`] ?? process.env["NODE_ENV"] ?? "production";
118
116
  const minify = config.build?.minify;
119
117
  const srrConfig = {
120
118
  ...config.ssr,
@@ -134,11 +132,18 @@ function resolveUserConfig({
134
132
  ]
135
133
  }
136
134
  };
137
- let publicOrigin = userOptions.publicOrigin ?? process.env.VITE_PUBLIC_ORIGIN ?? "";
135
+ let publicOrigin = userOptions.publicOrigin ?? process.env[`${vitePrefix}PUBLIC_ORIGIN`] ?? "";
138
136
  let PROD = mode === "production";
139
137
  let DEV = mode === "development";
138
+ let port = typeof config.server?.port === "number" ? config.server?.port : 5173;
139
+ let strictPort = config.server?.strictPort ?? true;
140
+ let host = typeof config.server?.host === "string" ? config.server?.host : "localhost";
140
141
  if (configEnv.command === "serve" && !configEnv.isPreview) {
141
- publicOrigin = `http${config.server?.https ? "s" : ""}://${typeof config.server?.host === "string" ? config.server?.host : "localhost"}:${typeof config.server?.port === "number" ? config.server?.port : 5173}`;
142
+ if (strictPort) {
143
+ publicOrigin = `http${config.server?.https ? "s" : ""}://${host}:${port}`;
144
+ } else {
145
+ publicOrigin = "";
146
+ }
142
147
  }
143
148
  const ssrDefine = ssr ? {
144
149
  [`process.env.${vitePrefix}SSR`]: `${ssr}`,
@@ -153,11 +158,11 @@ function resolveUserConfig({
153
158
  [`import.meta.env.PUBLIC_ORIGIN`]: `"${publicOrigin}"`,
154
159
  ...ssrDefine
155
160
  };
156
- if (process.env.VITE_BASE_URL !== userOptions.moduleBaseURL) {
157
- process.env.VITE_BASE_URL = userOptions.moduleBaseURL;
161
+ if (process.env[`${vitePrefix}BASE_URL`] !== userOptions.moduleBaseURL) {
162
+ process.env[`${vitePrefix}BASE_URL`] = userOptions.moduleBaseURL;
158
163
  }
159
- if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {
160
- process.env.VITE_PUBLIC_ORIGIN = publicOrigin;
164
+ if (process.env[`${vitePrefix}PUBLIC_ORIGIN`] !== publicOrigin) {
165
+ process.env[`${vitePrefix}PUBLIC_ORIGIN`] = publicOrigin;
161
166
  }
162
167
  if (condition === "react-client") {
163
168
  const clientConfig = {
@@ -176,6 +181,15 @@ function resolveUserConfig({
176
181
  },
177
182
  define,
178
183
  ssr: srrConfig,
184
+ server: {
185
+ ...config.server,
186
+ // common default for stricter server operations
187
+ // and ensures tests that use a server will fail early
188
+ // also, we can't set the public origin without a port
189
+ port,
190
+ strictPort,
191
+ host
192
+ },
179
193
  // client build options
180
194
  build: {
181
195
  ...config.build,
@@ -189,9 +203,12 @@ function resolveUserConfig({
189
203
  minify,
190
204
  rollupOptions: {
191
205
  ...config.build?.rollupOptions,
192
- input: {
193
- ...autoDiscoveredFiles.inputs
194
- },
206
+ input: Object.fromEntries(
207
+ Object.entries(autoDiscoveredFiles.inputs).map(([key, value]) => [
208
+ key,
209
+ value.slice(Number(value.startsWith("/")))
210
+ ])
211
+ ),
195
212
  output: newOutput,
196
213
  preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "exports-only"
197
214
  },
@@ -1 +1 @@
1
- {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions, PreRenderedAsset, PreRenderedChunk } from \"rollup\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps<T, InlineCSS>): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) ||\n condition === \"react-server\" ||\n (typeof process.env[\"VITE_SSR\"] === \"string\"\n ? process.env[\"VITE_SSR\"] === \"true\" ||\n process.env[\"VITE_SSR\"] === \"1\"\n : Boolean(process.env[\"VITE_SSR\"]));\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const handleSsrName = <T extends PreRenderedChunk | PreRenderedAsset>(\n info: T,\n input: string | null,\n fallback: (info: T, ssr: boolean) => string,\n ssr: boolean\n ) => {\n if (\"source\" in info && info.source === \"\") {\n return \"\";\n }\n if (!ssr || !input) {\n return fallback(info, false);\n }\n let [id, value] = userOptions.normalizer(input);\n if (value.startsWith(userOptions.moduleBasePath)) {\n value = value.slice(userOptions.moduleBasePath.length);\n }\n const entry = autoDiscoveredFiles.staticManifest[value];\n if (\n entry?.name &&\n info.type === \"asset\" &&\n userOptions.autoDiscover.cssPattern(value)\n ) {\n const found = entry.css?.find((css) =>\n css.startsWith(id as string)\n );\n if (found) {\n return found;\n } else {\n return entry.file;\n }\n } else if (entry) {\n return entry.file;\n }\n return fallback(info, true);\n };\n const userDefinedOutput = config.build?.rollupOptions?.output;\n const hasOtherOutput =\n Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;\n const hasValidOutput = userDefinedOutput && !hasOtherOutput;\n const hasObjectOutput =\n userDefinedOutput &&\n !hasOtherOutput &&\n typeof userDefinedOutput === \"object\" &&\n userDefinedOutput !== null;\n\n const userDefinedAssetFileNames = hasObjectOutput\n ? \"assetFileNames\" in userDefinedOutput\n ? userDefinedOutput.assetFileNames\n : undefined\n : // find the other asset file names\n hasOtherOutput\n ? (userDefinedOutput.find((o) => o.assetFileNames) as OutputOptions)\n .assetFileNames\n : undefined;\n\n const userDefinedChunkFileNames = hasValidOutput\n ? \"chunkFileNames\" in userDefinedOutput\n ? userDefinedOutput.chunkFileNames\n : undefined\n : undefined;\n const userDefinedEntryFileNames = hasValidOutput\n ? \"entryFileNames\" in userDefinedOutput\n ? userDefinedOutput.entryFileNames\n : undefined\n : undefined;\n\n let stashedReturns: Record<string, string> = {};\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames:\n userDefinedEntryFileNames ??\n ((info) => {\n const input =\n info.facadeModuleId ??\n info.name + userOptions.autoDiscover.moduleExtension;\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(\n info,\n input,\n userOptions.build.entryFile,\n ssr\n );\n if (userOptions.verbose) {\n console.log(\"entryFileNames\", input, r);\n }\n stashedReturns[inputId] = r;\n }\n return stashedReturns[inputId];\n }),\n assetFileNames: process.env[\"VITEST\"]\n ? undefined\n : userDefinedAssetFileNames ??\n ((i) => {\n const input = i.originalFileNames[0];\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(i, input, userOptions.build.assetFile, ssr);\n\n if (userOptions.verbose) {\n console.log(\"assetFileNames\", input, stashedReturns[input]);\n }\n stashedReturns[inputId] = r;\n }\n return stashedReturns[inputId];\n }),\n chunkFileNames:\n userDefinedChunkFileNames ??\n ((info) => {\n const input =\n info.facadeModuleId ??\n info.name + userOptions.autoDiscover.moduleExtension;\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(\n info,\n input,\n userOptions.build.chunkFile,\n ssr\n );\n\n if (userOptions.verbose) {\n console.log(\"chunkFileNames\", input, stashedReturns[input]);\n }\n stashedReturns[inputId] = r;\n }\n return stashedReturns[inputId];\n }),\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n const mode = config.mode ?? process.env[\"VITE_MODE\"];\n const minify = config.build?.minify;\n\n const srrConfig = {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n };\n let publicOrigin =\n userOptions.publicOrigin ?? process.env.VITE_PUBLIC_ORIGIN ?? \"\";\n let PROD = mode === \"production\";\n let DEV = mode === \"development\";\n if (configEnv.command === \"serve\" && !configEnv.isPreview) {\n publicOrigin = `http${config.server?.https ? \"s\" : \"\"}://${\n typeof config.server?.host === \"string\"\n ? config.server?.host\n : \"localhost\"\n }:${typeof config.server?.port === \"number\" ? config.server?.port : 5173}`;\n }\n const ssrDefine = ssr\n ? {\n [`process.env.${vitePrefix}SSR`]: `${ssr}`,\n [`process.env.${vitePrefix}DEV`]: `${DEV}`,\n [`process.env.${vitePrefix}PROD`]: `${PROD}`,\n [`process.env.${vitePrefix}MODE`]: `\"${mode}\"`,\n [`process.env.${vitePrefix}BASE_URL`]: `\"${userOptions.moduleBaseURL}\"`,\n [`process.env.${vitePrefix}PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n }\n : {};\n const define = {\n ...config.define,\n [`import.meta.env.PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n ...ssrDefine,\n };\n // these will never be cleaned up, because, we are resolving the user config\n // and it's assumed the thread closes after this and we don't want\n // it to change after the config has been resolved\n if (process.env.VITE_BASE_URL !== userOptions.moduleBaseURL) {\n process.env.VITE_BASE_URL = userOptions.moduleBaseURL;\n }\n if (process.env.VITE_PUBLIC_ORIGIN !== publicOrigin) {\n process.env.VITE_PUBLIC_ORIGIN = publicOrigin;\n }\n\n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n const clientConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // client build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: {\n ...autoDiscoveredFiles.inputs,\n },\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = clientConfig;\n return {\n type: \"success\",\n userConfig: clientConfig,\n };\n } else {\n const serverConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // server build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = serverConfig;\n return {\n type: \"success\",\n userConfig: serverConfig,\n };\n }\n}\n"],"names":["ssr"],"mappings":"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"}
1
+ {"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n ResolvedUserConfig,\n ResolvedUserOptions,\n AutoDiscoveredFiles,\n PagePropOpt,\n InlineCssOpt,\n} from \"../types.js\";\nimport { join } from \"node:path\";\nimport type { OutputOptions, PreRenderedAsset, PreRenderedChunk } from \"rollup\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n> = {\n condition: \"react-client\" | \"react-server\";\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions<T, InlineCSS>;\n autoDiscoveredFiles: Pick<AutoDiscoveredFiles, \"inputs\" | \"staticManifest\">;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig<\n T extends PagePropOpt = PagePropOpt,\n InlineCSS extends InlineCssOpt = InlineCssOpt\n>({\n condition,\n config,\n configEnv,\n userOptions,\n autoDiscoveredFiles,\n}: ResolveUserConfigProps<T, InlineCSS>): ResolveUserConfigReturn {\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : Boolean(configEnv.isSsrBuild) ||\n condition === \"react-server\" ||\n (typeof process.env[\"VITE_SSR\"] === \"string\"\n ? process.env[\"VITE_SSR\"] === \"true\" ||\n process.env[\"VITE_SSR\"] === \"1\"\n : Boolean(process.env[\"VITE_SSR\"]));\n const envDir =\n condition === \"react-client\" && ssr\n ? userOptions.build.client\n : condition === \"react-client\"\n ? userOptions.build.static\n : userOptions.build.server;\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n\n if (stashedUserConfig[envId]) {\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const handleSsrName = <T extends PreRenderedChunk | PreRenderedAsset>(\n info: T,\n input: string | null,\n fallback: (info: T, ssr: boolean) => string,\n ssr: boolean\n ) => {\n if (\"source\" in info && info.source === \"\") {\n return \"\";\n }\n if (!ssr || !input) {\n return fallback(info, false);\n }\n let [id, value] = userOptions.normalizer(input);\n if (value.startsWith(userOptions.moduleBasePath)) {\n value = value.slice(userOptions.moduleBasePath.length);\n }\n const entry = autoDiscoveredFiles.staticManifest[value];\n if (\n entry?.name &&\n info.type === \"asset\" &&\n userOptions.autoDiscover.cssPattern(value)\n ) {\n const found = entry.css?.find((css) => css.startsWith(id as string));\n if (found) {\n return found;\n } else {\n return entry.file;\n }\n } else if (entry) {\n return entry.file;\n }\n return fallback(info, true);\n };\n const userDefinedOutput = config.build?.rollupOptions?.output;\n const hasOtherOutput =\n Array.isArray(userDefinedOutput) && userDefinedOutput.length > 1;\n const hasValidOutput = userDefinedOutput && !hasOtherOutput;\n const hasObjectOutput =\n userDefinedOutput &&\n !hasOtherOutput &&\n typeof userDefinedOutput === \"object\" &&\n userDefinedOutput !== null;\n\n const userDefinedAssetFileNames = hasObjectOutput\n ? \"assetFileNames\" in userDefinedOutput\n ? userDefinedOutput.assetFileNames\n : undefined\n : // find the other asset file names\n hasOtherOutput\n ? (userDefinedOutput.find((o) => o.assetFileNames) as OutputOptions)\n .assetFileNames\n : undefined;\n\n const userDefinedChunkFileNames = hasValidOutput\n ? \"chunkFileNames\" in userDefinedOutput\n ? userDefinedOutput.chunkFileNames\n : undefined\n : undefined;\n const userDefinedEntryFileNames = hasValidOutput\n ? \"entryFileNames\" in userDefinedOutput\n ? userDefinedOutput.entryFileNames\n : undefined\n : undefined;\n\n let stashedReturns: Record<string, string> = {};\n const pluginOutput = {\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames:\n userDefinedEntryFileNames ??\n ((info) => {\n const input =\n info.facadeModuleId ??\n info.name + userOptions.autoDiscover.moduleExtension;\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(\n info,\n input,\n userOptions.build.entryFile,\n ssr\n );\n if (userOptions.verbose) {\n console.log(\"entryFileNames\", input, r);\n }\n stashedReturns[inputId] = r;\n }\n // in the case of empty basePath, it will not be sliced from the path, so, we need to slice it here\n // at the last possible moment as to not confuse the rest of the logic around the basePath\n return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith(\"/\")));\n }),\n assetFileNames: process.env[\"VITEST\"]\n ? undefined\n : userDefinedAssetFileNames ??\n ((i) => {\n const input = i.originalFileNames[0];\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(i, input, userOptions.build.assetFile, ssr);\n\n if (userOptions.verbose) {\n console.log(\"assetFileNames\", input, stashedReturns[input]);\n }\n stashedReturns[inputId] = r;\n }\n // in the case of empty basePath, it will not be sliced from the path, so, we need to slice it here\n // at the last possible moment as to not confuse the rest of the logic around the basePath\n return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith(\"/\")));\n }),\n chunkFileNames:\n userDefinedChunkFileNames ??\n ((info) => {\n const input =\n info.facadeModuleId ??\n info.name + userOptions.autoDiscover.moduleExtension;\n const inputId = input + (ssr ? \"-ssr\" : \"\");\n\n if (!stashedReturns[inputId]) {\n const r = handleSsrName(\n info,\n input,\n userOptions.build.chunkFile,\n ssr\n );\n\n if (userOptions.verbose) {\n console.log(\"chunkFileNames\", input, stashedReturns[input]);\n }\n stashedReturns[inputId] = r;\n }\n // in the case of empty basePath, it will not be sliced from the path, so, we need to slice it here\n // at the last possible moment as to not confuse the rest of the logic around the basePath\n return stashedReturns[inputId].slice(Number(stashedReturns[inputId].startsWith(\"/\")));\n }),\n format: \"esm\",\n exports: \"named\",\n } satisfies OutputOptions;\n\n let newOutput = Array.isArray(config.build?.rollupOptions?.output)\n ? [...config.build?.rollupOptions?.output, pluginOutput]\n : typeof config.build?.rollupOptions?.output === \"object\" &&\n config.build?.rollupOptions?.output !== null\n ? [config.build?.rollupOptions?.output, pluginOutput]\n : pluginOutput;\n const vitePrefix = config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n const mode =\n config.mode ??\n process.env[`${vitePrefix}MODE`] ??\n process.env[\"NODE_ENV\"] ??\n \"production\";\n const minify = config.build?.minify;\n\n const srrConfig = {\n ...config.ssr,\n target: config.ssr?.target ?? \"node\",\n optimizeDeps: {\n ...config.ssr?.optimizeDeps,\n include: config.ssr?.optimizeDeps?.include ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n resolve: {\n ...config.ssr?.resolve,\n externalConditions: config.ssr?.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n };\n let publicOrigin =\n userOptions.publicOrigin ?? process.env[`${vitePrefix}PUBLIC_ORIGIN`] ?? \"\";\n let PROD = mode === \"production\";\n let DEV = mode === \"development\";\n let port =\n typeof config.server?.port === \"number\" ? config.server?.port : 5173;\n let strictPort = config.server?.strictPort ?? true;\n let host =\n typeof config.server?.host === \"string\" ? config.server?.host : \"localhost\";\n if (configEnv.command === \"serve\" && !configEnv.isPreview) {\n if (strictPort) {\n publicOrigin = `http${config.server?.https ? \"s\" : \"\"}://${host}:${port}`;\n } else {\n publicOrigin = \"\";\n }\n }\n const ssrDefine = ssr\n ? {\n [`process.env.${vitePrefix}SSR`]: `${ssr}`,\n [`process.env.${vitePrefix}DEV`]: `${DEV}`,\n [`process.env.${vitePrefix}PROD`]: `${PROD}`,\n [`process.env.${vitePrefix}MODE`]: `\"${mode}\"`,\n [`process.env.${vitePrefix}BASE_URL`]: `\"${userOptions.moduleBaseURL}\"`,\n [`process.env.${vitePrefix}PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n }\n : {};\n const define = {\n ...config.define,\n [`import.meta.env.PUBLIC_ORIGIN`]: `\"${publicOrigin}\"`,\n ...ssrDefine,\n };\n // these will never be cleaned up, because, we are resolving the user config\n // and it's assumed the thread closes after this and we don't want\n // it to change after the config has been resolved\n if (process.env[`${vitePrefix}BASE_URL`] !== userOptions.moduleBaseURL) {\n process.env[`${vitePrefix}BASE_URL`] = userOptions.moduleBaseURL;\n }\n if (process.env[`${vitePrefix}PUBLIC_ORIGIN`] !== publicOrigin) {\n process.env[`${vitePrefix}PUBLIC_ORIGIN`] = publicOrigin;\n }\n \n if (condition === \"react-client\") {\n // client plugin build options (client plugin still outputs server files)\n const clientConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n external: config.resolve?.external ?? [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client\",\n ],\n },\n define: define,\n ssr: srrConfig,\n server: {\n ...config.server,\n // common default for stricter server operations\n // and ensures tests that use a server will fail early\n // also, we can't set the public origin without a port\n port: port,\n strictPort: strictPort,\n host: host,\n },\n // client build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n // modern browsers\n target: config.build?.target ?? [\"esnext\"],\n minify: minify,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: Object.fromEntries(\n Object.entries(autoDiscoveredFiles.inputs).map(([key, value]) => [\n key,\n value.slice(Number(value.startsWith(\"/\"))),\n ])\n ),\n output: newOutput,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ??\n \"exports-only\",\n },\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = clientConfig;\n return {\n type: \"success\",\n userConfig: clientConfig,\n };\n } else {\n const serverConfig = {\n ...config,\n root: root,\n mode: mode,\n base: userOptions.moduleBaseURL,\n envPrefix: vitePrefix,\n resolve: {\n ...config.resolve,\n externalConditions: config.resolve?.externalConditions ?? [\n \"react-server\",\n ],\n },\n define: define,\n ssr: srrConfig,\n // server build options\n build: {\n ...config.build,\n modulePreload: config.build?.modulePreload ?? false,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: config.build?.outDir ?? join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: minify,\n ssr: ssr,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets:\n typeof config.build?.ssrEmitAssets === \"boolean\"\n ? config.build?.ssrEmitAssets\n : true,\n copyPublicDir:\n typeof config.build?.copyPublicDir === \"boolean\"\n ? config.build?.copyPublicDir\n : !ssr,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // Ensure CSS files are output to static directory\n cssCodeSplit:\n typeof config.build?.cssCodeSplit === \"boolean\"\n ? config.build?.cssCodeSplit\n : true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: autoDiscoveredFiles.inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n } satisfies ResolvedUserConfig;\n stashedUserConfig[envId] = serverConfig;\n return {\n type: \"success\",\n userConfig: serverConfig,\n };\n }\n}\n"],"names":["ssr"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/env/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAiBnC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAiClC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../plugin/env/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAiBnC;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAqElC"}
@@ -36,18 +36,27 @@ const cleanupInitialUserConfigEnv = resolveEnv(process.env["NODE_ENV"] || (isBui
36
36
  */
37
37
  export function envPlugin() {
38
38
  let cleanupEnv;
39
+ let vitePrefix = DEFAULT_CONFIG.ENV_PREFIX;
39
40
  return {
40
41
  name: "vite-plugin-react-server:env",
41
42
  enforce: "pre",
42
43
  config(config, { mode }) {
43
- const invalidEnv = (mode !== undefined && mode !== process.env.VITE_MODE) ||
44
+ if (config.envPrefix) {
45
+ if (typeof config.envPrefix === "string") {
46
+ vitePrefix = config.envPrefix;
47
+ }
48
+ else if (Array.isArray(config.envPrefix)) {
49
+ vitePrefix = config.envPrefix[0];
50
+ }
51
+ }
52
+ const invalidEnv = (mode !== undefined && mode !== process.env[`${vitePrefix}MODE`]) ||
44
53
  (config.root !== undefined && config.root !== userProjectRoot);
45
54
  if (invalidEnv) {
46
55
  cleanupInitialUserConfigEnv();
47
56
  }
48
57
  // Clean up any previous env setup
49
58
  const cleanupUserConfigEnv = invalidEnv
50
- ? resolveEnv(mode || process.env.VITE_MODE, config.root ?? userProjectRoot, config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX)
59
+ ? resolveEnv(mode || process.env[`${vitePrefix}MODE`] || "production", config.root ?? userProjectRoot, vitePrefix)
51
60
  : cleanupInitialUserConfigEnv;
52
61
  const cleanupUserConfig = resolveConfigDefine(config);
53
62
  // Combine cleanup functions
@@ -60,5 +69,29 @@ export function envPlugin() {
60
69
  // Clean up environment variables when the bundle is closed
61
70
  cleanupEnv?.();
62
71
  },
72
+ configureServer(server) {
73
+ let envPrefix = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
74
+ let publicOrigin = process.env[`${envPrefix}PUBLIC_ORIGIN`] ?? "";
75
+ let desiredPort = server.config.server.port;
76
+ let shouldUpdatePublicOrigin = false;
77
+ if (publicOrigin && publicOrigin.includes(`:${desiredPort}`)) {
78
+ shouldUpdatePublicOrigin = true;
79
+ }
80
+ // Listen for when the server actually starts
81
+ if (shouldUpdatePublicOrigin) {
82
+ server.httpServer?.once("listening", () => {
83
+ const address = server.httpServer?.address();
84
+ if (address && typeof address !== "string") {
85
+ const port = address.port;
86
+ if (port !== desiredPort) {
87
+ let envPrefix = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
88
+ const newOrigin = publicOrigin.replace(`:${desiredPort}`, `:${port}`);
89
+ process.env[`${envPrefix}PUBLIC_ORIGIN`] = newOrigin;
90
+ console.warn("PUBLIC_ORIGIN did not match the port: " + port);
91
+ }
92
+ }
93
+ });
94
+ }
95
+ }
63
96
  };
64
97
  }
@@ -16,18 +16,26 @@ const cleanupInitialUserConfigEnv = resolveEnv(
16
16
  );
17
17
  function envPlugin() {
18
18
  let cleanupEnv;
19
+ let vitePrefix = DEFAULT_CONFIG.ENV_PREFIX;
19
20
  return {
20
21
  name: "vite-plugin-react-server:env",
21
22
  enforce: "pre",
22
23
  config(config, { mode }) {
23
- const invalidEnv = mode !== undefined && mode !== process.env.VITE_MODE || config.root !== undefined && config.root !== userProjectRoot;
24
+ if (config.envPrefix) {
25
+ if (typeof config.envPrefix === "string") {
26
+ vitePrefix = config.envPrefix;
27
+ } else if (Array.isArray(config.envPrefix)) {
28
+ vitePrefix = config.envPrefix[0];
29
+ }
30
+ }
31
+ const invalidEnv = mode !== void 0 && mode !== process.env[`${vitePrefix}MODE`] || config.root !== void 0 && config.root !== userProjectRoot;
24
32
  if (invalidEnv) {
25
33
  cleanupInitialUserConfigEnv();
26
34
  }
27
35
  const cleanupUserConfigEnv = invalidEnv ? resolveEnv(
28
- mode || process.env.VITE_MODE,
36
+ mode || process.env[`${vitePrefix}MODE`] || "production",
29
37
  config.root ?? userProjectRoot,
30
- config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX
38
+ vitePrefix
31
39
  ) : cleanupInitialUserConfigEnv;
32
40
  const cleanupUserConfig = resolveConfigDefine(config);
33
41
  cleanupEnv = () => {
@@ -37,6 +45,32 @@ function envPlugin() {
37
45
  },
38
46
  closeBundle() {
39
47
  cleanupEnv?.();
48
+ },
49
+ configureServer(server) {
50
+ let envPrefix = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
51
+ let publicOrigin = process.env[`${envPrefix}PUBLIC_ORIGIN`] ?? "";
52
+ let desiredPort = server.config.server.port;
53
+ let shouldUpdatePublicOrigin = false;
54
+ if (publicOrigin && publicOrigin.includes(`:${desiredPort}`)) {
55
+ shouldUpdatePublicOrigin = true;
56
+ }
57
+ if (shouldUpdatePublicOrigin) {
58
+ server.httpServer?.once("listening", () => {
59
+ const address = server.httpServer?.address();
60
+ if (address && typeof address !== "string") {
61
+ const port = address.port;
62
+ if (port !== desiredPort) {
63
+ let envPrefix2 = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;
64
+ const newOrigin = publicOrigin.replace(
65
+ `:${desiredPort}`,
66
+ `:${port}`
67
+ );
68
+ process.env[`${envPrefix2}PUBLIC_ORIGIN`] = newOrigin;
69
+ console.warn("PUBLIC_ORIGIN did not match the port: " + port);
70
+ }
71
+ }
72
+ });
73
+ }
40
74
  }
41
75
  };
42
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sources":["../../plugin/env/plugin.ts"],"sourcesContent":["import type { Plugin } from \"vite\";\nimport { resolveConfigDefine, resolveEnv } from \"../config/resolveEnv.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { userProjectRoot } from \"../root.js\";\nconst isBuild = process.argv[process.argv.length - 1] === \"build\";\nconst isPreview = process.argv.findIndex((arg) => arg === \"preview\") !== -1;\n\n\n// Set up environment variables from .env files as early as possible\n// This is to ensure that the env variables are available even in the config file,\n// and you can use process.env to configure the plugin.\nconst cleanupInitialUserConfigEnv = resolveEnv(\n process.env[\"NODE_ENV\"] || (isBuild || isPreview ? \"production\" : \"development\"),\n userProjectRoot,\n DEFAULT_CONFIG.ENV_PREFIX\n);\n\n/**\n * This plugin can be used to set up the environment defined in the env file\n * and the `define` clause in the vite config to be directly assigned to the process.env,\n * making it available in workers, server components and plugin hooks like config, configureServer, etc.\n *\n * You can also set these variable in the package.json script like `VITE_PUBLIC_ORIGIN=https://example.com npm run build`\n * The default ones like `VITE_DEV` etc, are set to the default values if not defined in the env file or the `define` clause.\n *\n * If they do end up in the build, the define clause replaces process.env.VITE_BASE_URL etc, same like it\n * replaces `import.meta.env.BASE_URL`.\n *\n * While using node.process.env is dangerous as it may expose valuable information to the client, the define clause\n * replaces them in the build so it's safe as long as you stick to simple stuff like const baseUrl = process.env.VITE_BASE_URL\n * would be the same as writing const baseUrl = import.meta.env.BASE_URL. But this plugin doesn't enable that feature nor does\n * it return any config, it just sets the process.env variables at a early momemt and deletes them after the build unless they were\n * already set in the environment.\n * \n * This plugin will not override process.env variable that were previously set, and will remove any values that it did set after the bundle closes.\n * ```example\n * const config = {\n * moduleBase: 'src',\n * // loaded from either .env file or existing process.env, based on the NODE_ENV\n * publicOrigin: process.env.VITE_PUBLIC_ORIGIN,\n * }\n * ```\n * @returns\n */\nexport function envPlugin(): Plugin {\n let cleanupEnv: (() => void) | undefined;\n return {\n name: \"vite-plugin-react-server:env\",\n enforce: \"pre\",\n config(config, { mode }) {\n const invalidEnv =\n (mode !== undefined && mode !== process.env.VITE_MODE) ||\n (config.root !== undefined && config.root !== userProjectRoot);\n if (invalidEnv) {\n cleanupInitialUserConfigEnv();\n }\n // Clean up any previous env setup\n const cleanupUserConfigEnv = invalidEnv\n ? resolveEnv(\n mode || process.env.VITE_MODE,\n config.root ?? userProjectRoot,\n config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX\n )\n : cleanupInitialUserConfigEnv;\n const cleanupUserConfig = resolveConfigDefine(config);\n\n // Combine cleanup functions\n cleanupEnv = () => {\n cleanupUserConfig();\n cleanupUserConfigEnv();\n };\n },\n closeBundle() {\n // Clean up environment variables when the bundle is closed\n cleanupEnv?.();\n },\n };\n}\n"],"names":[],"mappings":";;;;;;;;;AAIA,MAAM,UAAU,OAAQ,CAAA,IAAA,CAAK,QAAQ,IAAK,CAAA,MAAA,GAAS,CAAC,CAAM,KAAA,OAAA;AAC1D,MAAM,SAAA,GAAY,QAAQ,IAAK,CAAA,SAAA,CAAU,CAAC,GAAQ,KAAA,GAAA,KAAQ,SAAS,CAAM,KAAA,EAAA;AAMzE,MAAM,2BAA8B,GAAA,UAAA;AAAA,EAClC,QAAQ,GAAI,CAAA,UAAU,CAAM,KAAA,OAAA,IAAW,YAAY,YAAe,GAAA,aAAA,CAAA;AAAA,EAClE,eAAA;AAAA,EACA,cAAe,CAAA;AACjB,CAAA;AA6BO,SAAS,SAAoB,GAAA;AAClC,EAAI,IAAA,UAAA;AACJ,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,8BAAA;AAAA,IACN,OAAS,EAAA,KAAA;AAAA,IACT,MAAO,CAAA,MAAA,EAAQ,EAAE,IAAA,EAAQ,EAAA;AACvB,MAAM,MAAA,UAAA,GACH,IAAS,KAAA,SAAA,IAAa,IAAS,KAAA,OAAA,CAAQ,GAAI,CAAA,SAAA,IAC3C,MAAO,CAAA,IAAA,KAAS,SAAa,IAAA,MAAA,CAAO,IAAS,KAAA,eAAA;AAChD,MAAA,IAAI,UAAY,EAAA;AACd,QAA4B,2BAAA,EAAA;AAAA;AAG9B,MAAA,MAAM,uBAAuB,UACzB,GAAA,UAAA;AAAA,QACE,IAAA,IAAQ,QAAQ,GAAI,CAAA,SAAA;AAAA,QACpB,OAAO,IAAQ,IAAA,eAAA;AAAA,QACf,MAAA,CAAO,aAAa,cAAe,CAAA;AAAA,OAErC,GAAA,2BAAA;AACJ,MAAM,MAAA,iBAAA,GAAoB,oBAAoB,MAAM,CAAA;AAGpD,MAAA,UAAA,GAAa,MAAM;AACjB,QAAkB,iBAAA,EAAA;AAClB,QAAqB,oBAAA,EAAA;AAAA,OACvB;AAAA,KACF;AAAA,IACA,WAAc,GAAA;AAEZ,MAAa,UAAA,IAAA;AAAA;AACf,GACF;AACF;;;;"}
1
+ {"version":3,"file":"env.js","sources":["../../plugin/env/plugin.ts"],"sourcesContent":["import type { Plugin } from \"vite\";\nimport { resolveConfigDefine, resolveEnv } from \"../config/resolveEnv.js\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport { userProjectRoot } from \"../root.js\";\nconst isBuild = process.argv[process.argv.length - 1] === \"build\";\nconst isPreview = process.argv.findIndex((arg) => arg === \"preview\") !== -1;\n\n\n// Set up environment variables from .env files as early as possible\n// This is to ensure that the env variables are available even in the config file,\n// and you can use process.env to configure the plugin.\nconst cleanupInitialUserConfigEnv = resolveEnv(\n process.env[\"NODE_ENV\"] || (isBuild || isPreview ? \"production\" : \"development\"),\n userProjectRoot,\n DEFAULT_CONFIG.ENV_PREFIX\n);\n\n/**\n * This plugin can be used to set up the environment defined in the env file\n * and the `define` clause in the vite config to be directly assigned to the process.env,\n * making it available in workers, server components and plugin hooks like config, configureServer, etc.\n *\n * You can also set these variable in the package.json script like `VITE_PUBLIC_ORIGIN=https://example.com npm run build`\n * The default ones like `VITE_DEV` etc, are set to the default values if not defined in the env file or the `define` clause.\n *\n * If they do end up in the build, the define clause replaces process.env.VITE_BASE_URL etc, same like it\n * replaces `import.meta.env.BASE_URL`.\n *\n * While using node.process.env is dangerous as it may expose valuable information to the client, the define clause\n * replaces them in the build so it's safe as long as you stick to simple stuff like const baseUrl = process.env.VITE_BASE_URL\n * would be the same as writing const baseUrl = import.meta.env.BASE_URL. But this plugin doesn't enable that feature nor does\n * it return any config, it just sets the process.env variables at a early momemt and deletes them after the build unless they were\n * already set in the environment.\n * \n * This plugin will not override process.env variable that were previously set, and will remove any values that it did set after the bundle closes.\n * ```example\n * const config = {\n * moduleBase: 'src',\n * // loaded from either .env file or existing process.env, based on the NODE_ENV\n * publicOrigin: process.env.VITE_PUBLIC_ORIGIN,\n * }\n * ```\n * @returns\n */\nexport function envPlugin(): Plugin {\n let cleanupEnv: (() => void) | undefined;\n let vitePrefix = DEFAULT_CONFIG.ENV_PREFIX as string;\n return {\n name: \"vite-plugin-react-server:env\",\n enforce: \"pre\",\n config(config, { mode }) {\n if(config.envPrefix) {\n if(typeof config.envPrefix === \"string\") {\n vitePrefix = config.envPrefix;\n } else if(Array.isArray(config.envPrefix)) {\n vitePrefix = config.envPrefix[0];\n }\n }\n const invalidEnv =\n (mode !== undefined && mode !== process.env[`${vitePrefix}MODE`]) ||\n (config.root !== undefined && config.root !== userProjectRoot);\n if (invalidEnv) {\n cleanupInitialUserConfigEnv();\n }\n // Clean up any previous env setup\n const cleanupUserConfigEnv = invalidEnv\n ? resolveEnv(\n mode || process.env[`${vitePrefix}MODE`] || \"production\",\n config.root ?? userProjectRoot,\n vitePrefix\n )\n : cleanupInitialUserConfigEnv;\n const cleanupUserConfig = resolveConfigDefine(config);\n\n // Combine cleanup functions\n cleanupEnv = () => {\n cleanupUserConfig();\n cleanupUserConfigEnv();\n };\n },\n closeBundle() {\n // Clean up environment variables when the bundle is closed\n cleanupEnv?.();\n },\n configureServer(server) {\n let envPrefix = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n let publicOrigin = process.env[`${envPrefix}PUBLIC_ORIGIN`] ?? \"\"\n\n let desiredPort = server.config.server.port;\n let shouldUpdatePublicOrigin = false;\n if (publicOrigin && publicOrigin.includes(`:${desiredPort}`)) {\n shouldUpdatePublicOrigin = true;\n }\n // Listen for when the server actually starts\n if (shouldUpdatePublicOrigin) {\n server.httpServer?.once(\"listening\", () => {\n const address = server.httpServer?.address();\n if (address && typeof address !== \"string\") {\n const port = address.port;\n if (port !== desiredPort) {\n let envPrefix = Array.isArray(server.config.envPrefix) ? server.config.envPrefix[0] : server.config.envPrefix ?? DEFAULT_CONFIG.ENV_PREFIX;\n const newOrigin = publicOrigin.replace(\n `:${desiredPort}`,\n `:${port}`\n );\n process.env[`${envPrefix}PUBLIC_ORIGIN`] = newOrigin\n console.warn(\"PUBLIC_ORIGIN did not match the port: \" + port);\n }\n }\n });\n }\n }\n };\n}\n"],"names":["envPrefix"],"mappings":"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"}
@@ -8,19 +8,19 @@ function toError(error) {
8
8
  return {
9
9
  name: "Error",
10
10
  message: error,
11
- stack: undefined,
12
- cause: undefined
11
+ stack: void 0,
12
+ cause: void 0
13
13
  };
14
14
  }
15
15
  return error instanceof Error ? error : typeof error === "object" && error !== null ? {
16
16
  name: "name" in error ? String(error.name) : "Unknown Error",
17
17
  message: "message" in error ? typeof error.message === "string" ? error.message : JSON.stringify(error.message) : "Unknown Error",
18
- stack: "stack" in error ? String(error.stack) : undefined,
18
+ stack: "stack" in error ? String(error.stack) : void 0,
19
19
  cause: "cause" in error ? toError(error.cause) : error
20
20
  } : {
21
21
  name: "Unknown Error",
22
22
  message: typeof error === "string" ? error : "Unknown Error",
23
- stack: undefined,
23
+ stack: void 0,
24
24
  cause: error
25
25
  };
26
26
  }