From bc235a87866331c4e3ac4f12fa1e2d53f7845bf7 Mon Sep 17 00:00:00 2001 From: Rom Date: Wed, 26 Feb 2025 12:14:39 +0100 Subject: [PATCH] minor stuff (#2226) --- .../v1-design/getVikeConfig/crawlPlusFiles.ts | 24 +++++++++++++------ .../pages/+some.telefunc.js | 0 2 files changed, 17 insertions(+), 7 deletions(-) create mode 100644 vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/test-file-structure/pages/+some.telefunc.js diff --git a/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.ts b/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.ts index 53c70102d63..b4216034580 100644 --- a/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.ts +++ b/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.ts @@ -15,7 +15,8 @@ import { deepEqual, assertUsage, assertFilePathAbsoluteFilesystem, - assertWarning + assertWarning, + hasProp } from '../../../../utils.js' import path from 'path' import { glob } from 'tinyglobby' @@ -23,6 +24,7 @@ import { exec } from 'child_process' import { promisify } from 'util' import { isTemporaryBuildFile } from './transpileAndExecuteFile.js' import { getEnvVarObject } from '../../../../shared/getEnvVarObject.js' +import pc from '@brillout/picocolors' const execA = promisify(exec) const debug = createDebugger('vike:crawl') @@ -58,8 +60,10 @@ async function crawlPlusFiles( !outDirRelativeFromUserRootDir.startsWith('../')) ) + const crawSettings = getCrawlSettings() + // Crawl - const filesGit = !isGitCrawlDisabled() && (await gitLsFiles(userRootDir, outDirRelativeFromUserRootDir)) + const filesGit = crawSettings.git !== false && (await gitLsFiles(userRootDir, outDirRelativeFromUserRootDir)) const filesGitNothingFound = !filesGit || filesGit.length === 0 const filesGlob = (filesGitNothingFound || debug.isActivated) && (await tinyglobby(userRootDir, outDirRelativeFromUserRootDir)) @@ -173,8 +177,7 @@ async function tinyglobby(userRootDir: string, outDirRelativeFromUserRootDir: st const options = { ignore: getIgnoreAsPatterns(outDirRelativeFromUserRootDir), cwd: userRootDir, - dot: false, - expandDirectories: false + dot: false } const files = await glob(pattern, options) // Make build deterministic, in order to get a stable generated hash for dist/client/assets/entries/entry-client-routing.${hash}.js @@ -271,9 +274,15 @@ async function runCmd2(cmd: string, cwd: string): Promise<{ err: unknown } | { s return { stdout, stderr } } -function isGitCrawlDisabled() { - const crawSettings = getEnvVarObject('VIKE_CRAWL') - return crawSettings?.git === false +function getCrawlSettings() { + const crawlSettings = getEnvVarObject('VIKE_CRAWL') ?? {} + const wrongUsage = (settingName: string, settingType: 'boolean') => + `Setting ${pc.cyan(settingName)} in VIKE_CRAWL should be a ${pc.cyan(settingType)}` + assertUsage( + hasProp(crawlSettings, 'git', 'boolean') || hasProp(crawlSettings, 'git', 'undefined'), + wrongUsage('git', 'boolean') + ) + return crawlSettings } function isPlusFile(filePath: string): boolean { @@ -293,6 +302,7 @@ function getPlusFileValueConfigName(filePath: string): string | null { assertUsage(configName !== '', `${filePath} Invalid filename ${fileName}`) return configName } + /* https://github.com/vikejs/vike/issues/1407 function assertNoUnexpectedPlusSign(filePath: string, fileName: string) { const dirs = path.posix.dirname(filePath).split('/') diff --git a/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/test-file-structure/pages/+some.telefunc.js b/vike/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/test-file-structure/pages/+some.telefunc.js new file mode 100644 index 00000000000..e69de29bb2d