vike 0.4.229 → 0.4.230-commit-dd11364
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/client/server-routing-runtime/utils.js +1 -0
- package/dist/cjs/client/shared/{preparePageContextForUserConsumptionClientSide.js → preparePageContextForPublicUsageClientShared.js} +14 -19
- package/dist/cjs/node/api/build.js +2 -5
- package/dist/cjs/node/plugin/index.js +3 -1
- package/dist/cjs/node/plugin/onLoad.js +2 -0
- package/dist/cjs/node/plugin/plugins/build/pluginDistFileNames.js +1 -0
- package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +4 -4
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -0
- package/dist/cjs/node/plugin/plugins/envVars.js +17 -19
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +6 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -8
- package/dist/cjs/node/plugin/plugins/replaceConstants.js +76 -0
- package/dist/cjs/node/plugin/shared/applyRegExWithMagicString.js +10 -0
- package/dist/cjs/node/plugin/shared/findPageFiles.js +1 -1
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +2 -2
- package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +42 -38
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +13 -27
- package/dist/cjs/node/runtime/html/renderHtml.js +12 -2
- package/dist/cjs/node/runtime/html/serializeContext.js +4 -2
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +3 -4
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +6 -9
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +11 -0
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +1 -1
- package/dist/cjs/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +10 -0
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +0 -2
- package/dist/cjs/node/runtime/renderPage.js +21 -12
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -1
- package/dist/cjs/shared/addIs404ToPageProps.js +0 -7
- package/dist/cjs/shared/createGlobalContextShared.js +37 -8
- package/dist/cjs/shared/createPageContextShared.js +14 -11
- package/dist/cjs/shared/getPageContext.js +3 -3
- package/dist/cjs/shared/getPageContextUrlComputed.js +2 -36
- package/dist/cjs/shared/getProxyForPublicUsage.js +56 -0
- package/dist/cjs/shared/hooks/execHook.js +170 -0
- package/dist/cjs/shared/hooks/getHook.js +23 -4
- package/dist/cjs/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +54 -47
- package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +10 -0
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +80 -0
- package/dist/cjs/shared/route/abort.js +2 -2
- package/dist/cjs/shared/route/debug.js +17 -7
- package/dist/cjs/shared/route/executeGuardHook.js +4 -9
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +4 -3
- package/dist/cjs/shared/route/index.js +2 -4
- package/dist/cjs/shared/route/loadPageRoutes.js +6 -0
- package/dist/cjs/shared/route/resolveRouteFunction.js +14 -10
- package/dist/cjs/shared/utils.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/debug.js +15 -6
- package/dist/cjs/utils/isDev.js +3 -1
- package/dist/cjs/utils/isScriptFile.js +24 -21
- package/dist/cjs/utils/objectAssign.js +3 -3
- package/dist/cjs/utils/objectDefineProperty.js +1 -1
- package/dist/cjs/utils/parseNpmPackage.js +1 -0
- package/dist/cjs/utils/parseUrl-extras.js +0 -1
- package/dist/cjs/utils/requireResolve.js +39 -19
- package/dist/esm/client/client-routing-runtime/{createPageContext.d.ts → createPageContextClientSide.d.ts} +21 -13
- package/dist/esm/client/client-routing-runtime/{createPageContext.js → createPageContextClientSide.js} +9 -11
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +400 -15
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +56 -54
- package/dist/esm/client/client-routing-runtime/globalContext.d.ts +11 -1
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +3 -8
- package/dist/esm/client/client-routing-runtime/prefetch.js +3 -3
- package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.d.ts +11 -0
- package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +135 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +72 -81
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/utils.js +1 -0
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +19 -13
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +15 -26
- package/dist/esm/client/server-routing-runtime/entry.js +4 -4
- package/dist/esm/client/server-routing-runtime/globalContext.d.ts +11 -1
- package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.d.ts +9 -0
- package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
- package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/server-routing-runtime/utils.js +1 -0
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +11 -1
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +3 -3
- package/dist/esm/client/shared/executeOnRenderClientHook.js +4 -13
- package/dist/esm/client/shared/{loadUserFilesClientSide.d.ts → loadPageConfigsLazyClientSide.d.ts} +2 -2
- package/dist/esm/client/shared/{loadUserFilesClientSide.js → loadPageConfigsLazyClientSide.js} +4 -4
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +11 -0
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +39 -0
- package/dist/esm/node/api/build.js +2 -2
- package/dist/esm/node/plugin/index.js +3 -1
- package/dist/esm/node/plugin/onLoad.js +2 -0
- package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.js +1 -0
- package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +4 -4
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +6 -1
- package/dist/esm/node/plugin/plugins/envVars.js +18 -20
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +4 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.d.ts +1 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +5 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +7 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -8
- package/dist/esm/node/plugin/plugins/replaceConstants.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/replaceConstants.js +71 -0
- package/dist/esm/node/plugin/shared/applyRegExWithMagicString.d.ts +3 -0
- package/dist/esm/node/plugin/shared/applyRegExWithMagicString.js +8 -0
- package/dist/esm/node/plugin/shared/findPageFiles.js +2 -2
- package/dist/esm/node/plugin/shared/loggerNotProd.js +1 -1
- package/dist/esm/node/plugin/shared/resolveClientEntriesDev.d.ts +1 -1
- package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +37 -73
- package/dist/esm/node/prerender/runPrerender.js +42 -38
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +46 -251
- package/dist/esm/node/runtime/globalContext.js +14 -28
- package/dist/esm/node/runtime/html/renderHtml.js +12 -2
- package/dist/esm/node/runtime/html/serializeContext.d.ts +1 -1
- package/dist/esm/node/runtime/html/serializeContext.js +4 -2
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +3 -4
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +26 -41
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +7 -10
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +12 -0
- package/dist/esm/node/runtime/renderPage/execHookServer.js +9 -0
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -3
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +4 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +1 -1
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +1 -1
- package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.d.ts → loadPageConfigsLazyServerSide.d.ts} +6 -6
- package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +20 -0
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +8 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +38 -74
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +0 -2
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +0 -1
- package/dist/esm/node/runtime/renderPage.d.ts +21 -39
- package/dist/esm/node/runtime/renderPage.js +22 -13
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/shared/NOT_SERIALIZABLE.js +0 -1
- package/dist/esm/shared/addIs404ToPageProps.d.ts +1 -6
- package/dist/esm/shared/addIs404ToPageProps.js +1 -8
- package/dist/esm/shared/createGlobalContextShared.d.ts +28 -6
- package/dist/esm/shared/createGlobalContextShared.js +37 -8
- package/dist/esm/shared/createPageContextShared.d.ts +7 -6
- package/dist/esm/shared/createPageContextShared.js +15 -12
- package/dist/esm/shared/getPageContext.d.ts +1 -1
- package/dist/esm/shared/getPageContext.js +1 -1
- package/dist/esm/shared/getPageContextUrlComputed.d.ts +2 -5
- package/dist/esm/shared/getPageContextUrlComputed.js +3 -37
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.d.ts +4 -0
- package/dist/esm/shared/getProxyForPublicUsage.js +54 -0
- package/dist/esm/shared/hooks/execHook.d.ts +63 -0
- package/dist/esm/shared/hooks/execHook.js +168 -0
- package/dist/esm/shared/hooks/getHook.d.ts +10 -11
- package/dist/esm/shared/hooks/getHook.js +23 -4
- package/dist/esm/shared/page-configs/Config.d.ts +11 -4
- package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.d.ts → getUserFriendlyConfigs.d.ts} +8 -6
- package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +55 -48
- package/dist/esm/shared/prepareGlobalContextForPublicUsage.d.ts +7 -0
- package/dist/esm/shared/prepareGlobalContextForPublicUsage.js +8 -0
- package/dist/esm/shared/preparePageContextForPublicUsage.d.ts +11 -0
- package/dist/esm/shared/preparePageContextForPublicUsage.js +78 -0
- package/dist/esm/shared/route/abort.js +1 -1
- package/dist/esm/shared/route/debug.d.ts +4 -1
- package/dist/esm/shared/route/debug.js +17 -7
- package/dist/esm/shared/route/executeGuardHook.d.ts +4 -3
- package/dist/esm/shared/route/executeGuardHook.js +4 -9
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +4 -3
- package/dist/esm/shared/route/index.js +2 -4
- package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -1
- package/dist/esm/shared/route/loadPageRoutes.js +7 -1
- package/dist/esm/shared/route/resolveRouteFunction.d.ts +2 -2
- package/dist/esm/shared/route/resolveRouteFunction.js +14 -10
- package/dist/esm/shared/types.d.ts +14 -4
- package/dist/esm/shared/utils.d.ts +1 -0
- package/dist/esm/shared/utils.js +1 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +15 -6
- package/dist/esm/utils/isDev.js +3 -1
- package/dist/esm/utils/isScriptFile.d.ts +5 -5
- package/dist/esm/utils/isScriptFile.js +23 -20
- package/dist/esm/utils/objectAssign.d.ts +1 -1
- package/dist/esm/utils/objectAssign.js +3 -3
- package/dist/esm/utils/objectDefineProperty.d.ts +0 -1
- package/dist/esm/utils/objectDefineProperty.js +1 -1
- package/dist/esm/utils/parseNpmPackage.d.ts +2 -0
- package/dist/esm/utils/parseNpmPackage.js +1 -1
- package/dist/esm/utils/parseUrl-extras.js +0 -1
- package/dist/esm/utils/requireResolve.js +39 -19
- package/package.json +2 -2
- package/dist/cjs/client/shared/getPageContextProxyForUser.js +0 -16
- package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -16
- package/dist/cjs/shared/getPageConfigsRuntime.js +0 -23
- package/dist/cjs/shared/hooks/executeHook.js +0 -87
- package/dist/cjs/shared/hooks/executeHookGeneric.js +0 -18
- package/dist/cjs/shared/preparePageContextForUserConsumption.js +0 -34
- package/dist/cjs/utils/getPublicProxy.js +0 -27
- package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +0 -2
- package/dist/esm/client/shared/getPageContextProxyForUser.js +0 -14
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +0 -12
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.js +0 -44
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +0 -24
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -14
- package/dist/esm/shared/getPageConfigsRuntime.d.ts +0 -14
- package/dist/esm/shared/getPageConfigsRuntime.js +0 -21
- package/dist/esm/shared/hooks/executeHook.d.ts +0 -21
- package/dist/esm/shared/hooks/executeHook.js +0 -85
- package/dist/esm/shared/hooks/executeHookGeneric.d.ts +0 -8
- package/dist/esm/shared/hooks/executeHookGeneric.js +0 -16
- package/dist/esm/shared/preparePageContextForUserConsumption.d.ts +0 -5
- package/dist/esm/shared/preparePageContextForUserConsumption.js +0 -32
- package/dist/esm/utils/getPublicProxy.d.ts +0 -2
- package/dist/esm/utils/getPublicProxy.js +0 -25
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.scriptFileExtensionList = exports.
|
|
3
|
+
exports.scriptFileExtensionList = exports.scriptFileExtensionPattern = void 0;
|
|
4
4
|
exports.isScriptFile = isScriptFile;
|
|
5
|
-
exports.
|
|
5
|
+
exports.isPlainScriptFile = isPlainScriptFile;
|
|
6
6
|
exports.isTemplateFile = isTemplateFile;
|
|
7
|
-
const assert_js_1 = require("./assert.js");
|
|
8
7
|
// We can't use a RegExp:
|
|
9
8
|
// - Needs to work with Micromatch: https://github.com/micromatch/micromatch because:
|
|
10
9
|
// - Vite's `import.meta.glob()` uses Micromatch
|
|
@@ -16,26 +15,36 @@ const assert_js_1 = require("./assert.js");
|
|
|
16
15
|
// - A post `import.meta.glob()` blocklist filtering doesn't work because Vite would still process the files (e.g. including them in the bundle).
|
|
17
16
|
// prettier-ignore
|
|
18
17
|
// biome-ignore format:
|
|
19
|
-
const
|
|
18
|
+
const extJs = [
|
|
20
19
|
'js',
|
|
21
|
-
'ts',
|
|
22
20
|
'cjs',
|
|
23
|
-
'cts',
|
|
24
21
|
'mjs',
|
|
22
|
+
];
|
|
23
|
+
// prettier-ignore
|
|
24
|
+
// biome-ignore format:
|
|
25
|
+
const extTs = [
|
|
26
|
+
'ts',
|
|
27
|
+
'cts',
|
|
25
28
|
'mts',
|
|
26
29
|
];
|
|
30
|
+
const extJsOrTs = [...extJs, ...extTs];
|
|
27
31
|
// prettier-ignore
|
|
28
32
|
// biome-ignore format:
|
|
29
33
|
const extJsx = [
|
|
30
34
|
'jsx',
|
|
31
|
-
'tsx',
|
|
32
35
|
'cjsx',
|
|
33
|
-
'ctsx',
|
|
34
36
|
'mjsx',
|
|
35
|
-
'mtsx',
|
|
36
37
|
];
|
|
37
38
|
// prettier-ignore
|
|
38
39
|
// biome-ignore format:
|
|
40
|
+
const extTsx = [
|
|
41
|
+
'tsx',
|
|
42
|
+
'ctsx',
|
|
43
|
+
'mtsx'
|
|
44
|
+
];
|
|
45
|
+
const extJsxOrTsx = [...extJsx, ...extTsx];
|
|
46
|
+
// prettier-ignore
|
|
47
|
+
// biome-ignore format:
|
|
39
48
|
const extTemplates = [
|
|
40
49
|
'vue',
|
|
41
50
|
'svelte',
|
|
@@ -43,21 +52,15 @@ const extTemplates = [
|
|
|
43
52
|
'md',
|
|
44
53
|
'mdx'
|
|
45
54
|
];
|
|
46
|
-
const scriptFileExtensionList = [...
|
|
55
|
+
const scriptFileExtensionList = [...extJsOrTs, ...extJsxOrTsx, ...extTemplates];
|
|
47
56
|
exports.scriptFileExtensionList = scriptFileExtensionList;
|
|
48
|
-
const
|
|
49
|
-
exports.
|
|
57
|
+
const scriptFileExtensionPattern = '(' + scriptFileExtensionList.join('|') + ')';
|
|
58
|
+
exports.scriptFileExtensionPattern = scriptFileExtensionPattern;
|
|
50
59
|
function isScriptFile(filePath) {
|
|
51
|
-
|
|
52
|
-
if (isPlainJavaScriptFile(filePath))
|
|
53
|
-
(0, assert_js_1.assert)(yes);
|
|
54
|
-
return yes;
|
|
60
|
+
return scriptFileExtensionList.some((ext) => filePath.endsWith('.' + ext));
|
|
55
61
|
}
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
const yes2 = extJavaScript.some((ext) => filePath.endsWith('.' + ext));
|
|
59
|
-
(0, assert_js_1.assert)(yes1 === yes2);
|
|
60
|
-
return yes1;
|
|
62
|
+
function isPlainScriptFile(filePath) {
|
|
63
|
+
return extJsOrTs.some((ext) => filePath.endsWith('.' + ext));
|
|
61
64
|
}
|
|
62
65
|
function isTemplateFile(filePath) {
|
|
63
66
|
return extTemplates.some((ext) => filePath.endsWith('.' + ext));
|
|
@@ -5,10 +5,10 @@ const assert_js_1 = require("./assert.js");
|
|
|
5
5
|
// Same as Object.assign() but:
|
|
6
6
|
// - With type inference
|
|
7
7
|
// - Preserves property descriptors, which we need for preserving the getters of getPageContextUrlComputed()
|
|
8
|
-
function objectAssign(obj, objAddendum,
|
|
8
|
+
function objectAssign(obj, objAddendum, objAddendumCanBeOriginalObject) {
|
|
9
9
|
if (!objAddendum)
|
|
10
10
|
return;
|
|
11
|
-
if (!
|
|
12
|
-
(0, assert_js_1.assert)(!
|
|
11
|
+
if (!objAddendumCanBeOriginalObject)
|
|
12
|
+
(0, assert_js_1.assert)(!objAddendum._isOriginalObject);
|
|
13
13
|
Object.defineProperties(obj, Object.getOwnPropertyDescriptors(objAddendum));
|
|
14
14
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.objectDefineProperty = objectDefineProperty;
|
|
4
|
-
|
|
4
|
+
// Same as Object.defineProperty() but with type inference
|
|
5
5
|
function objectDefineProperty(obj, prop, { get, ...args }) {
|
|
6
6
|
Object.defineProperty(obj, prop, { ...args, get });
|
|
7
7
|
}
|
|
@@ -4,6 +4,7 @@ exports.isImportPathNpmPackage = isImportPathNpmPackage;
|
|
|
4
4
|
exports.isImportPathNpmPackageOrPathAlias = isImportPathNpmPackageOrPathAlias;
|
|
5
5
|
exports.assertIsImportPathNpmPackage = assertIsImportPathNpmPackage;
|
|
6
6
|
exports.isPathAliasRecommended = isPathAliasRecommended;
|
|
7
|
+
exports.getNpmPackageName = getNpmPackageName;
|
|
7
8
|
exports.parseNpmPackage = parseNpmPackage;
|
|
8
9
|
exports.isDistinguishable = isDistinguishable;
|
|
9
10
|
const assert_js_1 = require("./assert.js");
|
|
@@ -94,7 +94,6 @@ function modifyUrlPathname(url, modifier) {
|
|
|
94
94
|
function removeUrlOrigin(url) {
|
|
95
95
|
const { origin, pathnameOriginal, searchOriginal, hashOriginal } = (0, parseUrl_js_1.parseUrl)(url, '/');
|
|
96
96
|
const urlModified = (0, parseUrl_js_1.createUrlFromComponents)(null, pathnameOriginal, searchOriginal, hashOriginal);
|
|
97
|
-
(0, assert_js_1.assert)(urlModified.startsWith('/'));
|
|
98
97
|
return { urlModified, origin };
|
|
99
98
|
}
|
|
100
99
|
function setUrlOrigin(url, origin) {
|
|
@@ -17,11 +17,13 @@ const node_module_1 = require("node:module");
|
|
|
17
17
|
const node_path_1 = __importDefault(require("node:path"));
|
|
18
18
|
const parseNpmPackage_js_1 = require("./parseNpmPackage.js");
|
|
19
19
|
const isNullish_js_1 = require("./isNullish.js");
|
|
20
|
+
const debug_js_1 = require("./debug.js");
|
|
20
21
|
// @ts-ignore `file:///${__filename.split('\\').join('/')}` is shimmed at dist/cjs by dist-cjs-fixup.js.
|
|
21
22
|
const importMetaUrl = `file:///${__filename.split('\\').join('/')}`;
|
|
22
23
|
(0, path_js_1.assertPosixPath)(importMetaUrl);
|
|
23
24
|
(0, assertIsNotBrowser_js_1.assertIsNotBrowser)();
|
|
24
25
|
(0, assertSetup_js_1.assertIsNotProductionRuntime)();
|
|
26
|
+
const debug = (0, debug_js_1.createDebugger)('vike:resolve');
|
|
25
27
|
// - We still can't use import.meta.resolve() as of 23.1.0 (November 2024) because `parent` argument requires an experimental flag.
|
|
26
28
|
// - https://stackoverflow.com/questions/54977743/do-require-resolve-for-es-modules#comment139581675_62272600
|
|
27
29
|
// - Passing context to createRequire(context) isn't equivalent to passing it to the `paths` argument of require.resolve()
|
|
@@ -30,33 +32,31 @@ const importMetaUrl = `file:///${__filename.split('\\').join('/')}`;
|
|
|
30
32
|
// - The argument createRequire(argument) seems to be overriden by the `paths` argument require.resolve()
|
|
31
33
|
// - For example, passing an empty array to `paths` kills the argument passed to `createRequire()`
|
|
32
34
|
// - Thus, when `paths` is defined, then the context needs to be passed to both createRequire() as well as the `paths` argument of require.resolve()
|
|
33
|
-
function requireResolve_(importPath, importerFilePath,
|
|
35
|
+
function requireResolve_(importPath, importerFilePath, userRootDir, doNotHandleFileExtension = false) {
|
|
34
36
|
(0, path_js_1.assertPosixPath)(importPath);
|
|
35
37
|
const contexts = importerFilePath
|
|
36
38
|
? [importerFilePath]
|
|
37
39
|
: [userRootDir ? getFakeImporterFile(userRootDir) : importMetaUrl];
|
|
38
|
-
addExtraContextForNpmPackageImport(contexts,
|
|
40
|
+
addExtraContextForNpmPackageImport(contexts, importPath, userRootDir);
|
|
39
41
|
let importPathResolvedFilePath;
|
|
40
42
|
let failure;
|
|
41
43
|
for (const context of contexts) {
|
|
42
44
|
(0, path_js_1.assertPosixPath)(context);
|
|
43
|
-
const
|
|
45
|
+
const contextNode = makeNodeFriendly(ensureFilePrefix(context));
|
|
46
|
+
let importPathNode = makeNodeFriendly(importPath);
|
|
47
|
+
const require_ = (0, node_module_1.createRequire)(contextNode);
|
|
44
48
|
if (!doNotHandleFileExtension) {
|
|
45
49
|
addFileExtensionsToRequireResolve(require_);
|
|
46
|
-
|
|
50
|
+
importPathNode = removeFileExtention(importPathNode);
|
|
47
51
|
}
|
|
48
52
|
try {
|
|
49
|
-
importPathResolvedFilePath = require_.resolve(
|
|
53
|
+
importPathResolvedFilePath = require_.resolve(importPathNode);
|
|
50
54
|
}
|
|
51
55
|
catch (err) {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
console.log('context', context)
|
|
57
|
-
console.log('importMetaUrl', importMetaUrl)
|
|
58
|
-
console.log('paths', paths)
|
|
59
|
-
//*/
|
|
56
|
+
if (debug.isActivated) {
|
|
57
|
+
const stack = new Error().stack;
|
|
58
|
+
debug('ERROR', { err, importPath, context }, stack);
|
|
59
|
+
}
|
|
60
60
|
failure ?? (failure = { err });
|
|
61
61
|
}
|
|
62
62
|
if (importPathResolvedFilePath)
|
|
@@ -64,23 +64,39 @@ function requireResolve_(importPath, importerFilePath, { userRootDir, doNotHandl
|
|
|
64
64
|
}
|
|
65
65
|
if (!importPathResolvedFilePath) {
|
|
66
66
|
(0, assert_js_1.assert)(failure);
|
|
67
|
+
if (debug.isActivated) {
|
|
68
|
+
debug('FAILURE', {
|
|
69
|
+
importPath,
|
|
70
|
+
importerFilePath,
|
|
71
|
+
userRootDir,
|
|
72
|
+
doNotHandleFileExtension,
|
|
73
|
+
importMetaUrl,
|
|
74
|
+
contexts
|
|
75
|
+
});
|
|
76
|
+
}
|
|
67
77
|
return { importPathResolvedFilePath: undefined, err: failure.err, hasFailed: true };
|
|
68
78
|
}
|
|
69
79
|
else {
|
|
80
|
+
if (failure && debug.isActivated) {
|
|
81
|
+
debug('SUCCESS', {
|
|
82
|
+
importPath,
|
|
83
|
+
contexts
|
|
84
|
+
});
|
|
85
|
+
}
|
|
70
86
|
(0, assert_js_1.assert)(importPathResolvedFilePath);
|
|
71
87
|
importPathResolvedFilePath = (0, path_js_1.toPosixPath)(importPathResolvedFilePath);
|
|
72
88
|
return { importPathResolvedFilePath, err: undefined, hasFailed: false };
|
|
73
89
|
}
|
|
74
90
|
}
|
|
75
91
|
function requireResolveOptional({ importPath, importerFilePath, userRootDir }) {
|
|
76
|
-
const res = requireResolve_(importPath, importerFilePath,
|
|
92
|
+
const res = requireResolve_(importPath, importerFilePath, userRootDir);
|
|
77
93
|
if (res.hasFailed)
|
|
78
94
|
return null;
|
|
79
95
|
return res.importPathResolvedFilePath;
|
|
80
96
|
}
|
|
81
97
|
function requireResolveOptionalDir({ importPath, importerDir, userRootDir }) {
|
|
82
98
|
const importerFilePath = getFakeImporterFile(importerDir);
|
|
83
|
-
const res = requireResolve_(importPath, importerFilePath,
|
|
99
|
+
const res = requireResolve_(importPath, importerFilePath, userRootDir);
|
|
84
100
|
if (res.hasFailed)
|
|
85
101
|
return null;
|
|
86
102
|
return res.importPathResolvedFilePath;
|
|
@@ -88,7 +104,7 @@ function requireResolveOptionalDir({ importPath, importerDir, userRootDir }) {
|
|
|
88
104
|
function requireResolveNpmPackage({ importPathNpmPackage, userRootDir }) {
|
|
89
105
|
(0, parseNpmPackage_js_1.assertIsImportPathNpmPackage)(importPathNpmPackage);
|
|
90
106
|
const importerFilePath = getFakeImporterFile(userRootDir);
|
|
91
|
-
const res = requireResolve_(importPathNpmPackage, importerFilePath,
|
|
107
|
+
const res = requireResolve_(importPathNpmPackage, importerFilePath, userRootDir);
|
|
92
108
|
if (res.hasFailed)
|
|
93
109
|
throw res.err;
|
|
94
110
|
return res.importPathResolvedFilePath;
|
|
@@ -97,19 +113,19 @@ function requireResolveVikeDistFile(vikeDistFile) {
|
|
|
97
113
|
const vikeNodeModulesRoot = getVikeNodeModulesRoot();
|
|
98
114
|
(0, path_js_1.assertPosixPath)(vikeNodeModulesRoot);
|
|
99
115
|
(0, path_js_1.assertPosixPath)(vikeDistFile);
|
|
100
|
-
const importPathResolvedFilePath = node_path_1.default.posix.join(vikeNodeModulesRoot, vikeDistFile);
|
|
116
|
+
const importPathResolvedFilePath = makeNodeFriendly(node_path_1.default.posix.join(vikeNodeModulesRoot, vikeDistFile));
|
|
101
117
|
// Double check
|
|
102
118
|
{
|
|
103
119
|
const res = requireResolve_(importPathResolvedFilePath,
|
|
104
120
|
// No context needed: importPathResolvedFilePath is already resolved and absolute
|
|
105
|
-
null,
|
|
121
|
+
null, null, true);
|
|
106
122
|
if (res.hasFailed)
|
|
107
123
|
throw res.err;
|
|
108
124
|
(0, assert_js_1.assert)(res.importPathResolvedFilePath === importPathResolvedFilePath);
|
|
109
125
|
}
|
|
110
126
|
return importPathResolvedFilePath;
|
|
111
127
|
}
|
|
112
|
-
function addExtraContextForNpmPackageImport(contexts,
|
|
128
|
+
function addExtraContextForNpmPackageImport(contexts, importPath, userRootDir) {
|
|
113
129
|
// We should add extra context only for npm packages, but unfortunately we cannot always disambiguate between npm package imports and path aliases.
|
|
114
130
|
if (!(0, parseNpmPackage_js_1.isImportPathNpmPackageOrPathAlias)(importPath))
|
|
115
131
|
return;
|
|
@@ -191,3 +207,7 @@ function getFilePrefix() {
|
|
|
191
207
|
prefix += '/';
|
|
192
208
|
return prefix;
|
|
193
209
|
}
|
|
210
|
+
function makeNodeFriendly(filePath) {
|
|
211
|
+
// https://github.com/vikejs/vike/issues/2436#issuecomment-2849145340
|
|
212
|
+
return decodeURIComponent(filePath);
|
|
213
|
+
}
|
|
@@ -1,14 +1,31 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
|
+
export type PageContextCreated = Awaited<ReturnType<typeof createPageContextClientSide>>;
|
|
2
3
|
declare function createPageContextClientSide(urlOriginal: string): Promise<{
|
|
3
|
-
|
|
4
|
+
_isOriginalObject: true;
|
|
5
|
+
isPageContext: true;
|
|
6
|
+
} & {
|
|
7
|
+
isClientSide: true;
|
|
8
|
+
isPrerendering: false;
|
|
9
|
+
urlOriginal: string;
|
|
10
|
+
_globalContext: {
|
|
4
11
|
isGlobalContext: true;
|
|
12
|
+
_isOriginalObject: true;
|
|
5
13
|
_virtualFileExports: unknown;
|
|
6
14
|
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
7
15
|
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
8
16
|
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
9
17
|
_allPageIds: string[];
|
|
18
|
+
_userFriendlyConfigsGlobal: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
10
19
|
config: import("../../types/index.js").ConfigResolved;
|
|
11
|
-
pages:
|
|
20
|
+
pages: {
|
|
21
|
+
[k: string]: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
22
|
+
route: import("../../shared/page-configs/Config.js").Route;
|
|
23
|
+
isErrorPage?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
route?: undefined;
|
|
26
|
+
isErrorPage: true;
|
|
27
|
+
});
|
|
28
|
+
};
|
|
12
29
|
} & {
|
|
13
30
|
isClientSide: true;
|
|
14
31
|
} & {
|
|
@@ -21,20 +38,11 @@ declare function createPageContextClientSide(urlOriginal: string): Promise<{
|
|
|
21
38
|
_allPageIds: string[];
|
|
22
39
|
_pageRoutes: import("../../__internal/index.js").PageRoutes;
|
|
23
40
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
24
|
-
isClientSide: boolean;
|
|
25
|
-
isPrerendering: boolean;
|
|
26
|
-
urlOriginal: string;
|
|
27
41
|
_urlHandler: null;
|
|
28
|
-
_urlRewrite: null;
|
|
42
|
+
_urlRewrite: null | string;
|
|
29
43
|
_baseServer: string;
|
|
30
44
|
} & {
|
|
31
45
|
urlParsed: import("./utils.js").UrlPublic;
|
|
32
46
|
urlPathname: string;
|
|
33
47
|
url: string;
|
|
34
|
-
} &
|
|
35
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
36
|
-
_source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
|
|
37
|
-
_sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
|
|
38
|
-
_from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
|
|
39
|
-
isPageContext: true;
|
|
40
|
-
}>;
|
|
48
|
+
} & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
|
-
import { createPageContextShared } from '../../shared/createPageContextShared.js';
|
|
2
|
+
import { createPageContextObject, createPageContextShared } from '../../shared/createPageContextShared.js';
|
|
3
3
|
import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js';
|
|
4
4
|
import { getBaseServer } from './getBaseServer.js';
|
|
5
5
|
import { getGlobalContextClientInternal } from './globalContext.js';
|
|
@@ -8,27 +8,25 @@ async function createPageContextClientSide(urlOriginal) {
|
|
|
8
8
|
const globalContext = await getGlobalContextClientInternal();
|
|
9
9
|
const baseServer = getBaseServer();
|
|
10
10
|
assert(isBaseServer(baseServer));
|
|
11
|
-
const pageContextCreated =
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const pageContextCreated = createPageContextObject();
|
|
12
|
+
objectAssign(pageContextCreated, {
|
|
13
|
+
isClientSide: true,
|
|
14
|
+
isPrerendering: false,
|
|
15
|
+
urlOriginal,
|
|
16
|
+
_globalContext: globalContext,
|
|
16
17
|
_pageFilesAll: globalContext._pageFilesAll,
|
|
17
18
|
_pageConfigs: globalContext._pageConfigs,
|
|
18
19
|
_pageConfigGlobal: globalContext._pageConfigGlobal,
|
|
19
20
|
_allPageIds: globalContext._allPageIds,
|
|
20
21
|
_pageRoutes: globalContext._pageRoutes,
|
|
21
22
|
_onBeforeRouteHook: globalContext._onBeforeRouteHook,
|
|
22
|
-
isClientSide: true,
|
|
23
|
-
isPrerendering: false,
|
|
24
|
-
urlOriginal,
|
|
25
23
|
_urlHandler: null,
|
|
26
24
|
_urlRewrite: null,
|
|
27
25
|
_baseServer: baseServer
|
|
28
|
-
};
|
|
26
|
+
});
|
|
29
27
|
const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
|
|
30
28
|
objectAssign(pageContextCreated, pageContextUrlComputed);
|
|
31
|
-
const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal);
|
|
29
|
+
const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal, globalContext._userFriendlyConfigsGlobal);
|
|
32
30
|
augmentType(pageContextCreated, pageContextAugmented);
|
|
33
31
|
return pageContextCreated;
|
|
34
32
|
}
|