pull/4525/head
Divyansh Singh 7 months ago
parent f3eab24e05
commit 16a7157a1a

@ -97,20 +97,12 @@ export async function resolveConfig(
? userThemeDir
: DEFAULT_THEME_PATH
const { pages, dynamicRoutes, rewrites } = await resolvePages(
srcDir,
userConfig,
logger
)
const config: SiteConfig = {
root,
srcDir,
assetsDir,
site,
themeDir,
pages,
dynamicRoutes,
configPath,
configDeps,
outDir,
@ -135,10 +127,10 @@ export async function resolveConfig(
transformHead: userConfig.transformHead,
transformHtml: userConfig.transformHtml,
transformPageData: userConfig.transformPageData,
rewrites,
userConfig,
sitemap: userConfig.sitemap,
buildConcurrency: userConfig.buildConcurrency ?? 64
buildConcurrency: userConfig.buildConcurrency ?? 64,
...(await resolvePages(srcDir, userConfig, logger))
}
// to be shared with content loaders

@ -47,7 +47,7 @@ let __rewrites = new Map<string, string>()
function getResolutionCache(siteConfig: SiteConfig) {
// @ts-expect-error internal
if (siteConfig.__dirty !== false) {
if (siteConfig.__dirty) {
__pages = siteConfig.pages.map((p) => slash(p.replace(/\.md$/, '')))
__dynamicRoutes = new Map(

@ -14,11 +14,13 @@ import { resolveRewrites } from './rewritesPlugin'
export const dynamicRouteRE = /\[(\w+?)\]/g
let fileToModulesMap: Record<string, Set<string>> = {}
export async function resolvePages(
srcDir: string,
userConfig: UserConfig,
logger: Logger
) {
): Promise<Pick<SiteConfig, 'pages' | 'dynamicRoutes' | 'rewrites'>> {
// Important: tinyglobby doesn't guarantee order of the returned files.
// We must sort the pages so the input list to rollup is stable across
// builds - otherwise different input order could result in different exports
@ -45,19 +47,19 @@ export async function resolvePages(
;(dynamicRouteRE.test(file) ? dynamicRouteFiles : pages).push(file)
})
const dynamicRoutes = await resolveDynamicRoutes(
srcDir,
dynamicRouteFiles,
logger
)
pages.push(...dynamicRoutes.routes.map((r) => r.path))
const { routes, fileToModulesMap: fileToModulesMap_ } =
await resolveDynamicRoutes(srcDir, dynamicRouteFiles, logger)
pages.push(...routes.map((r) => r.path))
fileToModulesMap = fileToModulesMap_
const rewrites = resolveRewrites(pages, userConfig.rewrites)
return {
pages,
dynamicRoutes,
dynamicRoutes: { routes },
rewrites,
// @ts-expect-error internal flag to reload resolution cache in ../markdownToVue.ts
__dirty: true
}
}
@ -97,8 +99,6 @@ export type ResolvedRouteConfig = UserRouteConfig & {
fullPath: string
}
const fileToModulesMap: Record<string, Set<string>> = {}
export const dynamicRoutesPlugin = async (
config: SiteConfig
): Promise<Plugin> => {

Loading…
Cancel
Save