Files
zkldi_Tachi/server/package.json
T
nairobiandzk 0a0fc57134 feat: O.N.G.E.K.I. Re:Fresh rating algorithm (#1263)
* feat: Re:Fresh support, rebased for the 6th time

* fix: migration

* fix: seeds

* fix: add tests and make them work

* fix: misc corrections

* rebased

* chore: bump rg-stats

* maybe a better migration

* attempt manual lint

* fix: star formatters

* fix: re-add name overrides

* rename them again, more consistently

* revert rbreak

* finish renaming

* i may be stupid

* refresh insights

* insight fixes

* fix: re-add platinum graphs

* delete score._id

* fix: server test

* fix: tiebreaks

* fix: what

* fix: don't kill p-score if migration is reapplied

I wonder why this could be needed

* fix: maybe notify about any errors

* docs: redefine starRating

* docs: typo

* fix(client): shrink graphs when necessary

* fix(client): use compact starfield in the insight

* feat(client): separate column for hits

* fix(client): add vertical-align

* fix: validate p-score properly

* fix: recolor AB+ to blue, actually

* fix(client): insight readability improvements

* feat(client): nicer insight lamps

* feat(client): OngekiScoreRatingCell

* fix(client): use OngekiScoreRatingCell in insight

---------

Co-authored-by: zk <ktchidev@gmail.com>
2025-07-06 19:24:30 +01:00

130 lines
3.7 KiB
JSON

{
"name": "tachi-server",
"version": "2.5.1",
"description": "A score tracking server.",
"main": "./js/main.js",
"files": [
"/js"
],
"private": true,
"scripts": {
"test": "tap",
"snap": "TAP_SNAPSHOT=1 tap",
"watchtest": "tap --watch",
"regen-grpc": "grpc_tools_node_protoc --plugin=protoc-gen-ts=node_modules/.bin/protoc-gen-ts --js_out=import_style=commonjs,binary:src/proto/generated --ts_out=service=grpc-node,mode=grpc-js:src/proto/generated --grpc_out=grpc_js:src/proto/generated --proto_path=src/proto/myt src/proto/myt/*/*.proto",
"build": "tsc -b tsconfig.build.json -v",
"typecheck": "tsc --project tsconfig.build.json --noEmit",
"lint": "eslint ./src --ext .ts",
"lint-fix": "eslint ./src --ext .ts --fix",
"start": "pnpm build && pnpm start-no-build",
"start-no-build": "NODE_PATH=js/ node js/main.js",
"start-score-worker": "NODE_PATH=js/ node js/lib/score-import/worker/worker.js",
"load-seeds": "ts-node src/scripts/load-seeds",
"recalc-everything": "ts-node src/scripts/state-sync/sync-state.ts",
"make-user-admin": "ts-node src/scripts/make-user-admin.ts $@",
"validate-database": "ts-node src/scripts/validate-database",
"dev": "NODE_PATH=js/ nodemon",
"set-indexes": "ts-node src/scripts/set-indexes.ts"
},
"author": "zk",
"license": "AGPL3",
"devDependencies": {
"@grpc/grpc-js": "^1.10.6",
"@types/google-protobuf": "^3.15.12",
"@types/supertest": "2.0.11",
"@types/tap": "15.0.5",
"glob": "^7.2.0",
"google-protobuf": "^3.21.2",
"grpc-tools": "^1.12.4",
"node-mocks-http": "1.11.0",
"nodemon": "^2.0.20",
"supertest": "6.2.2",
"tap": "workspace:../vendor/tap",
"ts-protoc-gen": "^0.15.0",
"tsconfig-paths": "3.12.0"
},
"dependencies": {
"@aws-sdk/client-s3": "3.49.0",
"@aws-sdk/signature-v4-crt": "3.49.0",
"@types/bcryptjs": "^2.4.2",
"@types/bson": "1.0.11",
"@types/bunyan": "^1.8.8",
"@types/connect-redis": "0.0.18",
"@types/express": "4.17.13",
"@types/express-rate-limit": "5.1.3",
"@types/express-serve-static-core": "4.17.29",
"@types/express-session": "1.17.4",
"@types/glob": "^7.2.0",
"@types/mkdirp": "1.0.2",
"@types/mongodb": "3.6.20",
"@types/multer": "1.4.7",
"@types/node": "18.11.18",
"@types/node-fetch": "2.5.12",
"@types/nodemailer": "^6.4.4",
"@types/rate-limit-redis": "1.7.4",
"@types/redis": "2.8.32",
"@types/rimraf": "3.0.2",
"@types/safe-json-stringify": "1.1.2",
"@types/semver": "^7.3.9",
"@valuabletouch/winston-seq": "1.3.0",
"bcryptjs": "2.4.3",
"bms-table-loader": "2.0.0",
"bullmq": "1.68.4",
"bunyan": "1.8.15",
"commander": "9.0.0",
"connect-redis": "6.1.1",
"csv-parse": "^5.0.3",
"deepmerge": "4.2.2",
"dotenv": "16.0.0",
"express": "4.20.0",
"express-async-errors": "3.1.1",
"express-prom-bundle": "^7.0.0",
"express-rate-limit": "5.5.1",
"express-session": "1.17.2",
"fast-json-stable-hash": "1.0.3",
"fast-xml-parser": "4.1.2",
"helmet": "5.0.2",
"html-entities": "^2.3.2",
"json5": "2.2.0",
"mkdirp": "1.0.4",
"mongodb": "3.6.3",
"monk": "7.3.4",
"multer": "2.0.1",
"node-cache": "5.1.2",
"node-fetch": "2.6.7",
"node-html-parser": "^5.3.3",
"nodemailer": "6.7.2",
"prudence": "0.10.0",
"rate-limit-redis": "2.1.0",
"redis": "3.1.2",
"rg-stats": "1.1.0",
"rimraf": "3.0.2",
"safe-json-stringify": "1.2.0",
"semver": "^7.3.7",
"tachi-common": "workspace:../common",
"ts-node": "10.9.1",
"typescript": "4.9.4",
"winston": "3.5.1",
"winston-loki": "^6.1.0",
"winston-transport": "4.5.0"
},
"nyc": {
"reporter": [
"html",
"lcov"
],
"all": true,
"include": [
"src/*/!(test-utils)/**/*.ts"
],
"exclude": [
"src/**/*.test.ts",
"src/external/mongo/schemas.ts"
]
},
"engines": {
"node": "20",
"pnpm": "8"
}
}