vite-plugin-react-server 0.3.10 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.d.ts +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/package.json +16 -14
- package/dist/plugin/assertServerCondition.d.ts +5 -1
- package/dist/plugin/assertServerCondition.d.ts.map +1 -1
- package/dist/plugin/assertServerCondition.js +1 -3
- package/dist/plugin/checkFilesExist.d.ts +2 -2
- package/dist/plugin/checkFilesExist.d.ts.map +1 -1
- package/dist/plugin/checkFilesExist.js +43 -58
- package/dist/plugin/checkFilesExist.js.map +1 -1
- package/dist/plugin/collect-css-manifest.d.ts.map +1 -1
- package/dist/plugin/collect-css-manifest.js +5 -0
- package/dist/plugin/collect-css-manifest.js.map +1 -1
- package/dist/plugin/components.js +10 -15
- package/dist/plugin/config/createModuleIdGenerator.d.ts +11 -0
- package/dist/plugin/config/createModuleIdGenerator.d.ts.map +1 -0
- package/dist/plugin/config/createModuleIdGenerator.js +44 -0
- package/dist/plugin/config/createModuleIdGenerator.js.map +1 -0
- package/dist/plugin/config/defaults.d.ts +27 -24
- package/dist/plugin/config/defaults.d.ts.map +1 -1
- package/dist/plugin/config/defaults.js +26 -31
- package/dist/plugin/config/defaults.js.map +1 -1
- package/dist/plugin/config/getPaths.js +1 -1
- package/dist/plugin/config/resolveOptions.d.ts +1 -1
- package/dist/plugin/config/resolveOptions.d.ts.map +1 -1
- package/dist/plugin/config/resolveOptions.js +223 -16
- package/dist/plugin/config/resolveOptions.js.map +1 -1
- package/dist/plugin/config/resolvePages.d.ts +2 -0
- package/dist/plugin/config/resolvePages.d.ts.map +1 -1
- package/dist/plugin/config/resolvePages.js.map +1 -1
- package/dist/plugin/config/resolveUserConfig.d.ts +2 -2
- package/dist/plugin/config/resolveUserConfig.d.ts.map +1 -1
- package/dist/plugin/config/resolveUserConfig.js +149 -50
- package/dist/plugin/config/resolveUserConfig.js.map +1 -1
- package/dist/plugin/helpers/getBundleManifest.d.ts +25 -0
- package/dist/plugin/helpers/getBundleManifest.d.ts.map +1 -0
- package/dist/plugin/helpers/getBundleManifest.js +72 -0
- package/dist/plugin/helpers/getBundleManifest.js.map +1 -0
- package/dist/plugin/helpers/inputNormalizer.d.ts +14 -1
- package/dist/plugin/helpers/inputNormalizer.d.ts.map +1 -1
- package/dist/plugin/helpers/inputNormalizer.js +128 -16
- package/dist/plugin/helpers/inputNormalizer.js.map +1 -1
- package/dist/plugin/helpers/tryManifest.d.ts +3 -1
- package/dist/plugin/helpers/tryManifest.d.ts.map +1 -1
- package/dist/plugin/helpers/tryManifest.js +1 -1
- package/dist/plugin/helpers/tryManifest.js.map +1 -1
- package/dist/plugin/loader/createBuildLoader.d.ts +6 -2
- package/dist/plugin/loader/createBuildLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createBuildLoader.js +37 -9
- package/dist/plugin/loader/createBuildLoader.js.map +1 -1
- package/dist/plugin/loader/createPageLoader.d.ts.map +1 -1
- package/dist/plugin/loader/createPageLoader.js +0 -7
- package/dist/plugin/loader/css-loader.d.ts +16 -0
- package/dist/plugin/loader/css-loader.d.ts.map +1 -0
- package/dist/plugin/loader/css-loader.js +70 -0
- package/dist/plugin/loader/css-loader.js.map +1 -0
- package/dist/plugin/loader/react-loader.d.ts +17 -0
- package/dist/plugin/loader/react-loader.d.ts.map +1 -0
- package/dist/plugin/loader/react-loader.js +647 -0
- package/dist/plugin/loader/react-loader.js.map +1 -0
- package/dist/plugin/loader/rsc/messageHandler.d.ts +2 -0
- package/dist/plugin/loader/rsc/messageHandler.d.ts.map +1 -0
- package/dist/plugin/loader/rsc/messageHandler.js +1 -0
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts +2 -0
- package/dist/plugin/loader/rsc/rsc-worker.development.d.ts.map +1 -0
- package/dist/plugin/loader/rsc/rsc-worker.development.js +1 -0
- package/dist/plugin/plugin.d.ts +0 -1
- package/dist/plugin/plugin.d.ts.map +1 -1
- package/dist/plugin/plugin.js +2 -1
- package/dist/plugin/preserver/plugin.d.ts.map +1 -1
- package/dist/plugin/preserver/plugin.js +3 -2
- package/dist/plugin/preserver/plugin.js.map +1 -1
- package/dist/plugin/react-client/index.d.ts +2 -1
- package/dist/plugin/react-client/index.d.ts.map +1 -1
- package/dist/plugin/react-client/index.js +19 -1
- package/dist/plugin/react-client/index.js.map +1 -0
- package/dist/plugin/react-client/plugin.d.ts +2 -2
- package/dist/plugin/react-client/plugin.d.ts.map +1 -1
- package/dist/plugin/react-client/plugin.js +283 -10
- package/dist/plugin/react-client/plugin.js.map +1 -1
- package/dist/plugin/react-server/createHandler.d.ts +2 -2
- package/dist/plugin/react-server/createHandler.d.ts.map +1 -1
- package/dist/plugin/react-server/createHandler.js +15 -9
- package/dist/plugin/react-server/createHandler.js.map +1 -1
- package/dist/plugin/react-server/createRscStream.d.ts +15 -3
- package/dist/plugin/react-server/createRscStream.d.ts.map +1 -1
- package/dist/plugin/react-server/createRscStream.js +53 -36
- package/dist/plugin/react-server/createRscStream.js.map +1 -1
- package/dist/plugin/react-server/createSsrHandler.d.ts +2 -2
- package/dist/plugin/react-server/createSsrHandler.d.ts.map +1 -1
- package/dist/plugin/react-server/createSsrHandler.js +5 -12
- package/dist/plugin/react-server/index.js +18 -9
- package/dist/plugin/react-server/index.js.map +1 -0
- package/dist/plugin/react-server/plugin.d.ts.map +1 -1
- package/dist/plugin/react-server/plugin.js +147 -137
- package/dist/plugin/react-server/plugin.js.map +1 -1
- package/dist/plugin/transformer/plugin.d.ts +2 -1
- package/dist/plugin/transformer/plugin.d.ts.map +1 -1
- package/dist/plugin/transformer/plugin.js +68 -75
- package/dist/plugin/transformer/plugin.js.map +1 -1
- package/dist/plugin/transformer/types.d.ts +4 -0
- package/dist/plugin/transformer/types.d.ts.map +1 -1
- package/dist/plugin/types.d.ts +56 -20
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/utils/logger.d.ts +9 -0
- package/dist/plugin/utils/logger.d.ts.map +1 -0
- package/dist/plugin/utils/logger.js +68 -0
- package/dist/plugin/utils/logger.js.map +1 -0
- package/dist/plugin/worker/createWorker.d.ts +1 -0
- package/dist/plugin/worker/createWorker.d.ts.map +1 -1
- package/dist/plugin/worker/createWorker.js +23 -36
- package/dist/plugin/worker/createWorker.js.map +1 -1
- package/dist/plugin/worker/html/html-worker.production.js +5 -1
- 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 +33 -28
- package/dist/plugin/worker/html/messageHandler.js.map +1 -1
- package/dist/plugin/worker/html/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/html/plugin.js +10 -5
- package/dist/plugin/worker/html/renderPages.d.ts +7 -6
- package/dist/plugin/worker/html/renderPages.d.ts.map +1 -1
- package/dist/plugin/worker/html/renderPages.js +147 -93
- package/dist/plugin/worker/html/renderPages.js.map +1 -1
- package/dist/plugin/worker/loader.d.ts +1 -11
- package/dist/plugin/worker/loader.d.ts.map +1 -1
- package/dist/plugin/worker/loader.js +2 -2
- package/dist/plugin/worker/loader.js.map +1 -1
- package/dist/plugin/worker/plugin.d.ts +10 -1
- package/dist/plugin/worker/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/plugin.js +10 -1
- package/dist/plugin/worker/rsc/index.d.ts +1 -3
- package/dist/plugin/worker/rsc/index.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/index.js +1 -9
- package/dist/plugin/worker/rsc/index.js.map +1 -1
- package/dist/plugin/worker/rsc/messageHandler.d.ts +3 -0
- package/dist/plugin/worker/rsc/messageHandler.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/messageHandler.js +107 -0
- package/dist/plugin/worker/rsc/messageHandler.js.map +1 -0
- package/dist/plugin/worker/rsc/plugin.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/plugin.js +74 -80
- package/dist/plugin/worker/rsc/rsc-worker.development.d.ts +32 -0
- package/dist/plugin/worker/rsc/rsc-worker.development.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/rsc-worker.development.js +43 -0
- package/dist/plugin/worker/rsc/rsc-worker.development.js.map +1 -0
- package/dist/plugin/worker/rsc/rsc-worker.js +4 -106
- package/dist/plugin/worker/rsc/rsc-worker.production.d.ts +2 -0
- package/dist/plugin/worker/rsc/rsc-worker.production.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/rsc-worker.production.js +14 -0
- package/dist/plugin/worker/rsc/rsc-worker.production.js.map +1 -0
- package/dist/plugin/worker/rsc/state.d.ts +11 -0
- package/dist/plugin/worker/rsc/state.d.ts.map +1 -0
- package/dist/plugin/worker/rsc/state.js +12 -0
- package/dist/plugin/worker/rsc/state.js.map +1 -0
- package/dist/plugin/worker/types.d.ts +62 -35
- package/dist/plugin/worker/types.d.ts.map +1 -1
- package/dist/server.d.ts +1 -3
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +1 -3
- package/dist/server.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -14
- package/plugin/assertServerCondition.ts +2 -3
- package/plugin/checkFilesExist.ts +46 -66
- package/plugin/collect-css-manifest.ts +5 -1
- package/plugin/config/createModuleIdGenerator.ts +52 -0
- package/plugin/config/defaults.ts +27 -20
- package/plugin/config/resolveOptions.ts +311 -25
- package/plugin/config/resolvePages.ts +1 -1
- package/plugin/config/resolveUserConfig.ts +195 -61
- package/plugin/helpers/getBundleManifest.ts +113 -0
- package/plugin/helpers/inputNormalizer.ts +186 -25
- package/plugin/helpers/tryManifest.ts +3 -1
- package/plugin/loader/createBuildLoader.ts +50 -9
- package/plugin/loader/createPageLoader.ts +1 -7
- package/plugin/loader/css-loader.ts +96 -0
- package/plugin/loader/react-loader.ts +945 -0
- package/plugin/loader/rsc/messageHandler.tsx +1 -0
- package/plugin/loader/rsc/rsc-worker.development.ts +1 -0
- package/plugin/plugin.ts +2 -1
- package/plugin/preserver/plugin.ts +2 -1
- package/plugin/react-client/index.ts +12 -1
- package/plugin/react-client/plugin.ts +351 -11
- package/plugin/react-server/createHandler.ts +16 -18
- package/plugin/react-server/createRscStream.ts +75 -42
- package/plugin/react-server/createSsrHandler.ts +7 -26
- package/plugin/react-server/plugin.ts +192 -155
- package/plugin/transformer/plugin.ts +70 -104
- package/plugin/transformer/types.ts +4 -0
- package/plugin/types/global.d.ts +8 -0
- package/plugin/types.ts +120 -64
- package/plugin/utils/logger.ts +52 -0
- package/plugin/worker/createWorker.ts +43 -44
- package/plugin/worker/html/html-worker.production.tsx +7 -2
- package/plugin/worker/html/messageHandler.ts +42 -35
- package/plugin/worker/html/plugin.ts +15 -11
- package/plugin/worker/html/renderPages.ts +177 -123
- package/plugin/worker/loader.ts +4 -13
- package/plugin/worker/plugin.ts +10 -1
- package/plugin/worker/rsc/index.ts +4 -13
- package/plugin/worker/rsc/messageHandler.tsx +143 -0
- package/plugin/worker/rsc/plugin.ts +38 -37
- package/plugin/worker/rsc/rsc-worker.development.ts +107 -0
- package/plugin/worker/rsc/rsc-worker.production.ts +13 -0
- package/plugin/worker/rsc/rsc-worker.tsx +5 -128
- package/plugin/worker/rsc/state.ts +37 -0
- package/plugin/worker/types.ts +83 -38
- package/scripts/check-react-version.mjs +17 -7
- package/scripts/react+0.0.0-experimental-b3a95caf-20250113.patch +143 -4170
- package/scripts/react-dom+0.0.0-experimental-b3a95caf-20250113.patch +14271 -90079
- package/dist/node_modules/magic-string/dist/magic-string.es.js +0 -1283
- package/dist/node_modules/magic-string/dist/magic-string.es.js.map +0 -1
- package/dist/plugin/build/createClientBuildConfig.d.ts +0 -3
- package/dist/plugin/build/createClientBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createClientBuildConfig.js +0 -14
- package/dist/plugin/build/createServerBuildConfig.d.ts +0 -12
- package/dist/plugin/build/createServerBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createServerBuildConfig.js +0 -40
- package/dist/plugin/build/createSharedBuildConfig.d.ts +0 -5
- package/dist/plugin/build/createSharedBuildConfig.d.ts.map +0 -1
- package/dist/plugin/build/createSharedBuildConfig.js +0 -28
- package/dist/plugin/build/mergeInputs.d.ts +0 -9
- package/dist/plugin/build/mergeInputs.d.ts.map +0 -1
- package/dist/plugin/build/mergeInputs.js +0 -56
- package/dist/plugin/components.js.map +0 -1
- package/dist/plugin/config/moduleIdDefault.d.ts +0 -8
- package/dist/plugin/config/moduleIdDefault.d.ts.map +0 -1
- package/dist/plugin/config/moduleIdDefault.js +0 -23
- package/dist/plugin/config/moduleIdDefault.js.map +0 -1
- package/dist/plugin/helpers/createClientInputNormalizer.d.ts +0 -8
- package/dist/plugin/helpers/createClientInputNormalizer.d.ts.map +0 -1
- package/dist/plugin/helpers/createClientInputNormalizer.js +0 -35
- package/dist/plugin/helpers/createServerInputNormalizer.d.ts +0 -9
- package/dist/plugin/helpers/createServerInputNormalizer.d.ts.map +0 -1
- package/dist/plugin/helpers/createServerInputNormalizer.js +0 -37
- package/dist/plugin/helpers/createStaticInputNormalizer.d.ts +0 -7
- package/dist/plugin/helpers/createStaticInputNormalizer.d.ts.map +0 -1
- package/dist/plugin/helpers/createStaticInputNormalizer.js +0 -18
- package/dist/plugin/helpers/getModuleManifest.d.ts +0 -12
- package/dist/plugin/helpers/getModuleManifest.d.ts.map +0 -1
- package/dist/plugin/helpers/getModuleManifest.js +0 -24
- package/dist/plugin/helpers/getModuleManifest.js.map +0 -1
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts +0 -11
- package/dist/plugin/helpers/inputNormalizerWorker.d.ts.map +0 -1
- package/dist/plugin/helpers/inputNormalizerWorker.js +0 -30
- package/dist/plugin/helpers/normalizedRelativePath.d.ts +0 -11
- package/dist/plugin/helpers/normalizedRelativePath.d.ts.map +0 -1
- package/dist/plugin/helpers/normalizedRelativePath.js +0 -36
- package/dist/plugin/helpers/resolveFilePath.d.ts +0 -13
- package/dist/plugin/helpers/resolveFilePath.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveFilePath.js +0 -74
- package/dist/plugin/helpers/resolveWorkerModule.d.ts +0 -6
- package/dist/plugin/helpers/resolveWorkerModule.d.ts.map +0 -1
- package/dist/plugin/helpers/resolveWorkerModule.js +0 -24
- package/dist/plugin/helpers/validateModuleBase.d.ts +0 -3
- package/dist/plugin/helpers/validateModuleBase.d.ts.map +0 -1
- package/dist/plugin/helpers/validateModuleBase.js +0 -16
- package/dist/plugin/helpers/validateResolvedConfig.d.ts +0 -3
- package/dist/plugin/helpers/validateResolvedConfig.d.ts.map +0 -1
- package/dist/plugin/helpers/validateResolvedConfig.js +0 -17
- package/dist/plugin/react-server/createDevMiddleware.d.ts +0 -8
- package/dist/plugin/react-server/createDevMiddleware.d.ts.map +0 -1
- package/dist/plugin/react-server/createDevMiddleware.js +0 -68
- package/dist/plugin/react-server/createDevServer.d.ts +0 -4
- package/dist/plugin/react-server/createDevServer.d.ts.map +0 -1
- package/dist/plugin/react-server/createDevServer.js +0 -4
- package/dist/plugin/react-server/createReactNodeStreamer.d.ts +0 -10
- package/dist/plugin/react-server/createReactNodeStreamer.d.ts.map +0 -1
- package/dist/plugin/react-server/createReactNodeStreamer.js +0 -7
- package/dist/plugin/transformer/transformer-client-components.d.ts +0 -21
- package/dist/plugin/transformer/transformer-client-components.d.ts.map +0 -1
- package/dist/plugin/transformer/transformer-client-components.js +0 -61
- package/dist/plugin/transformer/transformer-client-components.js.map +0 -1
- package/dist/plugin/transformer/transformer-server-actions.d.ts +0 -29
- package/dist/plugin/transformer/transformer-server-actions.d.ts.map +0 -1
- package/dist/plugin/transformer/transformer-server-actions.js +0 -76
- package/dist/plugin/transformer/transformer-server-actions.js.map +0 -1
- package/dist/plugin/worker/rsc/createRscStream.d.ts +0 -5
- package/dist/plugin/worker/rsc/createRscStream.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/createRscStream.js +0 -39
- package/dist/plugin/worker/rsc/createRscStream.js.map +0 -1
- package/dist/plugin/worker/rsc/development.d.ts +0 -5
- package/dist/plugin/worker/rsc/development.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/development.js +0 -13
- package/dist/plugin/worker/rsc/development.js.map +0 -1
- package/dist/plugin/worker/rsc/plugin.js.map +0 -1
- package/dist/plugin/worker/rsc/production.d.ts +0 -5
- package/dist/plugin/worker/rsc/production.d.ts.map +0 -1
- package/dist/plugin/worker/rsc/production.js +0 -13
- package/dist/plugin/worker/rsc/production.js.map +0 -1
- package/plugin/build/createClientBuildConfig.ts +0 -21
- package/plugin/build/createServerBuildConfig.ts +0 -66
- package/plugin/build/createSharedBuildConfig.ts +0 -35
- package/plugin/build/mergeInputs.ts +0 -58
- package/plugin/config/moduleIdDefault.ts +0 -23
- package/plugin/helpers/createClientInputNormalizer.ts +0 -48
- package/plugin/helpers/createServerInputNormalizer.ts +0 -52
- package/plugin/helpers/createStaticInputNormalizer.ts +0 -26
- package/plugin/helpers/getModuleManifest.ts +0 -31
- package/plugin/helpers/inputNormalizerWorker.ts +0 -47
- package/plugin/helpers/normalizedRelativePath.ts +0 -59
- package/plugin/helpers/resolveFilePath.ts +0 -108
- package/plugin/helpers/resolveWorkerModule.ts +0 -41
- package/plugin/helpers/validateModuleBase.ts +0 -30
- package/plugin/helpers/validateResolvedConfig.ts +0 -21
- package/plugin/react-server/createDevMiddleware.ts +0 -91
- package/plugin/react-server/createDevServer.ts +0 -9
- package/plugin/react-server/createReactNodeStreamer.ts +0 -26
- package/plugin/transformer/transformer-client-components.ts +0 -94
- package/plugin/transformer/transformer-server-actions.ts +0 -110
- package/plugin/worker/rsc/createRscStream.ts +0 -42
- package/plugin/worker/rsc/development.ts +0 -6
- package/plugin/worker/rsc/production.ts +0 -6
- package/scripts/react-server-dom-esm+0.0.1.patch +0 -24775
|
@@ -3,11 +3,12 @@
|
|
|
3
3
|
* Copyright (c) Nico Brinkkemper
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
|
-
import { DEFAULT_CONFIG } from './defaults.js';
|
|
7
6
|
import { createInputNormalizer } from '../helpers/inputNormalizer.js';
|
|
7
|
+
import { join } from 'path';
|
|
8
|
+
import { globSync } from 'fs';
|
|
8
9
|
|
|
9
10
|
function resolveUserConfig({
|
|
10
|
-
|
|
11
|
+
isClient = false,
|
|
11
12
|
config,
|
|
12
13
|
configEnv,
|
|
13
14
|
userOptions,
|
|
@@ -15,61 +16,159 @@ function resolveUserConfig({
|
|
|
15
16
|
}) {
|
|
16
17
|
try {
|
|
17
18
|
const root = config.root ?? userOptions.projectRoot ?? process.cwd();
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
19
|
+
const normalizer = createInputNormalizer({
|
|
20
|
+
root,
|
|
21
|
+
preserveModulesRoot: userOptions.build.preserveModulesRoot ? userOptions.moduleBase : void 0,
|
|
22
|
+
removeExtension: true
|
|
23
|
+
});
|
|
24
|
+
const serverEntry = userOptions.serverEntry ? Object.fromEntries([
|
|
25
|
+
normalizer([userOptions.serverEntry, userOptions.serverEntry])
|
|
26
|
+
]) : null;
|
|
27
|
+
const clientEntry = userOptions.clientEntry ? Object.fromEntries(
|
|
28
|
+
[
|
|
29
|
+
[userOptions.clientEntry, userOptions.clientEntry],
|
|
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
|
+
}
|
|
33
44
|
}
|
|
45
|
+
return inputs2;
|
|
34
46
|
};
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
assetFileNames: "[name].[ext]",
|
|
57
|
-
chunkFileNames: "[name].[ext]",
|
|
58
|
-
format: "esm",
|
|
59
|
-
exports: "named",
|
|
60
|
-
hoistTransitiveImports: false,
|
|
61
|
-
generatedCode: {
|
|
62
|
-
constBindings: true,
|
|
63
|
-
objectShorthand: true
|
|
64
|
-
},
|
|
65
|
-
interop: "auto"
|
|
66
|
-
} : void 0
|
|
47
|
+
const autoDiscoveredServerFiles = (inputs2) => {
|
|
48
|
+
const allFiles = globSync(`${userOptions.moduleBase}/**/*.server.*`, {
|
|
49
|
+
cwd: join(root, userOptions.moduleBase)
|
|
50
|
+
});
|
|
51
|
+
for (const file of allFiles) {
|
|
52
|
+
const [key, value] = normalizer(join(userOptions.moduleBase, file));
|
|
53
|
+
if (!inputs2[key]) {
|
|
54
|
+
inputs2[key] = value;
|
|
55
|
+
} else {
|
|
56
|
+
console.warn(`[RSC] Server file already exists: ${key}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return inputs2;
|
|
60
|
+
};
|
|
61
|
+
const autoDiscoveredFiles = (inputs2) => {
|
|
62
|
+
if (!files) return inputs2;
|
|
63
|
+
for (const [key, value] of files.pageMap) {
|
|
64
|
+
if (!inputs2[key]) {
|
|
65
|
+
inputs2[key] = value;
|
|
66
|
+
} else {
|
|
67
|
+
console.warn(`[RSC] Page file already exists: ${key}`);
|
|
67
68
|
}
|
|
68
69
|
}
|
|
70
|
+
for (const [key, value] of files.propsMap) {
|
|
71
|
+
if (!inputs2[key]) {
|
|
72
|
+
inputs2[key] = value;
|
|
73
|
+
} else {
|
|
74
|
+
console.warn(`[RSC] Props file already exists: ${key}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
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"
|
|
69
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.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
|
+
}
|
|
70
142
|
return {
|
|
71
143
|
type: "success",
|
|
72
|
-
userConfig
|
|
144
|
+
userConfig: {
|
|
145
|
+
...config,
|
|
146
|
+
root,
|
|
147
|
+
mode: configEnv.command === "build" ? "production" : "development",
|
|
148
|
+
resolve: {
|
|
149
|
+
alias: {},
|
|
150
|
+
externalConditions: ["react-server"]
|
|
151
|
+
},
|
|
152
|
+
// server build options
|
|
153
|
+
build: {
|
|
154
|
+
...config.build,
|
|
155
|
+
emptyOutDir: config.build?.emptyOutDir ?? true,
|
|
156
|
+
outDir: join(userOptions.build.outDir, envDir),
|
|
157
|
+
target: config.build?.target ?? "node18",
|
|
158
|
+
minify: config.build?.minify ?? true,
|
|
159
|
+
ssr: config.build?.ssr ?? configEnv.isSsrBuild ?? true,
|
|
160
|
+
manifest: config.build?.manifest ?? `.vite/manifest.json`,
|
|
161
|
+
ssrManifest: config.build?.ssrManifest ?? `.vite/ssr-manifest.json`,
|
|
162
|
+
ssrEmitAssets: config.build?.ssrEmitAssets ?? true,
|
|
163
|
+
assetsDir: config.build?.assetsDir ?? userOptions.build.assetsDir,
|
|
164
|
+
rollupOptions: {
|
|
165
|
+
...config.build?.rollupOptions,
|
|
166
|
+
input: inputs,
|
|
167
|
+
preserveEntrySignatures: config.build?.rollupOptions?.preserveEntrySignatures ?? "strict",
|
|
168
|
+
output: newOutput
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
73
172
|
};
|
|
74
173
|
} catch (error) {
|
|
75
174
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type { CheckFilesExistReturn, ResolvedUserConfig, ResolvedUserOptions } from \"../types.js\";\nimport { DEFAULT_CONFIG } from \"./defaults.js\";\nimport { createInputNormalizer } from \"../helpers/inputNormalizer.js\";\n\nexport type ResolveUserConfigProps = {\n condition: \"react-client\" | \"react-server\" | \"\";\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 condition,\n config,\n configEnv,\n userOptions,\n files\n}: ResolveUserConfigProps): ResolveUserConfigReturn {\n\n\n try {\n // Get existing inputs\n const root = config.root ?? userOptions.projectRoot ?? process.cwd();\n const existingInput = config.build?.rollupOptions?.input || {};\n const currentInputs = typeof existingInput === 'string' ? { default: existingInput } : existingInput;\n const normalizer = createInputNormalizer(root);\n\n const serverEntry = userOptions.serverEntry ? [userOptions.serverEntry, userOptions.serverEntry] : [];\n // Add inputs based on condition\n const inputs = {\n ...currentInputs,\n ...(condition === 'react-server' && files ? {\n 'index.html': '/index.html',\n ...Object.fromEntries([\n ...serverEntry,\n ...Array.from(files.pageMap.entries()),\n ...Array.from(files.propsMap.entries())\n ].map(normalizer))\n } : {\n client: userOptions.clientEntry\n })\n };\n\n const userConfig = {\n ...config,\n root: root,\n mode: configEnv.command === 'build' ? 'production' : 'development',\n build: {\n ...config.build,\n outDir: condition === 'react-server' ? userOptions.build.server : userOptions.build.client,\n assetsDir: condition === 'react-server' ? \"\" : DEFAULT_CONFIG.CLIENT_ASSETS_DIR,\n ssr: condition === 'react-server',\n target: condition === 'react-server' ? 'node18' : 'es2020',\n minify: condition === 'react-server' ? false : true,\n manifest: true,\n ssrManifest: false,\n ssrEmitAssets: true,\n rollupOptions: {\n ...config.build?.rollupOptions,\n input: inputs,\n preserveEntrySignatures: 'strict',\n output: condition === 'react-server' ? {\n preserveModules: true,\n entryFileNames: '[name].js',\n assetFileNames: '[name].[ext]',\n chunkFileNames: '[name].[ext]',\n format: 'esm',\n exports: 'named',\n hoistTransitiveImports: false,\n generatedCode: {\n constBindings: true,\n objectShorthand: true\n },\n interop: 'auto'\n } : undefined\n }\n }\n };\n\n return {\n type: \"success\",\n userConfig: userConfig as ResolvedUserConfig\n };\n } catch (error) {\n return {\n type: \"error\",\n error: error instanceof Error ? error : new Error(\"Failed to resolve config\")\n };\n }\n} "],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolveUserConfig.js","sources":["../../../plugin/config/resolveUserConfig.ts"],"sourcesContent":["import type { ConfigEnv, UserConfig } from \"vite\";\nimport type {\n 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.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.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":";;;;;;;;;AAuBO,SAAS,iBAAkB,CAAA;AAAA,EAChC,QAAW,GAAA,KAAA;AAAA,EACX,MAAA;AAAA,EACA,SAAA;AAAA,EACA,WAAA;AAAA,EACA;AACF,CAAoD,EAAA;AAClD,EAAI,IAAA;AAEF,IAAA,MAAM,OAAO,MAAO,CAAA,IAAA,IAAQ,WAAY,CAAA,WAAA,IAAe,QAAQ,GAAI,EAAA;AAEnE,IAAA,MAAM,aAAa,qBAAsB,CAAA;AAAA,MACvC,IAAA;AAAA,MACA,mBAAqB,EAAA,WAAA,CAAY,KAAM,CAAA,mBAAA,GACnC,YAAY,UACZ,GAAA,KAAA,CAAA;AAAA,MACJ,eAAiB,EAAA;AAAA,KAClB,CAAA;AAED,IAAA,MAAM,WAAc,GAAA,WAAA,CAAY,WAC5B,GAAA,MAAA,CAAO,WAAY,CAAA;AAAA,MACjB,WAAW,CAAC,WAAA,CAAY,WAAa,EAAA,WAAA,CAAY,WAAW,CAAC;AAAA,KAC9D,CACD,GAAA,IAAA;AACJ,IAAM,MAAA,WAAA,GAAc,WAAY,CAAA,WAAA,GAC5B,MAAO,CAAA,WAAA;AAAA,MACL;AAAA,QACE,CAAC,WAAA,CAAY,WAAa,EAAA,WAAA,CAAY,WAAW,CAAA;AAAA,QACjD,CAAC,cAAc,YAAY;AAAA,OAC7B,CAAE,IAAI,UAAU;AAAA,KAClB,GACA,EAAE,YAAA,EAAc,YAAa,EAAA;AAEjC,IAAM,MAAA,yBAAA,GAA4B,CAACA,OAAmC,KAAA;AACpE,MAAM,MAAA,QAAA,GAAW,SAAS,CAAiB,aAAA,CAAA,EAAA;AAAA,QACzC,GAAK,EAAA,IAAA,CAAK,IAAM,EAAA,WAAA,CAAY,UAAU;AAAA,OACvC,CAAA;AAED,MAAA,KAAA,MAAW,QAAQ,QAAU,EAAA;AAC3B,QAAM,MAAA,CAAC,KAAK,KAAK,CAAA,GAAI,WAAW,IAAK,CAAA,WAAA,CAAY,UAAY,EAAA,IAAI,CAAC,CAAA;AAClE,QAAI,IAAA,CAACA,OAAO,CAAA,GAAG,CAAG,EAAA;AAChB,UAAAA,OAAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,SACT,MAAA;AACL,UAAQ,OAAA,CAAA,IAAA,CAAK,CAAqC,kCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACzD;AAEF,MAAOA,OAAAA,OAAAA;AAAA,KACT;AACA,IAAM,MAAA,yBAAA,GAA4B,CAACA,OAAmC,KAAA;AACpE,MAAA,MAAM,QAAW,GAAA,QAAA,CAAS,CAAG,EAAA,WAAA,CAAY,UAAU,CAAkB,cAAA,CAAA,EAAA;AAAA,QACnE,GAAK,EAAA,IAAA,CAAK,IAAM,EAAA,WAAA,CAAY,UAAU;AAAA,OACvC,CAAA;AACD,MAAA,KAAA,MAAW,QAAQ,QAAU,EAAA;AAC3B,QAAM,MAAA,CAAC,KAAK,KAAK,CAAA,GAAI,WAAW,IAAK,CAAA,WAAA,CAAY,UAAY,EAAA,IAAI,CAAC,CAAA;AAClE,QAAI,IAAA,CAACA,OAAO,CAAA,GAAG,CAAG,EAAA;AAChB,UAAAA,OAAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,SACT,MAAA;AACL,UAAQ,OAAA,CAAA,IAAA,CAAK,CAAqC,kCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACzD;AAEF,MAAOA,OAAAA,OAAAA;AAAA,KACT;AACA,IAAM,MAAA,mBAAA,GAAsB,CAACA,OAAmC,KAAA;AAC9D,MAAI,IAAA,CAAC,OAAcA,OAAAA,OAAAA;AAGnB,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,CAAA,IAAK,MAAM,OAAS,EAAA;AACxC,QAAI,IAAA,CAACA,OAAO,CAAA,GAAG,CAAG,EAAA;AAChB,UAAAA,OAAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,SACT,MAAA;AACL,UAAQ,OAAA,CAAA,IAAA,CAAK,CAAmC,gCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACvD;AAGF,MAAA,KAAA,MAAW,CAAC,GAAA,EAAK,KAAK,CAAA,IAAK,MAAM,QAAU,EAAA;AACzC,QAAI,IAAA,CAACA,OAAO,CAAA,GAAG,CAAG,EAAA;AAChB,UAAAA,OAAAA,CAAO,GAAG,CAAI,GAAA,KAAA;AAAA,SACT,MAAA;AACL,UAAQ,OAAA,CAAA,IAAA,CAAK,CAAoC,iCAAA,EAAA,GAAG,CAAE,CAAA,CAAA;AAAA;AACxD;AAEF,MAAOA,OAAAA,OAAAA;AAAA,KACT;AAGA,IAAI,IAAA,MAAA,GAAS,QACT,GAAA,yBAAA,CAA0B,WAAW,CAAA,GACrC,0BAA0B,mBAAoB,CAAA,WAAA,IAAe,EAAE,CAAC,CAAA;AAEpE,IAAA,MAAM,SAAS,QACX,GAAA,WAAA,CAAY,KAAM,CAAA,MAAA,GAClB,YAAY,KAAM,CAAA,MAAA;AAEtB,IAAA,MAAM,YAAe,GAAA;AAAA,MACnB,iBAAiB,CAAC,QAAA;AAAA,MAClB,mBAAqB,EAAA,WAAA,CAAY,KAAM,CAAA,mBAAA,GACnC,YAAY,UACZ,GAAA,KAAA,CAAA;AAAA,MACJ,cAAA,EAAgB,YAAY,KAAM,CAAA,SAAA;AAAA,MAClC,cAAA,EAAgB,YAAY,KAAM,CAAA,SAAA;AAAA,MAClC,cAAA,EAAgB,YAAY,KAAM,CAAA,SAAA;AAAA,MAClC,MAAQ,EAAA,KAAA;AAAA,MACR,OAAS,EAAA,OAAA;AAAA,MACT,sBAAwB,EAAA,KAAA;AAAA,MACxB,aAAe,EAAA;AAAA,QACb,aAAe,EAAA,IAAA;AAAA,QACf,eAAiB,EAAA;AAAA,OACnB;AAAA,MACA,OAAS,EAAA;AAAA,KACX;AAEA,IAAA,MAAM,SAAY,GAAA,KAAA,CAAM,OAAQ,CAAA,MAAA,CAAO,OAAO,aAAe,EAAA,MAAM,CAC/D,GAAA,CAAC,GAAG,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,QAAQ,YAAY,CAAA,GACrD,OAAO,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,MAAW,KAAA,QAAA,IAC/C,OAAO,KAAO,EAAA,aAAA,EAAe,MAAW,KAAA,IAAA,GACxC,CAAC,MAAO,CAAA,KAAA,EAAO,aAAe,EAAA,MAAA,EAAQ,YAAY,CAClD,GAAA,YAAA;AAEJ,IAAA,IAAI,QAAU,EAAA;AAEZ,MAAO,OAAA;AAAA,QACL,IAAM,EAAA,SAAA;AAAA,QACN,UAAY,EAAA;AAAA,UACV,GAAG,MAAA;AAAA,UACH,IAAA;AAAA,UACA,IAAM,EAAA,SAAA,CAAU,OAAY,KAAA,OAAA,GAAU,YAAe,GAAA,aAAA;AAAA,UACrD,OAAS,EAAA;AAAA,YACP,QAAA,EAAU,CAAC,OAAA,EAAS,WAAW,CAAA;AAAA,YAC/B,OAAO;AAAC,WACV;AAAA,UACA,GAAK,EAAA;AAAA,YACH,MAAQ,EAAA,MAAA;AAAA,YACR,QAAU,EAAA;AAAA,cACR,OAAA;AAAA,cACA,WAAA;AAAA,cACA;AAAA,aACF;AAAA,YACA,OAAS,EAAA;AAAA,cACP,kBAAA,EAAoB,CAAC,cAAc;AAAA;AACrC,WACF;AAAA;AAAA,UAEA,KAAO,EAAA;AAAA,YACL,GAAG,MAAO,CAAA,KAAA;AAAA,YACV,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,IAAA;AAAA,YAC1C,MAAQ,EAAA,IAAA,CAAK,WAAY,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA;AAAA,YAC7C,SAAW,EAAA,MAAA,CAAO,KAAO,EAAA,SAAA,IAAa,YAAY,KAAM,CAAA,SAAA;AAAA;AAAA,YAExD,MAAA,EAAQ,CAAC,QAAQ,CAAA;AAAA,YACjB,MAAQ,EAAA,IAAA;AAAA,YACR,KACE,OAAO,SAAA,CAAU,UAAe,KAAA,SAAA,GAC5B,UAAU,UACV,GAAA,IAAA;AAAA,YACN,QAAA,EAAU,MAAO,CAAA,KAAA,EAAO,QAAY,IAAA,CAAA,mBAAA,CAAA;AAAA,YACpC,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA,uBAAA,CAAA;AAAA,YAC1C,aAAA,EAAe,MAAO,CAAA,KAAA,EAAO,aAAiB,IAAA,IAAA;AAAA,YAC9C,aAAe,EAAA;AAAA,cACb,GAAG,OAAO,KAAO,EAAA,aAAA;AAAA,cACjB,KAAO,EAAA,MAAA;AAAA,cACP,MAAQ,EAAA,SAAA;AAAA,cACR,uBAAyB,EAAA;AAAA;AAC3B;AACF;AACF,OACF;AAAA;AAGF,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,UAAY,EAAA;AAAA,QACV,GAAG,MAAA;AAAA,QACH,IAAA;AAAA,QACA,IAAM,EAAA,SAAA,CAAU,OAAY,KAAA,OAAA,GAAU,YAAe,GAAA,aAAA;AAAA,QACrD,OAAS,EAAA;AAAA,UACP,OAAO,EAAC;AAAA,UACR,kBAAA,EAAoB,CAAC,cAAc;AAAA,SACrC;AAAA;AAAA,QAEA,KAAO,EAAA;AAAA,UACL,GAAG,MAAO,CAAA,KAAA;AAAA,UACV,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,IAAA;AAAA,UAC1C,MAAQ,EAAA,IAAA,CAAK,WAAY,CAAA,KAAA,CAAM,QAAQ,MAAM,CAAA;AAAA,UAC7C,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,MAAU,IAAA,QAAA;AAAA,UAChC,MAAA,EAAQ,MAAO,CAAA,KAAA,EAAO,MAAU,IAAA,IAAA;AAAA,UAChC,GAAK,EAAA,MAAA,CAAO,KAAO,EAAA,GAAA,IAAO,UAAU,UAAc,IAAA,IAAA;AAAA,UAClD,QAAA,EAAU,MAAO,CAAA,KAAA,EAAO,QAAY,IAAA,CAAA,mBAAA,CAAA;AAAA,UACpC,WAAA,EAAa,MAAO,CAAA,KAAA,EAAO,WAAe,IAAA,CAAA,uBAAA,CAAA;AAAA,UAC1C,aAAA,EAAe,MAAO,CAAA,KAAA,EAAO,aAAiB,IAAA,IAAA;AAAA,UAC9C,SAAW,EAAA,MAAA,CAAO,KAAO,EAAA,SAAA,IAAa,YAAY,KAAM,CAAA,SAAA;AAAA,UACxD,aAAe,EAAA;AAAA,YACb,GAAG,OAAO,KAAO,EAAA,aAAA;AAAA,YACjB,KAAO,EAAA,MAAA;AAAA,YACP,uBAAyB,EAAA,MAAA,CAAO,KAAO,EAAA,aAAA,EAAe,uBAA2B,IAAA,QAAA;AAAA,YACjF,MAAQ,EAAA;AAAA;AACV;AACF;AACF,KACF;AAAA,WACO,KAAO,EAAA;AACd,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,OAAA;AAAA,MACN,OACE,KAAiB,YAAA,KAAA,GAAQ,KAAQ,GAAA,IAAI,MAAM,0BAA0B;AAAA,KACzE;AAAA;AAEJ;;;;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { OutputBundle, PluginContext } from "rollup";
|
|
2
|
+
interface BundleManifestEntry {
|
|
3
|
+
file: string;
|
|
4
|
+
name: string;
|
|
5
|
+
src?: string;
|
|
6
|
+
isEntry?: boolean;
|
|
7
|
+
imports?: string[];
|
|
8
|
+
dynamicImports?: string[];
|
|
9
|
+
css?: string[];
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Get the bundle manifest from the plugin context. Will only work during production build
|
|
13
|
+
* @param pluginContext - The plugin context
|
|
14
|
+
* @param bundle - The bundle
|
|
15
|
+
* @param preserveModulesRoot - The preserve modules root
|
|
16
|
+
* @returns The bundle manifest
|
|
17
|
+
*/
|
|
18
|
+
export declare function getBundleManifest({ pluginContext, bundle, moduleBase, preserveModulesRoot, }: {
|
|
19
|
+
pluginContext: PluginContext;
|
|
20
|
+
bundle: OutputBundle;
|
|
21
|
+
moduleBase?: string;
|
|
22
|
+
preserveModulesRoot?: boolean;
|
|
23
|
+
}): Record<string, BundleManifestEntry>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=getBundleManifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBundleManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/getBundleManifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EAEd,MAAM,QAAQ,CAAC;AAKhB,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAChC,aAAa,EACb,MAAM,EACN,UAAU,EACV,mBAAmB,GACpB,EAAE;IACD,aAAa,EAAE,aAAa,CAAC;IAC7B,MAAM,EAAE,YAAY,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CA4EtC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { createInputNormalizer } from './inputNormalizer.js';
|
|
7
|
+
import 'path';
|
|
8
|
+
import { DEFAULT_CONFIG } from '../config/defaults.js';
|
|
9
|
+
|
|
10
|
+
function getBundleManifest({
|
|
11
|
+
pluginContext,
|
|
12
|
+
bundle,
|
|
13
|
+
moduleBase,
|
|
14
|
+
preserveModulesRoot
|
|
15
|
+
}) {
|
|
16
|
+
const normalizer = createInputNormalizer({
|
|
17
|
+
root: pluginContext.environment.config.root,
|
|
18
|
+
removeExtension: DEFAULT_CONFIG.FILE_REGEX,
|
|
19
|
+
preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined
|
|
20
|
+
});
|
|
21
|
+
if (!bundle) return {};
|
|
22
|
+
const virtualModules = /* @__PURE__ */ new Map();
|
|
23
|
+
const bundleManifest = Object.fromEntries(
|
|
24
|
+
Object.entries(bundle).map(([fileName, chunk]) => {
|
|
25
|
+
if (chunk.type !== "chunk") return null;
|
|
26
|
+
const chunkWithFacade = chunk;
|
|
27
|
+
const moduleId = chunkWithFacade.facadeModuleId || chunkWithFacade.moduleIds[0] || fileName;
|
|
28
|
+
if (moduleId.includes("commonjsHelpers")) {
|
|
29
|
+
return [
|
|
30
|
+
moduleId,
|
|
31
|
+
{
|
|
32
|
+
file: "commonjs-runtime.js",
|
|
33
|
+
name: "commonjsHelpers",
|
|
34
|
+
src: moduleId,
|
|
35
|
+
isEntry: false
|
|
36
|
+
}
|
|
37
|
+
];
|
|
38
|
+
}
|
|
39
|
+
const [normalizedId, sourcePath] = normalizer(moduleId);
|
|
40
|
+
let finalFileName = fileName;
|
|
41
|
+
if (moduleId.includes("?")) {
|
|
42
|
+
const [basePath, query] = moduleId.split("?");
|
|
43
|
+
const virtualPath = basePath.includes("node_modules") ? basePath.split("node_modules/")[1] : basePath;
|
|
44
|
+
const virtualKey = `${virtualPath}?${query}`;
|
|
45
|
+
if (!virtualModules.has(virtualKey)) {
|
|
46
|
+
const virtualFileName = `${virtualPath.replace(/\.js$/, "")}.${query}.js`;
|
|
47
|
+
virtualModules.set(virtualKey, virtualFileName);
|
|
48
|
+
}
|
|
49
|
+
finalFileName = virtualModules.get(virtualKey);
|
|
50
|
+
}
|
|
51
|
+
const bundleManifestEntry = [
|
|
52
|
+
sourcePath,
|
|
53
|
+
{
|
|
54
|
+
file: finalFileName,
|
|
55
|
+
name: normalizedId.startsWith("\0") ? normalizedId.replace("\0", "") : normalizedId,
|
|
56
|
+
src: sourcePath.startsWith("/") ? sourcePath.slice(1) : sourcePath,
|
|
57
|
+
isEntry: chunk.isEntry,
|
|
58
|
+
...chunk.imports?.length > 0 ? { imports: chunk.imports } : {},
|
|
59
|
+
...chunk.dynamicImports?.length > 0 ? { dynamicImports: chunk.dynamicImports } : {},
|
|
60
|
+
...chunk.viteMetadata?.importedCss?.size ? {
|
|
61
|
+
css: Array.from(chunk.viteMetadata.importedCss)
|
|
62
|
+
} : {}
|
|
63
|
+
}
|
|
64
|
+
];
|
|
65
|
+
return bundleManifestEntry;
|
|
66
|
+
}).filter(Boolean)
|
|
67
|
+
);
|
|
68
|
+
return bundleManifest;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
export { getBundleManifest };
|
|
72
|
+
//# sourceMappingURL=getBundleManifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBundleManifest.js","sources":["../../../plugin/helpers/getBundleManifest.ts"],"sourcesContent":["import type {\n OutputBundle,\n PluginContext,\n OutputChunk,\n} from \"rollup\";\nimport { createInputNormalizer } from \"./inputNormalizer.js\";\nimport { join } from \"path\";\nimport { DEFAULT_CONFIG, resolveOptions } from \"../config/index.js\";\n\ninterface BundleManifestEntry {\n file: string;\n name: string;\n src?: string;\n isEntry?: boolean;\n imports?: string[];\n dynamicImports?: string[];\n css?: string[];\n}\n\n/**\n * Get the bundle manifest from the plugin context. Will only work during production build\n * @param pluginContext - The plugin context\n * @param bundle - The bundle\n * @param preserveModulesRoot - The preserve modules root\n * @returns The bundle manifest\n */\nexport function getBundleManifest({\n pluginContext,\n bundle,\n moduleBase,\n preserveModulesRoot,\n}: {\n pluginContext: PluginContext,\n bundle: OutputBundle,\n moduleBase?: string,\n preserveModulesRoot?: boolean,\n}): Record<string, BundleManifestEntry> {\n\n const normalizer = createInputNormalizer({\n root: pluginContext.environment.config.root,\n removeExtension: DEFAULT_CONFIG.FILE_REGEX,\n preserveModulesRoot: preserveModulesRoot === true ? moduleBase : undefined,\n });\n\n if (!bundle) return {};\n\n // Track virtual modules to prevent duplicates\n const virtualModules = new Map<string, string>();\n\n const bundleManifest = Object.fromEntries(\n Object.entries(bundle)\n .map(([fileName, chunk]) => {\n if (chunk.type !== \"chunk\") return null as never;\n const chunkWithFacade = chunk as OutputChunk;\n \n // Get the module ID, preferring facadeModuleId\n const moduleId = chunkWithFacade.facadeModuleId || chunkWithFacade.moduleIds[0] || fileName;\n \n // Handle commonjs helpers specially - must be done before normalization\n if (moduleId.includes('commonjsHelpers')) {\n return [\n moduleId,\n {\n file: 'commonjs-runtime.js',\n name: 'commonjsHelpers',\n src: moduleId,\n isEntry: false\n }\n ];\n }\n \n // Normalize both paths, removing the root prefix\n const [normalizedId, sourcePath] = normalizer(moduleId);\n\n // For virtual modules, use a consistent naming scheme\n let finalFileName = fileName;\n if (moduleId.includes('?')) {\n const [basePath, query] = moduleId.split('?');\n const virtualPath = basePath.includes('node_modules') \n ? basePath.split('node_modules/')[1] \n : basePath;\n \n // Create a unique key for this virtual module\n const virtualKey = `${virtualPath}?${query}`;\n \n if (!virtualModules.has(virtualKey)) {\n // First time seeing this virtual module\n const virtualFileName = `${virtualPath.replace(/\\.js$/, '')}.${query}.js`;\n virtualModules.set(virtualKey, virtualFileName);\n }\n \n finalFileName = virtualModules.get(virtualKey)!;\n }\n const bundleManifestEntry = [\n sourcePath,\n {\n file: finalFileName,\n name: normalizedId.startsWith('\\x00') ? normalizedId.replace('\\x00', '') : normalizedId,\n src: sourcePath.startsWith('/') ? sourcePath.slice(1) : sourcePath,\n isEntry: chunk.isEntry,\n ...(chunk.imports?.length > 0 ? { imports: chunk.imports } : {}),\n ...(chunk.dynamicImports?.length > 0 ? { dynamicImports: chunk.dynamicImports } : {}),\n ...(chunk.viteMetadata?.importedCss?.size ? {\n css: Array.from(chunk.viteMetadata.importedCss),\n } : {}),\n },\n ];\n return bundleManifestEntry;\n })\n .filter(Boolean)\n );\n return bundleManifest;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
import type { InputNormalizer } from "../types.js";
|
|
2
|
-
|
|
2
|
+
type CreateInputNormalizerProps = {
|
|
3
|
+
root: string;
|
|
4
|
+
preserveModulesRoot?: string | undefined;
|
|
5
|
+
removeExtension?: boolean | RegExp | string | ((path: string) => boolean);
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @description Create a function that normalizes the input
|
|
9
|
+
* @param root - The root of the project
|
|
10
|
+
* @param preserveModulesRoot - The root of the preserve modules
|
|
11
|
+
* @param removeExtension - Whether to remove the extension of the file
|
|
12
|
+
* @returns A function that normalizes the input
|
|
13
|
+
*/
|
|
14
|
+
export declare function createInputNormalizer({ root, preserveModulesRoot, removeExtension, }: CreateInputNormalizerProps): InputNormalizer;
|
|
15
|
+
export {};
|
|
3
16
|
//# sourceMappingURL=inputNormalizer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputNormalizer.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/inputNormalizer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inputNormalizer.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/inputNormalizer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,aAAa,CAAC;AAIpE,KAAK,0BAA0B,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC;CAC3E,CAAC;AAmHF;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,mBAA+B,EAC/B,eAA2C,GAC5C,EAAE,0BAA0B,GAAG,eAAe,CA8D9C"}
|
|
@@ -3,29 +3,141 @@
|
|
|
3
3
|
* Copyright (c) Nico Brinkkemper
|
|
4
4
|
* MIT License
|
|
5
5
|
*/
|
|
6
|
-
import { join } from 'path';
|
|
7
6
|
import { normalizePath } from 'vite';
|
|
7
|
+
import { join } from 'path';
|
|
8
8
|
import { DEFAULT_CONFIG } from '../config/defaults.js';
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
const resolveExtensionOptions = (removeExtension) => {
|
|
11
|
+
if (typeof removeExtension === "boolean") {
|
|
12
|
+
if (removeExtension) {
|
|
13
|
+
return (path) => {
|
|
14
|
+
const extensionIndex = path.lastIndexOf(".");
|
|
15
|
+
return extensionIndex !== -1 ? path.slice(0, extensionIndex) : path;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
return (path) => path;
|
|
19
|
+
}
|
|
20
|
+
if (typeof removeExtension === "string") {
|
|
21
|
+
return (path) => path.replace(removeExtension, "");
|
|
22
|
+
}
|
|
23
|
+
if (removeExtension instanceof RegExp) {
|
|
24
|
+
return (path) => removeExtension.test(path) ? path.replace(removeExtension, "") : path;
|
|
25
|
+
}
|
|
26
|
+
if (typeof removeExtension === "function") {
|
|
27
|
+
return (path) => {
|
|
28
|
+
const extIndex = path.lastIndexOf(".");
|
|
29
|
+
if (extIndex !== -1) {
|
|
30
|
+
const extension = path.slice(extIndex);
|
|
31
|
+
if (removeExtension(extension)) {
|
|
32
|
+
return path.slice(0, extIndex);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return path;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return (path) => path;
|
|
39
|
+
};
|
|
40
|
+
const resolveRootOption = (root, preserveModulesRoot) => {
|
|
41
|
+
if (typeof preserveModulesRoot === "string" && typeof root === "string") {
|
|
42
|
+
const normalizedPreserveModulesRoot = normalizePath(preserveModulesRoot);
|
|
43
|
+
if (normalizedPreserveModulesRoot.startsWith(root)) {
|
|
44
|
+
return normalizedPreserveModulesRoot.slice(root.length + 1);
|
|
45
|
+
}
|
|
46
|
+
return "";
|
|
47
|
+
} else if (typeof preserveModulesRoot === "string" && typeof root !== "string") {
|
|
48
|
+
return normalizePath(preserveModulesRoot);
|
|
49
|
+
}
|
|
50
|
+
return "";
|
|
51
|
+
};
|
|
52
|
+
const createKeyNormalizer = ({
|
|
53
|
+
root: normalizedRoot,
|
|
54
|
+
preserveModulesRoot,
|
|
55
|
+
handleExtension
|
|
56
|
+
}) => (key) => {
|
|
57
|
+
const virtualPrefix = key.match(/^\0+/)?.[0] || "";
|
|
58
|
+
const actualKey = key.slice(virtualPrefix.length);
|
|
59
|
+
let moduleId = normalizePath(actualKey);
|
|
60
|
+
if (moduleId.startsWith(normalizedRoot)) {
|
|
61
|
+
moduleId = moduleId.slice(normalizedRoot.length);
|
|
62
|
+
}
|
|
63
|
+
moduleId = handleExtension(moduleId);
|
|
64
|
+
while (moduleId.startsWith("/") || moduleId.startsWith(".")) {
|
|
65
|
+
moduleId = moduleId.slice(1);
|
|
66
|
+
}
|
|
67
|
+
while (moduleId.endsWith("/")) {
|
|
68
|
+
moduleId = moduleId.slice(0, -1);
|
|
69
|
+
}
|
|
70
|
+
if (typeof preserveModulesRoot === "string" && preserveModulesRoot !== "") {
|
|
71
|
+
moduleId = moduleId.startsWith(preserveModulesRoot) ? moduleId.slice(preserveModulesRoot.length) : moduleId;
|
|
72
|
+
}
|
|
73
|
+
return virtualPrefix + moduleId;
|
|
74
|
+
};
|
|
75
|
+
const createPathNormalizer = ({
|
|
76
|
+
root,
|
|
77
|
+
preserveModulesRoot
|
|
78
|
+
}) => (path) => {
|
|
79
|
+
if (typeof path !== "string") {
|
|
80
|
+
throw new Error(`Invalid path: ${JSON.stringify(path)}`);
|
|
81
|
+
}
|
|
82
|
+
let normalPath = normalizePath(path);
|
|
83
|
+
if (normalPath.startsWith(root)) {
|
|
84
|
+
normalPath = normalPath.slice(root.length);
|
|
85
|
+
}
|
|
86
|
+
if (typeof preserveModulesRoot === "string" && preserveModulesRoot !== "") {
|
|
87
|
+
normalPath = normalPath.startsWith(preserveModulesRoot) ? normalPath.slice(preserveModulesRoot.length) : normalPath;
|
|
88
|
+
}
|
|
89
|
+
while (normalPath.endsWith("/")) {
|
|
90
|
+
normalPath = normalPath.slice(0, -1);
|
|
91
|
+
}
|
|
92
|
+
return normalPath;
|
|
93
|
+
};
|
|
94
|
+
function createInputNormalizer({
|
|
95
|
+
root,
|
|
96
|
+
preserveModulesRoot = undefined,
|
|
97
|
+
removeExtension = DEFAULT_CONFIG.FILE_REGEX
|
|
98
|
+
}) {
|
|
99
|
+
const relativeRoot = resolveRootOption(root, preserveModulesRoot);
|
|
100
|
+
const handleExtension = resolveExtensionOptions(removeExtension);
|
|
101
|
+
const normalizeEntryKey = createKeyNormalizer({
|
|
102
|
+
root,
|
|
103
|
+
preserveModulesRoot: relativeRoot,
|
|
104
|
+
handleExtension
|
|
105
|
+
});
|
|
106
|
+
const normalizeEntryPath = createPathNormalizer({
|
|
107
|
+
root,
|
|
108
|
+
preserveModulesRoot: relativeRoot
|
|
109
|
+
});
|
|
110
|
+
function normalizeInput(id) {
|
|
111
|
+
if (Array.isArray(id)) {
|
|
112
|
+
const [key, path] = id;
|
|
113
|
+
if (typeof key === "string" && Array.isArray(path) && path.length === 2) {
|
|
114
|
+
const isNumber = !isNaN(Number(key));
|
|
115
|
+
if (isNumber) {
|
|
116
|
+
return normalizeInput([path[0], path[1]]);
|
|
117
|
+
}
|
|
118
|
+
return normalizeInput([join(key, path[0]), path[1]]);
|
|
119
|
+
}
|
|
120
|
+
if (typeof key !== "string" || typeof path !== "string") {
|
|
121
|
+
throw new Error(`Invalid input: ${JSON.stringify(id)}`);
|
|
122
|
+
}
|
|
123
|
+
return [normalizeEntryKey(key), normalizeEntryPath(path)];
|
|
124
|
+
} else if (typeof id === "string") {
|
|
125
|
+
return [normalizeEntryKey(id), normalizeEntryPath(id)];
|
|
126
|
+
} else if (typeof id === "object" && id !== null && "$$typeof" in id && "$$id" in id && typeof id.$$id === "string") {
|
|
17
127
|
const normalized = [
|
|
18
|
-
|
|
19
|
-
|
|
128
|
+
normalizeEntryKey(id.$$id),
|
|
129
|
+
normalizeEntryPath(id.$$id)
|
|
20
130
|
];
|
|
21
131
|
return normalized;
|
|
22
132
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
133
|
+
throw new Error(`Invalid input type: ${typeof id}`);
|
|
134
|
+
}
|
|
135
|
+
return (input) => {
|
|
136
|
+
const [key, path] = normalizeInput(input);
|
|
137
|
+
const normalizedPath = path.startsWith("/") ? path.slice(1) : path;
|
|
138
|
+
const virtualPrefix = key.match(/^\0+/)?.[0] || "";
|
|
139
|
+
const finalPath = virtualPrefix ? normalizedPath.startsWith(virtualPrefix) ? normalizedPath : virtualPrefix + normalizedPath : normalizedPath;
|
|
140
|
+
return [key, finalPath];
|
|
29
141
|
};
|
|
30
142
|
}
|
|
31
143
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inputNormalizer.js","sources":["../../../plugin/helpers/inputNormalizer.ts"],"sourcesContent":["import { join } from \"path\";\nimport { normalizePath } from \"vite\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\nimport type { InputNormalizer, NormalizerInput } from \"../types.js\";\n\nexport function createInputNormalizer(root: string): InputNormalizer {\n\n // Normalize a key by removing file extensions and leading slashes\n const normalizeKey = (key: string): string => {\n return key\n .replace(DEFAULT_CONFIG.FILE_REGEX, \"\") // Remove TypeScript/JavaScript extensions\n .replace(/^\\/+/, \"\"); // Remove leading slashes\n };\n\n // Main normalize function\n return (input: NormalizerInput): [string, string] => {\n \n // Handle tuple input [key, path]\n if (Array.isArray(input)) {\n const [key, path] = input;\n const normalized: [string, string] = [\n normalizeKey(key),\n normalizePath(join(root, path))\n ] \n return normalized;\n }\n\n // Handle string input\n if (typeof input === \"string\") {\n const key = normalizeKey(input);\n const path = normalizePath(join(root, input)); \n return [key, path];\n }\n\n throw new Error(`Invalid input type: ${typeof input}`);\n };\n}\n"],"names":[],"mappings":";;;;;;;;;AAKO,SAAS,sBAAsB,IAA+B,EAAA;AAGnE,EAAM,MAAA,YAAA,GAAe,CAAC,GAAwB,KAAA;AAC5C,IAAO,OAAA,GAAA,CACJ,QAAQ,cAAe,CAAA,UAAA,EAAY,EAAE,CACrC,CAAA,OAAA,CAAQ,QAAQ,EAAE,CAAA;AAAA,GACvB;AAGA,EAAA,OAAO,CAAC,KAA6C,KAAA;AAGnD,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,KAAK,CAAG,EAAA;AACxB,MAAM,MAAA,CAAC,GAAK,EAAA,IAAI,CAAI,GAAA,KAAA;AACpB,MAAA,MAAM,UAA+B,GAAA;AAAA,QACnC,aAAa,GAAG,CAAA;AAAA,QAChB,aAAc,CAAA,IAAA,CAAK,IAAM,EAAA,IAAI,CAAC;AAAA,OAChC;AACA,MAAO,OAAA,UAAA;AAAA;AAIT,IAAI,IAAA,OAAO,UAAU,QAAU,EAAA;AAC7B,MAAM,MAAA,GAAA,GAAM,aAAa,KAAK,CAAA;AAC9B,MAAA,MAAM,IAAO,GAAA,aAAA,CAAc,IAAK,CAAA,IAAA,EAAM,KAAK,CAAC,CAAA;AAC5C,MAAO,OAAA,CAAC,KAAK,IAAI,CAAA;AAAA;AAGnB,IAAA,MAAM,IAAI,KAAA,CAAM,CAAuB,oBAAA,EAAA,OAAO,KAAK,CAAE,CAAA,CAAA;AAAA,GACvD;AACF;;;;"}
|
|
1
|
+
{"version":3,"file":"inputNormalizer.js","sources":["../../../plugin/helpers/inputNormalizer.ts"],"sourcesContent":["import { normalizePath } from \"vite\";\nimport type { InputNormalizer, NormalizerInput } from \"../types.js\";\nimport { join } from \"path\";\nimport { DEFAULT_CONFIG } from \"../config/defaults.js\";\n\ntype CreateInputNormalizerProps = {\n root: string;\n preserveModulesRoot?: string | undefined;\n removeExtension?: boolean | RegExp | string | ((path: string) => boolean);\n};\n\nconst resolveExtensionOptions = (\n removeExtension: CreateInputNormalizerProps[\"removeExtension\"]\n) => {\n if (typeof removeExtension === \"boolean\") {\n if (removeExtension) {\n return (path: string) => {\n const extensionIndex = path.lastIndexOf(\".\");\n return extensionIndex !== -1 ? path.slice(0, extensionIndex) : path;\n };\n }\n return (path: string) => path;\n }\n if (typeof removeExtension === \"string\") {\n return (path: string) => path.replace(removeExtension, \"\");\n }\n if (removeExtension instanceof RegExp) {\n return (path: string) =>\n removeExtension.test(path) ? path.replace(removeExtension, \"\") : path;\n }\n if (typeof removeExtension === \"function\") {\n return (path: string) => {\n const extIndex = path.lastIndexOf(\".\");\n if (extIndex !== -1) {\n const extension = path.slice(extIndex);\n if (removeExtension(extension)) {\n return path.slice(0, extIndex);\n }\n }\n return path;\n };\n }\n return (path: string) => path;\n};\n\nconst resolveRootOption = (\n root: CreateInputNormalizerProps[\"root\"],\n preserveModulesRoot: CreateInputNormalizerProps[\"preserveModulesRoot\"]\n) => {\n if (typeof preserveModulesRoot === \"string\" && typeof root === \"string\") {\n const normalizedPreserveModulesRoot = normalizePath(preserveModulesRoot);\n if (normalizedPreserveModulesRoot.startsWith(root)) {\n return normalizedPreserveModulesRoot.slice(root.length + 1);\n }\n return \"\";\n } else if (typeof preserveModulesRoot === \"string\" && typeof root !== \"string\") {\n return normalizePath(preserveModulesRoot);\n }\n return \"\";\n};\nconst createKeyNormalizer =\n ({\n root: normalizedRoot,\n preserveModulesRoot,\n handleExtension,\n }: {\n root: string;\n preserveModulesRoot: string | undefined;\n handleExtension: (path: string) => string;\n }) =>\n (key: string) => {\n // Handle virtual modules first\n const virtualPrefix = key.match(/^\\0+/)?.[0] || '';\n const actualKey = key.slice(virtualPrefix.length);\n \n let moduleId = normalizePath(actualKey);\n \n if (moduleId.startsWith(normalizedRoot)) {\n moduleId = moduleId.slice(normalizedRoot.length);\n }\n\n moduleId = handleExtension(moduleId);\n while (moduleId.startsWith(\"/\") || moduleId.startsWith(\".\")) {\n moduleId = moduleId.slice(1);\n }\n while (moduleId.endsWith(\"/\")) {\n moduleId = moduleId.slice(0, -1);\n }\n if (typeof preserveModulesRoot === \"string\" && preserveModulesRoot !== \"\") {\n moduleId = moduleId.startsWith(preserveModulesRoot)\n ? moduleId.slice(preserveModulesRoot.length)\n : moduleId;\n }\n \n // Add virtual prefix back\n return virtualPrefix + moduleId;\n };\n\nconst createPathNormalizer =\n ({\n root,\n preserveModulesRoot,\n }: {\n root: string;\n preserveModulesRoot: string | undefined;\n }) =>\n (path: string) => {\n if (typeof path !== \"string\") {\n throw new Error(`Invalid path: ${JSON.stringify(path)}`);\n }\n let normalPath = normalizePath(path);\n if(normalPath.startsWith(root)) {\n normalPath = normalPath.slice(root.length);\n }\n if (typeof preserveModulesRoot === \"string\" && preserveModulesRoot !== \"\") {\n normalPath = normalPath.startsWith(preserveModulesRoot)\n ? normalPath.slice(preserveModulesRoot.length)\n : normalPath;\n }\n while (normalPath.endsWith(\"/\")) {\n normalPath = normalPath.slice(0, -1);\n }\n return normalPath;\n };\n/**\n * @description Create a function that normalizes the input\n * @param root - The root of the project\n * @param preserveModulesRoot - The root of the preserve modules\n * @param removeExtension - Whether to remove the extension of the file\n * @returns A function that normalizes the input\n */\nexport function createInputNormalizer({\n root,\n preserveModulesRoot = undefined,\n removeExtension = DEFAULT_CONFIG.FILE_REGEX,\n}: CreateInputNormalizerProps): InputNormalizer {\n const relativeRoot = resolveRootOption(root, preserveModulesRoot);\n const handleExtension = resolveExtensionOptions(removeExtension);\n\n const normalizeEntryKey = createKeyNormalizer({\n root: root,\n preserveModulesRoot: relativeRoot,\n handleExtension,\n });\n\n const normalizeEntryPath = createPathNormalizer({\n root: root,\n preserveModulesRoot: relativeRoot,\n });\n function normalizeInput(id: NormalizerInput): [string, string] {\n // Normalize both paths to use POSIX separators\n if (Array.isArray(id)) {\n const [key, path] = id;\n if (typeof key === \"string\" && Array.isArray(path) && path.length === 2) {\n const isNumber = !isNaN(Number(key));\n if (isNumber) {\n // ignore it\n return normalizeInput([path[0], path[1]]);\n }\n return normalizeInput([join(key, path[0]), path[1]]);\n }\n if (typeof key !== \"string\" || typeof path !== \"string\") {\n throw new Error(`Invalid input: ${JSON.stringify(id)}`);\n }\n return [normalizeEntryKey(key), normalizeEntryPath(path)];\n } else if (typeof id === \"string\") {\n // Return both the normalized ID and original normalized path\n return [normalizeEntryKey(id), normalizeEntryPath(id)];\n } else if (\n typeof id === \"object\" &&\n id !== null &&\n \"$$typeof\" in id &&\n \"$$id\" in id &&\n typeof id.$$id === \"string\"\n ) {\n const normalized: [string, string] = [\n normalizeEntryKey(id.$$id),\n normalizeEntryPath(id.$$id),\n ];\n return normalized;\n }\n throw new Error(`Invalid input type: ${typeof id}`);\n };\n\n return (input: NormalizerInput): [string, string] => {\n const [key, path] = normalizeInput(input);\n // Apply the same normalization to both key and path\n const normalizedPath = path.startsWith('/') ? path.slice(1) : path;\n const virtualPrefix = key.match(/^\\0+/)?.[0] || '';\n \n // If key has virtual prefix, ensure path has it too\n const finalPath = virtualPrefix ? \n (normalizedPath.startsWith(virtualPrefix) ? normalizedPath : virtualPrefix + normalizedPath) : \n normalizedPath;\n \n return [key, finalPath];\n };\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -2,14 +2,16 @@ import type { Manifest } from "vite";
|
|
|
2
2
|
type TryManifestOptions<SSR extends boolean> = {
|
|
3
3
|
root: string;
|
|
4
4
|
outDir: string;
|
|
5
|
-
ssrManifest
|
|
5
|
+
ssrManifest?: SSR;
|
|
6
6
|
};
|
|
7
7
|
export declare function tryManifest<SSR extends boolean>(options: TryManifestOptions<SSR>): {
|
|
8
8
|
type: "success";
|
|
9
9
|
manifest: SSR extends true ? Record<string, string[]> : Manifest;
|
|
10
|
+
error?: never;
|
|
10
11
|
} | {
|
|
11
12
|
type: "error";
|
|
12
13
|
error: Error;
|
|
14
|
+
manifest?: never;
|
|
13
15
|
};
|
|
14
16
|
export {};
|
|
15
17
|
//# sourceMappingURL=tryManifest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tryManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/tryManifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,KAAK,kBAAkB,CAAC,GAAG,SAAS,OAAO,IAAI;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"tryManifest.d.ts","sourceRoot":"","sources":["../../../plugin/helpers/tryManifest.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAErC,KAAK,kBAAkB,CAAC,GAAG,SAAS,OAAO,IAAI;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF,wBAAgB,WAAW,CAAC,GAAG,SAAS,OAAO,EAAE,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,GAAG;IAClF,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,GAAG,SAAS,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CAAC;IACjE,KAAK,CAAC,EAAC,KAAK,CAAA;CACb,GAAG;IACF,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,CAAC,EAAC,KAAK,CAAA;CAChB,CAoBA"}
|