vike 0.4.223 → 0.4.224-commit-f0d0f8a
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/api/build.js +4 -37
- package/dist/cjs/node/api/prepareViteApiCall.js +9 -3
- package/dist/cjs/node/plugin/index.js +8 -20
- package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -1
- package/dist/cjs/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +130 -52
- package/dist/cjs/node/plugin/plugins/build/pluginAutoFullBuild.js +145 -0
- package/dist/cjs/node/plugin/plugins/build/pluginBuildApp.js +52 -0
- package/dist/cjs/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -84
- package/dist/cjs/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
- package/dist/cjs/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
- package/dist/cjs/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +6 -6
- package/dist/cjs/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
- package/dist/cjs/node/plugin/plugins/build.js +21 -0
- package/dist/cjs/node/plugin/plugins/commonConfig.js +22 -4
- package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
- package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/cjs/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/cjs/node/plugin/plugins/envVars.js +2 -2
- package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +9 -9
- package/dist/cjs/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/cjs/node/plugin/plugins/fileEnv.js +5 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/index.js +2 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +16 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +19 -7
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +277 -212
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
- package/dist/cjs/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/cjs/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/cjs/node/plugin/shared/findPageFiles.js +3 -3
- package/dist/cjs/node/plugin/shared/getOutDirs.js +8 -7
- package/dist/cjs/node/plugin/shared/isViteServerBuild.js +47 -0
- package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/cjs/node/plugin/utils.js +1 -0
- package/dist/cjs/node/prerender/context.js +3 -8
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +30 -21
- package/dist/cjs/node/prerender/runPrerender.js +28 -30
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/html/stream.js +7 -0
- package/dist/cjs/node/runtime/renderPage/logErrorHint.js +13 -2
- package/dist/cjs/shared/getPageContextUrlComputed.js +1 -1
- package/dist/cjs/shared/page-configs/getConfigValueBuildTime.js +2 -5
- package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +3 -1
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +20 -9
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/debug.js +2 -1
- package/dist/cjs/utils/findFile.js +1 -1
- package/dist/cjs/utils/findPackageJson.js +1 -1
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +10 -4
- package/dist/cjs/utils/path.js +1 -0
- package/dist/cjs/utils/requireResolve.js +11 -4
- package/dist/cjs/utils/sorter.js +0 -3
- package/dist/esm/client/client-routing-runtime/index.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/index.js +1 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +8 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +10 -1
- package/dist/esm/node/api/build.js +4 -4
- package/dist/esm/node/api/prepareViteApiCall.js +9 -3
- package/dist/esm/node/plugin/index.d.ts +2 -1
- package/dist/esm/node/plugin/index.js +4 -17
- package/dist/esm/node/plugin/plugins/baseUrls.js +3 -1
- package/dist/esm/node/plugin/plugins/build/handleAssetsManifest.d.ts +18 -0
- package/dist/esm/node/plugin/plugins/{buildConfig/fixServerAssets.js → build/handleAssetsManifest.js} +131 -53
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.d.ts +5 -0
- package/dist/esm/node/plugin/plugins/build/pluginAutoFullBuild.js +140 -0
- package/dist/esm/node/plugin/plugins/build/pluginBuildApp.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build/pluginBuildApp.js +50 -0
- package/dist/esm/node/plugin/plugins/{buildConfig.d.ts → build/pluginBuildConfig.d.ts} +3 -3
- package/dist/esm/node/plugin/plugins/{buildConfig.js → build/pluginBuildConfig.js} +22 -81
- package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +7 -0
- package/dist/esm/node/plugin/plugins/{buildEntry/index.js → build/pluginBuildEntry.js} +9 -9
- package/dist/esm/node/plugin/plugins/build/pluginDistFileNames.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{distFileNames.js → build/pluginDistFileNames.js} +7 -7
- package/dist/esm/node/plugin/plugins/build/pluginDistPackageJsonFile.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{packageJsonFile.js → build/pluginDistPackageJsonFile.js} +7 -6
- package/dist/esm/node/plugin/plugins/build/pluginSuppressRollupWarning.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{suppressRollupWarning.js → build/pluginSuppressRollupWarning.js} +3 -3
- package/dist/esm/node/plugin/plugins/build.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/build.js +19 -0
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +16 -6
- package/dist/esm/node/plugin/plugins/commonConfig.js +22 -4
- package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +1 -1
- package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +5 -5
- package/dist/esm/node/plugin/plugins/devConfig/index.js +1 -1
- package/dist/esm/node/plugin/plugins/envVars.js +2 -2
- package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +10 -10
- package/dist/esm/node/plugin/plugins/extractExportNamesPlugin.js +2 -2
- package/dist/esm/node/plugin/plugins/fileEnv.js +5 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/index.js +2 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js +5 -5
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +7 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +13 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +50 -64
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +2 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +3 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +20 -8
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +8 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +279 -214
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/virtual-files/getVirtualFilePageConfigValuesAll.js +4 -4
- package/dist/esm/node/plugin/plugins/previewConfig.js +12 -7
- package/dist/esm/node/plugin/shared/addSsrMiddleware.d.ts +1 -1
- package/dist/esm/node/plugin/shared/addSsrMiddleware.js +5 -1
- package/dist/esm/node/plugin/shared/findPageFiles.js +3 -3
- package/dist/esm/node/plugin/shared/getHttpRequestAsyncStore.js +1 -3
- package/dist/esm/node/plugin/shared/getOutDirs.d.ts +2 -2
- package/dist/esm/node/plugin/shared/getOutDirs.js +8 -7
- package/dist/esm/node/plugin/shared/isViteServerBuild.d.ts +15 -0
- package/dist/esm/node/plugin/shared/isViteServerBuild.js +45 -0
- package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +1 -1
- package/dist/esm/node/plugin/utils.d.ts +1 -0
- package/dist/esm/node/plugin/utils.js +1 -0
- package/dist/esm/node/prerender/context.d.ts +0 -2
- package/dist/esm/node/prerender/context.js +4 -9
- package/dist/esm/node/prerender/resolvePrerenderConfig.d.ts +11 -6
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +31 -22
- package/dist/esm/node/prerender/runPrerender.d.ts +7 -25
- package/dist/esm/node/prerender/runPrerender.js +29 -31
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/globalContext.d.ts +3 -2
- package/dist/esm/node/runtime/html/stream.js +7 -0
- package/dist/esm/node/runtime/renderPage/logErrorHint.js +13 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +165 -5
- package/dist/esm/shared/getPageContextUrlComputed.js +1 -1
- package/dist/esm/shared/page-configs/Config.d.ts +12 -2
- package/dist/esm/shared/page-configs/PageConfig.d.ts +5 -5
- package/dist/esm/shared/page-configs/getConfigValueBuildTime.js +2 -5
- package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +3 -1
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +2 -0
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +20 -9
- package/dist/esm/types/index.d.ts +2 -0
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/debug.js +2 -1
- package/dist/esm/utils/findFile.js +1 -1
- package/dist/esm/utils/findPackageJson.js +1 -1
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +8 -2
- package/dist/esm/utils/path.js +1 -0
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/dist/esm/utils/requireResolve.js +11 -4
- package/dist/esm/utils/sorter.d.ts +18 -5
- package/dist/esm/utils/sorter.js +0 -3
- package/package.json +9 -16
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +0 -119
- package/dist/cjs/node/plugin/plugins/buildApp.js +0 -76
- package/dist/cjs/node/plugin/plugins/removeRequireHookPlugin.js +0 -17
- package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +0 -20
- package/dist/cjs/node/plugin/shared/viteIsSSR.js +0 -31
- package/dist/esm/node/plugin/plugins/autoFullBuild.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +0 -114
- package/dist/esm/node/plugin/plugins/buildApp.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/buildApp.js +0 -74
- package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -20
- package/dist/esm/node/plugin/plugins/buildEntry/index.d.ts +0 -8
- package/dist/esm/node/plugin/plugins/distFileNames.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/packageJsonFile.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.d.ts +0 -3
- package/dist/esm/node/plugin/plugins/removeRequireHookPlugin.js +0 -15
- package/dist/esm/node/plugin/plugins/suppressRollupWarning.d.ts +0 -3
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +0 -2
- package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +0 -17
- package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +0 -11
- package/dist/esm/node/plugin/shared/viteIsSSR.js +0 -29
- package/dist-cjs-fixup.mjs +0 -41
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.js
CHANGED
|
@@ -34,7 +34,7 @@ function assertExtensionName(plusFile) {
|
|
|
34
34
|
(0, utils_js_1.assertUsage)(name, `Vike extension name missing: the config ${filePathToShowToUser} must define the setting ${picocolors_1.default.cyan('name')}`);
|
|
35
35
|
}
|
|
36
36
|
function assertExtensionsRequire(pageConfig) {
|
|
37
|
-
const plusFilesRelevantList =
|
|
37
|
+
const plusFilesRelevantList = pageConfig.plusFiles;
|
|
38
38
|
// Collect extensions
|
|
39
39
|
const extensions = {};
|
|
40
40
|
plusFilesRelevantList.forEach((plusFile) => {
|
|
@@ -68,8 +68,8 @@ function getConfigRequireValue(plusFile) {
|
|
|
68
68
|
const confVal = (0, getVikeConfig_js_1.getConfVal)(plusFile, 'require');
|
|
69
69
|
if (!confVal)
|
|
70
70
|
return null;
|
|
71
|
-
(0, utils_js_1.assert)(confVal.
|
|
72
|
-
const require = confVal.
|
|
71
|
+
(0, utils_js_1.assert)(confVal.valueIsLoaded);
|
|
72
|
+
const require = confVal.value;
|
|
73
73
|
const { filePathToShowToUserResolved } = plusFile.filePath;
|
|
74
74
|
(0, utils_js_1.assert)(filePathToShowToUserResolved);
|
|
75
75
|
(0, utils_js_1.assertUsage)((0, isObjectOfStrings_js_1.isObjectOfStrings)(require), `The setting ${picocolors_1.default.bold('require')} defined at ${filePathToShowToUserResolved} should be an object with string values (${picocolors_1.default.bold('Record<string, string>')}).`);
|
|
@@ -79,8 +79,8 @@ function getNameValue(plusFile) {
|
|
|
79
79
|
const confVal = (0, getVikeConfig_js_1.getConfVal)(plusFile, 'name');
|
|
80
80
|
if (!confVal)
|
|
81
81
|
return null;
|
|
82
|
-
(0, utils_js_1.assert)(confVal.
|
|
83
|
-
const name = confVal.
|
|
82
|
+
(0, utils_js_1.assert)(confVal.valueIsLoaded);
|
|
83
|
+
const name = confVal.value;
|
|
84
84
|
const filePathToShowToUser = getFilePathToShowToUser(plusFile);
|
|
85
85
|
(0, utils_js_1.assertUsage)(typeof name === 'string', `The setting ${picocolors_1.default.bold('name')} defined at ${filePathToShowToUser} should be a string.`);
|
|
86
86
|
return name;
|
|
@@ -33,7 +33,12 @@ const configDefinitionsBuiltIn = {
|
|
|
33
33
|
cumulative: true
|
|
34
34
|
},
|
|
35
35
|
route: {
|
|
36
|
-
env: {
|
|
36
|
+
env: {
|
|
37
|
+
server: true,
|
|
38
|
+
client: 'if-client-routing',
|
|
39
|
+
// For vite-plugin-vercel
|
|
40
|
+
config: true
|
|
41
|
+
},
|
|
37
42
|
eager: true
|
|
38
43
|
},
|
|
39
44
|
guard: {
|
|
@@ -159,7 +164,7 @@ const configDefinitionsBuiltIn = {
|
|
|
159
164
|
'string'
|
|
160
165
|
]
|
|
161
166
|
},
|
|
162
|
-
|
|
167
|
+
vite6BuilderApp: {
|
|
163
168
|
env: { config: true },
|
|
164
169
|
global: true,
|
|
165
170
|
type: 'boolean'
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ignorePatternsBuiltIn = void 0;
|
|
4
|
+
exports.ignorePatternsBuiltIn = [
|
|
5
|
+
'**/node_modules/**',
|
|
6
|
+
// Ejected Vike extensions, see https://github.com/snake-py/eject
|
|
7
|
+
'**/ejected/**',
|
|
8
|
+
// Allow:
|
|
9
|
+
// ```bash
|
|
10
|
+
// +Page.js
|
|
11
|
+
// +Page.telefunc.js
|
|
12
|
+
// ```
|
|
13
|
+
'**/*.telefunc.*',
|
|
14
|
+
// https://github.com/vikejs/vike/discussions/2222
|
|
15
|
+
'**/*.generated.*'
|
|
16
|
+
];
|
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js
CHANGED
|
@@ -8,51 +8,43 @@ exports.isPlusFile = isPlusFile;
|
|
|
8
8
|
exports.getPlusFileValueConfigName = getPlusFileValueConfigName;
|
|
9
9
|
const utils_js_1 = require("../../../../utils.js");
|
|
10
10
|
const path_1 = __importDefault(require("path"));
|
|
11
|
-
const
|
|
11
|
+
const tinyglobby_1 = require("tinyglobby");
|
|
12
12
|
const child_process_1 = require("child_process");
|
|
13
13
|
const util_1 = require("util");
|
|
14
14
|
const transpileAndExecuteFile_js_1 = require("./transpileAndExecuteFile.js");
|
|
15
15
|
const getEnvVarObject_js_1 = require("../../../../shared/getEnvVarObject.js");
|
|
16
|
+
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
17
|
+
const picomatch_1 = __importDefault(require("picomatch"));
|
|
18
|
+
const ignorePatternsBuiltIn_js_1 = require("./crawlPlusFiles/ignorePatternsBuiltIn.js");
|
|
16
19
|
const execA = (0, util_1.promisify)(child_process_1.exec);
|
|
17
20
|
const debug = (0, utils_js_1.createDebugger)('vike:crawl');
|
|
18
21
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
19
22
|
(0, utils_js_1.assertIsSingleModuleInstance)('getVikeConfig/crawlPlusFiles.ts');
|
|
20
23
|
let gitIsNotUsable = false;
|
|
21
|
-
async function crawlPlusFiles(userRootDir
|
|
24
|
+
async function crawlPlusFiles(userRootDir) {
|
|
22
25
|
(0, utils_js_1.assertPosixPath)(userRootDir);
|
|
23
|
-
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
assertPosixPath(outDirAbsoluteFilesystem)
|
|
27
|
-
let outDirRelativeFromUserRootDir: string | null = path.posix.relative(userRootDir, outDirAbsoluteFilesystem)
|
|
28
|
-
if (outDirRelativeFromUserRootDir.startsWith('../')) {
|
|
29
|
-
// config.outDir is outside of config.root => it's going to be ignored anyways
|
|
30
|
-
outDirRelativeFromUserRootDir = null
|
|
31
|
-
}
|
|
32
|
-
//*/
|
|
33
|
-
(0, utils_js_1.assert)(outDirRelativeFromUserRootDir === null ||
|
|
34
|
-
/* Not true if outDirRelativeFromUserRootDir starts with a hidden directory (i.e. a directory with a name that starts with `.`)
|
|
35
|
-
!outDirRelativeFromUserRootDir.startsWith('.') &&
|
|
36
|
-
*/
|
|
37
|
-
(!outDirRelativeFromUserRootDir.startsWith('./') &&
|
|
38
|
-
//
|
|
39
|
-
!outDirRelativeFromUserRootDir.startsWith('../')));
|
|
26
|
+
(0, utils_js_1.assertFilePathAbsoluteFilesystem)(userRootDir);
|
|
27
|
+
const userSettings = getUserSettings();
|
|
28
|
+
const { ignorePatterns, ignoreMatchers } = getIgnore(userSettings);
|
|
40
29
|
// Crawl
|
|
41
|
-
const filesGit =
|
|
30
|
+
const filesGit = userSettings.git !== false && (await gitLsFiles(userRootDir, ignorePatterns, ignoreMatchers));
|
|
42
31
|
const filesGitNothingFound = !filesGit || filesGit.length === 0;
|
|
43
|
-
const filesGlob = (filesGitNothingFound || debug.isActivated) && (await
|
|
32
|
+
const filesGlob = (filesGitNothingFound || debug.isActivated) && (await tinyglobby(userRootDir, ignorePatterns));
|
|
44
33
|
let files = !filesGitNothingFound
|
|
45
34
|
? filesGit
|
|
46
|
-
: // Fallback to
|
|
35
|
+
: // Fallback to tinyglobby for users that dynamically generate plus files. (Assuming that no plus file is found because of the user's .gitignore list.)
|
|
47
36
|
filesGlob;
|
|
48
37
|
(0, utils_js_1.assert)(files);
|
|
49
|
-
if (debug.isActivated)
|
|
50
|
-
(0, utils_js_1.assert)(
|
|
38
|
+
if (debug.isActivated) {
|
|
39
|
+
(0, utils_js_1.assert)(filesGit);
|
|
40
|
+
(0, utils_js_1.assert)(filesGlob);
|
|
41
|
+
(0, utils_js_1.assertWarning)((0, utils_js_1.deepEqual)(filesGlob.slice().sort(), filesGit.slice().sort()), "Git and glob results aren't matching.", { onlyOnce: false });
|
|
42
|
+
}
|
|
51
43
|
// Filter build files
|
|
52
44
|
files = files.filter((filePath) => !(0, transpileAndExecuteFile_js_1.isTemporaryBuildFile)(filePath));
|
|
53
45
|
// Normalize
|
|
54
46
|
const plusFiles = files.map((filePath) => {
|
|
55
|
-
// Both `$ git-ls files` and
|
|
47
|
+
// Both `$ git-ls files` and tinyglobby return posix paths
|
|
56
48
|
(0, utils_js_1.assertPosixPath)(filePath);
|
|
57
49
|
(0, utils_js_1.assert)(!filePath.startsWith(userRootDir));
|
|
58
50
|
const filePathAbsoluteUserRootDir = path_1.default.posix.join('/', filePath);
|
|
@@ -61,8 +53,8 @@ async function crawlPlusFiles(userRootDir, outDirAbsoluteFilesystem) {
|
|
|
61
53
|
});
|
|
62
54
|
return plusFiles;
|
|
63
55
|
}
|
|
64
|
-
// Same as
|
|
65
|
-
async function gitLsFiles(userRootDir,
|
|
56
|
+
// Same as tinyglobby() but using `$ git ls-files`
|
|
57
|
+
async function gitLsFiles(userRootDir, ignorePatterns, ignoreMatchers) {
|
|
66
58
|
if (gitIsNotUsable)
|
|
67
59
|
return null;
|
|
68
60
|
// Preserve UTF-8 file paths.
|
|
@@ -70,8 +62,6 @@ async function gitLsFiles(userRootDir, outDirRelativeFromUserRootDir) {
|
|
|
70
62
|
// https://stackoverflow.com/questions/22827239/how-to-make-git-properly-display-utf-8-encoded-pathnames-in-the-console-window/22828826#22828826
|
|
71
63
|
// https://stackoverflow.com/questions/15884180/how-do-i-override-git-configuration-options-by-command-line-parameters/15884261#15884261
|
|
72
64
|
const preserveUTF8 = '-c core.quotepath=off';
|
|
73
|
-
const ignoreAsPatterns = getIgnoreAsPatterns(outDirRelativeFromUserRootDir);
|
|
74
|
-
const ignoreAsFilterFn = getIgnoreAsFilterFn(outDirRelativeFromUserRootDir);
|
|
75
65
|
const cmd = [
|
|
76
66
|
'git',
|
|
77
67
|
preserveUTF8,
|
|
@@ -81,7 +71,7 @@ async function gitLsFiles(userRootDir, outDirRelativeFromUserRootDir) {
|
|
|
81
71
|
// Performance gain is non-negligible.
|
|
82
72
|
// - https://github.com/vikejs/vike/pull/1688#issuecomment-2166206648
|
|
83
73
|
// - When node_modules/ is untracked the performance gain could be significant?
|
|
84
|
-
...
|
|
74
|
+
...ignorePatterns.map((pattern) => `--exclude="${pattern}"`),
|
|
85
75
|
// --others --exclude-standard => list untracked files (--others) while using .gitignore (--exclude-standard)
|
|
86
76
|
// --cached => list tracked files
|
|
87
77
|
'--others --exclude-standard --cached'
|
|
@@ -116,7 +106,7 @@ async function gitLsFiles(userRootDir, outDirRelativeFromUserRootDir) {
|
|
|
116
106
|
if (!path_1.default.posix.basename(filePath).startsWith('+'))
|
|
117
107
|
continue;
|
|
118
108
|
// We have to repeat the same exclusion logic here because the option --exclude of `$ git ls-files` only applies to untracked files. (We use --exclude only to speed up the `$ git ls-files` command.)
|
|
119
|
-
if (
|
|
109
|
+
if (ignoreMatchers.some((m) => m(filePath)))
|
|
120
110
|
continue;
|
|
121
111
|
// JavaScript file?
|
|
122
112
|
if (!(0, utils_js_1.isScriptFile)(filePath))
|
|
@@ -128,15 +118,15 @@ async function gitLsFiles(userRootDir, outDirRelativeFromUserRootDir) {
|
|
|
128
118
|
}
|
|
129
119
|
return files;
|
|
130
120
|
}
|
|
131
|
-
// Same as gitLsFiles() but using
|
|
132
|
-
async function
|
|
121
|
+
// Same as gitLsFiles() but using tinyglobby
|
|
122
|
+
async function tinyglobby(userRootDir, ignorePatterns) {
|
|
133
123
|
const pattern = `**/+*.${utils_js_1.scriptFileExtensions}`;
|
|
134
124
|
const options = {
|
|
135
|
-
ignore:
|
|
125
|
+
ignore: ignorePatterns,
|
|
136
126
|
cwd: userRootDir,
|
|
137
127
|
dot: false
|
|
138
128
|
};
|
|
139
|
-
const files = await (0,
|
|
129
|
+
const files = await (0, tinyglobby_1.glob)(pattern, options);
|
|
140
130
|
// Make build deterministic, in order to get a stable generated hash for dist/client/assets/entries/entry-client-routing.${hash}.js
|
|
141
131
|
// https://github.com/vikejs/vike/pull/1750
|
|
142
132
|
files.sort();
|
|
@@ -147,32 +137,6 @@ async function fastGlob(userRootDir, outDirRelativeFromUserRootDir) {
|
|
|
147
137
|
}
|
|
148
138
|
return files;
|
|
149
139
|
}
|
|
150
|
-
// Same as getIgnoreAsFilterFn() but as glob pattern
|
|
151
|
-
function getIgnoreAsPatterns(outDirRelativeFromUserRootDir) {
|
|
152
|
-
const ignoreAsPatterns = [
|
|
153
|
-
'**/node_modules/**',
|
|
154
|
-
'**/ejected/**',
|
|
155
|
-
// Allow:
|
|
156
|
-
// ```
|
|
157
|
-
// +Page.js
|
|
158
|
-
// +Page.telefunc.js
|
|
159
|
-
// ```
|
|
160
|
-
'**/*.telefunc.*'
|
|
161
|
-
];
|
|
162
|
-
if (outDirRelativeFromUserRootDir) {
|
|
163
|
-
(0, utils_js_1.assert)(!outDirRelativeFromUserRootDir.startsWith('/'));
|
|
164
|
-
ignoreAsPatterns.push(`${outDirRelativeFromUserRootDir}/**`);
|
|
165
|
-
}
|
|
166
|
-
return ignoreAsPatterns;
|
|
167
|
-
}
|
|
168
|
-
// Same as getIgnoreAsPatterns() but for Array.filter()
|
|
169
|
-
function getIgnoreAsFilterFn(outDirRelativeFromUserRootDir) {
|
|
170
|
-
(0, utils_js_1.assert)(outDirRelativeFromUserRootDir === null || !outDirRelativeFromUserRootDir.startsWith('/'));
|
|
171
|
-
return (file) => !file.includes('node_modules/') &&
|
|
172
|
-
!file.includes('ejected/') &&
|
|
173
|
-
!file.includes('.telefunc.') &&
|
|
174
|
-
(outDirRelativeFromUserRootDir === null || !file.startsWith(`${outDirRelativeFromUserRootDir}/`));
|
|
175
|
-
}
|
|
176
140
|
// Whether Git is installed and whether we can use it
|
|
177
141
|
async function isGitNotUsable(userRootDir) {
|
|
178
142
|
// Check Git version
|
|
@@ -227,9 +191,19 @@ async function runCmd2(cmd, cwd) {
|
|
|
227
191
|
stderr = stderr.toString().trim();
|
|
228
192
|
return { stdout, stderr };
|
|
229
193
|
}
|
|
230
|
-
function
|
|
231
|
-
const
|
|
232
|
-
|
|
194
|
+
function getUserSettings() {
|
|
195
|
+
const userSettings = (0, getEnvVarObject_js_1.getEnvVarObject)('VIKE_CRAWL') ?? {};
|
|
196
|
+
const wrongUsage = (settingName, settingType) => `Setting ${picocolors_1.default.cyan(settingName)} in VIKE_CRAWL should be a ${picocolors_1.default.cyan(settingType)}`;
|
|
197
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(userSettings, 'git', 'boolean') || (0, utils_js_1.hasProp)(userSettings, 'git', 'undefined'), wrongUsage('git', 'boolean'));
|
|
198
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(userSettings, 'ignore', 'string[]') ||
|
|
199
|
+
(0, utils_js_1.hasProp)(userSettings, 'ignore', 'string') ||
|
|
200
|
+
(0, utils_js_1.hasProp)(userSettings, 'ignore', 'undefined'), wrongUsage('git', 'string or an array of strings'));
|
|
201
|
+
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(userSettings, 'ignoreBuiltIn', 'boolean') || (0, utils_js_1.hasProp)(userSettings, 'ignoreBuiltIn', 'undefined'), wrongUsage('ignoreBuiltIn', 'boolean'));
|
|
202
|
+
const settingNames = ['git', 'ignore', 'ignoreBuiltIn'];
|
|
203
|
+
Object.keys(userSettings).forEach((name) => {
|
|
204
|
+
(0, utils_js_1.assertUsage)(settingNames.includes(name), `Unknown setting ${picocolors_1.default.bold(picocolors_1.default.red(name))} in VIKE_CRAWL`);
|
|
205
|
+
});
|
|
206
|
+
return userSettings;
|
|
233
207
|
}
|
|
234
208
|
function isPlusFile(filePath) {
|
|
235
209
|
(0, utils_js_1.assertPosixPath)(filePath);
|
|
@@ -265,3 +239,15 @@ function assertNoUnexpectedPlusSign(filePath: string, fileName: string) {
|
|
|
265
239
|
)
|
|
266
240
|
}
|
|
267
241
|
*/
|
|
242
|
+
function getIgnore(userSettings) {
|
|
243
|
+
const ignorePatternsSetByUser = [userSettings.ignore].flat().filter(utils_js_1.isNotNullish);
|
|
244
|
+
const { ignoreBuiltIn } = userSettings;
|
|
245
|
+
const ignorePatterns = [...(ignoreBuiltIn === false ? [] : ignorePatternsBuiltIn_js_1.ignorePatternsBuiltIn), ...ignorePatternsSetByUser];
|
|
246
|
+
const ignoreMatchers = ignorePatterns.map((p) => (0, picomatch_1.default)(p, {
|
|
247
|
+
// We must pass the same settings than tinyglobby
|
|
248
|
+
// https://github.com/SuperchupuDev/tinyglobby/blob/fcfb08a36c3b4d48d5488c21000c95a956d9797c/src/index.ts#L191-L194
|
|
249
|
+
dot: false,
|
|
250
|
+
nocase: false
|
|
251
|
+
}));
|
|
252
|
+
return { ignorePatterns, ignoreMatchers };
|
|
253
|
+
}
|
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js
CHANGED
|
@@ -44,6 +44,7 @@ function getLogicalPath(locationId, ignoredDirs, removeParenthesesDirs) {
|
|
|
44
44
|
assertIsPath(logicalPath);
|
|
45
45
|
return logicalPath;
|
|
46
46
|
}
|
|
47
|
+
// See getPlusFilesRelevant() and getPlusFilesOrdered()
|
|
47
48
|
function sortAfterInheritanceOrder(locationId1, locationId2, locationIdPage) {
|
|
48
49
|
assertLocationId(locationId1);
|
|
49
50
|
assertLocationId(locationId2);
|
|
@@ -52,7 +53,7 @@ function sortAfterInheritanceOrder(locationId1, locationId2, locationIdPage) {
|
|
|
52
53
|
const inheritanceRoot1 = getInheritanceRoot(locationId1);
|
|
53
54
|
const inheritanceRoot2 = getInheritanceRoot(locationId2);
|
|
54
55
|
const inheritanceRootPage = getInheritanceRoot(locationIdPage);
|
|
55
|
-
//
|
|
56
|
+
// Only works if both locationId1 and locationId2 are inherited by the same page
|
|
56
57
|
(0, utils_js_1.assert)(isInherited(locationId1, locationIdPage));
|
|
57
58
|
(0, utils_js_1.assert)(isInherited(locationId2, locationIdPage));
|
|
58
59
|
// Equivalent assertion (see isInherited() implementation)
|
package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js
CHANGED
|
@@ -11,7 +11,7 @@ const resolvePointerImport_js_1 = require("./resolvePointerImport.js");
|
|
|
11
11
|
const getFilePath_js_1 = require("../../../../shared/getFilePath.js");
|
|
12
12
|
const assertExtensions_js_1 = require("./assertExtensions.js");
|
|
13
13
|
async function getPlusFilesAll(userRootDir, esbuildCache) {
|
|
14
|
-
const plusFiles = await findPlusFiles(userRootDir
|
|
14
|
+
const plusFiles = await findPlusFiles(userRootDir);
|
|
15
15
|
const configFiles = [];
|
|
16
16
|
const valueFiles = [];
|
|
17
17
|
plusFiles.forEach((f) => {
|
|
@@ -114,8 +114,8 @@ function getPlusFileFromConfigFile(configFile, isExtensionConfig, locationId, us
|
|
|
114
114
|
function sortMakeDeterministic(plusFile1, plusFile2) {
|
|
115
115
|
return plusFile1.filePath.filePathAbsoluteVite < plusFile2.filePath.filePathAbsoluteVite ? -1 : 1;
|
|
116
116
|
}
|
|
117
|
-
async function findPlusFiles(userRootDir
|
|
118
|
-
const files = await (0, crawlPlusFiles_js_1.crawlPlusFiles)(userRootDir
|
|
117
|
+
async function findPlusFiles(userRootDir) {
|
|
118
|
+
const files = await (0, crawlPlusFiles_js_1.crawlPlusFiles)(userRootDir);
|
|
119
119
|
const plusFiles = files.map(({ filePathAbsoluteUserRootDir }) => (0, getFilePath_js_1.getFilePathResolved)({ filePathAbsoluteUserRootDir, userRootDir }));
|
|
120
120
|
return plusFiles;
|
|
121
121
|
}
|
|
@@ -15,13 +15,14 @@ const import_1 = require("@brillout/import");
|
|
|
15
15
|
const utils_js_1 = require("../../../../utils.js");
|
|
16
16
|
const transformPointerImports_js_1 = require("./transformPointerImports.js");
|
|
17
17
|
const getVikeConfig_js_1 = require("../getVikeConfig.js");
|
|
18
|
-
require("source-map-support
|
|
18
|
+
const source_map_support_1 = __importDefault(require("source-map-support"));
|
|
19
19
|
const getFilePath_js_1 = require("../../../../shared/getFilePath.js");
|
|
20
20
|
const module_1 = require("module");
|
|
21
|
-
// @ts-ignore
|
|
21
|
+
// @ts-ignore `file://${__filename}` is shimmed at dist/cjs by dist-cjs-fixup.js.
|
|
22
22
|
const importMetaUrl = `file://${__filename}`;
|
|
23
23
|
const require_ = (0, module_1.createRequire)(importMetaUrl);
|
|
24
24
|
(0, utils_js_1.assertIsNotProductionRuntime)();
|
|
25
|
+
installSourceMapSupport();
|
|
25
26
|
const debug = (0, utils_js_1.createDebugger)('vike:pointer-imports');
|
|
26
27
|
const debugEsbuildResolve = (0, utils_js_1.createDebugger)('vike:esbuild-resolve');
|
|
27
28
|
if (debugEsbuildResolve.isActivated)
|
|
@@ -168,14 +169,17 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
|
|
|
168
169
|
// - vike@0.4.162 started soft-requiring Vike extensions to set the name config.
|
|
169
170
|
// - In practice, it seems like it requires some (non-trivial?) refactoring.
|
|
170
171
|
isVikeExtensionImport;
|
|
172
|
+
// Externalize npm package imports
|
|
171
173
|
(0, utils_js_1.assertPosixPath)(importPathResolved);
|
|
172
|
-
const
|
|
174
|
+
const isNpmPkgImport = importPathResolved.includes('/node_modules/') ||
|
|
175
|
+
// Linked npm packages
|
|
176
|
+
!importPathResolved.startsWith(userRootDir);
|
|
173
177
|
const isExternal = isPointerImport ||
|
|
174
178
|
// Performance: npm package imports can be externalized. (We could as well let esbuild transpile /node_modules/ code but it's useless as /node_modules/ code is already built. It would unnecessarily slow down transpilation.)
|
|
175
|
-
|
|
179
|
+
isNpmPkgImport;
|
|
176
180
|
if (!isExternal) {
|
|
177
181
|
// User-land config code (i.e. not runtime code) => let esbuild transpile it
|
|
178
|
-
(0, utils_js_1.assert)(!isPointerImport && !
|
|
182
|
+
(0, utils_js_1.assert)(!isPointerImport && !isNpmPkgImport);
|
|
179
183
|
if (debug.isActivated)
|
|
180
184
|
debug('onResolved()', { args, resolved, isPointerImport, isExternal });
|
|
181
185
|
return resolved;
|
|
@@ -194,7 +198,7 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
|
|
|
194
198
|
userRootDir
|
|
195
199
|
});
|
|
196
200
|
// We assuming that path aliases always resolve inside `userRootDir`.
|
|
197
|
-
if (filePathAbsoluteUserRootDir && !
|
|
201
|
+
if (filePathAbsoluteUserRootDir && !isNpmPkgImport) {
|
|
198
202
|
// `importPathOriginal` is a path alias.
|
|
199
203
|
// - We have to use esbuild's path alias resolution, because:
|
|
200
204
|
// - Vike doesn't resolve path aliases at all.
|
|
@@ -216,7 +220,7 @@ async function transpileWithEsbuild(filePath, userRootDir, transformImports) {
|
|
|
216
220
|
// Import of runtime code => handled by Vike
|
|
217
221
|
isPointerImport ||
|
|
218
222
|
// Import of config code => loaded by Node.js at build-time
|
|
219
|
-
|
|
223
|
+
isNpmPkgImport);
|
|
220
224
|
pointerImports[importPathTranspiled] = isPointerImport;
|
|
221
225
|
return { external: true, path: importPathTranspiled };
|
|
222
226
|
});
|
|
@@ -403,3 +407,11 @@ function cleanEsbuildErrors(errors) {
|
|
|
403
407
|
// ```
|
|
404
408
|
!note.text.includes('as external to exclude it from the bundle'))));
|
|
405
409
|
}
|
|
410
|
+
function installSourceMapSupport() {
|
|
411
|
+
// Don't break Vitest's source mapping
|
|
412
|
+
if ((0, utils_js_1.isVitest)())
|
|
413
|
+
return;
|
|
414
|
+
// How about other test runners?
|
|
415
|
+
// Should we call installSourceMapSupport() lazily in transpileAndExecuteFile() instead?
|
|
416
|
+
source_map_support_1.default.install();
|
|
417
|
+
}
|