diff --git a/build/publish.ts b/build/publish.ts index d4be629d..13dd0c59 100644 --- a/build/publish.ts +++ b/build/publish.ts @@ -2,6 +2,8 @@ /* eslint-disable consistent-return */ /* eslint-disable no-await-in-loop */ /* eslint-disable import/no-dynamic-require */ +import fs from 'fs'; +import path from 'path'; import { gt } from 'semver'; import latest from 'latest-version'; import ora from 'ora'; @@ -21,7 +23,7 @@ if (CI && (GITHUB_REF !== 'refs/heads/master' || GITHUB_EVENT_NAME !== 'push')) (async () => { let folders = await getWorkspaces(); if (process.argv[2]) { - folders = folders.filter((path) => path.startsWith(process.argv[2])); + folders = folders.filter((p) => p.startsWith(process.argv[2])); } const spinner = ora(); @@ -36,6 +38,8 @@ if (CI && (GITHUB_REF !== 'refs/heads/master' || GITHUB_EVENT_NAME !== 'push')) if (!meta.private) { const version = await latest(meta.name); if (gt(meta.version, version)) { + const prepublish = path.resolve(process.cwd(), 'packages', name, 'prepublish.sh'); + if (fs.existsSync(prepublish)) await spawnAsync(prepublish); bumpMap[name] = meta.version; } } diff --git a/build/utils.ts b/build/utils.ts index d34aa25f..a05a4ae8 100644 --- a/build/utils.ts +++ b/build/utils.ts @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ import path from 'path'; import globby from 'globby'; import spawn from 'cross-spawn'; @@ -38,5 +39,6 @@ export function spawnAsync(command: string) { const child = spawn(args[0], args.slice(1), { stdio: 'inherit' }); return new Promise((resolve, reject) => { child.on('close', resolve); + child.on('error', reject); }); } diff --git a/package.json b/package.json index c69049dd..093f7384 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,7 @@ "@types/cross-spawn": "^6.0.2", "@types/jest": "^26.0.10", "@types/node": "^14.6.0", + "@types/semver": "^7.3.3", "@typescript-eslint/eslint-plugin": "^3.9.1", "@typescript-eslint/parser": "^3.9.1", "cross-spawn": "^7.0.3", diff --git a/packages/geoip/package.json b/packages/geoip/package.json index b1de0a37..e5b4f7f6 100644 --- a/packages/geoip/package.json +++ b/packages/geoip/package.json @@ -1,6 +1,6 @@ { "name": "@hydrooj/geoip", - "version": "1.1.6", + "version": "1.1.7", "main": "package.json", "repository": "git@github.com:hydro-dev/Hydro.git", "author": "undefined ", diff --git a/packages/hydrojudge/package.json b/packages/hydrojudge/package.json index 228e68cb..d6bd0e09 100644 --- a/packages/hydrojudge/package.json +++ b/packages/hydrojudge/package.json @@ -1,7 +1,7 @@ { "name": "@hydrooj/hydrojudge", - "version": "2.0.5", - "main": "package.json", + "version": "2.0.6", + "main": "dist/service.js", "author": "masnn", "os": [ "linux" @@ -28,4 +28,4 @@ "build": "tsc", "lint": "eslint . --ext ts --fix" } -} +} \ No newline at end of file diff --git a/packages/hydrooj/src/model/record.ts b/packages/hydrooj/src/model/record.ts index 345ed531..9b050149 100644 --- a/packages/hydrooj/src/model/record.ts +++ b/packages/hydrooj/src/model/record.ts @@ -61,6 +61,7 @@ export async function judge(domainId: string, rid: ObjectID) { const pdoc = await problem.get(domainId, rdoc.pid); config = pdoc?.config || {}; } + delete rdoc._id; await task.add({ ...rdoc, type: 'judge',