From 318c14fa7c9fb949d74b7d9fae416e917766cf05 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sat, 9 Aug 2025 01:06:32 +0530 Subject: [PATCH] fix: make paths in `watchedFiles` absolute as mentioned in the docs --- __tests__/e2e/dynamic-routes/[id].paths.ts | 2 +- src/node/contentLoader.ts | 5 ++++- src/node/plugins/dynamicRoutesPlugin.ts | 5 ++++- src/node/plugins/staticDataPlugin.ts | 5 ++++- src/node/utils/glob.ts | 1 + 5 files changed, 14 insertions(+), 4 deletions(-) diff --git a/__tests__/e2e/dynamic-routes/[id].paths.ts b/__tests__/e2e/dynamic-routes/[id].paths.ts index 12a8bc32..a1cb6fef 100644 --- a/__tests__/e2e/dynamic-routes/[id].paths.ts +++ b/__tests__/e2e/dynamic-routes/[id].paths.ts @@ -6,7 +6,7 @@ export default defineRoutes({ // console.log('watchedFiles', watchedFiles) return paths }, - watch: ['**/data-loading/**/*.json'], + watch: ['../data-loading/**/*.json'], async transformPageData(pageData) { // console.log('transformPageData', pageData.filePath) pageData.title += ' - transformed' diff --git a/src/node/contentLoader.ts b/src/node/contentLoader.ts index 7b32b619..406dcf6d 100644 --- a/src/node/contentLoader.ts +++ b/src/node/contentLoader.ts @@ -95,7 +95,10 @@ export function createContentLoader( async load(files?: string[]) { // the loader is being called directly, do a fresh glob - files = files ?? (await glob(watch, options.globOptions)) + files ??= await glob(watch, { + absolute: true, + ...options.globOptions + }) const md = await createMarkdownRenderer( config.srcDir, diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts index 70294e1d..afc68be5 100644 --- a/src/node/plugins/dynamicRoutesPlugin.ts +++ b/src/node/plugins/dynamicRoutesPlugin.ts @@ -308,7 +308,10 @@ async function resolveDynamicRoutes( let pathsData: UserRouteConfig[] if (typeof loader === 'function') { - const watchedFiles = await glob(watch, options.globOptions) + const watchedFiles = await glob(watch, { + absolute: true, + ...options.globOptions + }) pathsData = await loader(watchedFiles) } else { pathsData = loader diff --git a/src/node/plugins/staticDataPlugin.ts b/src/node/plugins/staticDataPlugin.ts index 05065c27..5f8f260b 100644 --- a/src/node/plugins/staticDataPlugin.ts +++ b/src/node/plugins/staticDataPlugin.ts @@ -97,7 +97,10 @@ export const staticDataPlugin: Plugin = { } // load the data - const watchedFiles = await glob(watch, options.globOptions) + const watchedFiles = await glob(watch, { + absolute: true, + ...options.globOptions + }) const data = await load(watchedFiles) // record loader module for HMR diff --git a/src/node/utils/glob.ts b/src/node/utils/glob.ts index 53b11b4b..cd7c2e34 100644 --- a/src/node/utils/glob.ts +++ b/src/node/utils/glob.ts @@ -3,6 +3,7 @@ import { glob as _glob } from 'tinyglobby' import { normalizePath } from 'vite' export interface GlobOptions { + absolute?: boolean cwd?: string ignore?: string | string[] dot?: boolean