vite-plugin-react-server 0.3.18 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +220 -141
- package/bin/patch.mjs +8 -2
- package/dist/package.json +15 -8
- package/dist/plugin/checkFilesExist.d.ts.map +1 -1
- package/dist/plugin/checkFilesExist.js +6 -2
- package/dist/plugin/checkFilesExist.js.map +1 -1
- package/dist/plugin/collect-manifest-client-files.d.ts +23 -0
- package/dist/plugin/collect-manifest-client-files.d.ts.map +1 -0
- package/dist/plugin/collect-manifest-client-files.js +131 -0
- package/dist/plugin/collect-manifest-client-files.js.map +1 -0
- package/dist/plugin/components.d.ts +3 -13
- package/dist/plugin/components.d.ts.map +1 -1
- package/dist/plugin/components.js +3 -13
- package/dist/plugin/config/defaults.d.ts +14 -6
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +9 -5
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/getPaths.d.ts +0 -1
- package/dist/plugin/config/getPaths.d.ts.map +1 -1
- package/dist/plugin/config/getPaths.js +2 -7
- package/dist/plugin/config/getPaths.js.map +1 -1
- package/dist/plugin/config/mimeTypes.d.ts +2 -0
- package/dist/plugin/config/mimeTypes.d.ts.map +1 -0
- package/dist/plugin/config/mimeTypes.js +24 -0
- package/dist/plugin/config/mimeTypes.js.map +1 -0
- package/dist/plugin/config/resolveOptions.d.ts +2 -2
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +47 -28
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolvePages.d.ts +1 -0
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js +9 -5
- package/dist/plugin/config/resolvePages.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts +2 -1
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +181 -147
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/copy-dir.js +23 -18
- package/dist/plugin/copy-dir.js.map +1 -0
- package/dist/plugin/css-collector-inline.d.ts +10 -0
- package/dist/plugin/css-collector-inline.d.ts.map +1 -0
- package/dist/plugin/css-collector-inline.js +55 -0
- package/dist/plugin/css-collector-inline.js.map +1 -0
- package/dist/plugin/css-collector.d.ts +14 -0
- package/dist/plugin/css-collector.d.ts.map +1 -0
- package/dist/plugin/css-collector.js +49 -0
- package/dist/plugin/css-collector.js.map +1 -0
- package/dist/plugin/helpers/createHandler.d.ts +17 -0
- package/dist/plugin/helpers/createHandler.d.ts.map +1 -0
- package/dist/plugin/helpers/createHandler.js +111 -0
- package/dist/plugin/helpers/createHandler.js.map +1 -0
- package/dist/plugin/helpers/createRscStream.d.ts +27 -0
- package/dist/plugin/helpers/createRscStream.d.ts.map +1 -0
- package/dist/plugin/helpers/createRscStream.js +80 -0
- package/dist/plugin/helpers/createRscStream.js.map +1 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.js +12 -4
- package/dist/plugin/helpers/getBundleManifest.js.map +1 -1
- package/dist/plugin/html.d.ts +5 -0
- package/dist/plugin/html.d.ts.map +1 -0
- package/dist/plugin/html.js +11 -0
- package/dist/plugin/html.js.map +1 -0
- package/dist/plugin/loader/createBuildLoader.d.ts +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +8 -5
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/loader/css-loader.d.ts.map +1 -1
- package/dist/plugin/loader/css-loader.js.map +1 -1
- package/dist/plugin/loader/react-loader.js +2 -2
- package/dist/plugin/loader/react-loader.js.map +1 -1
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +49 -14
- package/dist/plugin/preserver/plugin.js.map +1 -1
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +21 -78
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-server/index.d.ts.map +1 -1
- package/dist/plugin/react-server/index.js +2 -0
- package/dist/plugin/react-server/index.js.map +1 -1
- package/dist/plugin/react-server/plugin.d.ts +2 -1
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +92 -225
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/react-static/index.d.ts +2 -0
- package/dist/plugin/react-static/index.d.ts.map +1 -0
- package/dist/plugin/react-static/index.js +1 -0
- package/dist/plugin/react-static/plugin.d.ts +7 -0
- package/dist/plugin/react-static/plugin.d.ts.map +1 -0
- package/dist/plugin/react-static/plugin.js +207 -0
- package/dist/plugin/react-static/plugin.js.map +1 -0
- package/dist/plugin/react-static/types.d.ts +2 -0
- package/dist/plugin/react-static/types.d.ts.map +1 -0
- package/dist/plugin/resolvePage.d.ts.map +1 -1
- package/dist/plugin/resolvePage.js +9 -0
- package/dist/plugin/resolvePage.js.map +1 -1
- package/dist/plugin/root.d.ts +2 -0
- package/dist/plugin/root.d.ts.map +1 -0
- package/dist/plugin/root.js +12 -0
- package/dist/plugin/root.js.map +1 -0
- package/dist/plugin/transformer/plugin.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.js +32 -23
- package/dist/plugin/transformer/plugin.js.map +1 -1
- package/dist/plugin/transformer/types.d.ts +1 -18
- package/dist/plugin/transformer/types.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +70 -15
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +0 -1
- package/dist/plugin/worker/createWorker.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.development.d.ts +30 -0
- package/dist/plugin/worker/html/html-worker.development.d.ts.map +1 -1
- package/dist/plugin/worker/html/html-worker.development.js +30 -2
- package/dist/plugin/worker/html/html-worker.development.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.production.js +3 -5
- package/dist/plugin/worker/html/html-worker.production.js.map +1 -1
- package/dist/plugin/worker/html/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/html/messageHandler.js +12 -3
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/html/renderPages.d.ts +13 -26
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +138 -86
- package/dist/plugin/worker/html/renderPages.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.js +104 -84
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.development.js +13 -18
- package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js +4 -1
- package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -1
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/state.js.map +1 -1
- package/dist/plugin/worker/types.d.ts +3 -0
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -6
- package/plugin/checkFilesExist.ts +7 -3
- package/plugin/collect-manifest-client-files.ts +167 -0
- package/plugin/components.ts +3 -0
- package/plugin/config/defaults.tsx +70 -0
- package/plugin/config/getPaths.ts +1 -7
- package/plugin/config/mimeTypes.ts +17 -0
- package/plugin/config/resolveOptions.ts +58 -45
- package/plugin/config/resolvePages.ts +8 -4
- package/plugin/config/resolveUserConfig.ts +220 -176
- package/plugin/css-collector-inline.tsx +60 -0
- package/plugin/css-collector.tsx +62 -0
- package/plugin/helpers/createHandler.ts +135 -0
- package/plugin/helpers/createRscStream.ts +109 -0
- package/plugin/helpers/getBundleManifest.ts +14 -5
- package/plugin/html.tsx +9 -0
- package/plugin/loader/createBuildLoader.ts +9 -6
- package/plugin/loader/css-loader.ts +0 -2
- package/plugin/loader/react-loader.ts +2 -2
- package/plugin/preserver/plugin.ts +64 -17
- package/plugin/react-client/plugin.ts +23 -93
- package/plugin/react-server/index.ts +2 -0
- package/plugin/react-server/plugin.ts +111 -302
- package/plugin/react-static/index.ts +1 -0
- package/plugin/react-static/plugin.ts +256 -0
- package/plugin/react-static/types.ts +3 -0
- package/plugin/resolvePage.ts +9 -0
- package/plugin/root.ts +4 -0
- package/plugin/transformer/plugin.ts +40 -31
- package/plugin/transformer/types.ts +0 -19
- package/plugin/types.ts +77 -16
- package/plugin/worker/createWorker.ts +1 -1
- package/plugin/worker/html/README.md +63 -0
- package/plugin/worker/html/html-worker.development.tsx +89 -2
- package/plugin/worker/html/html-worker.production.tsx +8 -10
- package/plugin/worker/html/messageHandler.ts +12 -3
- package/plugin/worker/html/renderPages.ts +178 -138
- package/plugin/worker/rsc/README.md +58 -0
- package/plugin/worker/rsc/messageHandler.tsx +112 -113
- package/plugin/worker/rsc/rsc-worker.development.ts +12 -22
- package/plugin/worker/rsc/rsc-worker.production.ts +5 -1
- package/plugin/worker/rsc/state.ts +0 -3
- package/plugin/worker/types.ts +3 -0
- package/scripts/react+0.0.0-experimental-eda36a1c-20250228.patch +114 -12
- package/scripts/react-dom+0.0.0-experimental-eda36a1c-20250228.patch +10571 -121
- package/tsconfig.json +2 -2
- package/dist/plugin/collect-css-manifest.d.ts +0 -4
- package/dist/plugin/collect-css-manifest.d.ts.map +0 -1
- package/dist/plugin/collect-css-manifest.js +0 -65
- package/dist/plugin/collect-css-manifest.js.map +0 -1
- package/dist/plugin/config/createModuleIdGenerator.d.ts +0 -11
- package/dist/plugin/config/createModuleIdGenerator.d.ts.map +0 -1
- package/dist/plugin/config/createModuleIdGenerator.js +0 -44
- package/dist/plugin/config/createModuleIdGenerator.js.map +0 -1
- package/dist/plugin/getEnv.d.ts +0 -19
- package/dist/plugin/getEnv.d.ts.map +0 -1
- package/dist/plugin/getEnv.js +0 -107
- package/dist/plugin/loader/createCssLoader.d.ts +0 -30
- package/dist/plugin/loader/createCssLoader.d.ts.map +0 -1
- package/dist/plugin/loader/createCssLoader.js +0 -35
- package/dist/plugin/loader/createPageLoader.d.ts +0 -24
- package/dist/plugin/loader/createPageLoader.d.ts.map +0 -1
- package/dist/plugin/loader/createPageLoader.js +0 -50
- package/dist/plugin/loader/rsc/messageHandler.d.ts +0 -2
- package/dist/plugin/loader/rsc/messageHandler.d.ts.map +0 -1
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts +0 -2
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts.map +0 -1
- package/dist/plugin/loader/rsc/rsc-worker.development.js +0 -1
- package/dist/plugin/module-graph.d.ts +0 -10
- package/dist/plugin/module-graph.d.ts.map +0 -1
- package/dist/plugin/module-graph.js +0 -35
- package/dist/plugin/react-server/createHandler.d.ts +0 -17
- package/dist/plugin/react-server/createHandler.d.ts.map +0 -1
- package/dist/plugin/react-server/createHandler.js +0 -126
- package/dist/plugin/react-server/createHandler.js.map +0 -1
- package/dist/plugin/react-server/createRscStream.d.ts +0 -16
- package/dist/plugin/react-server/createRscStream.d.ts.map +0 -1
- package/dist/plugin/react-server/createRscStream.js +0 -70
- package/dist/plugin/react-server/createRscStream.js.map +0 -1
- package/dist/plugin/react-server/createSsrHandler.d.ts +0 -4
- package/dist/plugin/react-server/createSsrHandler.d.ts.map +0 -1
- package/dist/plugin/react-server/createSsrHandler.js +0 -95
- package/dist/plugin/utils/logger.d.ts +0 -9
- package/dist/plugin/utils/logger.d.ts.map +0 -1
- package/dist/plugin/utils/logger.js +0 -68
- package/dist/plugin/utils/logger.js.map +0 -1
- package/dist/plugin/worker/html/plugin.d.ts +0 -4
- package/dist/plugin/worker/html/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/html/plugin.js +0 -94
- package/dist/plugin/worker/plugin.d.ts +0 -19
- package/dist/plugin/worker/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/plugin.js +0 -23
- package/dist/plugin/worker/rsc/plugin.d.ts +0 -4
- package/dist/plugin/worker/rsc/plugin.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/plugin.js +0 -76
- package/plugin/collect-css-manifest.ts +0 -82
- package/plugin/components.tsx +0 -14
- package/plugin/config/createModuleIdGenerator.ts +0 -52
- package/plugin/config/defaults.ts +0 -51
- package/plugin/getEnv.ts +0 -135
- package/plugin/loader/createCssLoader.ts +0 -73
- package/plugin/loader/createPageLoader.ts +0 -103
- package/plugin/loader/rsc/messageHandler.tsx +0 -1
- package/plugin/loader/rsc/rsc-worker.development.ts +0 -1
- package/plugin/module-graph.ts +0 -48
- package/plugin/react-server/createHandler.ts +0 -162
- package/plugin/react-server/createRscStream.ts +0 -86
- package/plugin/react-server/createSsrHandler.ts +0 -125
- package/plugin/utils/logger.ts +0 -52
- package/plugin/worker/html/plugin.ts +0 -101
- package/plugin/worker/plugin.ts +0 -26
- package/plugin/worker/rsc/plugin.ts +0 -84
- /package/dist/plugin/{loader/rsc/messageHandler.js → react-static/types.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { createModuleIdGenerator } from \"./createModuleIdGenerator.js\";\nimport { normalizePath } from \"vite\";\n\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\nconst addJS = (path: string) => {\n if (path.endsWith(\".js\")) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".js\";\n if (path.endsWith(\".\")) return path + \"js\";\n return path + \".js\";\n};\n\nconst handleSearchQuery = (path: string) => {\n // make the query part of the name of the file so it's not ending up like index1, index2, etc.\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n // add the folder before the filename\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\nconst applyPattern = (\n path: string,\n pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n fallback?: string | undefined\n) => {\n // TODO: What to actually do here? I guess we could replace the extension, but it's not needed since we map them from the manifest anyway.\n return path;\n};\n\nexport const resolveOptions = (\n options: StreamPluginOptions,\n isClient: boolean = false\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n 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 let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n\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 ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n const ensureNoRoot = (n: string | null) => {\n if (!n) return \"\";\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n const hash = (n: string | null) => {\n if (!n) return \"\";\n if (hashString === \"\") return n;\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n // put hash between extension and filename\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n // Remove src/ prefix if present\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path)) {\n return path;\n }\n \n if (testCssModule(path)) {\n // For CSS modules, keep the .css.js extension\n return applyPattern(path, options.autoDiscover?.cssModulePattern, \".css.js\");\n }\n \n if (testCss(path)) {\n // For regular CSS files, keep the .css extension\n return applyPattern(path, options.autoDiscover?.cssPattern, \".css\");\n }\n\n if (testClientComponents(path)) {\n return applyPattern(path, options.autoDiscover?.clientComponents, \"client\");\n }\n if (testHtml(path)) {\n return applyPattern(path, options.autoDiscover?.htmlPattern, \".html\");\n }\n if (testJson(path)) {\n return applyPattern(path, options.autoDiscover?.jsonPattern, \".json\");\n }\n if (testPropsPattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n }\n if (testPagePattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n }\n if (testServerFunctions(path)) {\n return applyPattern(path, options.autoDiscover?.serverFunctions, \"server\");\n }\n if (testModulePattern(path)) {\n return path;\n }\n return path;\n };\n\n const entryFile = (n: PreRenderedChunk) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if(search) {\n return `${n.name}.${search}.js`;\n } else {\n return n.name + \".js\";\n }\n }\n return addJS(getOutputPath(ensureModuleBase(ensureNoRoot(n.name))));\n };\n\n const chunkFile = (n: PreRenderedChunk) => {\n // For chunks, we always want .js\n return addJS(getOutputPath(ensureModuleBase(ensureNoRoot('_'+n.name))));\n };\n\n const assetFile = (n: PreRenderedAsset) => {\n // For assets, keep the original extension\n return getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0])));\n };\n\n const build =\n typeof options.build === \"object\" && options.build !== null\n ? {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\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 pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile,\n chunkFile,\n assetFile,\n };\n\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : options.moduleBase.startsWith(\"/\")\n ? options.moduleBase\n : \"/\" + options.moduleBase;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : moduleBasePath ?? DEFAULT_CONFIG.MODULE_BASE_URL;\n\n const autoDiscover = {\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n };\n\n const moduleId =\n typeof options.moduleId === \"function\"\n ? options.moduleId\n : createModuleIdGenerator({\n isProduction: process.env[\"NODE_ENV\"] === \"production\",\n inputRoot: projectRoot,\n client: client,\n server: server,\n moduleBase: moduleBase,\n preserveModulesRoot: preserveModulesRoot,\n removeExtension: DEFAULT_CONFIG.FILE_REGEX,\n imports: {},\n });\n\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleId: moduleId,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: build,\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n htmlWorkerPath:\n options.htmlWorkerPath ?? DEFAULT_CONFIG.HTML_WORKER_PATH,\n rscWorkerPath: options.rscWorkerPath ?? DEFAULT_CONFIG.RSC_WORKER_PATH,\n loaderPath: options.loaderPath ?? DEFAULT_CONFIG.LOADER_PATH,\n clientEntry: options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n serverEntry: options.serverEntry ?? DEFAULT_CONFIG.SERVER_ENTRY,\n moduleBaseExceptions: options.moduleBaseExceptions ?? [],\n autoDiscover: autoDiscover,\n pipableStreamOptions: options.pipableStreamOptions ?? {\n bootstrapModules: [\n options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n ],\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve options\"),\n };\n }\n};\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveOptions.js","sources":["../../../plugin/config/resolveOptions.ts"],"sourcesContent":["import type { PreRenderedAsset } from \"rollup\";\nimport type { PreRenderedChunk } from \"rollup\";\nimport type { StreamPluginOptions, ResolvedUserOptions, InlineCssCollectorProps, CssCollectorProps } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { join } from \"node:path\";\nimport { pluginRoot } from \"../root.js\";\nimport { InlineCssCollector } from \"../css-collector-inline.js\";\nimport { CssCollector } from \"../css-collector.js\";\n\nconst resolveAutoDiscoverMatcher = (\n options: undefined | string | RegExp | ((path: string) => boolean),\n fallback: RegExp | ((path: string) => boolean)\n) => {\n if (!options) {\n if (typeof fallback === \"function\") {\n return fallback;\n } else {\n return (path: string) => fallback.test(path);\n }\n }\n if (typeof options === \"string\") {\n const matcher = new RegExp(options);\n return (path: string) => matcher.test(path);\n } else if (typeof options === \"function\") {\n return options;\n } else {\n return (path: string) => options.test(path);\n }\n};\n\nconst addJS = (path: string) => {\n if (path.endsWith(\".js\")) return path;\n if (path.endsWith(\"/.\")) return path.slice(0, -2) + \".js\";\n if (path.endsWith(\".\")) return path + \"js\";\n return path + \".js\";\n};\n\nconst handleSearchQuery = (path: string) => {\n // make the query part of the name of the file so it's not ending up like index1, index2, etc.\n const searchQuery = path.split(\"?\")[1];\n if (!searchQuery) return path;\n // add the folder before the filename\n const folder = path.split(\"/\").slice(0, -1).join(\"/\");\n const filename = path.split(\"/\").pop();\n return `${folder}/${filename}?${searchQuery}`;\n};\n\nconst applyPattern = (\n path: string,\n _pattern?: string | RegExp | ((path: string) => boolean) | undefined,\n _fallback?: string | undefined\n) => {\n // TODO: What to actually do here? I guess we could replace the extension, but it's not needed since we map them from the manifest anyway.\n return path;\n};\n\nexport const resolveOptions = <InlineCSS extends boolean = boolean>(\n options: StreamPluginOptions<InlineCSS>,\n isClient: boolean\n):\n | { type: \"success\"; userOptions: ResolvedUserOptions<InlineCSS> }\n | { type: \"error\"; error: Error } => {\n const projectRoot = options.projectRoot ?? process.cwd();\n const {\n pageExportName = DEFAULT_CONFIG.PAGE_EXPORT_NAME,\n propsExportName = DEFAULT_CONFIG.PROPS_EXPORT_NAME,\n } = options;\n 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 let client = options.build?.client ?? DEFAULT_CONFIG.BUILD.client;\n let server = options.build?.server ?? DEFAULT_CONFIG.BUILD.server;\n\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 ensureModuleBase = (n: string | null) => {\n if (!n) return \"\";\n return n.startsWith(moduleBase + \"/\") ? n.slice(moduleBase.length + 1) : n;\n };\n const hasWrongRoot = !projectRoot.startsWith(\"/\");\n if (hasWrongRoot) {\n console.warn(\"projectRoot is not a full path\", projectRoot);\n }\n const wrongRoot = !hasWrongRoot ? projectRoot.slice(1) : projectRoot;\n const ensureNoRoot = (n: string | null) => {\n if (!n) return \"\";\n if (n.startsWith(wrongRoot)) {\n return n.slice(wrongRoot.length + 1);\n }\n return n.startsWith(projectRoot + \"/\")\n ? n.slice(projectRoot.length + 1)\n : n;\n };\n\n const testModulePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.modulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.modulePattern\n );\n\n const testJson = resolveAutoDiscoverMatcher(\n options.autoDiscover?.jsonPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.jsonPattern\n );\n\n const testCss = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssPattern\n );\n const testHtml = resolveAutoDiscoverMatcher(\n options.autoDiscover?.htmlPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.htmlPattern\n );\n const testClientComponents = resolveAutoDiscoverMatcher(\n options.autoDiscover?.clientComponents,\n DEFAULT_CONFIG.AUTO_DISCOVER.clientComponents\n );\n const testServerFunctions = resolveAutoDiscoverMatcher(\n options.autoDiscover?.serverFunctions,\n DEFAULT_CONFIG.AUTO_DISCOVER.serverFunctions\n );\n const testPropsPattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.propsPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.propsPattern\n );\n const testPagePattern = resolveAutoDiscoverMatcher(\n options.autoDiscover?.pagePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.pagePattern\n );\n const testCssModule = resolveAutoDiscoverMatcher(\n options.autoDiscover?.cssModulePattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.cssModulePattern\n );\n const testVendor = resolveAutoDiscoverMatcher(\n options.autoDiscover?.vendorPattern,\n DEFAULT_CONFIG.AUTO_DISCOVER.vendorPattern\n );\n const preserveModulesRoot =\n options.build?.preserveModulesRoot ??\n DEFAULT_CONFIG.BUILD.preserveModulesRoot;\n const hashOption =\n typeof options.build?.hash === \"string\"\n ? options.build.hash\n : DEFAULT_CONFIG.BUILD.hash;\n const hashString = hashOption === \"\" ? \"\" : `-[${hashOption}]`;\n const hash = (n: string | null) => {\n if (!n) return \"\";\n if (hashString === \"\" || ( !isClient && !n.endsWith('.css') && !n.endsWith('.json') ) ) {\n return n;\n }\n const extensionIndex = n.lastIndexOf(\".\");\n if (extensionIndex !== -1) {\n // put hash between extension and filename\n const extension = n.slice(extensionIndex);\n const filename = n.slice(0, extensionIndex);\n return filename + hashString + extension;\n } else {\n return n + hashString;\n }\n };\n\n const getOutputPath = (n: string | null) => {\n if (!n) return \"\";\n let path = handleSearchQuery(n);\n // Remove src/ prefix if present\n path = path.startsWith(moduleBase + \"/\")\n ? path.slice(moduleBase.length + 1)\n : path;\n\n if (testVendor(path)) {\n return path;\n }\n\n if (testCssModule(path)) {\n // For CSS modules, keep the .css.js extension\n return applyPattern(\n path,\n options.autoDiscover?.cssModulePattern,\n \".css.js\"\n );\n }\n\n if (testCss(path)) {\n // For regular CSS files, keep the .css extension\n return applyPattern(path, options.autoDiscover?.cssPattern, \".css\");\n }\n\n if (testClientComponents(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.clientComponents,\n \"client\"\n );\n }\n if (testHtml(path)) {\n return applyPattern(path, options.autoDiscover?.htmlPattern, \".html\");\n }\n if (testJson(path)) {\n return applyPattern(path, options.autoDiscover?.jsonPattern, \".json\");\n }\n if (testPropsPattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.propsPattern,\n options.propsExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PROPS_EXPORT_NAME.toLowerCase()\n );\n }\n if (testPagePattern(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.pagePattern,\n options.pageExportName?.toLowerCase() ??\n DEFAULT_CONFIG.PAGE_EXPORT_NAME.toLowerCase()\n );\n }\n if (testServerFunctions(path)) {\n return applyPattern(\n path,\n options.autoDiscover?.serverFunctions,\n \"server\"\n );\n }\n if (testModulePattern(path)) {\n return path;\n }\n return path;\n };\n\n const entryFile = (n: PreRenderedChunk) => {\n if (testVendor(n.name)) {\n const search = n.facadeModuleId?.split(\"?\")[1];\n if (search) {\n return hash(`${n.name}.${search}.js`);\n } else {\n return hash(`${n.name}.js`);\n }\n }\n return hash(addJS(getOutputPath(ensureModuleBase(ensureNoRoot(n.name)))));\n };\n\n const chunkFile = (n: PreRenderedChunk) => {\n // For chunks, we always want .js\n return hash(addJS(getOutputPath(ensureModuleBase(ensureNoRoot(\"_\" + n.name)))));\n };\n\n const assetFile = (n: PreRenderedAsset) => {\n // For assets, keep the original extension\n return hash(getOutputPath(ensureModuleBase(ensureNoRoot(n.names[0]))));\n };\n\n const build =\n typeof options.build === \"object\" && options.build !== null\n ? {\n pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\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 pages,\n client,\n server,\n static: staticBuild,\n outDir,\n assetsDir,\n api,\n hash: hashOption,\n preserveModulesRoot,\n entryFile,\n chunkFile,\n assetFile,\n };\n\n const moduleBase =\n typeof options.moduleBase === \"string\"\n ? options.moduleBase\n : DEFAULT_CONFIG.MODULE_BASE;\n const moduleBasePath =\n typeof options.moduleBasePath === \"string\"\n ? options.moduleBasePath\n : DEFAULT_CONFIG.MODULE_BASE_PATH;\n const moduleBaseURL =\n typeof options.moduleBaseURL === \"string\"\n ? options.moduleBaseURL\n : DEFAULT_CONFIG.MODULE_BASE_URL;\n const rscWorkerPath =\n typeof options.rscWorkerPath === \"string\"\n ? join(projectRoot, options.rscWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.RSC_WORKER_PATH);\n const htmlWorkerPath =\n typeof options.htmlWorkerPath === \"string\"\n ? join(projectRoot, options.htmlWorkerPath)\n : join(pluginRoot, DEFAULT_CONFIG.HTML_WORKER_PATH);\n const loaderPath =\n typeof options.loaderPath === \"string\"\n ? join(projectRoot, options.loaderPath)\n : join(pluginRoot, DEFAULT_CONFIG.LOADER_PATH);\n\n const autoDiscover = {\n modulePattern: testModulePattern,\n cssPattern: testCss,\n jsonPattern: testJson,\n clientComponents: testClientComponents,\n serverFunctions: testServerFunctions,\n propsPattern: testPropsPattern,\n pagePattern: testPagePattern,\n cssModulePattern: testCssModule,\n vendorPattern: testVendor,\n };\n const inlineCss = options.inlineCss;\n const InlineOrLinkCssCollector = options.CssCollector ?? inlineCss ? InlineCssCollector : CssCollector;\n try {\n return {\n type: \"success\",\n userOptions: {\n projectRoot,\n moduleBase,\n moduleBasePath,\n moduleBaseURL,\n build: build,\n Page: options.Page ?? DEFAULT_CONFIG.PAGE,\n props: options.props ?? DEFAULT_CONFIG.PROPS,\n Html: options.Html ?? DEFAULT_CONFIG.HTML,\n CssCollector: InlineOrLinkCssCollector as InlineCSS extends true ? React.FC<React.PropsWithChildren<InlineCssCollectorProps>> : React.FC<React.PropsWithChildren<CssCollectorProps>>,\n pageExportName: pageExportName,\n propsExportName: propsExportName,\n collectCss: options.collectCss ?? DEFAULT_CONFIG.COLLECT_CSS,\n collectAssets: options.collectAssets ?? DEFAULT_CONFIG.COLLECT_ASSETS,\n inlineCss: options.inlineCss ?? DEFAULT_CONFIG.INLINE_CSS,\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 pipableStreamOptions: options.pipableStreamOptions ?? {\n bootstrapModules: [\n options.clientEntry ?? DEFAULT_CONFIG.CLIENT_ENTRY,\n ],\n },\n },\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":"resolvePages.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolvePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAC3C,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAA;CAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"resolvePages.d.ts","sourceRoot":"","sources":["../../../plugin/config/resolvePages.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,IAAI,YAAY,EAAE,MAAM,EAAO,CAAC;AACvC,wBAAsB,YAAY,CAChC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,GAC3C,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,KAAK,CAAC,EAAC,KAAK,CAAA;CAAE,CAAC,CAyC7G"}
|
|
@@ -3,24 +3,28 @@
|
|
|
3
3
|
* Copyright (c) Nico Brinkkemper
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
|
+
let stashedPages = [];
|
|
6
7
|
async function resolvePages(pages) {
|
|
8
|
+
if (stashedPages.length > 0) {
|
|
9
|
+
return { type: "success", pages: stashedPages };
|
|
10
|
+
}
|
|
7
11
|
if (!pages) {
|
|
8
12
|
return { type: "success", pages: [] };
|
|
9
13
|
}
|
|
10
14
|
try {
|
|
11
15
|
if (typeof pages === "function") {
|
|
12
|
-
|
|
13
|
-
return resolvePages(result);
|
|
16
|
+
return resolvePages(pages());
|
|
14
17
|
}
|
|
15
18
|
if (pages instanceof Promise) {
|
|
16
|
-
|
|
17
|
-
return resolvePages(result);
|
|
19
|
+
return resolvePages(await pages);
|
|
18
20
|
}
|
|
19
21
|
if (typeof pages === "string") {
|
|
22
|
+
stashedPages = [pages];
|
|
20
23
|
return { type: "success", pages: [pages] };
|
|
21
24
|
}
|
|
22
25
|
if (Array.isArray(pages)) {
|
|
23
26
|
if (pages.every((page) => typeof page === "string")) {
|
|
27
|
+
stashedPages = pages;
|
|
24
28
|
return { type: "success", pages };
|
|
25
29
|
}
|
|
26
30
|
throw new Error("All pages must be strings");
|
|
@@ -34,5 +38,5 @@ async function resolvePages(pages) {
|
|
|
34
38
|
}
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
export { resolvePages };
|
|
41
|
+
export { resolvePages, stashedPages };
|
|
38
42
|
//# sourceMappingURL=resolvePages.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolvePages.js","sources":["../../../plugin/config/resolvePages.ts"],"sourcesContent":["import type { ResolvedUserOptions } from '../types.js';\n\nexport async function resolvePages(\n pages: ResolvedUserOptions[\"build\"][\"pages\"]\n): Promise<{ type: \"success\"; error?:never; pages: string[] } | { type: \"error\"; error: Error; pages?:never }> {\n if (!pages) {\n return { type: \"success\", pages: [] };\n }\n\n try {\n // Handle function\n if (typeof pages === \"function\") {\n
|
|
1
|
+
{"version":3,"file":"resolvePages.js","sources":["../../../plugin/config/resolvePages.ts"],"sourcesContent":["import type { ResolvedUserOptions } from '../types.js';\n\nexport let stashedPages: string[] = [];\nexport async function resolvePages(\n pages: ResolvedUserOptions[\"build\"][\"pages\"]\n): Promise<{ type: \"success\"; error?:never; pages: string[] } | { type: \"error\"; error: Error; pages?:never }> {\n if(stashedPages.length > 0){\n return { type: \"success\", pages: stashedPages };\n }\n if (!pages) {\n return { type: \"success\", pages: [] };\n }\n\n try {\n // Handle function\n if (typeof pages === \"function\") {\n return resolvePages(pages());\n }\n\n // Handle Promise\n if (pages instanceof Promise) {\n return resolvePages(await pages);\n }\n\n // Handle string\n if (typeof pages === \"string\") {\n stashedPages = [pages];\n return { type: \"success\", pages: [pages] };\n }\n\n // Handle array\n if (Array.isArray(pages)) {\n if (pages.every(page => typeof page === \"string\")) {\n stashedPages = pages;\n return { type: \"success\", pages };\n }\n throw new Error('All pages must be strings');\n }\n\n throw new Error('Invalid pages format');\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error('Failed to resolve pages')\n };\n }\n} "],"names":[],"mappings":";;;;;AAEO,IAAI,eAAyB;AACpC,eAAsB,aACpB,KAC6G,EAAA;AAC7G,EAAG,IAAA,YAAA,CAAa,SAAS,CAAE,EAAA;AACzB,IAAA,OAAO,EAAE,IAAA,EAAM,SAAW,EAAA,KAAA,EAAO,YAAa,EAAA;AAAA;AAEhD,EAAA,IAAI,CAAC,KAAO,EAAA;AACV,IAAA,OAAO,EAAE,IAAA,EAAM,SAAW,EAAA,KAAA,EAAO,EAAG,EAAA;AAAA;AAGtC,EAAI,IAAA;AAEF,IAAI,IAAA,OAAO,UAAU,UAAY,EAAA;AAC/B,MAAO,OAAA,YAAA,CAAa,OAAO,CAAA;AAAA;AAI7B,IAAA,IAAI,iBAAiB,OAAS,EAAA;AAC5B,MAAO,OAAA,YAAA,CAAa,MAAM,KAAK,CAAA;AAAA;AAIjC,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,MAAA,YAAA,GAAe,CAAC,KAAK,CAAA;AACrB,MAAA,OAAO,EAAE,IAAM,EAAA,SAAA,EAAW,KAAO,EAAA,CAAC,KAAK,CAAE,EAAA;AAAA;AAI3C,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,MAAA,IAAI,MAAM,KAAM,CAAA,CAAA,IAAA,KAAQ,OAAO,IAAA,KAAS,QAAQ,CAAG,EAAA;AACjD,QAAe,YAAA,GAAA,KAAA;AACf,QAAO,OAAA,EAAE,IAAM,EAAA,SAAA,EAAW,KAAM,EAAA;AAAA;AAElC,MAAM,MAAA,IAAI,MAAM,2BAA2B,CAAA;AAAA;AAG7C,IAAM,MAAA,IAAI,MAAM,sBAAsB,CAAA;AAAA,WAC/B,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OAAO,KAAiB,YAAA,KAAA,GAAQ,KAAQ,GAAA,IAAI,MAAM,yBAAyB;AAAA,KAC7E;AAAA;AAEJ;;;;"}
|
|
@@ -2,6 +2,7 @@ import type { ConfigEnv, UserConfig } from "vite";
|
|
|
2
2
|
import type { CheckFilesExistReturn, ResolvedUserConfig, ResolvedUserOptions } from "../types.js";
|
|
3
3
|
export type ResolveUserConfigProps = {
|
|
4
4
|
isClient?: boolean;
|
|
5
|
+
isStatic?: boolean;
|
|
5
6
|
config: UserConfig;
|
|
6
7
|
configEnv: ConfigEnv;
|
|
7
8
|
userOptions: ResolvedUserOptions;
|
|
@@ -14,5 +15,5 @@ export type ResolveUserConfigReturn = {
|
|
|
14
15
|
type: "error";
|
|
15
16
|
error: Error;
|
|
16
17
|
};
|
|
17
|
-
export declare function resolveUserConfig({ isClient, config, configEnv, userOptions, files, }: ResolveUserConfigProps): ResolveUserConfigReturn;
|
|
18
|
+
export declare function resolveUserConfig({ isClient, isStatic, config, configEnv, userOptions, files, }: ResolveUserConfigProps): ResolveUserConfigReturn;
|
|
18
19
|
//# sourceMappingURL=resolveUserConfig.d.ts.map
|
|
@@ -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,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;
|
|
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,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,aAAa,CAAC;AAUrB,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,mBAAmB,CAAC;IACjC,KAAK,CAAC,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAEpC,wBAAgB,iBAAiB,CAAC,EAChC,QAAgB,EAChB,QAAgB,EAChB,MAAM,EACN,SAAS,EACT,WAAW,EACX,KAAK,GACN,EAAE,sBAAsB,GAAG,uBAAuB,CA8OlD"}
|
|
@@ -6,176 +6,210 @@
|
|
|
6
6
|
import { createInputNormalizer } from '../helpers/inputNormalizer.js';
|
|
7
7
|
import { join } from 'path';
|
|
8
8
|
import { globSync } from 'fs';
|
|
9
|
+
import { pluginRoot } from '../root.js';
|
|
9
10
|
|
|
11
|
+
let stashedUserConfig = {};
|
|
10
12
|
function resolveUserConfig({
|
|
11
13
|
isClient = false,
|
|
14
|
+
isStatic = false,
|
|
12
15
|
config,
|
|
13
16
|
configEnv,
|
|
14
17
|
userOptions,
|
|
15
18
|
files
|
|
16
19
|
}) {
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
if (isStatic) {
|
|
21
|
+
const serverConfig = stashedUserConfig[`${userOptions.build.server}-ssr`];
|
|
22
|
+
if (!serverConfig) {
|
|
23
|
+
return {
|
|
24
|
+
type: "error",
|
|
25
|
+
error: new Error("Static plugin should run after the server plugin")
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
type: "success",
|
|
30
|
+
userConfig: serverConfig
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
const envDir = isStatic ? userOptions.build.static : isClient ? userOptions.build.client : userOptions.build.server;
|
|
34
|
+
const ssr = typeof config.build?.ssr === "boolean" ? config.build?.ssr : configEnv.isSsrBuild || !isClient && !isStatic;
|
|
35
|
+
const envId = `${envDir}${ssr ? "-ssr" : ""}`;
|
|
36
|
+
if (stashedUserConfig[envId]) {
|
|
37
|
+
console.log(`[RSC] Using cached config for ${envId}`);
|
|
38
|
+
return {
|
|
39
|
+
type: "success",
|
|
40
|
+
userConfig: stashedUserConfig[envId]
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const root = config.root ?? userOptions.projectRoot ?? process.cwd();
|
|
44
|
+
const normalizer = createInputNormalizer({
|
|
45
|
+
root,
|
|
46
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
|
|
47
|
+
removeExtension: true
|
|
48
|
+
});
|
|
49
|
+
const serverEntry = userOptions.serverEntry ? Object.fromEntries([
|
|
50
|
+
normalizer([userOptions.serverEntry, userOptions.serverEntry])
|
|
51
|
+
]) : null;
|
|
52
|
+
const clientEntry = userOptions.clientEntry ? Object.fromEntries(
|
|
53
|
+
[
|
|
54
|
+
[userOptions.clientEntry, userOptions.clientEntry],
|
|
55
|
+
["index.html", "index.html"]
|
|
56
|
+
].map(normalizer)
|
|
57
|
+
) : { "index.html": "index.html" };
|
|
58
|
+
const autoDiscoveredClientFiles = (inputs2) => {
|
|
59
|
+
const allFiles = globSync(`**/*.client.*`, {
|
|
60
|
+
cwd: join(root, userOptions.moduleBase)
|
|
23
61
|
});
|
|
24
|
-
const
|
|
25
|
-
normalizer(
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
[
|
|
30
|
-
["index.html", "index.html"]
|
|
31
|
-
].map(normalizer)
|
|
32
|
-
) : { "index.html": "index.html" };
|
|
33
|
-
const autoDiscoveredClientFiles = (inputs2) => {
|
|
34
|
-
const allFiles = globSync(`**/*.client.*`, {
|
|
35
|
-
cwd: join(root, userOptions.moduleBase)
|
|
36
|
-
});
|
|
37
|
-
for (const file of allFiles) {
|
|
38
|
-
const [key, value] = normalizer(join(userOptions.moduleBase, file));
|
|
39
|
-
if (!inputs2[key]) {
|
|
40
|
-
inputs2[key] = value;
|
|
41
|
-
} else {
|
|
42
|
-
console.warn(`[RSC] Client file already exists: ${key}`);
|
|
43
|
-
}
|
|
62
|
+
for (const file of allFiles) {
|
|
63
|
+
const [key, value] = normalizer(join(userOptions.moduleBase, file));
|
|
64
|
+
if (!inputs2[key]) {
|
|
65
|
+
inputs2[key] = value;
|
|
66
|
+
} else {
|
|
67
|
+
console.warn(`[RSC] Client file already exists: ${key}`);
|
|
44
68
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
69
|
+
}
|
|
70
|
+
return inputs2;
|
|
71
|
+
};
|
|
72
|
+
const autoDiscoveredServerFiles = (inputs2) => {
|
|
73
|
+
const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {
|
|
74
|
+
cwd: join(root, userOptions.moduleBase)
|
|
75
|
+
});
|
|
76
|
+
for (const file of allFiles) {
|
|
77
|
+
const [key, value] = normalizer(join(userOptions.moduleBase, file));
|
|
78
|
+
if (!inputs2[key]) {
|
|
79
|
+
inputs2[key] = value;
|
|
80
|
+
} else {
|
|
81
|
+
console.warn(`[RSC] Server file already exists: ${key}`);
|
|
58
82
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
83
|
+
}
|
|
84
|
+
return inputs2;
|
|
85
|
+
};
|
|
86
|
+
const customWorkerFiles = (inputs2) => {
|
|
87
|
+
const customRscWorker = !userOptions.rscWorkerPath.startsWith(pluginRoot);
|
|
88
|
+
const customHtmlWorker = !userOptions.htmlWorkerPath.startsWith(pluginRoot);
|
|
89
|
+
if (customRscWorker && !inputs2["rsc-worker"]) {
|
|
90
|
+
inputs2["rsc-worker"] = userOptions.rscWorkerPath;
|
|
91
|
+
}
|
|
92
|
+
if (customHtmlWorker && !inputs2["html-worker"]) {
|
|
93
|
+
inputs2["html-worker"] = userOptions.htmlWorkerPath;
|
|
94
|
+
}
|
|
95
|
+
return inputs2;
|
|
96
|
+
};
|
|
97
|
+
const autoDiscoveredFiles = (inputs2) => {
|
|
98
|
+
if (!files) return inputs2;
|
|
99
|
+
for (const [key, value] of files.pageMap) {
|
|
100
|
+
if (!inputs2[key]) {
|
|
101
|
+
inputs2[key] = value;
|
|
102
|
+
} else {
|
|
103
|
+
console.warn(`[RSC] Page file already exists: ${key}`);
|
|
69
104
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
105
|
+
}
|
|
106
|
+
for (const [key, value] of files.propsMap) {
|
|
107
|
+
if (!inputs2[key]) {
|
|
108
|
+
inputs2[key] = value;
|
|
109
|
+
} else {
|
|
110
|
+
console.warn(`[RSC] Props file already exists: ${key}`);
|
|
76
111
|
}
|
|
77
|
-
return inputs2;
|
|
78
|
-
};
|
|
79
|
-
let inputs = isClient ? autoDiscoveredClientFiles(clientEntry) : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));
|
|
80
|
-
const envDir = isClient ? userOptions.build.client : userOptions.build.server;
|
|
81
|
-
const pluginOutput = {
|
|
82
|
-
preserveModules: !isClient,
|
|
83
|
-
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
|
|
84
|
-
entryFileNames: userOptions.build.entryFile,
|
|
85
|
-
assetFileNames: userOptions.build.assetFile,
|
|
86
|
-
chunkFileNames: userOptions.build.chunkFile,
|
|
87
|
-
format: "esm",
|
|
88
|
-
exports: "named",
|
|
89
|
-
hoistTransitiveImports: false,
|
|
90
|
-
generatedCode: {
|
|
91
|
-
constBindings: true,
|
|
92
|
-
objectShorthand: true
|
|
93
|
-
},
|
|
94
|
-
interop: "auto"
|
|
95
|
-
};
|
|
96
|
-
const 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;
|
|
97
|
-
if (isClient) {
|
|
98
|
-
return {
|
|
99
|
-
type: "success",
|
|
100
|
-
userConfig: {
|
|
101
|
-
...config,
|
|
102
|
-
root,
|
|
103
|
-
mode: configEnv.mode ?? configEnv.command === "build" ? "production" : "development",
|
|
104
|
-
resolve: {
|
|
105
|
-
external: ["react", "react-dom"],
|
|
106
|
-
alias: {}
|
|
107
|
-
},
|
|
108
|
-
ssr: {
|
|
109
|
-
target: "node",
|
|
110
|
-
external: [
|
|
111
|
-
"react",
|
|
112
|
-
"react-dom",
|
|
113
|
-
"react-server-dom-esm/client.browser"
|
|
114
|
-
],
|
|
115
|
-
resolve: {
|
|
116
|
-
externalConditions: ["react-server"]
|
|
117
|
-
}
|
|
118
|
-
},
|
|
119
|
-
// client build options
|
|
120
|
-
build: {
|
|
121
|
-
...config.build,
|
|
122
|
-
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
123
|
-
outDir: join(userOptions.build.outDir, envDir),
|
|
124
|
-
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
125
|
-
// modern browsers
|
|
126
|
-
target: ["esnext"],
|
|
127
|
-
minify: true,
|
|
128
|
-
ssr: typeof configEnv.isSsrBuild === "boolean" ? configEnv.isSsrBuild : true,
|
|
129
|
-
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
130
|
-
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
131
|
-
ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
|
|
132
|
-
rollupOptions: {
|
|
133
|
-
...config.build?.rollupOptions,
|
|
134
|
-
input: inputs,
|
|
135
|
-
output: newOutput,
|
|
136
|
-
preserveEntrySignatures: "exports-only"
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
};
|
|
141
112
|
}
|
|
142
|
-
return
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
113
|
+
return inputs2;
|
|
114
|
+
};
|
|
115
|
+
let inputs = isClient ? autoDiscoveredClientFiles(clientEntry) : customWorkerFiles(autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {})));
|
|
116
|
+
const pluginOutput = {
|
|
117
|
+
preserveModules: !isClient,
|
|
118
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : undefined,
|
|
119
|
+
entryFileNames: userOptions.build.entryFile,
|
|
120
|
+
assetFileNames: userOptions.build.assetFile,
|
|
121
|
+
chunkFileNames: userOptions.build.chunkFile,
|
|
122
|
+
format: "esm",
|
|
123
|
+
exports: "named",
|
|
124
|
+
hoistTransitiveImports: false,
|
|
125
|
+
generatedCode: {
|
|
126
|
+
constBindings: true,
|
|
127
|
+
objectShorthand: true
|
|
128
|
+
},
|
|
129
|
+
interop: "auto"
|
|
130
|
+
};
|
|
131
|
+
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;
|
|
132
|
+
if (isClient) {
|
|
133
|
+
stashedUserConfig[envId] = {
|
|
134
|
+
...config,
|
|
135
|
+
root,
|
|
136
|
+
mode: configEnv.mode ?? configEnv.command === "build" ? "production" : "development",
|
|
137
|
+
resolve: {
|
|
138
|
+
external: ["react", "react-dom"],
|
|
139
|
+
alias: {}
|
|
140
|
+
},
|
|
141
|
+
ssr: {
|
|
142
|
+
target: "node",
|
|
143
|
+
external: ["react", "react-dom", "react-server-dom-esm/client.browser"],
|
|
148
144
|
resolve: {
|
|
149
|
-
alias: {},
|
|
150
145
|
externalConditions: ["react-server"]
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
// client build options
|
|
149
|
+
build: {
|
|
150
|
+
...config.build,
|
|
151
|
+
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
152
|
+
outDir: join(userOptions.build.outDir, envDir),
|
|
153
|
+
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
154
|
+
copyPublicDir: config.build?.copyPublicDir ?? true,
|
|
155
|
+
// modern browsers
|
|
156
|
+
target: ["esnext"],
|
|
157
|
+
minify: true,
|
|
158
|
+
ssr,
|
|
159
|
+
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
160
|
+
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
161
|
+
ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
|
|
162
|
+
rollupOptions: {
|
|
163
|
+
...config.build?.rollupOptions,
|
|
164
|
+
input: inputs,
|
|
165
|
+
output: newOutput,
|
|
166
|
+
preserveEntrySignatures: "exports-only"
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
} else {
|
|
171
|
+
if (configEnv.isSsrBuild === false) {
|
|
172
|
+
configEnv.isSsrBuild = true;
|
|
173
|
+
}
|
|
174
|
+
stashedUserConfig[envId] = {
|
|
175
|
+
...config,
|
|
176
|
+
root,
|
|
177
|
+
mode: configEnv.mode ?? configEnv.command === "build" ? "production" : "development",
|
|
178
|
+
resolve: {
|
|
179
|
+
externalConditions: ["react-server"]
|
|
180
|
+
},
|
|
181
|
+
// server build options
|
|
182
|
+
build: {
|
|
183
|
+
...config.build,
|
|
184
|
+
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
185
|
+
outDir: join(userOptions.build.outDir, envDir),
|
|
186
|
+
target: config.build?.target ?? "node18",
|
|
187
|
+
minify: config.build?.minify ?? true,
|
|
188
|
+
ssr,
|
|
189
|
+
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
190
|
+
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
191
|
+
ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
|
|
192
|
+
copyPublicDir: config.build?.copyPublicDir ?? isStatic,
|
|
193
|
+
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
194
|
+
rollupOptions: {
|
|
195
|
+
...config.build?.rollupOptions,
|
|
196
|
+
input: inputs,
|
|
197
|
+
preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "strict",
|
|
198
|
+
output: newOutput
|
|
170
199
|
}
|
|
171
200
|
}
|
|
172
201
|
};
|
|
173
|
-
}
|
|
202
|
+
}
|
|
203
|
+
if (!stashedUserConfig[envId]) {
|
|
174
204
|
return {
|
|
175
205
|
type: "error",
|
|
176
|
-
error:
|
|
206
|
+
error: new Error("Failed to resolve config")
|
|
177
207
|
};
|
|
178
208
|
}
|
|
209
|
+
return {
|
|
210
|
+
type: "success",
|
|
211
|
+
userConfig: stashedUserConfig[envId]
|
|
212
|
+
};
|
|
179
213
|
}
|
|
180
214
|
|
|
181
215
|
export { resolveUserConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n CheckFilesExistReturn,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { join } from \"path\";\n// @ts-ignore\nimport { globSync } from \"fs\";\nimport type { OutputOptions } from \"rollup\";\nexport type ResolveUserConfigProps = {\n isClient?: boolean;\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n isClient = false,\n config,\n configEnv,\n userOptions,\n files,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n removeExtension: true,\n });\n\n const serverEntry = userOptions.serverEntry\n ? Object.fromEntries([\n normalizer([userOptions.serverEntry, userOptions.serverEntry]),\n ])\n : null;\n const clientEntry = userOptions.clientEntry\n ? Object.fromEntries(\n [\n [userOptions.clientEntry, userOptions.clientEntry],\n [\"index.html\", \"index.html\"],\n ].map(normalizer)\n )\n : { \"index.html\": \"index.html\" };\n\n const autoDiscoveredClientFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`**/*.client.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Client file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const autoDiscoveredServerFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Server file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const autoDiscoveredFiles = (inputs: Record<string, string>) => {\n if (!files) return inputs;\n\n // Add page files without extra prefix\n for (const [key, value] of files.pageMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Page file already exists: ${key}`);\n }\n }\n // Add props files without extra prefix\n for (const [key, value] of files.propsMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Props file already exists: ${key}`);\n }\n }\n return inputs;\n };\n\n // Add inputs based on condition\n let inputs = isClient\n ? autoDiscoveredClientFiles(clientEntry)\n : autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {}));\n\n const envDir = isClient\n ? userOptions.build.client\n : userOptions.build.server;\n\n const pluginOutput = {\n preserveModules: !isClient,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: userOptions.build.entryFile,\n assetFileNames: userOptions.build.assetFile,\n chunkFileNames: userOptions.build.chunkFile,\n format: \"esm\",\n exports: \"named\",\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true,\n },\n interop: \"auto\",\n } satisfies OutputOptions;\n \n const 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\n if (isClient) {\n // client build options\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.mode ?? configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n external: [\"react\", \"react-dom\"],\n alias: {},\n },\n ssr: {\n target: \"node\",\n external: [\n \"react\",\n \"react-dom\",\n \"react-server-dom-esm/client.browser\",\n ],\n resolve: {\n externalConditions: [\"react-server\"],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n // modern browsers\n target: [\"esnext\"],\n minify: true,\n ssr:\n typeof configEnv.isSsrBuild === \"boolean\"\n ? configEnv.isSsrBuild\n : true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n output: newOutput,\n preserveEntrySignatures: \"exports-only\",\n },\n },\n },\n };\n }\n // server build options\n return {\n type: \"success\",\n userConfig: {\n ...config,\n root: root,\n mode: configEnv.mode ?? configEnv.command === \"build\" ? \"production\" : \"development\",\n resolve: {\n alias: {},\n externalConditions: [\"react-server\"],\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: config.build?.minify ?? true,\n ssr: config.build?.ssr ?? configEnv.isSsrBuild ?? true,\n manifest: config.build?.manifest ?? `.vite/manifest.json`,\n ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,\n ssrEmitAssets: config.build?.ssrEmitAssets ?? true,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n },\n };\n } catch (error) {\n return {\n type: \"error\",\n error:\n error instanceof Error ? error : new Error(\"Failed to resolve config\"),\n };\n }\n}\n"],"names":["inputs"],"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 CheckFilesExistReturn,\n ResolvedUserConfig,\n ResolvedUserOptions,\n} from \"../types.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\nimport { join } from \"path\";\n// @ts-ignore\nimport { globSync } from \"fs\";\nimport type { OutputOptions } from \"rollup\";\nimport { pluginRoot } from \"../root.js\";\n\nlet stashedUserConfig: Record<string, ResolvedUserConfig | null> = {};\n\nexport type ResolveUserConfigProps = {\n isClient?: boolean;\n isStatic?: boolean;\n config: UserConfig;\n configEnv: ConfigEnv;\n userOptions: ResolvedUserOptions;\n files?: CheckFilesExistReturn;\n};\n\nexport type ResolveUserConfigReturn =\n | { type: \"success\"; userConfig: ResolvedUserConfig }\n | { type: \"error\"; error: Error };\n\nexport function resolveUserConfig({\n isClient = false,\n isStatic = false,\n config,\n configEnv,\n userOptions,\n files,\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n if(isStatic) {\n const serverConfig = stashedUserConfig[`${userOptions.build.server}-ssr`]\n if(!serverConfig) {\n return {\n type: \"error\",\n error: new Error(\"Static plugin should run after the server plugin\"),\n }\n }\n return {\n type: \"success\",\n userConfig: serverConfig,\n }\n }\n const envDir = isStatic\n ? userOptions.build.static\n : isClient\n ? userOptions.build.client\n : userOptions.build.server;\n const ssr =\n typeof config.build?.ssr === \"boolean\"\n ? config.build?.ssr\n : configEnv.isSsrBuild || (!isClient && !isStatic);\n const envId = `${envDir}${ssr ? \"-ssr\" : \"\"}`;\n if (stashedUserConfig[envId]) {\n console.log(`[RSC] Using cached config for ${envId}`);\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n }\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n\n const normalizer = createInputNormalizer({\n root,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n removeExtension: true,\n });\n\n const serverEntry = userOptions.serverEntry\n ? Object.fromEntries([\n normalizer([userOptions.serverEntry, userOptions.serverEntry]),\n ])\n : null;\n const clientEntry = userOptions.clientEntry\n ? Object.fromEntries(\n [\n [userOptions.clientEntry, userOptions.clientEntry],\n [\"index.html\", \"index.html\"],\n ].map(normalizer)\n )\n : { \"index.html\": \"index.html\" };\n\n const autoDiscoveredClientFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`**/*.client.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Client file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const autoDiscoveredServerFiles = (inputs: Record<string, string>) => {\n const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {\n cwd: join(root, userOptions.moduleBase),\n });\n for (const file of allFiles) {\n const [key, value] = normalizer(join(userOptions.moduleBase, file));\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Server file already exists: ${key}`);\n }\n }\n return inputs;\n };\n const customWorkerFiles = (inputs: Record<string, string>) => {\n const customRscWorker = !userOptions.rscWorkerPath.startsWith(pluginRoot)\n const customHtmlWorker = !userOptions.htmlWorkerPath.startsWith(pluginRoot)\n if(customRscWorker && !inputs['rsc-worker']) {\n inputs['rsc-worker'] = userOptions.rscWorkerPath\n }\n if(customHtmlWorker && !inputs['html-worker']) {\n inputs['html-worker'] = userOptions.htmlWorkerPath\n }\n return inputs\n }\n const autoDiscoveredFiles = (inputs: Record<string, string>) => {\n if (!files) return inputs;\n\n // Add page files without extra prefix\n for (const [key, value] of files.pageMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Page file already exists: ${key}`);\n }\n }\n // Add props files without extra prefix\n for (const [key, value] of files.propsMap) {\n if (!inputs[key]) {\n inputs[key] = value;\n } else {\n console.warn(`[RSC] Props file already exists: ${key}`);\n }\n }\n return inputs;\n };\n\n // Add inputs based on condition\n let inputs = isClient\n ? autoDiscoveredClientFiles(clientEntry)\n : customWorkerFiles(autoDiscoveredServerFiles(autoDiscoveredFiles(serverEntry ?? {})));\n\n const pluginOutput = {\n preserveModules: !isClient,\n preserveModulesRoot: userOptions.build.preserveModulesRoot\n ? userOptions.moduleBase\n : undefined,\n entryFileNames: userOptions.build.entryFile,\n assetFileNames: userOptions.build.assetFile,\n chunkFileNames: userOptions.build.chunkFile,\n format: \"esm\",\n exports: \"named\",\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true,\n },\n interop: \"auto\",\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\n if (isClient) {\n // client plugin build options (client plugin still outputs server files)\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode:\n configEnv.mode ?? configEnv.command === \"build\"\n ? \"production\"\n : \"development\",\n resolve: {\n external: [\"react\", \"react-dom\"],\n alias: {},\n },\n ssr: {\n target: \"node\",\n external: [\"react\", \"react-dom\", \"react-server-dom-esm/client.browser\"],\n resolve: {\n externalConditions: [\"react-server\"],\n },\n },\n // client build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n copyPublicDir: config.build?.copyPublicDir ?? true,\n // modern browsers\n target: [\"esnext\"],\n minify: true,\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 rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n output: newOutput,\n preserveEntrySignatures: \"exports-only\",\n },\n },\n };\n } else {\n // server build options\n if (configEnv.isSsrBuild === false) {\n configEnv.isSsrBuild = true;\n }\n stashedUserConfig[envId] = {\n ...config,\n root: root,\n mode:\n configEnv.mode ?? configEnv.command === \"build\"\n ? \"production\"\n : \"development\",\n resolve: {\n externalConditions: [\"react-server\"],\n },\n // server build options\n build: {\n ...config.build,\n emptyOutDir: config.build?.emptyOutDir ?? true,\n outDir: join(userOptions.build.outDir, envDir),\n target: config.build?.target ?? \"node18\",\n minify: config.build?.minify ?? true,\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 copyPublicDir: config.build?.copyPublicDir ?? isStatic,\n assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures:\n config.build?.rollupOptions?.preserveEntrySignatures ?? \"strict\",\n output: newOutput,\n },\n },\n };\n }\n if (!stashedUserConfig[envId]) {\n return {\n type: \"error\",\n error: new Error(\"Failed to resolve config\"),\n };\n }\n return {\n type: \"success\",\n userConfig: stashedUserConfig[envId],\n };\n}\n"],"names":["inputs"],"mappings":"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"}
|