fix: respect user configured `srcDir`

pull/4660/head
Yuxuan Zhang 6 months ago
parent 38513dcfdb
commit c8bef32aaf
No known key found for this signature in database
GPG Key ID: 6910B04F3351EF7D

@ -187,11 +187,12 @@ function dirname(path: string) {
async function gatherAdditionalConfig( async function gatherAdditionalConfig(
root: string, root: string,
command: 'serve' | 'build', command: 'serve' | 'build',
mode: string mode: string,
srcDir: string = '.'
): Promise<[AdditionalConfigDict, string[][]]> { ): Promise<[AdditionalConfigDict, string[][]]> {
const pattern = `**/config.{${supportedConfigExtensions.join(',')}}` const pattern = `**/config.{${supportedConfigExtensions.join(',')}}`
const candidates = await glob(pattern, { const candidates = await glob(pattern, {
cwd: root, cwd: path.resolve(root, srcDir),
dot: false, // conveniently ignores .vitepress/* dot: false, // conveniently ignores .vitepress/*
ignore: ['**/node_modules/**', '**/.git/**'] ignore: ['**/node_modules/**', '**/.git/**']
}) })
@ -201,7 +202,7 @@ async function gatherAdditionalConfig(
const id = '/' + dirname(slash(file)) const id = '/' + dirname(slash(file))
const configExports = await loadConfigFromFile( const configExports = await loadConfigFromFile(
{ command, mode }, { command, mode },
normalizePath(path.resolve(root, file)), normalizePath(path.resolve(root, srcDir, file)),
root root
).catch(console.error) // Skip additionalConfig file if it fails to load ).catch(console.error) // Skip additionalConfig file if it fails to load
if (!configExports) { if (!configExports) {
@ -214,7 +215,7 @@ async function gatherAdditionalConfig(
) )
) )
if (mode === 'development') if (mode === 'development')
(configExports.config as any)['[VP_SOURCE]'] = file (configExports.config as any)['[VP_SOURCE]'] = '/' + slash(file)
return [id, configExports.config as AdditionalConfig] return [id, configExports.config as AdditionalConfig]
}) })
) )
@ -254,7 +255,8 @@ export async function resolveUserConfig(
const [additionalConfig, additionalDeps] = await gatherAdditionalConfig( const [additionalConfig, additionalDeps] = await gatherAdditionalConfig(
root, root,
command, command,
mode mode,
userConfig.srcDir
) )
userConfig.additionalConfig = additionalConfig userConfig.additionalConfig = additionalConfig
configDeps = configDeps.concat(...additionalDeps) configDeps = configDeps.concat(...additionalDeps)

Loading…
Cancel
Save