diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index e36564406..2397a34b1 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.20.11", + "version": "2.20.12", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/error.ts b/packages/hydrooj/src/error.ts index 8000f3f50..975d43a1a 100644 --- a/packages/hydrooj/src/error.ts +++ b/packages/hydrooj/src/error.ts @@ -1,7 +1,6 @@ /* eslint-disable max-len */ /* eslint-disable func-names */ import { isClass } from './utils'; -import { PERMS } from './model/builtin'; interface IHydroError { new(...args: any[]): HydroError @@ -78,7 +77,7 @@ export const VerifyPasswordError = Err('VerifyPasswordError', ForbiddenError, "P export const OpcountExceededError = Err('OpcountExceededError', ForbiddenError, 'Too frequent operations of {0} (limit: {2} operations in {1} seconds).'); export const PermissionError = Err('PermissionError', ForbiddenError, function () { if (typeof this.params[0] === 'bigint') { - this.params[0] = PERMS.find(({ key }) => key === this.params[0])?.desc || this.params[0]; + this.params[0] = require('./model/builtin').PERMS.find(({ key }) => key === this.params[0])?.desc || this.params[0]; } return "You don't have the required permission ({0}) in this domain."; }); diff --git a/packages/hydrooj/src/interface.ts b/packages/hydrooj/src/interface.ts index f7ce0cb86..d2c283ac6 100644 --- a/packages/hydrooj/src/interface.ts +++ b/packages/hydrooj/src/interface.ts @@ -337,7 +337,7 @@ export interface HistoryDoc { } // Discussion -export { Ddoc } from './model/discussion'; +export type { Ddoc } from './model/discussion'; declare module './model/discussion' { interface Ddoc { docType: document['TYPE_DISCUSSION'], diff --git a/packages/hydrooj/src/loader.ts b/packages/hydrooj/src/loader.ts index 1a41c1981..39355fcca 100644 --- a/packages/hydrooj/src/loader.ts +++ b/packages/hydrooj/src/loader.ts @@ -3,17 +3,6 @@ /* eslint-disable import/no-dynamic-require */ /* eslint-disable no-await-in-loop */ /* eslint-disable no-eval */ -import './interface'; -import os from 'os'; -import path from 'path'; -import cluster from 'cluster'; -import fs from 'fs-extra'; -import { argv } from 'yargs'; -import wtfnode from 'wtfnode'; -import './utils'; - -export * from './interface'; - if (!global.Hydro) { global.Hydro = { stat: { reqCount: 0 }, @@ -41,11 +30,19 @@ if (!global.Hydro) { }; global.addons = []; } - +import './interface'; +import os from 'os'; +import path from 'path'; +import cluster from 'cluster'; +import fs from 'fs-extra'; +import { argv } from 'yargs'; +import wtfnode from 'wtfnode'; +import './utils'; import { Logger } from './logger'; import './ui'; import * as bus from './service/bus'; +export * from './interface'; const logger = new Logger('loader'); logger.debug('%o', argv); bus.on('app/exit', () => {