From 8438cd546be66e4d8d8ed7ae90fb28b7686d64c7 Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Wed, 10 Jul 2024 07:41:10 +0800 Subject: [PATCH] =?UTF-8?q?perf(theme):=20=E4=BC=98=E5=8C=96=E4=B8=BB?= =?UTF-8?q?=E9=A2=98=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6=E7=9B=91=E5=90=AC?= =?UTF-8?q?=E6=B5=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- theme/src/node/loadConfig/loader.ts | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/theme/src/node/loadConfig/loader.ts b/theme/src/node/loadConfig/loader.ts index 4a31030b..ec1425aa 100644 --- a/theme/src/node/loadConfig/loader.ts +++ b/theme/src/node/loadConfig/loader.ts @@ -27,7 +27,6 @@ export interface Loader { dependencies: string[] load: () => Promise<{ config: ThemeConfig, dependencies: string[] }> loaded: boolean - watcher: FSWatcher | null changeEvents: ChangeEvent[] whenLoaded: ChangeEvent[] defaultConfig: ThemeConfig @@ -47,7 +46,6 @@ export async function initConfigLoader( dependencies: [], load: () => compiler(loader!.configFile), loaded: false, - watcher: null, changeEvents: [], whenLoaded: [], defaultConfig, @@ -64,7 +62,7 @@ export async function initConfigLoader( const { config, dependencies = [] } = await loader.load() loader.loaded = true - addDependencies(dependencies) + loader.dependencies = [...dependencies] updateResolvedConfig(app, config) runChangeEvents() @@ -81,14 +79,14 @@ export function watchConfigFile(app: App, watchers: any[]) { cwd: path.join(path.dirname(loader.configFile), '../'), }) - addDependencies() + addDependencies(watcher) watcher.on('change', async () => { if (loader) { loader.loaded = false const { config, dependencies = [] } = await loader.load() loader.loaded = true - addDependencies(dependencies) + addDependencies(watcher, dependencies) updateResolvedConfig(app, config) runChangeEvents() } @@ -99,8 +97,6 @@ export function watchConfigFile(app: App, watchers: any[]) { runChangeEvents() }) - loader.watcher = watcher - watchers.push(watcher) } @@ -147,7 +143,7 @@ function runChangeEvents() { } } -function addDependencies(dependencies?: string[]) { +function addDependencies(watcher: FSWatcher, dependencies?: string[]) { if (!loader) return @@ -155,9 +151,9 @@ function addDependencies(dependencies?: string[]) { const deps = dependencies .filter(dep => !loader!.dependencies.includes(dep) && dep[0] === '.') loader.dependencies.push(...deps) - deps.length && loader.watcher?.add(deps) + watcher.add(deps) } else { - loader.watcher?.add(loader.dependencies) + watcher.add(loader.dependencies) } }