vike 0.4.160 → 0.4.161-commit-0e9c635
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/cjs/node/cli/bin.js +5 -0
- package/dist/cjs/node/client/router.js +4 -2
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -2
- package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +148 -0
- package/dist/cjs/node/plugin/plugins/buildConfig.js +61 -35
- package/dist/cjs/node/plugin/plugins/commonConfig.js +5 -13
- package/dist/cjs/node/plugin/plugins/config/stemUtils.js +1 -1
- package/dist/cjs/node/plugin/plugins/distFileNames.js +9 -1
- package/dist/cjs/node/plugin/plugins/envVars.js +6 -2
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +16 -4
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/cjs/node/plugin/plugins/importBuild/getVikeManifest.js +1 -21
- package/dist/cjs/node/plugin/plugins/importBuild/index.js +5 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +11 -91
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +28 -46
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.js → loadFileAtConfigTime.js} +5 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +33 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.js → transformFileImports.js} +7 -7
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +21 -27
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +157 -111
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +0 -14
- package/dist/cjs/node/plugin/shared/rollupSourceMap.js +20 -0
- package/dist/cjs/node/plugin/utils.js +3 -2
- package/dist/cjs/node/prerender/runPrerender.js +13 -5
- package/dist/cjs/node/runtime/globalContext.js +15 -23
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
- package/dist/cjs/node/runtime/html/stream.js +2 -2
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +39 -39
- package/dist/cjs/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +0 -5
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +23 -28
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +81 -43
- package/dist/cjs/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -23
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/shared/assertPluginManifest.js +1 -4
- package/dist/cjs/node/shared/assertV1Design.js +26 -0
- package/dist/cjs/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +3 -3
- package/dist/cjs/node/shared/prependEntriesDir.js +13 -0
- package/dist/cjs/node/shared/utils.js +2 -0
- package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +53 -26
- package/dist/cjs/shared/route/executeGuardHook.js +3 -2
- package/dist/cjs/shared/utils.js +0 -1
- package/dist/cjs/utils/assertNodeVersion.js +2 -2
- package/dist/cjs/utils/{findUserPackageJsonPath.js → findFile.js} +11 -8
- package/dist/cjs/utils/isVersionOrAbove.js +29 -0
- package/dist/cjs/utils/nodeEnv.js +23 -1
- package/dist/cjs/utils/objectKeys.js +19 -3
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/cjs/utils/sorter.js +62 -1
- package/dist/esm/client/client-routing-runtime/index.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/index.js +1 -1
- package/dist/esm/node/cli/bin.js +3 -1
- package/dist/esm/node/client/router.d.ts +2 -0
- package/dist/esm/node/client/router.js +3 -1
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +2 -2
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +13 -0
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +142 -0
- package/dist/esm/node/plugin/plugins/buildConfig.d.ts +2 -0
- package/dist/esm/node/plugin/plugins/buildConfig.js +60 -34
- package/dist/esm/node/plugin/plugins/commonConfig.js +6 -14
- package/dist/esm/node/plugin/plugins/config/stemUtils.js +2 -2
- package/dist/esm/node/plugin/plugins/distFileNames.js +9 -1
- package/dist/esm/node/plugin/plugins/envVars.js +6 -2
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +17 -5
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.d.ts +1 -2
- package/dist/esm/node/plugin/plugins/importBuild/getVikeManifest.js +2 -19
- package/dist/esm/node/plugin/plugins/importBuild/index.d.ts +6 -1
- package/dist/esm/node/plugin/plugins/importBuild/index.js +5 -8
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +13 -93
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +39 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +29 -47
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.js → loadFileAtConfigTime.js} +4 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveFilePath.js +27 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.d.ts → transformFileImports.d.ts} +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformImports.js → transformFileImports.js} +6 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +20 -26
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +155 -109
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -1
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -15
- package/dist/esm/node/plugin/shared/rollupSourceMap.d.ts +14 -0
- package/dist/esm/node/plugin/shared/rollupSourceMap.js +17 -0
- package/dist/esm/node/plugin/utils.d.ts +3 -2
- package/dist/esm/node/plugin/utils.js +3 -2
- package/dist/esm/node/prerender/runPrerender.js +15 -7
- package/dist/esm/node/runtime/globalContext.d.ts +3 -10
- package/dist/esm/node/runtime/globalContext.js +15 -23
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/esm/node/runtime/html/renderHtml.js +1 -1
- package/dist/esm/node/runtime/html/stream.js +2 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +6 -5
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +39 -39
- package/dist/esm/node/runtime/renderPage/getPageAssets/assertClientEntryId.js +0 -5
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +6 -7
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +24 -29
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/esm/node/runtime/renderPage/logErrorHint.d.ts +8 -0
- package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError.js → logErrorHint.js} +80 -42
- package/dist/esm/node/runtime/renderPage/loggerProd.js +3 -3
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -24
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/shared/ViteManifest.d.ts +1 -0
- package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
- package/dist/esm/node/shared/assertPluginManifest.js +2 -5
- package/dist/esm/node/shared/assertV1Design.d.ts +4 -0
- package/dist/esm/node/shared/assertV1Design.js +23 -0
- package/dist/esm/node/shared/getClientEntry.d.ts +3 -0
- package/dist/esm/node/shared/{getClientEntryFilePath.js → getClientEntry.js} +2 -2
- package/dist/esm/node/shared/prependEntriesDir.d.ts +2 -0
- package/dist/esm/node/shared/prependEntriesDir.js +10 -0
- package/dist/esm/node/shared/utils.d.ts +2 -0
- package/dist/esm/node/shared/utils.js +2 -0
- package/dist/esm/shared/page-configs/Config.d.ts +1 -1
- package/dist/esm/shared/page-configs/PageConfig.d.ts +3 -3
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +53 -26
- package/dist/esm/shared/route/executeGuardHook.js +3 -2
- package/dist/esm/shared/utils.d.ts +0 -1
- package/dist/esm/shared/utils.js +0 -1
- package/dist/esm/utils/assertNodeVersion.js +2 -2
- package/dist/esm/utils/findFile.d.ts +3 -0
- package/dist/esm/utils/findFile.js +21 -0
- package/dist/esm/utils/getOutDirs.d.ts +1 -0
- package/dist/esm/utils/isVersionOrAbove.d.ts +2 -0
- package/dist/esm/utils/isVersionOrAbove.js +26 -0
- package/dist/esm/utils/nodeEnv.d.ts +4 -0
- package/dist/esm/utils/nodeEnv.js +19 -0
- package/dist/esm/utils/objectKeys.d.ts +10 -1
- package/dist/esm/utils/objectKeys.js +20 -3
- package/dist/esm/utils/projectInfo.d.ts +2 -2
- package/dist/esm/utils/projectInfo.js +1 -1
- package/dist/esm/utils/sorter.d.ts +59 -0
- package/dist/esm/utils/sorter.js +61 -0
- package/package.json +2 -2
- package/dist/cjs/node/plugin/shared/removeSourceMap.js +0 -12
- package/dist/cjs/utils/objectEntries.js +0 -8
- package/dist/esm/node/plugin/shared/removeSourceMap.d.ts +0 -7
- package/dist/esm/node/plugin/shared/removeSourceMap.js +0 -9
- package/dist/esm/node/runtime/renderPage/logHintForCjsEsmError.d.ts +0 -13
- package/dist/esm/node/shared/getClientEntryFilePath.d.ts +0 -3
- package/dist/esm/utils/findUserPackageJsonPath.d.ts +0 -2
- package/dist/esm/utils/findUserPackageJsonPath.js +0 -18
- package/dist/esm/utils/objectEntries.d.ts +0 -4
- package/dist/esm/utils/objectEntries.js +0 -5
- /package/dist/cjs/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
- /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{loadFileConfigEnv.d.ts → loadFileAtConfigTime.d.ts} +0 -0
- /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.d.ts +0 -0
- /package/dist/esm/node/runtime/renderPage/{logHintForCjsEsmError → logErrorHint}/errors.js +0 -0
|
@@ -3,11 +3,10 @@ export { getGlobalContext };
|
|
|
3
3
|
export { getViteDevServer };
|
|
4
4
|
export { getViteConfig };
|
|
5
5
|
export { setGlobalContext_viteDevServer };
|
|
6
|
-
export {
|
|
7
|
-
export { setGlobalContext_viteConfig };
|
|
6
|
+
export { setGlobalContext_prerender };
|
|
8
7
|
export { getRuntimeManifest };
|
|
9
8
|
import type { ViteManifest } from '../shared/ViteManifest.js';
|
|
10
|
-
import type { ResolvedConfig, ViteDevServer
|
|
9
|
+
import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
11
10
|
import { PluginManifest } from '../shared/assertPluginManifest.js';
|
|
12
11
|
import type { ConfigVikeResolved } from '../../shared/ConfigVike.js';
|
|
13
12
|
import { type RuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
@@ -22,9 +21,7 @@ type GlobalContext = {
|
|
|
22
21
|
isProduction: false;
|
|
23
22
|
isPrerendering: false;
|
|
24
23
|
viteConfig: ResolvedConfig;
|
|
25
|
-
configVike: ConfigVikeResolved;
|
|
26
24
|
viteDevServer: ViteDevServer;
|
|
27
|
-
vitePreviewServer: null;
|
|
28
25
|
clientManifest: null;
|
|
29
26
|
pluginManifest: null;
|
|
30
27
|
} | ({
|
|
@@ -32,21 +29,17 @@ type GlobalContext = {
|
|
|
32
29
|
clientManifest: ViteManifest;
|
|
33
30
|
pluginManifest: PluginManifest;
|
|
34
31
|
viteDevServer: null;
|
|
35
|
-
vitePreviewServer: null | VitePreviewServer;
|
|
36
32
|
} & ({
|
|
37
33
|
isPrerendering: false;
|
|
38
34
|
viteConfig: null;
|
|
39
|
-
configVike: null;
|
|
40
35
|
} | {
|
|
41
36
|
isPrerendering: true;
|
|
42
37
|
viteConfig: ResolvedConfig;
|
|
43
|
-
configVike: ConfigVikeResolved;
|
|
44
38
|
})));
|
|
45
39
|
declare function getGlobalContext(): GlobalContext;
|
|
46
40
|
declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): void;
|
|
47
|
-
declare function setGlobalContext_vitePreviewServer(vitePreviewServer: VitePreviewServer): void;
|
|
48
41
|
declare function getViteDevServer(): ViteDevServer | null;
|
|
49
|
-
declare function
|
|
42
|
+
declare function setGlobalContext_prerender(viteConfig: ResolvedConfig): void;
|
|
50
43
|
declare function getViteConfig(): ResolvedConfig | null;
|
|
51
44
|
declare function initGlobalContext(isPrerendering?: boolean, outDir?: string): Promise<void>;
|
|
52
45
|
declare function getRuntimeManifest(configVike: ConfigVikeResolved): RuntimeManifest;
|
|
@@ -3,10 +3,9 @@ export { getGlobalContext };
|
|
|
3
3
|
export { getViteDevServer };
|
|
4
4
|
export { getViteConfig };
|
|
5
5
|
export { setGlobalContext_viteDevServer };
|
|
6
|
-
export {
|
|
7
|
-
export { setGlobalContext_viteConfig };
|
|
6
|
+
export { setGlobalContext_prerender };
|
|
8
7
|
export { getRuntimeManifest };
|
|
9
|
-
import { assert, assertUsage, getGlobalObject, getNodeEnv, isNodeEnvDev, isPlainObject, objectAssign } from './utils.js';
|
|
8
|
+
import { assert, assertUsage, getGlobalObject, getNodeEnv, getNodeEnvDesc, isNodeEnvDev, isPlainObject, objectAssign } from './utils.js';
|
|
10
9
|
import { loadImportBuild } from './globalContext/loadImportBuild.js';
|
|
11
10
|
import { setPageFiles } from '../../shared/getPageFiles.js';
|
|
12
11
|
import { assertPluginManifest } from '../shared/assertPluginManifest.js';
|
|
@@ -22,18 +21,14 @@ function setGlobalContext_viteDevServer(viteDevServer) {
|
|
|
22
21
|
if (globalObject.viteDevServer)
|
|
23
22
|
return;
|
|
24
23
|
assert(!globalObject.globalContext);
|
|
25
|
-
globalObject.viteDevServer = viteDevServer;
|
|
26
|
-
}
|
|
27
|
-
function setGlobalContext_vitePreviewServer(vitePreviewServer) {
|
|
28
|
-
if (globalObject.vitePreviewServer)
|
|
29
|
-
return;
|
|
30
24
|
assert(!globalObject.globalContext);
|
|
31
|
-
globalObject.
|
|
25
|
+
globalObject.viteConfig = viteDevServer.config;
|
|
26
|
+
globalObject.viteDevServer = viteDevServer;
|
|
32
27
|
}
|
|
33
28
|
function getViteDevServer() {
|
|
34
29
|
return globalObject.viteDevServer ?? null;
|
|
35
30
|
}
|
|
36
|
-
function
|
|
31
|
+
function setGlobalContext_prerender(viteConfig) {
|
|
37
32
|
if (globalObject.viteConfig)
|
|
38
33
|
return;
|
|
39
34
|
assert(!globalObject.globalContext);
|
|
@@ -45,13 +40,12 @@ function getViteConfig() {
|
|
|
45
40
|
async function initGlobalContext(isPrerendering = false, outDir) {
|
|
46
41
|
if (globalObject.globalContext)
|
|
47
42
|
return;
|
|
48
|
-
const { viteDevServer,
|
|
43
|
+
const { viteDevServer, viteConfig } = globalObject;
|
|
49
44
|
assertNodeEnv(!!viteDevServer);
|
|
50
45
|
const isProduction = !viteDevServer;
|
|
51
46
|
if (!isProduction) {
|
|
52
47
|
assert(viteConfig);
|
|
53
48
|
assert(!isPrerendering);
|
|
54
|
-
assert(!vitePreviewServer);
|
|
55
49
|
const configVike = await getConfigVike(viteConfig);
|
|
56
50
|
const pluginManifest = getRuntimeManifest(configVike);
|
|
57
51
|
globalObject.globalContext = {
|
|
@@ -60,9 +54,7 @@ async function initGlobalContext(isPrerendering = false, outDir) {
|
|
|
60
54
|
clientManifest: null,
|
|
61
55
|
pluginManifest: null,
|
|
62
56
|
viteDevServer,
|
|
63
|
-
vitePreviewServer: null,
|
|
64
57
|
viteConfig,
|
|
65
|
-
configVike,
|
|
66
58
|
baseServer: pluginManifest.baseServer,
|
|
67
59
|
baseAssets: pluginManifest.baseAssets,
|
|
68
60
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
@@ -83,7 +75,6 @@ async function initGlobalContext(isPrerendering = false, outDir) {
|
|
|
83
75
|
clientManifest,
|
|
84
76
|
pluginManifest,
|
|
85
77
|
viteDevServer: null,
|
|
86
|
-
vitePreviewServer: vitePreviewServer ?? null,
|
|
87
78
|
baseServer: pluginManifest.baseServer,
|
|
88
79
|
baseAssets: pluginManifest.baseAssets,
|
|
89
80
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
@@ -97,16 +88,14 @@ async function initGlobalContext(isPrerendering = false, outDir) {
|
|
|
97
88
|
assert(configVike);
|
|
98
89
|
objectAssign(globalContext, {
|
|
99
90
|
isPrerendering: true,
|
|
100
|
-
viteConfig
|
|
101
|
-
configVike
|
|
91
|
+
viteConfig
|
|
102
92
|
});
|
|
103
93
|
globalObject.globalContext = globalContext;
|
|
104
94
|
}
|
|
105
95
|
else {
|
|
106
96
|
objectAssign(globalContext, {
|
|
107
97
|
isPrerendering: false,
|
|
108
|
-
viteConfig: null
|
|
109
|
-
configVike: null
|
|
98
|
+
viteConfig: null
|
|
110
99
|
});
|
|
111
100
|
globalObject.globalContext = globalContext;
|
|
112
101
|
}
|
|
@@ -151,8 +140,11 @@ function assertNodeEnv(hasViteDevServer) {
|
|
|
151
140
|
const nodeEnv = getNodeEnv();
|
|
152
141
|
if (nodeEnv === null || nodeEnv === 'test')
|
|
153
142
|
return;
|
|
154
|
-
const
|
|
155
|
-
//
|
|
156
|
-
|
|
157
|
-
|
|
143
|
+
const isDev = isNodeEnvDev();
|
|
144
|
+
// Calling Vite's createServer() is enough for hasViteDevServer to be true, even without actually adding Vite's development middleware to the server: https://github.com/vikejs/vike/issues/792#issuecomment-1516830759
|
|
145
|
+
if (hasViteDevServer === isDev)
|
|
146
|
+
return;
|
|
147
|
+
const nodeEnvDesc = getNodeEnvDesc();
|
|
148
|
+
// We should change this to be a warning if it blocks users (e.g. if a bad-citizen tool sets a wrong process.env.NODE_ENV value)
|
|
149
|
+
assertUsage(false, `Vite's development server was${hasViteDevServer ? '' : "n't"} instantiated while the ${nodeEnvDesc} which is contradictory, see https://vike.dev/NODE_ENV`);
|
|
158
150
|
}
|
|
@@ -85,8 +85,8 @@ async function getHtmlTags(pageContext, injectToStream, injectFilter) {
|
|
|
85
85
|
// See https://github.com/vikejs/vike/pull/1271
|
|
86
86
|
const positionJavaScriptEntry = (() => {
|
|
87
87
|
if (pageContext._pageContextPromise) {
|
|
88
|
-
assertWarning(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time
|
|
89
|
-
// If there is a pageContext._pageContextPromise (which is resolved after the stream has ended) then the pageContext JSON data needs to await for it: https://vike.dev/
|
|
88
|
+
assertWarning(!injectToStream, "[getHtmlTags()] We recommend against using streaming and a pageContext promise at the same time, because progressive hydration won't work.", { onlyOnce: true });
|
|
89
|
+
// If there is a pageContext._pageContextPromise (which is resolved after the stream has ended) then the pageContext JSON data needs to await for it: https://vike.dev/streaming#initial-data-after-stream-end
|
|
90
90
|
return 'HTML_END';
|
|
91
91
|
}
|
|
92
92
|
if (injectToStream) {
|
|
@@ -181,7 +181,7 @@ async function renderTemplate(templateContent, pageContext) {
|
|
|
181
181
|
const varType = typeof templateVar;
|
|
182
182
|
const streamNote = ['boolean', 'number', 'bigint', 'symbol'].includes(varType)
|
|
183
183
|
? null
|
|
184
|
-
: '(See https://vike.dev/
|
|
184
|
+
: '(See https://vike.dev/streaming for HTML streaming.)';
|
|
185
185
|
assertUsage(varType === 'string', getErrMsg(pc.cyan(`typeof htmlVar === "${varType}"`), streamNote));
|
|
186
186
|
}
|
|
187
187
|
{
|
|
@@ -634,7 +634,7 @@ function isStream(something) {
|
|
|
634
634
|
const __streamPipeWeb = '__streamPipeWeb';
|
|
635
635
|
/** @deprecated */
|
|
636
636
|
function pipeWebStream(pipe) {
|
|
637
|
-
assertWarning(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/
|
|
637
|
+
assertWarning(false, 'pipeWebStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
|
|
638
638
|
onlyOnce: true,
|
|
639
639
|
showStackTrace: true
|
|
640
640
|
});
|
|
@@ -669,7 +669,7 @@ function isStreamPipeWeb(thing) {
|
|
|
669
669
|
const __streamPipeNode = '__streamPipeNode';
|
|
670
670
|
/** @deprecated */
|
|
671
671
|
function pipeNodeStream(pipe) {
|
|
672
|
-
assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/
|
|
672
|
+
assertWarning(false, 'pipeNodeStream() is outdated, use stampPipe() instead. See https://vike.dev/streaming', {
|
|
673
673
|
onlyOnce: true,
|
|
674
674
|
showStackTrace: true
|
|
675
675
|
});
|
|
@@ -4,11 +4,11 @@ import { analyzePageClientSide } from '../../../shared/getPageFiles/analyzePageC
|
|
|
4
4
|
import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
5
5
|
import { analyzeClientSide } from '../../../shared/getPageFiles/analyzeClientSide.js';
|
|
6
6
|
import { getGlobalContext } from '../globalContext.js';
|
|
7
|
-
import {
|
|
7
|
+
import { getClientEntry } from '../../shared/getClientEntry.js';
|
|
8
8
|
function analyzePage(pageFilesAll, pageConfig, pageId) {
|
|
9
9
|
if (pageConfig) {
|
|
10
10
|
const { isClientSideRenderable, isClientRouting } = analyzeClientSide(pageConfig, pageFilesAll, pageId);
|
|
11
|
-
const clientFilePath =
|
|
11
|
+
const clientFilePath = getClientEntry(pageConfig);
|
|
12
12
|
const clientEntry = !isClientSideRenderable ? clientFilePath : getVikeClientEntry(isClientRouting);
|
|
13
13
|
const clientDependencies = [];
|
|
14
14
|
clientDependencies.push({
|
|
@@ -119,11 +119,11 @@ function processHookReturnValue(hookReturnValue, renderHook) {
|
|
|
119
119
|
const val = hookReturnValue.pageContext;
|
|
120
120
|
const errBegin = `${errPrefix} returned ${pc.cyan('{ pageContext }')}, but ${pc.cyan('pageContext')}`;
|
|
121
121
|
if (isPromise(val) || isCallable(val)) {
|
|
122
|
-
assertWarning(!isPromise(val), `${errBegin} is a promise which is deprecated in favor of async functions, see https://vike.dev/
|
|
122
|
+
assertWarning(!isPromise(val), `${errBegin} is a promise which is deprecated in favor of async functions, see https://vike.dev/streaming#initial-data-after-stream-end`, { onlyOnce: true });
|
|
123
123
|
pageContextPromise = val;
|
|
124
124
|
}
|
|
125
125
|
else {
|
|
126
|
-
assertUsage(isObject(val), `${errBegin} should be an object or an async function, see https://vike.dev/
|
|
126
|
+
assertUsage(isObject(val), `${errBegin} should be an object or an async function, see https://vike.dev/streaming#initial-data-after-stream-end`);
|
|
127
127
|
assertPageContextProvidedByUser(val, renderHook);
|
|
128
128
|
pageContextProvidedByRenderHook = val;
|
|
129
129
|
}
|
|
@@ -7,9 +7,10 @@ import { type HtmlRender } from '../html/renderHtml.js';
|
|
|
7
7
|
import type { RenderHook } from './executeOnRenderHtmlHook.js';
|
|
8
8
|
type HttpResponseBody = {
|
|
9
9
|
body: string;
|
|
10
|
-
getBody: () => Promise<string>;
|
|
11
|
-
getReadableWebStream: () => StreamReadableWeb;
|
|
12
10
|
pipe: (writable: StreamWritableWeb | StreamWritableNode) => void;
|
|
11
|
+
getReadableWebStream: () => StreamReadableWeb;
|
|
12
|
+
getReadableNodeStream: () => Promise<StreamReadableNode>;
|
|
13
|
+
getBody: () => Promise<string>;
|
|
13
14
|
/** @deprecated */
|
|
14
15
|
getNodeStream: () => Promise<StreamReadableNode>;
|
|
15
16
|
/** @deprecated */
|
|
@@ -21,12 +22,12 @@ type HttpResponseBody = {
|
|
|
21
22
|
};
|
|
22
23
|
declare function getHttpResponseBody(htmlRender: HtmlRender, renderHook: null | RenderHook): string;
|
|
23
24
|
declare function getHttpResponseBodyStreamHandlers(htmlRender: HtmlRender, renderHook: null | RenderHook): {
|
|
25
|
+
pipe(writable: StreamWritableNode | StreamWritableWeb): void;
|
|
26
|
+
getReadableWebStream(): StreamReadableWeb;
|
|
27
|
+
getReadableNodeStream(): Promise<import("stream").Readable>;
|
|
24
28
|
getBody(): Promise<string>;
|
|
25
29
|
getNodeStream(): Promise<import("stream").Readable>;
|
|
26
30
|
getWebStream(): StreamReadableWeb;
|
|
27
|
-
getReadableNodeStream(): Promise<import("stream").Readable>;
|
|
28
|
-
getReadableWebStream(): StreamReadableWeb;
|
|
29
31
|
pipeToWebWritable(writable: StreamWritableWeb): void;
|
|
30
32
|
pipeToNodeWritable(writable: StreamWritableNode): void;
|
|
31
|
-
pipe(writable: StreamWritableNode | StreamWritableWeb): void;
|
|
32
33
|
};
|
|
@@ -4,7 +4,7 @@ import { isStream, getStreamName, inferStreamName, isStreamWritableWeb, isStream
|
|
|
4
4
|
import { assert, assertUsage, assertWarning } from '../utils.js';
|
|
5
5
|
import { getHtmlString } from '../html/renderHtml.js';
|
|
6
6
|
import pc from '@brillout/picocolors';
|
|
7
|
-
const streamDocs = 'See https://vike.dev/
|
|
7
|
+
const streamDocs = 'See https://vike.dev/streaming for more information.';
|
|
8
8
|
function getHttpResponseBody(htmlRender, renderHook) {
|
|
9
9
|
if (typeof htmlRender !== 'string') {
|
|
10
10
|
assertUsage(false, getErrMsg(htmlRender, renderHook, 'body', `Use ${pc.cyan('pageContext.httpResponse.pipe()')} instead`));
|
|
@@ -14,6 +14,44 @@ function getHttpResponseBody(htmlRender, renderHook) {
|
|
|
14
14
|
}
|
|
15
15
|
function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
16
16
|
return {
|
|
17
|
+
pipe(writable) {
|
|
18
|
+
const getErrMsgMixingStreamTypes = (writableType) => `The ${getErrMsgBody(htmlRender, renderHook)} while a ${writableType} was passed to pageContext.httpResponse.pipe() which is contradictory. You cannot mix a Web Stream with a Node.js Stream.`;
|
|
19
|
+
if (isStreamWritableWeb(writable)) {
|
|
20
|
+
const success = pipeToStreamWritableWeb(htmlRender, writable);
|
|
21
|
+
if (success) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
assert(isStreamReadableNode(htmlRender) || isStreamPipeNode(htmlRender));
|
|
26
|
+
assertUsage(false, getErrMsgMixingStreamTypes('Web Writable'));
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
if (isStreamWritableNode(writable)) {
|
|
30
|
+
const success = pipeToStreamWritableNode(htmlRender, writable);
|
|
31
|
+
if (success) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
assert(isStreamReadableWeb(htmlRender) || isStreamPipeWeb(htmlRender));
|
|
36
|
+
assertUsage(false, getErrMsgMixingStreamTypes('Node.js Writable'));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
assertUsage(false, `The argument ${pc.cyan('writable')} passed to ${pc.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${getStreamName('writable', 'web')} nor ${getStreamName('writable', 'node')}.`);
|
|
40
|
+
},
|
|
41
|
+
getReadableWebStream() {
|
|
42
|
+
const webStream = getStreamReadableWeb(htmlRender);
|
|
43
|
+
if (webStream === null) {
|
|
44
|
+
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
|
|
45
|
+
}
|
|
46
|
+
return webStream;
|
|
47
|
+
},
|
|
48
|
+
async getReadableNodeStream() {
|
|
49
|
+
const nodeStream = await getStreamReadableNode(htmlRender);
|
|
50
|
+
if (nodeStream === null) {
|
|
51
|
+
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
|
|
52
|
+
}
|
|
53
|
+
return nodeStream;
|
|
54
|
+
},
|
|
17
55
|
async getBody() {
|
|
18
56
|
const body = await getHtmlString(htmlRender);
|
|
19
57
|
return body;
|
|
@@ -38,20 +76,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
38
76
|
}
|
|
39
77
|
return webStream;
|
|
40
78
|
},
|
|
41
|
-
async getReadableNodeStream() {
|
|
42
|
-
const nodeStream = await getStreamReadableNode(htmlRender);
|
|
43
|
-
if (nodeStream === null) {
|
|
44
|
-
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableNodeStream()', getFixMsg('readable', 'node')));
|
|
45
|
-
}
|
|
46
|
-
return nodeStream;
|
|
47
|
-
},
|
|
48
|
-
getReadableWebStream() {
|
|
49
|
-
const webStream = getStreamReadableWeb(htmlRender);
|
|
50
|
-
if (webStream === null) {
|
|
51
|
-
assertUsage(false, getErrMsg(htmlRender, renderHook, 'getReadableWebStream()', getFixMsg('readable', 'web')));
|
|
52
|
-
}
|
|
53
|
-
return webStream;
|
|
54
|
-
},
|
|
55
79
|
// TODO/v1-release: remove
|
|
56
80
|
pipeToWebWritable(writable) {
|
|
57
81
|
assertWarning(false, '`pageContext.httpResponse.pipeToWebWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
|
|
@@ -69,30 +93,6 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
69
93
|
if (!success) {
|
|
70
94
|
assertUsage(false, getErrMsg(htmlRender, renderHook, 'pipeToNodeWritable()'));
|
|
71
95
|
}
|
|
72
|
-
},
|
|
73
|
-
pipe(writable) {
|
|
74
|
-
const getErrMsgMixingStreamTypes = (writableType) => `The ${getErrMsgBody(htmlRender, renderHook)} while a ${writableType} was passed to pageContext.httpResponse.pipe() which is contradictory. You cannot mix a Web Stream with a Node.js Stream.`;
|
|
75
|
-
if (isStreamWritableWeb(writable)) {
|
|
76
|
-
const success = pipeToStreamWritableWeb(htmlRender, writable);
|
|
77
|
-
if (success) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
assert(isStreamReadableNode(htmlRender) || isStreamPipeNode(htmlRender));
|
|
82
|
-
assertUsage(false, getErrMsgMixingStreamTypes('Web Writable'));
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
if (isStreamWritableNode(writable)) {
|
|
86
|
-
const success = pipeToStreamWritableNode(htmlRender, writable);
|
|
87
|
-
if (success) {
|
|
88
|
-
return;
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
assert(isStreamReadableWeb(htmlRender) || isStreamPipeWeb(htmlRender));
|
|
92
|
-
assertUsage(false, getErrMsgMixingStreamTypes('Node.js Writable'));
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
assertUsage(false, `The argument ${pc.cyan('writable')} passed to ${pc.cyan('pageContext.httpResponse.pipe(writable)')} doesn't seem to be ${getStreamName('writable', 'web')} nor ${getStreamName('writable', 'node')}.`);
|
|
96
96
|
}
|
|
97
97
|
};
|
|
98
98
|
function getFixMsg(type, standard) {
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { assertClientEntryId };
|
|
2
|
-
import { getGlobalContext } from '../../globalContext.js';
|
|
3
2
|
import { assert, assertPosixPath, isNpmPackageImport } from '../../utils.js';
|
|
4
3
|
import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
5
4
|
function assertClientEntryId(id) {
|
|
@@ -15,8 +14,4 @@ function assertClientEntryId(id) {
|
|
|
15
14
|
isVirtualFileIdPageConfigValuesAll(id) ||
|
|
16
15
|
// Stem packages
|
|
17
16
|
isPkg, id);
|
|
18
|
-
if (isPkg) {
|
|
19
|
-
const { configVike } = getGlobalContext();
|
|
20
|
-
assert(configVike === null || configVike.extensions.some(({ npmPackageName }) => id.startsWith(npmPackageName)), id);
|
|
21
|
-
}
|
|
22
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getManifestEntry };
|
|
2
2
|
import type { ViteManifest, ViteManifestEntry } from '../../../shared/ViteManifest.js';
|
|
3
|
-
declare function getManifestEntry(id: string, clientManifest: ViteManifest
|
|
3
|
+
declare function getManifestEntry(id: string, clientManifest: ViteManifest): {
|
|
4
4
|
manifestKey: string;
|
|
5
5
|
manifestEntry: ViteManifestEntry;
|
|
6
6
|
};
|
|
@@ -2,7 +2,8 @@ export { getManifestEntry };
|
|
|
2
2
|
import { assert, slice, isNpmPackageImport } from '../../utils.js';
|
|
3
3
|
import { assertClientEntryId } from './assertClientEntryId.js';
|
|
4
4
|
import { isVirtualFileIdPageConfigValuesAll } from '../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
5
|
-
|
|
5
|
+
import { prependEntriesDir } from '../../../shared/prependEntriesDir.js';
|
|
6
|
+
function getManifestEntry(id, clientManifest) {
|
|
6
7
|
assertClientEntryId(id);
|
|
7
8
|
const debugInfo = getDebugInfo(id, clientManifest);
|
|
8
9
|
// Vike client entry
|
|
@@ -40,13 +41,11 @@ function getManifestEntry(id, clientManifest, manifestKeyMap) {
|
|
|
40
41
|
assert(manifestEntry, debugInfo);
|
|
41
42
|
return { manifestEntry, manifestKey };
|
|
42
43
|
}
|
|
43
|
-
//
|
|
44
|
+
// npm package import
|
|
44
45
|
if (isNpmPackageImport(id)) {
|
|
45
|
-
const
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
const manifestEntry = clientManifest[manifestKey];
|
|
49
|
-
assert(manifestEntry, debugInfo2);
|
|
46
|
+
const found = Object.entries(clientManifest).find(([, e]) => e.name === prependEntriesDir(id));
|
|
47
|
+
assert(found);
|
|
48
|
+
const [manifestKey, manifestEntry] = found;
|
|
50
49
|
return { manifestEntry, manifestKey };
|
|
51
50
|
}
|
|
52
51
|
// extensions[number].pageConfigsSrcDir
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { retrieveAssetsProd };
|
|
2
2
|
import type { ViteManifest } from '../../../shared/ViteManifest.js';
|
|
3
3
|
import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
|
|
4
|
-
declare function retrieveAssetsProd(clientDependencies: ClientDependency[], clientManifest: ViteManifest, includeAssetsImportedByServer: boolean
|
|
4
|
+
declare function retrieveAssetsProd(clientDependencies: ClientDependency[], clientManifest: ViteManifest, includeAssetsImportedByServer: boolean): string[];
|
|
@@ -2,7 +2,7 @@ export { retrieveAssetsProd };
|
|
|
2
2
|
import { assert, isNpmPackageImport } from '../../utils.js';
|
|
3
3
|
import { getManifestEntry } from './getManifestEntry.js';
|
|
4
4
|
import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
|
|
5
|
-
function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer
|
|
5
|
+
function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImportedByServer) {
|
|
6
6
|
let assetUrls = new Set();
|
|
7
7
|
assert(clientManifest);
|
|
8
8
|
const visistedAssets = new Set();
|
|
@@ -19,7 +19,7 @@ function retrieveAssetsProd(clientDependencies, clientManifest, includeAssetsImp
|
|
|
19
19
|
id = extractAssetsAddQuery(id);
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
const { manifestKey } = getManifestEntry(id, clientManifest
|
|
22
|
+
const { manifestKey } = getManifestEntry(id, clientManifest);
|
|
23
23
|
collectAssets(manifestKey, assetUrls, visistedAssets, clientManifest, onlyAssets);
|
|
24
24
|
});
|
|
25
25
|
collectSingleStyle(assetUrls, clientManifest);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { getPageAssets };
|
|
2
|
-
import { assert, prependBase, assertPosixPath, toPosixPath, isNpmPackageImport, unique,
|
|
2
|
+
import { assert, prependBase, assertPosixPath, toPosixPath, isNpmPackageImport, unique, pathJoin } from '../utils.js';
|
|
3
3
|
import { retrieveAssetsDev } from './getPageAssets/retrieveAssetsDev.js';
|
|
4
4
|
import { retrieveAssetsProd } from './getPageAssets/retrieveAssetsProd.js';
|
|
5
5
|
import { inferMediaType } from './inferMediaType.js';
|
|
@@ -14,15 +14,14 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
|
14
14
|
let assetUrls;
|
|
15
15
|
let clientEntriesSrc;
|
|
16
16
|
if (isDev) {
|
|
17
|
-
const { viteDevServer
|
|
18
|
-
clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer
|
|
17
|
+
const { viteDevServer } = globalContext;
|
|
18
|
+
clientEntriesSrc = await Promise.all(clientEntries.map((clientEntry) => resolveClientEntriesDev(clientEntry, viteDevServer)));
|
|
19
19
|
assetUrls = await retrieveAssetsDev(clientDependencies, viteDevServer);
|
|
20
20
|
}
|
|
21
21
|
else {
|
|
22
|
-
const {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
assetUrls = retrieveAssetsProd(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer, manifestKeyMap);
|
|
22
|
+
const { clientManifest } = globalContext;
|
|
23
|
+
clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, clientManifest));
|
|
24
|
+
assetUrls = retrieveAssetsProd(clientDependencies, clientManifest, pageContext._includeAssetsImportedByServer);
|
|
26
25
|
}
|
|
27
26
|
let pageAssets = [];
|
|
28
27
|
unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
|
|
@@ -56,7 +55,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
|
56
55
|
sortPageAssetsForEarlyHintsHeader(pageAssets);
|
|
57
56
|
return pageAssets;
|
|
58
57
|
}
|
|
59
|
-
async function resolveClientEntriesDev(clientEntry, viteDevServer
|
|
58
|
+
async function resolveClientEntriesDev(clientEntry, viteDevServer) {
|
|
60
59
|
assertClientEntryId(clientEntry);
|
|
61
60
|
let root = viteDevServer.config.root;
|
|
62
61
|
assert(root);
|
|
@@ -77,7 +76,7 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
|
|
|
77
76
|
// User files
|
|
78
77
|
filePath = pathJoin(root, clientEntry);
|
|
79
78
|
}
|
|
80
|
-
else if (clientEntry.startsWith('@@vike/')) {
|
|
79
|
+
else if (clientEntry.startsWith('@@vike/') || isNpmPackageImport(clientEntry)) {
|
|
81
80
|
// Vike client entry
|
|
82
81
|
const { createRequire } = (await import_('module')).default;
|
|
83
82
|
const { dirname } = (await import_('path')).default;
|
|
@@ -89,27 +88,23 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
|
|
|
89
88
|
// @ts-expect-error
|
|
90
89
|
// Bun workaround https://github.com/vikejs/vike/pull/1048
|
|
91
90
|
const res = typeof Bun !== 'undefined' ? (toPath) => Bun.resolveSync(toPath, __dirname_) : require_.resolve;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
// For Vitest (which doesn't resolve vike to its dist but to its source files)
|
|
95
|
-
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/runtime/renderPage/getPageAssets.js
|
|
96
|
-
filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
|
|
91
|
+
if (isNpmPackageImport(clientEntry)) {
|
|
92
|
+
filePath = res(clientEntry);
|
|
97
93
|
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
94
|
+
else {
|
|
95
|
+
assert(clientEntry.endsWith('.js'));
|
|
96
|
+
try {
|
|
97
|
+
// For Vitest (which doesn't resolve vike to its dist but to its source files)
|
|
98
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/runtime/renderPage/getPageAssets.js
|
|
99
|
+
filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts')));
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
// For users
|
|
103
|
+
// [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/runtime/renderPage/getPageAssets.js
|
|
104
|
+
filePath = toPosixPath(res(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/')));
|
|
105
|
+
}
|
|
102
106
|
}
|
|
103
107
|
}
|
|
104
|
-
else if (isNpmPackageImport(clientEntry)) {
|
|
105
|
-
const extensionPageFile = configVike.extensions
|
|
106
|
-
.map(({ pageConfigsDistFiles }) => pageConfigsDistFiles)
|
|
107
|
-
.flat()
|
|
108
|
-
.filter(isNotNullish)
|
|
109
|
-
.find((e) => e.importPath === clientEntry);
|
|
110
|
-
assert(extensionPageFile, clientEntry);
|
|
111
|
-
filePath = extensionPageFile.filePath;
|
|
112
|
-
}
|
|
113
108
|
else {
|
|
114
109
|
assert(false);
|
|
115
110
|
}
|
|
@@ -121,8 +116,8 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer, configVike) {
|
|
|
121
116
|
assertPosixPath(filePath);
|
|
122
117
|
return filePath;
|
|
123
118
|
}
|
|
124
|
-
function resolveClientEntriesProd(clientEntry, clientManifest
|
|
125
|
-
const { manifestEntry } = getManifestEntry(clientEntry, clientManifest
|
|
119
|
+
function resolveClientEntriesProd(clientEntry, clientManifest) {
|
|
120
|
+
const { manifestEntry } = getManifestEntry(clientEntry, clientManifest);
|
|
126
121
|
assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
127
122
|
let { file } = manifestEntry;
|
|
128
123
|
assert(!file.startsWith('/'));
|
|
@@ -42,7 +42,7 @@ async function loadUserFilesServerSide(pageContext) {
|
|
|
42
42
|
// TODO/v1-release: remove
|
|
43
43
|
Object.assign(pageContextAddendum, {
|
|
44
44
|
_getPageAssets: async () => {
|
|
45
|
-
assertWarning(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/
|
|
45
|
+
assertWarning(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
|
|
46
46
|
onlyOnce: true,
|
|
47
47
|
showStackTrace: true
|
|
48
48
|
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { logErrorHint };
|
|
2
|
+
export { isCjsEsmError };
|
|
3
|
+
export { isKnownError };
|
|
4
|
+
export { getHint };
|
|
5
|
+
declare function logErrorHint(error: unknown): void;
|
|
6
|
+
declare function getHint(error: unknown): null | string;
|
|
7
|
+
declare function isKnownError(error: unknown): false | string;
|
|
8
|
+
declare function isCjsEsmError(error: unknown): boolean | string[];
|