From 5d340608dba52060c5a525387ec0d42d9848b17e Mon Sep 17 00:00:00 2001 From: undefined Date: Thu, 6 Oct 2022 00:30:45 +0800 Subject: [PATCH] core&ui: update type annotation for watchers --- packages/hydrooj/src/model/setting.ts | 1 - packages/hydrooj/src/service/bus.ts | 5 +++++ packages/hydrooj/src/service/watcher.ts | 2 +- packages/ui-default/index.ts | 7 +++---- 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/hydrooj/src/model/setting.ts b/packages/hydrooj/src/model/setting.ts index 0d3fa1253..8a1e6782c 100644 --- a/packages/hydrooj/src/model/setting.ts +++ b/packages/hydrooj/src/model/setting.ts @@ -258,7 +258,6 @@ export async function apply(ctx: Context) { LangSettingNode.range = range; ServerLangSettingNode.range = range; } catch (e) { /* Ignore */ } - console.log('l', langs?.cc); ctx.on('system/setting', (args) => { if (args.hydrooj?.langs) { Object.assign(langs, parseLang(args.hydrooj.langs)); diff --git a/packages/hydrooj/src/service/bus.ts b/packages/hydrooj/src/service/bus.ts index b6a975a1d..38671d733 100644 --- a/packages/hydrooj/src/service/bus.ts +++ b/packages/hydrooj/src/service/bus.ts @@ -34,6 +34,11 @@ export interface EventMap extends LifecycleEvents, HandlerEvents { 'app/started': () => void 'app/ready': () => VoidReturn 'app/exit': () => VoidReturn + 'app/before-reload': (entries: Set) => VoidReturn + 'app/reload': (entries: Set) => VoidReturn + + 'app/watch/change': (path: string) => VoidReturn + 'app/watch/unlink': (path: string) => VoidReturn 'database/connect': (db: Db) => void 'database/config': () => VoidReturn diff --git a/packages/hydrooj/src/service/watcher.ts b/packages/hydrooj/src/service/watcher.ts index 2d17023d5..f5073e6e5 100644 --- a/packages/hydrooj/src/service/watcher.ts +++ b/packages/hydrooj/src/service/watcher.ts @@ -37,7 +37,7 @@ export default class Watcher extends Service { private declined: Set; private stashed = new Set(); - constructor(public ctx, private config: any) { + constructor(public ctx: Context, private config: any) { super(ctx, 'watcher', true); this.externals = new Set(Object.keys(require.cache)); Context.service('watcher'); diff --git a/packages/ui-default/index.ts b/packages/ui-default/index.ts index 308740f9b..b3be7557d 100644 --- a/packages/ui-default/index.ts +++ b/packages/ui-default/index.ts @@ -3,7 +3,7 @@ import crypto from 'crypto'; import esbuild from 'esbuild'; import { - ContestModel, fs, Handler, Logger, ObjectID, PERM, PRIV, ProblemModel, Schema, + ContestModel, Context, fs, Handler, Logger, ObjectID, PERM, PRIV, ProblemModel, Schema, SettingModel, SystemModel, SystemSettings, UiContextBase, UserModel, } from 'hydrooj'; @@ -60,7 +60,6 @@ export async function buildUI() { if (build.errors.length) console.error(build.errors); if (build.warnings.length) console.warn(build.warnings); const pages = build.outputFiles.map((i) => i.text); - console.log('ui', SettingModel, JSON.stringify(SettingModel.langs)); const payload = [`window.LANGS=${JSON.stringify(SettingModel.langs)};`, ...pages]; const c = crypto.createHash('sha1'); @@ -219,7 +218,7 @@ class RichMediaHandler extends Handler { } } -export function apply(ctx) { +export function apply(ctx: Context) { if (process.env.HYDRO_CLI) return; ctx.Route('wiki_help', '/wiki/help', WikiHelpHandler); ctx.Route('wiki_about', '/wiki/about', WikiAboutHandler); @@ -237,7 +236,7 @@ export function apply(ctx) { debouncedBuildUI(); updateLogo(); }; - ctx.on('system/setting', triggerHotUpdate); + ctx.on('system/setting', () => triggerHotUpdate()); ctx.on('app/watch/change', triggerHotUpdate); ctx.on('app/watch/unlink', triggerHotUpdate); }