diff --git a/packages/hydrojudge/src/config.ts b/packages/hydrojudge/src/config.ts index a3d2bb5c..2e0aa6a3 100644 --- a/packages/hydrojudge/src/config.ts +++ b/packages/hydrojudge/src/config.ts @@ -35,22 +35,22 @@ const newPath = path.resolve(os.homedir(), '.hydro', 'judge.yaml'); const config = global.Hydro ? JudgeSettings({}) : (() => { - const cfg = JudgeSettings({}); - const configFilePath = (process.env.CONFIG_FILE || argv.options.config) - ? path.resolve(process.env.CONFIG_FILE || argv.options.config) - : fs.existsSync(oldPath) ? oldPath : newPath; - + const base: any = {}; if (process.env.TEMP_DIR || argv.options.tmp) { - cfg.tmp_dir = path.resolve(process.env.TEMP_DIR || argv.options.tmp); + base.tmp_dir = path.resolve(process.env.TEMP_DIR || argv.options.tmp); } if (process.env.CACHE_DIR || argv.options.cache) { - cfg.cache_dir = path.resolve(process.env.CACHE_DIR || argv.options.cache); + base.cache_dir = path.resolve(process.env.CACHE_DIR || argv.options.cache); } if (process.env.EXECUTION_HOST || argv.options.sandbox) { - cfg.sandbox_host = path.resolve(process.env.EXECUTION_HOST || argv.options.sandbox); + base.sandbox_host = path.resolve(process.env.EXECUTION_HOST || argv.options.sandbox); } + const configFilePath = (process.env.CONFIG_FILE || argv.options.config) + ? path.resolve(process.env.CONFIG_FILE || argv.options.config) + : fs.existsSync(oldPath) ? oldPath : newPath; const configFile = fs.readFileSync(configFilePath, 'utf-8'); - Object.assign(cfg, yaml.load(configFile) as any); + Object.assign(base, yaml.load(configFile) as any); + const cfg = JudgeSettings(base); return JudgeSettings(cfg); })(); diff --git a/packages/hydrojudge/src/hosts/hydro.ts b/packages/hydrojudge/src/hosts/hydro.ts index e7dd227c..d1f93e3a 100644 --- a/packages/hydrojudge/src/hosts/hydro.ts +++ b/packages/hydrojudge/src/hosts/hydro.ts @@ -225,7 +225,7 @@ export default class Hydro { uname: this.config.uname, password: this.config.password, rememberme: 'on', }); const setCookie = res.headers['set-cookie']; - await this.setCookie((setCookie instanceof Array) ? setCookie.join(';') : setCookie); + await this.setCookie(Array.isArray(setCookie) ? setCookie.join(';') : setCookie); } async ensureLogin() { diff --git a/packages/hydrooj/src/service/decorators.ts b/packages/hydrooj/src/service/decorators.ts index 40ff843a..2d32c1bb 100644 --- a/packages/hydrooj/src/service/decorators.ts +++ b/packages/hydrooj/src/service/decorators.ts @@ -46,7 +46,7 @@ function _descriptor(v: ParamOption) { obj.value = function validate(this: Handler, rawArgs: any, ...extra: any[]) { if (typeof rawArgs !== 'object' || extra.length) return originalMethod.call(this, rawArgs, ...extra); const c = []; - const arglist: ParamOption[] = this.__param[target.constructor.name][funcName]; + const arglist: ParamOption[] = target.__param[target.constructor.name][funcName]; for (const item of arglist) { const src = item.source === 'all' ? rawArgs diff --git a/packages/ui-default/build/config/webpack.ts b/packages/ui-default/build/config/webpack.ts index 186423f7..3855d9df 100644 --- a/packages/ui-default/build/config/webpack.ts +++ b/packages/ui-default/build/config/webpack.ts @@ -1,7 +1,7 @@ /* eslint-disable global-require */ import { CleanWebpackPlugin } from 'clean-webpack-plugin'; import CopyWebpackPlugin from 'copy-webpack-plugin'; -import { ESBuildMinifyPlugin } from 'esbuild-loader'; +import { EsbuildPlugin } from 'esbuild-loader'; import { DuplicatesPlugin } from 'inspectpack/plugin'; import ExtractCssPlugin from 'mini-css-extract-plugin'; import MonacoWebpackPlugin from 'monaco-editor-webpack-plugin'; @@ -214,7 +214,7 @@ export default function (env: { watch?: boolean, production?: boolean, measure?: }, }, usedExports: true, - minimizer: [new ESBuildMinifyPlugin({ + minimizer: [new EsbuildPlugin({ css: true, minify: true, minifySyntax: true, diff --git a/packages/ui-default/components/socket/index.ts b/packages/ui-default/components/socket/index.ts index 760fe11e..428b1117 100644 --- a/packages/ui-default/components/socket/index.ts +++ b/packages/ui-default/components/socket/index.ts @@ -2,7 +2,7 @@ import ReconnectingWebSocket from 'reconnecting-websocket'; export default class Sock { sock: ReconnectingWebSocket; - interval: number; + interval: NodeJS.Timeout; constructor(public url: string, nocookie = false) { const i = new URL(url, window.location.href);