vike 0.4.143 → 0.4.144-commit-e40e9b1
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/plugin/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/buildConfig.js +1 -1
- package/dist/cjs/node/plugin/plugins/config/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +31 -30
- package/dist/cjs/node/plugin/plugins/importUserCode/generateEagerImport.js +19 -8
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +19 -10
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +6 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +228 -186
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +11 -35
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +60 -95
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/helpers.js +12 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +18 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +25 -25
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +14 -13
- package/dist/cjs/node/plugin/shared/findPageFiles.js +2 -1
- package/dist/cjs/node/plugin/shared/{getConfigValueSource.js → getConfigValueSourcesRelevant.js} +1 -12
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +1 -1
- package/dist/cjs/node/plugin/utils.js +2 -3
- package/dist/cjs/node/prerender/runPrerender.js +18 -20
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/cjs/node/runtime/renderPage/loadPageFilesServerSide.js +2 -2
- package/dist/cjs/node/runtime/renderPage/log404/index.js +10 -5
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -2
- package/dist/cjs/node/runtime/renderPage.js +1 -1
- package/dist/cjs/node/shared/getClientEntryFilePath.js +1 -7
- package/dist/cjs/shared/assertPageContextProvidedByUser.js +1 -1
- package/dist/cjs/shared/error-page.js +1 -1
- package/dist/cjs/shared/getPageFiles/getExports.js +8 -11
- package/dist/cjs/shared/getPageFiles/parseGlobResults.js +10 -44
- package/dist/cjs/shared/hooks/getHook.js +3 -1
- package/dist/cjs/shared/page-configs/assertExports.js +60 -0
- package/dist/cjs/shared/page-configs/getExportPath.js +9 -10
- package/dist/cjs/shared/page-configs/loadConfigValues.js +18 -0
- package/dist/cjs/shared/page-configs/serialize/PageConfigSerialized.js +2 -0
- package/dist/cjs/shared/page-configs/serialize/assertPageConfigs.js +19 -0
- package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +56 -0
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +65 -0
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValue.js +58 -0
- package/dist/cjs/shared/page-configs/utils.js +65 -42
- package/dist/cjs/shared/route/loadPageRoutes.js +12 -15
- package/dist/cjs/shared/route/resolveRedirects.js +1 -1
- package/dist/cjs/shared/route/resolveRouteFunction.js +1 -0
- package/dist/cjs/shared/utils.js +0 -1
- package/dist/cjs/utils/getOutDirs.js +25 -18
- package/dist/cjs/utils/getValuePrintable.js +1 -1
- package/dist/cjs/utils/objectAssign.js +3 -1
- package/dist/cjs/utils/projectInfo.js +1 -1
- package/dist/cjs/utils/{resolve.js → requireResolve.js} +3 -3
- package/dist/cjs/utils/warnIfErrorIsNotObject.js +1 -1
- package/dist/esm/__internal/index.d.ts +3 -3
- package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageContext.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageId.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/useClientRouter.js +3 -3
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
- package/dist/esm/client/shared/loadPageFilesClientSide.d.ts +2 -2
- package/dist/esm/client/shared/loadPageFilesClientSide.js +2 -2
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/plugin/index.js +3 -2
- package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/esm/node/plugin/plugins/config/index.js +2 -2
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +31 -30
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.d.ts +13 -2
- package/dist/esm/node/plugin/plugins/importUserCode/generateEagerImport.js +19 -8
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +20 -11
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.d.ts +19 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getFilePathToShowToUser.js +6 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +5 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +4 -4
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +229 -187
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +11 -32
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.d.ts +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +60 -95
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.d.ts +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/helpers.js +12 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isRuntimeEnvMatch.js +15 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.d.ts +18 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/replaceImportStatements.js +25 -25
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/transpileAndExecuteFile.js +14 -13
- package/dist/esm/node/plugin/shared/findPageFiles.js +3 -2
- package/dist/esm/node/plugin/shared/{getConfigValueSource.d.ts → getConfigValueSourcesRelevant.d.ts} +0 -2
- package/dist/esm/node/plugin/shared/{getConfigValueSource.js → getConfigValueSourcesRelevant.js} +0 -11
- package/dist/esm/node/plugin/shared/loggerNotProd.js +2 -2
- package/dist/esm/node/plugin/utils.d.ts +1 -2
- package/dist/esm/node/plugin/utils.js +2 -3
- package/dist/esm/node/prerender/runPrerender.js +20 -22
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
- package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/esm/node/runtime/renderPage/createHttpResponseObject.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadPageFilesServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/log404/index.js +10 -5
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +13 -13
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -2
- package/dist/esm/node/runtime/renderPage.js +1 -1
- package/dist/esm/node/shared/getClientEntryFilePath.d.ts +2 -2
- package/dist/esm/node/shared/getClientEntryFilePath.js +2 -8
- package/dist/esm/shared/addIs404ToPageProps.d.ts +2 -2
- package/dist/esm/shared/addUrlComputedProps.d.ts +4 -2
- package/dist/esm/shared/assertPageContextProvidedByUser.js +1 -1
- package/dist/esm/shared/error-page.d.ts +3 -3
- package/dist/esm/shared/error-page.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzeClientSide.d.ts +2 -2
- package/dist/esm/shared/getPageFiles/getExports.d.ts +3 -4
- package/dist/esm/shared/getPageFiles/getExports.js +7 -10
- package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +3 -3
- package/dist/esm/shared/getPageFiles/parseGlobResults.js +9 -43
- package/dist/esm/shared/getPageFiles/setPageFiles.d.ts +3 -3
- package/dist/esm/shared/hooks/getHook.js +3 -1
- package/dist/esm/shared/page-configs/Config.d.ts +201 -14
- package/dist/esm/shared/page-configs/PageConfig.d.ts +80 -73
- package/dist/esm/shared/page-configs/assertExports.d.ts +6 -0
- package/dist/esm/shared/page-configs/assertExports.js +54 -0
- package/dist/esm/shared/page-configs/findPageConfig.d.ts +2 -2
- package/dist/esm/shared/page-configs/getExportPath.d.ts +1 -1
- package/dist/esm/shared/page-configs/getExportPath.js +9 -10
- package/dist/esm/shared/page-configs/loadConfigValues.d.ts +3 -0
- package/dist/esm/shared/page-configs/loadConfigValues.js +15 -0
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +32 -0
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.js +1 -0
- package/dist/esm/shared/page-configs/serialize/assertPageConfigs.d.ts +5 -0
- package/dist/esm/shared/page-configs/serialize/assertPageConfigs.js +16 -0
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.d.ts +4 -0
- package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +50 -0
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.d.ts +7 -0
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +62 -0
- package/dist/esm/shared/page-configs/serialize/serializeConfigValue.d.ts +8 -0
- package/dist/esm/shared/page-configs/serialize/serializeConfigValue.js +52 -0
- package/dist/esm/shared/page-configs/utils.d.ts +21 -14
- package/dist/esm/shared/page-configs/utils.js +64 -41
- package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
- package/dist/esm/shared/route/index.d.ts +3 -3
- package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +13 -16
- package/dist/esm/shared/route/resolveRedirects.js +1 -1
- package/dist/esm/shared/route/resolveRouteFunction.js +1 -0
- package/dist/esm/shared/types.d.ts +8 -6
- package/dist/esm/shared/utils.d.ts +0 -1
- package/dist/esm/shared/utils.js +0 -1
- package/dist/esm/types/index.d.ts +2 -1
- package/dist/esm/utils/getOutDirs.d.ts +0 -2
- package/dist/esm/utils/getOutDirs.js +24 -17
- package/dist/esm/utils/getValuePrintable.js +1 -1
- package/dist/esm/utils/objectAssign.js +3 -1
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/projectInfo.js +1 -1
- package/dist/esm/utils/requireResolve.d.ts +2 -0
- package/dist/esm/utils/{resolve.js → requireResolve.js} +2 -2
- package/dist/esm/utils/warnIfErrorIsNotObject.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +0 -13
- package/dist/cjs/shared/getPageFiles/assertPageConfigs.js +0 -19
- package/dist/cjs/shared/page-configs/loadPageCode.js +0 -63
- package/dist/cjs/utils/assertDefaultExport.js +0 -53
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/isConfigEnvMatch.js +0 -10
- package/dist/esm/shared/getPageFiles/assertPageConfigs.d.ts +0 -5
- package/dist/esm/shared/getPageFiles/assertPageConfigs.js +0 -16
- package/dist/esm/shared/page-configs/loadPageCode.d.ts +0 -3
- package/dist/esm/shared/page-configs/loadPageCode.js +0 -57
- package/dist/esm/utils/assertDefaultExport.d.ts +0 -8
- package/dist/esm/utils/assertDefaultExport.js +0 -47
- package/dist/esm/utils/resolve.d.ts +0 -2
- /package/dist/cjs/shared/getPageFiles/{assertExports.js → assert_exports_old_design.js} +0 -0
- /package/dist/esm/shared/getPageFiles/{assertExports.d.ts → assert_exports_old_design.d.ts} +0 -0
- /package/dist/esm/shared/getPageFiles/{assertExports.js → assert_exports_old_design.js} +0 -0
|
@@ -54,7 +54,7 @@ function plugin(vikeConfig) {
|
|
|
54
54
|
}
|
|
55
55
|
exports.plugin = plugin;
|
|
56
56
|
exports.ssr = plugin;
|
|
57
|
-
// Enable `const
|
|
57
|
+
// Enable `const vike = require('vike/plugin')`.
|
|
58
58
|
// - This lives at the end of the file to ensure it happens after all assignments to `exports`.
|
|
59
59
|
// - This is only used for the CJS build; we wrap it in a try-catch for the ESM build.
|
|
60
60
|
try {
|
|
@@ -65,6 +65,6 @@ catch { }
|
|
|
65
65
|
Object.defineProperty(plugin, 'apply', {
|
|
66
66
|
enumerable: true,
|
|
67
67
|
get: () => {
|
|
68
|
-
(0, utils_js_1.assertUsage)(false, `Add ${picocolors_1.default.cyan('
|
|
68
|
+
(0, utils_js_1.assertUsage)(false, `Add ${picocolors_1.default.cyan('vike()')} instead of ${picocolors_1.default.cyan('vike')} to vite.config.js#plugins (i.e. call the function and add the return value instead of adding the function itself)`, { showStackTrace: true });
|
|
69
69
|
}
|
|
70
70
|
});
|
|
@@ -73,7 +73,7 @@ exports.buildConfig = buildConfig;
|
|
|
73
73
|
async function getEntries(config) {
|
|
74
74
|
const configVike = await (0, getConfigVike_js_1.getConfigVike)(config);
|
|
75
75
|
const pageFileEntries = await getPageFileEntries(config, configVike.includeAssetsImportedByServer); // TODO/v1-release: remove
|
|
76
|
-
const { pageConfigs } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, false, configVike.extensions);
|
|
76
|
+
const { pageConfigs } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, false, configVike.extensions);
|
|
77
77
|
(0, utils_js_1.assertUsage)(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
|
|
78
78
|
if ((0, utils_js_1.viteIsSSR)(config)) {
|
|
79
79
|
const serverEntries = analyzeServerEntries(pageConfigs);
|
|
@@ -30,7 +30,7 @@ async function resolveConfig(vikeConfig, config) {
|
|
|
30
30
|
const fromStemPackages = await (0, findConfigVikeFromStemPackages_js_1.findConfigVikeFromStemPackages)(config.root);
|
|
31
31
|
const configs = [fromPluginOptions, ...fromStemPackages, fromViteConfig];
|
|
32
32
|
const extensions = (0, resolveExtensions_js_1.resolveExtensions)(configs, config);
|
|
33
|
-
const { globalVikeConfig: fromPlusConfigFile } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, (0, utils_js_1.isDev2)(config), extensions);
|
|
33
|
+
const { globalVikeConfig: fromPlusConfigFile } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, (0, utils_js_1.isDev2)(config), extensions);
|
|
34
34
|
configs.push(fromPlusConfigFile);
|
|
35
35
|
(0, assertVikeConfig_js_1.assertVikeConfig)(fromPlusConfigFile, ({ prop, errMsg }) => {
|
|
36
36
|
// TODO: add config file path ?
|
|
@@ -4,11 +4,11 @@ exports.determineOptimizeDeps = void 0;
|
|
|
4
4
|
const findPageFiles_js_1 = require("../../shared/findPageFiles.js");
|
|
5
5
|
const utils_js_1 = require("../../utils.js");
|
|
6
6
|
const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
|
|
7
|
-
const
|
|
7
|
+
const getConfigValueSourcesRelevant_js_1 = require("../../shared/getConfigValueSourcesRelevant.js");
|
|
8
8
|
const buildConfig_js_1 = require("../buildConfig.js");
|
|
9
9
|
const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
|
|
10
10
|
async function determineOptimizeDeps(config, configVike, isDev) {
|
|
11
|
-
const { pageConfigs } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, isDev, configVike.extensions);
|
|
11
|
+
const { pageConfigs } = await (0, getVikeConfig_js_1.getVikeConfig)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, isDev, configVike.extensions);
|
|
12
12
|
const { entries, include } = await getPageDeps(config, pageConfigs, isDev);
|
|
13
13
|
{
|
|
14
14
|
// This actually doesn't work: Vite's dep optimizer doesn't seem to be able to crawl virtual files.
|
|
@@ -24,7 +24,7 @@ async function determineOptimizeDeps(config, configVike, isDev) {
|
|
|
24
24
|
*/
|
|
25
25
|
config.optimizeDeps.include = [...include, ...normalizeInclude(config.optimizeDeps.include)];
|
|
26
26
|
config.optimizeDeps.entries = [...entries, ...normalizeEntries(config.optimizeDeps.entries)];
|
|
27
|
-
// console.log('config.optimizeDeps', config.optimizeDeps)
|
|
27
|
+
// console.log('config.optimizeDeps', { entries: config.optimizeDeps.entries, include: config.optimizeDeps.include })
|
|
28
28
|
}
|
|
29
29
|
exports.determineOptimizeDeps = determineOptimizeDeps;
|
|
30
30
|
async function getPageDeps(config, pageConfigs, isDev) {
|
|
@@ -33,39 +33,40 @@ async function getPageDeps(config, pageConfigs, isDev) {
|
|
|
33
33
|
// V1 design
|
|
34
34
|
{
|
|
35
35
|
pageConfigs.forEach((pageConfig) => {
|
|
36
|
-
const configValueSourcesRelevant = (0,
|
|
36
|
+
const configValueSourcesRelevant = (0, getConfigValueSourcesRelevant_js_1.getConfigValueSourcesRelevant)(pageConfig);
|
|
37
37
|
configValueSourcesRelevant.forEach((configValueSource) => {
|
|
38
|
-
|
|
39
|
-
if (!valueIsImportedAtRuntime)
|
|
38
|
+
if (!configValueSource.valueIsImportedAtRuntime)
|
|
40
39
|
return;
|
|
41
|
-
const {
|
|
42
|
-
(0, utils_js_1.assert)(filePath);
|
|
40
|
+
const { definedAtInfo, configEnv } = configValueSource;
|
|
43
41
|
if (configEnv !== 'client-only' && configEnv !== 'server-and-client')
|
|
44
42
|
return;
|
|
45
|
-
if (
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// getVikeConfig() resolves relative import paths
|
|
51
|
-
(0, utils_js_1.assert)(!filePath.startsWith('.'));
|
|
52
|
-
// We need to differentiate between npm package imports and path aliases.
|
|
53
|
-
// There are path aliases that cannot be distinguished from npm package names.
|
|
54
|
-
// We recommend users to use the '#' prefix convention for path aliases, see https://vike.dev/path-aliases#vite and assertResolveAlias()
|
|
55
|
-
if ((0, utils_js_1.isNpmPackageImport)(filePath)) {
|
|
56
|
-
// isNpmPackageImport() returns false for a path alias like #root/renderer/onRenderClient
|
|
57
|
-
(0, utils_js_1.assert)(!filePath.startsWith('#'));
|
|
58
|
-
include.push(filePath);
|
|
43
|
+
if (definedAtInfo.filePathRelativeToUserRootDir !== null) {
|
|
44
|
+
const { filePathAbsolute } = definedAtInfo;
|
|
45
|
+
(0, utils_js_1.assert)(filePathAbsolute);
|
|
46
|
+
// Surprisingly Vite expects entries to be absolute paths
|
|
47
|
+
entries.push(filePathAbsolute);
|
|
59
48
|
}
|
|
60
49
|
else {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
50
|
+
// Adding definedAtInfo.filePathAbsolute doesn't work for npm packages, I guess because of Vite's config.server.fs.allow
|
|
51
|
+
const { importPathAbsolute } = definedAtInfo;
|
|
52
|
+
(0, utils_js_1.assert)(importPathAbsolute);
|
|
53
|
+
// We need to differentiate between npm package imports and path aliases.
|
|
54
|
+
// There are path aliases that cannot be distinguished from npm package names.
|
|
55
|
+
// We recommend users to use the '#' prefix convention for path aliases, see https://vike.dev/path-aliases#vite and assertResolveAlias()
|
|
56
|
+
if ((0, utils_js_1.isNpmPackageImport)(importPathAbsolute)) {
|
|
57
|
+
// isNpmPackageImport() returns false for a path alias like #root/renderer/onRenderClient
|
|
58
|
+
(0, utils_js_1.assert)(!importPathAbsolute.startsWith('#'));
|
|
59
|
+
include.push(importPathAbsolute);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
/* Path aliases, e.g.:
|
|
63
|
+
* ```js
|
|
64
|
+
* // /renderer/+config.js
|
|
65
|
+
* import onRenderClient from '#root/renderer/onRenderClient'
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
entries.push(importPathAbsolute);
|
|
69
|
+
}
|
|
69
70
|
}
|
|
70
71
|
});
|
|
71
72
|
});
|
|
@@ -2,20 +2,31 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateEagerImport = void 0;
|
|
4
4
|
let varCounterGlobal = 0;
|
|
5
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Naming:
|
|
7
|
+
* `import { someExport as someImport } from './some-file'`
|
|
8
|
+
* <=>
|
|
9
|
+
* `{`
|
|
10
|
+
* `importPath: './some-file',`
|
|
11
|
+
* `exportName: 'someExport',`
|
|
12
|
+
* `importName: 'someImport',`
|
|
13
|
+
* `}`
|
|
14
|
+
* We discard the information that the import variable is called `someImport` because we don't need it.
|
|
15
|
+
*/
|
|
16
|
+
function generateEagerImport(importPath, varCounter, exportName) {
|
|
6
17
|
if (varCounter === undefined)
|
|
7
18
|
varCounter = varCounterGlobal++;
|
|
8
|
-
const
|
|
19
|
+
const importName = `import_${varCounter}`;
|
|
9
20
|
const importLiteral = (() => {
|
|
10
|
-
if (!
|
|
11
|
-
return `* as ${
|
|
21
|
+
if (!exportName || exportName === '*') {
|
|
22
|
+
return `* as ${importName}`;
|
|
12
23
|
}
|
|
13
|
-
if (
|
|
14
|
-
return
|
|
24
|
+
if (exportName === 'default') {
|
|
25
|
+
return importName;
|
|
15
26
|
}
|
|
16
|
-
return `{ ${
|
|
27
|
+
return `{ ${exportName} as ${importName} }`;
|
|
17
28
|
})();
|
|
18
29
|
const importStatement = `import ${importLiteral} from '${importPath}';`;
|
|
19
|
-
return {
|
|
30
|
+
return { importName, importStatement };
|
|
20
31
|
}
|
|
21
32
|
exports.generateEagerImport = generateEagerImport;
|
|
@@ -127,9 +127,9 @@ function addImport(importPath, fileType, exportNames, isBuild) {
|
|
|
127
127
|
return `() => import('${importPath}${query}')`;
|
|
128
128
|
}
|
|
129
129
|
else {
|
|
130
|
-
const {
|
|
130
|
+
const { importName, importStatement } = (0, generateEagerImport_js_1.generateEagerImport)(`${importPath}${query}`);
|
|
131
131
|
fileContent += importStatement + '\n';
|
|
132
|
-
return
|
|
132
|
+
return importName;
|
|
133
133
|
}
|
|
134
134
|
})();
|
|
135
135
|
fileContent += `${mapVar}['${importPath}'] = ${value};\n`;
|
|
@@ -146,7 +146,7 @@ export const pageFilesList = [];
|
|
|
146
146
|
export const neverLoaded = {};
|
|
147
147
|
export const isGeneratedFile = true;
|
|
148
148
|
|
|
149
|
-
${await (0, getVirtualFilePageConfigs_js_1.getVirtualFilePageConfigs)(config.root, isForClientSide, isDev, id, configVike, isClientRouting)}
|
|
149
|
+
${await (0, getVirtualFilePageConfigs_js_1.getVirtualFilePageConfigs)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, isForClientSide, isDev, id, configVike, isClientRouting)}
|
|
150
150
|
|
|
151
151
|
`;
|
|
152
152
|
fileTypes_js_1.fileTypes
|
|
@@ -210,10 +210,12 @@ function getGlobs(globRoots, isBuild, fileType, query) {
|
|
|
210
210
|
...globRoots.map((globRoot, i) => {
|
|
211
211
|
const varNameLocal = `${varName}${i + 1}`;
|
|
212
212
|
varNameLocals.push(varNameLocal);
|
|
213
|
-
const
|
|
213
|
+
const globIncludePath = `'${getGlobPath(globRoot.includeDir, fileType)}'`;
|
|
214
|
+
const globExcludePath = globRoot.excludeDir ? `'!${getGlobPath(globRoot.excludeDir, fileType)}'` : null;
|
|
214
215
|
const globOptions = JSON.stringify({ eager: isEager, as: query });
|
|
215
216
|
(0, utils_js_1.assert)(globOptions.startsWith('{"eager":true') || globOptions.startsWith('{"eager":false'));
|
|
216
|
-
const
|
|
217
|
+
const globPaths = globExcludePath ? `[${globIncludePath}, ${globExcludePath}]` : `[${globIncludePath}]`;
|
|
218
|
+
const globLine = `const ${varNameLocal} = import.meta.glob(${globPaths}, ${globOptions});`;
|
|
217
219
|
return globLine;
|
|
218
220
|
}),
|
|
219
221
|
`const ${varName} = {${varNameLocals.map((varNameLocal) => `...${varNameLocal}`).join(',')}};`,
|
|
@@ -222,19 +224,26 @@ function getGlobs(globRoots, isBuild, fileType, query) {
|
|
|
222
224
|
].join('\n');
|
|
223
225
|
}
|
|
224
226
|
function getGlobRoots(config, configVike) {
|
|
225
|
-
const globRoots = [
|
|
227
|
+
const globRoots = [
|
|
228
|
+
{
|
|
229
|
+
includeDir: '/',
|
|
230
|
+
excludeDir: path_1.default.posix.relative(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot)
|
|
231
|
+
}
|
|
232
|
+
];
|
|
226
233
|
configVike.extensions
|
|
227
234
|
.map(({ pageConfigsSrcDir }) => pageConfigsSrcDir)
|
|
228
235
|
.filter(utils_js_1.isNotNullish)
|
|
229
236
|
.forEach((pageConfigsSrcDir) => {
|
|
230
|
-
const globRoot =
|
|
237
|
+
const globRoot = {
|
|
238
|
+
includeDir: path_1.default.posix.relative(config.root, pageConfigsSrcDir)
|
|
239
|
+
};
|
|
231
240
|
globRoots.push(globRoot);
|
|
232
241
|
});
|
|
233
242
|
return globRoots;
|
|
234
243
|
}
|
|
235
|
-
function getGlobPath(
|
|
236
|
-
(0, utils_js_1.assertPosixPath)(
|
|
237
|
-
let globPath = [...
|
|
244
|
+
function getGlobPath(globRootDir, fileType) {
|
|
245
|
+
(0, utils_js_1.assertPosixPath)(globRootDir);
|
|
246
|
+
let globPath = [...globRootDir.split('/'), '**', `*${fileType}.${utils_js_1.scriptFileExtensions}`].filter(Boolean).join('/');
|
|
238
247
|
if (!globPath.startsWith('/')) {
|
|
239
248
|
globPath = '/' + globPath;
|
|
240
249
|
}
|
|
@@ -52,7 +52,7 @@ function importUserCode() {
|
|
|
52
52
|
return undefined;
|
|
53
53
|
id = (0, utils_js_1.getVirtualFileId)(id);
|
|
54
54
|
if ((0, virtualFilePageConfigValuesAll_js_1.isVirtualFileIdPageConfigValuesAll)(id)) {
|
|
55
|
-
const code = await (0, getVirtualFilePageConfigValuesAll_js_1.getVirtualFilePageConfigValuesAll)(id, config.root, isDev, configVike);
|
|
55
|
+
const code = await (0, getVirtualFilePageConfigValuesAll_js_1.getVirtualFilePageConfigValuesAll)(id, config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, isDev, configVike);
|
|
56
56
|
return code;
|
|
57
57
|
}
|
|
58
58
|
if ((0, virtualFileImportUserCode_js_1.isVirtualFileIdImportUserCode)(id)) {
|
|
@@ -126,7 +126,7 @@ function reloadConfig(filePath, config, configVike, op) {
|
|
|
126
126
|
const msg = `${op} ${filePathToShowToUser}`;
|
|
127
127
|
(0, loggerNotProd_js_1.logConfigInfo)(msg, 'info');
|
|
128
128
|
}
|
|
129
|
-
(0, getVikeConfig_js_1.reloadVikeConfig)(config.root, configVike.extensions);
|
|
129
|
+
(0, getVikeConfig_js_1.reloadVikeConfig)(config.root, (0, utils_js_1.getOutDirs)(config).outDirRoot, configVike.extensions);
|
|
130
130
|
}
|
|
131
131
|
function getVirtualModules(server) {
|
|
132
132
|
const virtualModules = Array.from(server.moduleGraph.urlToModuleMap.keys())
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFilePathToShowToUser = void 0;
|
|
4
4
|
const utils_js_1 = require("../../../utils.js");
|
|
5
|
+
/*
|
|
6
|
+
const f: FilePath = 1 as any
|
|
7
|
+
if (f.filePathRelativeToUserRootDir === null) {
|
|
8
|
+
f.importPathAbsolute
|
|
9
|
+
}
|
|
10
|
+
//*/
|
|
5
11
|
function getFilePathToShowToUser(filePath) {
|
|
6
12
|
const filePathToShowToUser = filePath.filePathRelativeToUserRootDir ?? filePath.filePathAbsolute;
|
|
7
13
|
(0, utils_js_1.assert)(filePathToShowToUser);
|
|
@@ -68,13 +68,13 @@ const configDefinitionsBuiltIn = {
|
|
|
68
68
|
},
|
|
69
69
|
isClientSideRenderable: {
|
|
70
70
|
env: 'server-and-client',
|
|
71
|
-
_computed: (
|
|
72
|
-
(0, helpers_js_1.isConfigSet)(
|
|
73
|
-
(0, helpers_js_1.getConfigEnv)(
|
|
71
|
+
_computed: (configValueSources) => (0, helpers_js_1.isConfigSet)(configValueSources, 'onRenderClient') &&
|
|
72
|
+
(0, helpers_js_1.isConfigSet)(configValueSources, 'Page') &&
|
|
73
|
+
(0, helpers_js_1.getConfigEnv)(configValueSources, 'Page') !== 'server-only'
|
|
74
74
|
},
|
|
75
75
|
onBeforeRenderEnv: {
|
|
76
76
|
env: 'client-only',
|
|
77
|
-
_computed: (
|
|
77
|
+
_computed: (configValueSources) => !(0, helpers_js_1.isConfigSet)(configValueSources, 'onBeforeRender') ? null : (0, helpers_js_1.getConfigEnv)(configValueSources, 'onBeforeRender')
|
|
78
78
|
}
|
|
79
79
|
};
|
|
80
80
|
exports.configDefinitionsBuiltIn = configDefinitionsBuiltIn;
|