upgrade to typescript@5.6 and cordis@3.18

This commit is contained in:
undefined committed 2024-10-02 08:33:52 +08:00
1 parent c3953a3ce7
commit 30e95b4511
22 files changed
+52 -46

No files matched your search

+1 -2
View File
@@ -36,6 +36,5 @@ export default class GeoIPService extends Service {
}
export async function apply(ctx: Context) {
ctx.provide('geoip');
ctx.geoip = new GeoIPService(ctx);
ctx.set('geoip', new GeoIPService(ctx));
}
+1 -1
View File
@@ -6,7 +6,7 @@
"author": "undefined <i@undefined.moe>",
"license": "AGPL-3.0-or-later",
"dependencies": {
"maxmind": "^4.3.21"
"maxmind": "^4.3.22"
},
"preferUnplugged": true
}
+6 -6
View File
@@ -12,10 +12,10 @@
},
"preferUnplugged": true,
"dependencies": {
"@aws-sdk/client-s3": "3.658.1",
"@aws-sdk/lib-storage": "3.658.1",
"@aws-sdk/s3-presigned-post": "3.658.1",
"@aws-sdk/s3-request-presigner": "3.658.1",
"@aws-sdk/client-s3": "3.662.0",
"@aws-sdk/lib-storage": "3.662.0",
"@aws-sdk/s3-presigned-post": "3.662.0",
"@aws-sdk/s3-request-presigner": "3.662.0",
"@graphql-tools/schema": "^10.0.6",
"@hydrooj/framework": "workspace:^",
"@hydrooj/utils": "workspace:^",
@@ -24,7 +24,7 @@
"@yarnpkg/libzip": "^3.1.0",
"adm-zip": "0.5.14",
"cac": "^6.7.14",
"cordis": "3.16.0",
"cordis": "3.18.1",
"detect-browser": "^5.3.0",
"emoji-regex": "^10.4.0",
"emojis-list": "2.1.0",
@@ -66,7 +66,7 @@
"@types/saslprep": "^1.0.3",
"@types/semver": "^7.5.8",
"@types/superagent": "^8.1.9",
"chokidar": "^3.6.0",
"chokidar": "^4.0.1",
"moment": "^2.30.1"
}
}
+1 -1
View File
@@ -506,7 +506,7 @@ export async function apply(ctx: Context) {
ctx.Route('user_lostpass', '/lostpass', UserLostPassHandler);
ctx.Route('user_lostpass_with_code', '/lostpass/:code', UserLostPassWithCodeHandler);
ctx.Route('user_delete', '/user/delete', UserDeleteHandler, PRIV.PRIV_USER_PROFILE);
ctx.Route('user_detail', '/user/:uid(-?\\d+)', UserDetailHandler);
ctx.Route('user_detail', '/user/:uid', UserDetailHandler);
if (system.get('server.contestmode')) {
ctx.Route('contest_mode', '/contestmode', ContestModeHandler, PRIV.PRIV_EDIT_SYSTEM);
}
+1
View File
@@ -28,6 +28,7 @@ export interface SystemKeys {
'server.url': string,
'server.xff': string,
'server.xhost': string,
'server.host': string,
'server.port': number,
'server.language': string,
'limit.problem_files_max': number,
+1 -1
View File
@@ -246,6 +246,7 @@ SystemSetting(
Setting('setting_server', 'server.upload', '256m', 'text', 'server.upload', 'Max upload file size'),
Setting('setting_server', 'server.cdn', '/', 'text', 'server.cdn', 'CDN Prefix'),
Setting('setting_server', 'server.ws', '/', 'text', 'server.ws', 'WebSocket Prefix'),
Setting('setting_server', 'server.host', '127.0.0.1', 'text', 'server.host', 'Listen host'),
Setting('setting_server', 'server.port', 8888, 'number', 'server.port', 'Server Port'),
Setting('setting_server', 'server.xff', null, 'text', 'server.xff', 'IP Header'),
Setting('setting_server', 'server.xhost', null, 'text', 'server.xhost', 'Hostname Header'),
@@ -312,7 +313,6 @@ export class SettingService extends Service {
SystemSetting = T(SystemSetting);
constructor(ctx: Context) {
super(ctx, 'setting', true);
ctx.mixin('setting', ['PreferenceSetting', 'AccountSetting', 'DomainSetting', 'DomainUserSetting', 'SystemSetting']);
}
get(key: string) {
+1
View File
@@ -138,6 +138,7 @@ export async function apply(ctx: Context) {
cors: system.get('server.cors') || '',
upload: system.get('server.upload') || '256m',
port: argv.options.port || system.get('server.port'),
host: argv.options.host || system.get('server.host'),
xff: system.get('server.xff'),
xhost: system.get('server.xhost'),
});
+3 -2
View File
@@ -49,8 +49,9 @@ export default class Watcher extends Service {
if (process.env.WATCH_ROOT) roots.push(process.env.WATCH_ROOT);
this.watcher = watch(roots, {
...this.config,
ignored: ['node_modules', '.git', 'logs', '.cache', '.yarn']
.map((i) => `**/${i}/**`).concat('**/tsconfig.tsbuildinfo'),
ignored: (file) => [
'node_modules', '.git', 'logs', '.cache', '.yarn', 'tsconfig.tsbuildinfo',
].some((rule) => file.startsWith(`${rule}/`) || file.endsWith(`/${rule}`) || file.includes(`/${rule}/`)),
});
logger.info(`Start watching changes in ${this.root}`);
+1 -2
View File
@@ -75,7 +75,6 @@ export function createRegistry(ctx: Context) {
collectDefaultMetrics({ register: registry });
ctx.provide('metrics');
ctx.metrics = registry;
ctx.set('metrics', registry);
return registry;
}
@@ -62,8 +62,7 @@ declare module '../../context' {
export default function ScratchpadContainer() {
const store = useStore();
ctx.provide('scratchpad');
ctx.scratchpad ||= new ScratchpadService(store);
ctx.set('scratchpad', new ScratchpadService(store));
const [, updateState] = React.useState<any>();
const forceUpdate = React.useCallback(() => updateState({}), []);
React.useEffect(() => {
+4 -4
View File
@@ -15,7 +15,7 @@
},
"devDependencies": {
"@blueprintjs/core": "^5.13.0",
"@cordisjs/core": "3.17.3",
"@cordisjs/core": "3.18.1",
"@fontsource/dm-mono": "^5.1.0",
"@fontsource/fira-code": "^5.1.0",
"@fontsource/inconsolata": "^5.1.0",
@@ -37,7 +37,7 @@
"@types/nunjucks": "^3.2.6",
"@types/pickadate": "^3.5.35",
"@types/qrcode": "^1.5.5",
"@types/react": "^18.3.9",
"@types/react": "^18.3.10",
"@types/react-dom": "^18.3.0",
"@types/redux-logger": "^3.0.13",
"@types/uuid": "^10.0.0",
@@ -46,7 +46,7 @@
"ajv": "^8.17.1",
"allotment": "^1.20.2",
"autoprefixer": "^10.4.20",
"browser-update": "^3.3.53",
"browser-update": "^3.3.54",
"chalk": "^5.3.0",
"classnames": "^2.5.1",
"clean-webpack-plugin": "^4.0.0",
@@ -124,7 +124,7 @@
"dependencies": {
"ansi_up": "^6.0.2",
"cssfilter": "^0.0.11",
"esbuild": "0.23.0",
"esbuild": "0.24.0",
"fs-extra": "^11.2.0",
"js-yaml": "^4.1.0",
"jsesc": "^3.0.2",
@@ -43,8 +43,7 @@ const page = new NamedPage('home_messages', () => {
reduxStore = store;
(window as any).store = reduxStore;
ctx.provide('messagepad');
ctx.messagepad = new MessagePadService(store, WebSocket);
ctx.set('messagepad', new MessagePadService(store, WebSocket));
const sock = new WebSocket(`${UiContext.ws_prefix}home/messages-conn`);
sock.onmessage = (message) => {
@@ -115,8 +115,8 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor
}
async function scratchpadFadeIn() {
// @ts-ignore
await $('#scratchpad')
// @ts-ignore
.transition(
{ opacity: 1 },
{ duration: 200, easing: 'easeOutCubic' },
@@ -125,8 +125,8 @@ const page = new NamedPage(['problem_detail', 'contest_detail_problem', 'homewor
}
async function scratchpadFadeOut() {
// @ts-ignore
await $('#scratchpad')
// @ts-ignore
.transition(
{ opacity: 0 },
{ duration: 200, easing: 'easeOutCubic' },
+2 -1
View File
@@ -69,7 +69,8 @@ String.prototype.format = function formatStr(...args) {
export function isClass(obj: any, strict = false): obj is new (...args: any) => any {
if (typeof obj !== 'function') return false;
if (obj.prototype === undefined) return false;
if (obj.prototype.constructor !== obj) return false;
// FIXME cordis proxies the object and make this assertion fail
// if (obj.prototype.constructor !== obj) return false;
if (Object.getOwnPropertyNames(obj.prototype).length >= 2) return true;
const str = obj.toString();
if (str.slice(0, 5) === 'class') return true;
+1 -1
View File
@@ -14,7 +14,7 @@
"js-yaml": "^4.1.0",
"moment-timezone": "^0.5.45",
"mongodb": "^5.9.2",
"reggol": "^1.6.3",
"reggol": "^1.7.0",
"search-query-parser": "^1.6.0",
"systeminformation": "^5.23.5"
},