From f77dd8dc98be1a47fc9782fe1a7c32430794dbd9 Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 29 Sep 2022 16:07:22 +0800 Subject: [PATCH] core: watcher: fix hydrojudge hot-reload --- packages/hydrooj/src/service/watcher.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/src/service/watcher.ts b/packages/hydrooj/src/service/watcher.ts index 951550cbb..2d17023d5 100644 --- a/packages/hydrooj/src/service/watcher.ts +++ b/packages/hydrooj/src/service/watcher.ts @@ -152,10 +152,11 @@ export default class Watcher extends Service { for (const filename in require.cache) { const module = require.cache[filename]; const plugin = unwrapExports(module.exports); + if (!(typeof plugin === 'object' && 'apply' in plugin)) continue; const runtime = this.ctx.registry.get(plugin); if (!runtime || this.declined.has(filename)) continue; pending.set(filename, runtime); - if (!plugin?.['sideEffect']) this.declined.add(filename); + if (!(plugin && 'sideEffect' in plugin && plugin['sideEffect'])) this.declined.add(filename); } for (const [filename, runtime] of pending) {