diff --git a/package.json b/package.json index 747f22b..c4a2f7e 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "dev": "cross-env NODE_ENV=development nodemon --delay 2.5 -e js,cjs,mjs --exec node dist/app.cjs", "dev:watch": "concurrently -n \"Watch,Dev\" -c \"green,blue\" \"npm run watch\" \"sleep 1 && npm run dev\" ", "test": "NODE_ENV=development node --experimental-vm-modules node_modules/jest/bin/jest.js --detectOpenHandles ", - "build": "cross-env ENV=production webpack --mode=production", + "build": "cross-env ENV=production webpack --mode=production ", "build:sh": "cross-env webpack --mode=production -c ./webpack.shell.config.cjs", "deploy": "scp ./dist/app.cjs light:~/apps/codeflow/backend", "deploy:sh": "", @@ -22,7 +22,7 @@ "docker:build:gitea": "docker build -t git.xiongxiao.me/abearxiong/code-flow:v0.0.2 .", "docker:push:gitea": "docker push git.xiongxiao.me/abearxiong/code-flow:v0.0.2", "dts": "./node_modules/.bin/dts-bundle-generator -o types/index.d.ts src/type.ts", - "postinstall": "patch-package" + "postinstall2": "patch-package" }, "keywords": [], "types": "types/index.d.ts", @@ -31,7 +31,7 @@ ], "license": "ISC", "dependencies": { - "@abearxiong/router": "0.0.1-alpha.28", + "@abearxiong/router": "0.0.1-alpha.32", "@abearxiong/use-config": "^0.0.2", "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.4", @@ -48,7 +48,7 @@ "pg": "^8.13.0", "semver": "^7.6.3", "sequelize": "^6.37.3", - "socket.io": "^4.7.5", + "socket.io": "^4.8.0", "strip-ansi": "^7.1.0", "uuid": "^10.0.0", "zod": "^3.23.8" @@ -67,7 +67,7 @@ "cross-env": "^7.0.3", "fork-ts-checker-webpack-plugin": "^9.0.2", "jest": "^29.7.0", - "nodemon": "^3.1.6", + "nodemon": "^3.1.7", "patch-package": "^8.0.0", "postinstall-postinstall": "^2.1.0", "supertest": "^7.0.0", @@ -79,9 +79,5 @@ "webpack-cli": "^5.1.4", "webpack-node-externals": "^3.0.0" }, - "pnpm": { - "patchedDependencies": { - "@abearxiong/router@0.0.1-alpha.28": "patches/@abearxiong__router@0.0.1-alpha.28.patch" - } - } + "pnpm": {} } \ No newline at end of file diff --git a/patches/@abearxiong__router@0.0.1-alpha.28.patch b/patches/@abearxiong__router@0.0.1-alpha.28.patch deleted file mode 100644 index 276a941..0000000 --- a/patches/@abearxiong__router@0.0.1-alpha.28.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/dist/route.d.ts b/dist/route.d.ts -index 28ae5103aea403c9bf71f7fc897d3d0aecd17c70..f900e21871df3586f05105504228695e31725256 100644 ---- a/dist/route.d.ts -+++ b/dist/route.d.ts -@@ -1,4 +1,5 @@ - import { Schema, Rule } from './validator/index.ts'; -+export type RouterContextT = { code?:number, [key: string]: any}; - export type RouteContext = { -@@ -22,7 +23,7 @@ export type RouteContext = (ctx?: RouteContext) => Promise; -+export type Run = (ctx?: RouteContext) => Promise | null | void>; - export type NextRoute = Pick; - export type RouteOpts = { - path?: string; -@@ -43,7 +44,7 @@ export type RouteOpts = { - verifyKey?: (key: string, ctx?: RouteContext, dev?: boolean) => boolean; - idUsePath?: boolean; - }; --export type DefineRouteOpts = Omit; -+export type DefineRouteOpts = Omit; - declare const pickValue: readonly ["path", "key", "id", "description", "type", "validator", "middleware"]; - export type RouteInfo = Pick; - export declare class Route { -@@ -109,9 +110,9 @@ export declare class Route { - error?: undefined; - }; - define(opts: DefineRouteOpts): this; -- define(fn: Run): this; -- define(key: string, fn: Run): this; -- define(path: string, key: string, fn: Run): this; -+ define(fn: Run): this; -+ define(key: string, fn: Run): this; -+ define(path: string, key: string, fn: Run): this; - addTo(router: QueryRouter | { - add: (route: Route) => void; - [key: string]: any; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6458584..0938ee7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,18 +4,13 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -patchedDependencies: - '@abearxiong/router@0.0.1-alpha.28': - hash: 5da5h3tdxupyye4tbx43bkkmem - path: patches/@abearxiong__router@0.0.1-alpha.28.patch - importers: .: dependencies: '@abearxiong/router': - specifier: 0.0.1-alpha.28 - version: 0.0.1-alpha.28(patch_hash=5da5h3tdxupyye4tbx43bkkmem) + specifier: 0.0.1-alpha.32 + version: 0.0.1-alpha.32 '@abearxiong/use-config': specifier: ^0.0.2 version: 0.0.2 @@ -65,8 +60,8 @@ importers: specifier: ^6.37.3 version: 6.37.3(pg@8.13.0) socket.io: - specifier: ^4.7.5 - version: 4.7.5 + specifier: ^4.8.0 + version: 4.8.0 strip-ansi: specifier: ^7.1.0 version: 7.1.0 @@ -117,8 +112,8 @@ importers: specifier: ^29.7.0 version: 29.7.0(@types/node@22.5.5)(ts-node@10.9.2(@types/node@22.5.5)(typescript@5.6.2)) nodemon: - specifier: ^3.1.6 - version: 3.1.6 + specifier: ^3.1.7 + version: 3.1.7 patch-package: specifier: ^8.0.0 version: 8.0.0 @@ -152,8 +147,8 @@ importers: packages: - '@abearxiong/router@0.0.1-alpha.28': - resolution: {integrity: sha512-WOSonpdaadxdyIhCExGSfb012npyRCuuHU7NuiPCzbwLqooUipJxEtGrMLNa0SyIlVjx7CdZpdaW0GCeKEloKA==, tarball: https://npm.pkg.github.com/download/@abearxiong/router/0.0.1-alpha.28/305eca3912cb26298f205410f562695f99086463} + '@abearxiong/router@0.0.1-alpha.32': + resolution: {integrity: sha512-ZbGSV7RjKQGQ650Oe6HJBT12SmY7UjaWgSwRVxCF0GdQXxeAlVm0w95tupZvvUXU6+wunozB/IH+YdYqK+64jQ==, tarball: https://npm.pkg.github.com/download/@abearxiong/router/0.0.1-alpha.32/bb54dcffda24b6c7af8caf6016c61391c2aaff1b} '@abearxiong/use-config@0.0.2': resolution: {integrity: sha512-IBOmeP46ykbDlkplFS65UsAHjyPDKnvS2oqbkpLWhbSwDbF5zhBnD4ibsFZKPCyc3lMlPeRqYva4x6puX3E/qQ==, tarball: https://npm.pkg.github.com/download/@abearxiong/use-config/0.0.2/59fbeec8c8e086ec48e55024fe39020b079e6fa5} @@ -942,8 +937,8 @@ packages: '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -993,8 +988,8 @@ packages: '@types/supertest@6.0.2': resolution: {integrity: sha512-137ypx2lk/wTQbW6An6safu9hXmajAifU/s7szAHLN/FeIm5w7yR0Wkl9fdJMRSHwOn4HLAI0DaB2TOORuhPDg==} - '@types/validator@13.12.1': - resolution: {integrity: sha512-w0URwf7BQb0rD/EuiG12KP0bailHKHP5YVviJG9zw3ykAokL0TuxU2TUqMB7EwZ59bDHYdeTIvjI5m0S7qHfOA==} + '@types/validator@13.12.2': + resolution: {integrity: sha512-6SlHBzUW8Jhf3liqrGGXyTJSIFe4nqlJ5A5KaMZ2l/vbM3Wh3KSybots/wfWVzNLK4D1NZluDlSQIbIEPx6oyA==} '@types/webpack-env@1.18.5': resolution: {integrity: sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==} @@ -1288,8 +1283,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001660: - resolution: {integrity: sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==} + caniuse-lite@1.0.30001662: + resolution: {integrity: sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1495,8 +1490,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.23: - resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==} + electron-to-chromium@1.5.27: + resolution: {integrity: sha512-o37j1vZqCoEgBuWWXLHQgTN/KDKe7zwpiY5CPeq2RvUqOyJw9xnrULzZAEVQ5p4h+zjMk7hgtOoPdnLxr7m/jw==} emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} @@ -1509,8 +1504,8 @@ packages: resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==} engines: {node: '>=10.0.0'} - engine.io@6.5.5: - resolution: {integrity: sha512-C5Pn8Wk+1vKBoHghJODM63yk8MvrO9EWZUfkAt5HAqIgPE4/8FF0PEGHXtEd40l223+cE5ABWuPzm38PHFXfMA==} + engine.io@6.6.1: + resolution: {integrity: sha512-NEpDCw9hrvBW+hVEOK4T7v0jFJ++KgtPl4jKFwsZVfG1XhS0dCrSb3VMb9gPAd7VAdW52VT1EnaNiU2vM8C0og==} engines: {node: '>=10.2.0'} enhanced-resolve@5.17.1: @@ -2264,8 +2259,8 @@ packages: node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} - nodemon@3.1.6: - resolution: {integrity: sha512-C8ymJbXpTTinxjWuMfMxw0rZhTn/r7ypSGldQyqPEgDEaVwAthqC0aodsMwontnAInN9TuPwRLeBoyhmfv+iSA==} + nodemon@3.1.7: + resolution: {integrity: sha512-hLj7fuMow6f0lbB0cD14Lz2xNjwsyruH251Pk4t/yIitCFJbmY1myuLlHm/q06aST4jg6EgAh74PIBBrRqpVAQ==} engines: {node: '>=10'} hasBin: true @@ -2359,9 +2354,6 @@ packages: pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - pg-connection-string@2.7.0: resolution: {integrity: sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==} @@ -2668,8 +2660,8 @@ packages: resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==} engines: {node: '>=10.0.0'} - socket.io@4.7.5: - resolution: {integrity: sha512-DmeAkF6cwM9jSfmp6Dr/5/mfMwb5Z5qRrSXLpo3Fq5SqyU8CMF15jIN4ZhfSwu35ksM1qmHZDQ/DK5XTccSTvA==} + socket.io@4.8.0: + resolution: {integrity: sha512-8U6BEgGjQOfGz3HHTYaC/L1GaxDCJ/KM0XTkJly0EhZ5U/du9uNEZy4ZgYzEzIqlx2CMm25CrCqr1ck899eLNA==} engines: {node: '>=10.2.0'} source-map-support@0.5.13: @@ -2792,8 +2784,8 @@ packages: uglify-js: optional: true - terser@5.32.0: - resolution: {integrity: sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==} + terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true @@ -3046,6 +3038,18 @@ packages: utf-8-validate: optional: true + ws@8.18.0: + resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + xml2js@0.5.0: resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} engines: {node: '>=4.0.0'} @@ -3091,7 +3095,12 @@ packages: snapshots: - '@abearxiong/router@0.0.1-alpha.28(patch_hash=5da5h3tdxupyye4tbx43bkkmem)': {} + '@abearxiong/router@0.0.1-alpha.32': + dependencies: + ws: 8.18.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate '@abearxiong/use-config@0.0.2': {} @@ -4176,7 +4185,7 @@ snapshots: dependencies: '@types/ms': 0.7.34 - '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} '@types/graceful-fs@4.1.9': dependencies: @@ -4233,7 +4242,7 @@ snapshots: '@types/methods': 1.1.4 '@types/superagent': 8.1.9 - '@types/validator@13.12.1': {} + '@types/validator@13.12.2': {} '@types/webpack-env@1.18.5': {} @@ -4534,8 +4543,8 @@ snapshots: browserslist@4.23.3: dependencies: - caniuse-lite: 1.0.30001660 - electron-to-chromium: 1.5.23 + caniuse-lite: 1.0.30001662 + electron-to-chromium: 1.5.27 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) @@ -4567,7 +4576,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001660: {} + caniuse-lite@1.0.30001662: {} chalk@2.4.2: dependencies: @@ -4765,7 +4774,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.23: {} + electron-to-chromium@1.5.27: {} emittery@0.13.1: {} @@ -4773,7 +4782,7 @@ snapshots: engine.io-parser@5.2.3: {} - engine.io@6.5.5: + engine.io@6.6.1: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 @@ -5697,7 +5706,7 @@ snapshots: node-releases@2.0.18: {} - nodemon@3.1.6: + nodemon@3.1.7: dependencies: chokidar: 3.6.0 debug: 4.3.7(supports-color@5.5.0) @@ -5795,8 +5804,6 @@ snapshots: pg-cloudflare@1.1.1: optional: true - pg-connection-string@2.6.4: {} - pg-connection-string@2.7.0: {} pg-int8@1.0.1: {} @@ -5996,14 +6003,14 @@ snapshots: sequelize@6.37.3(pg@8.13.0): dependencies: '@types/debug': 4.1.12 - '@types/validator': 13.12.1 + '@types/validator': 13.12.2 debug: 4.3.7(supports-color@5.5.0) dottie: 2.0.6 inflection: 1.13.4 lodash: 4.17.21 moment: 2.30.1 moment-timezone: 0.5.45 - pg-connection-string: 2.6.4 + pg-connection-string: 2.7.0 retry-as-promised: 7.0.4 semver: 7.6.3 sequelize-pool: 7.1.0 @@ -6078,13 +6085,13 @@ snapshots: transitivePeerDependencies: - supports-color - socket.io@4.7.5: + socket.io@4.8.0: dependencies: accepts: 1.3.8 base64id: 2.0.0 cors: 2.8.5 debug: 4.3.7(supports-color@5.5.0) - engine.io: 6.5.5 + engine.io: 6.6.1 socket.io-adapter: 2.5.5 socket.io-parser: 4.2.4 transitivePeerDependencies: @@ -6200,10 +6207,10 @@ snapshots: jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 - terser: 5.32.0 + terser: 5.33.0 webpack: 5.94.0(webpack-cli@5.1.4) - terser@5.32.0: + terser@5.33.0: dependencies: '@jridgewell/source-map': 0.3.6 acorn: 8.12.1 @@ -6392,7 +6399,7 @@ snapshots: webpack@5.94.0(webpack-cli@5.1.4): dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 @@ -6455,6 +6462,8 @@ snapshots: ws@8.17.1: {} + ws@8.18.0: {} + xml2js@0.5.0: dependencies: sax: 1.4.1 diff --git a/src/app.ts b/src/app.ts index 41e2ce6..12adb77 100644 --- a/src/app.ts +++ b/src/app.ts @@ -8,7 +8,7 @@ export const emit = (channel: string, message: string) => { redisPublisher.publish(channel, message); }; -export const app = new App({ +export const app = new App<{ import: any, emit: typeof emit }>({ serverOptions: { cors: { origin: '*',