Skip to content

Commit 3023b5c

Browse files
huluobotxbrc-dd
huluobotx
andauthored
fix(build): respect srcExclude in content loader (#2963)
Co-authored-by: Divyansh Singh <[email protected]>
1 parent 3174f21 commit 3023b5c

File tree

6 files changed

+18
-10
lines changed

6 files changed

+18
-10
lines changed

Diff for: src/node/config.ts

+1
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ export async function resolveConfig(
9797
const config: SiteConfig = {
9898
root,
9999
srcDir,
100+
srcExclude: userConfig.srcExclude || [],
100101
assetsDir,
101102
site,
102103
themeDir,

Diff for: src/node/contentLoader.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ export function createContentLoader<T = ContentData[]>(
106106
// the loader is being called directly, do a fresh glob
107107
files = (
108108
await glob(pattern, {
109-
ignore: ['**/node_modules/**', '**/dist/**']
109+
cwd: config.srcDir,
110+
ignore: ['**/node_modules/**', '**/dist/**', ...config.srcExclude]
110111
})
111112
).sort()
112113
}

Diff for: src/node/plugin.ts

-6
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,6 @@ import { webFontsPlugin } from './plugins/webFontsPlugin'
2828
import { slash, type PageDataPayload } from './shared'
2929
import { deserializeFunctions, serializeFunctions } from './utils/fnSerialize'
3030

31-
declare module 'vite' {
32-
interface UserConfig {
33-
vitepress?: SiteConfig
34-
}
35-
}
36-
3731
const themeRE = /\/\.vitepress\/theme\/index\.(m|c)?(j|t)s$/
3832
const hashRE = /\.(\w+)\.js$/
3933
const staticInjectMarkerRE =

Diff for: src/node/plugins/dynamicRoutesPlugin.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
import fs from 'fs-extra'
88
import c from 'picocolors'
99
import path from 'path'
10-
import fg from 'fast-glob'
10+
import glob from 'fast-glob'
1111
import { type SiteConfig, type UserConfig } from '../siteConfig'
1212
import { resolveRewrites } from './rewritesPlugin'
1313

@@ -21,9 +21,13 @@ export async function resolvePages(srcDir: string, userConfig: UserConfig) {
2121
// JavaScript built-in sort() is mandated to be stable as of ES2019 and
2222
// supported in Node 12+, which is required by Vite.
2323
const allMarkdownFiles = (
24-
await fg(['**.md'], {
24+
await glob(['**.md'], {
2525
cwd: srcDir,
26-
ignore: ['**/node_modules', ...(userConfig.srcExclude || [])]
26+
ignore: [
27+
'**/node_modules/**',
28+
'**/dist/**',
29+
...(userConfig.srcExclude || [])
30+
]
2731
})
2832
).sort()
2933

Diff for: src/node/shims.d.ts

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import 'vite'
2+
3+
declare module 'vite' {
4+
interface UserConfig {
5+
vitepress?: import('./config').SiteConfig
6+
}
7+
}

Diff for: src/node/siteConfig.ts

+1
Original file line numberDiff line numberDiff line change
@@ -216,6 +216,7 @@ export interface SiteConfig<ThemeConfig = any>
216216
> {
217217
root: string
218218
srcDir: string
219+
srcExclude: string[]
219220
site: SiteData<ThemeConfig>
220221
configPath: string | undefined
221222
configDeps: string[]

0 commit comments

Comments
 (0)