- Phase 1: tkuser에 알림 CRUD, Push/ntfy 발송, 내부 알림 API 추가 - Phase 2: notifyHelper URL을 tkuser-api:3000으로 전환 (system2, tkpurchase, tksafety, system1) - Phase 3: notification-bell.js API 도메인 tkuser로 변경 + 캐시 버스팅 v=4 - Phase 4: system1에서 알림 코드 제거 (routes, controllers, models, utils) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
50 lines
1.5 KiB
JSON
50 lines
1.5 KiB
JSON
{
|
|
"name": "hyungi-api",
|
|
"version": "2.2.0",
|
|
"main": "index.js",
|
|
"scripts": {
|
|
"start": "pm2-runtime start ecosystem.config.js --env production",
|
|
"dev": "pm2-runtime start ecosystem.config.js --env development",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"test:coverage": "jest --coverage",
|
|
"test:unit": "jest tests/unit",
|
|
"test:integration": "jest tests/integration",
|
|
"test:verbose": "jest --verbose",
|
|
"setup": "node ../setup.js",
|
|
"db:migrate": "knex migrate:latest --knexfile knexfile.js",
|
|
"db:migrate:make": "knex migrate:make --knexfile knexfile.js",
|
|
"db:rollback": "knex migrate:rollback --knexfile knexfile.js",
|
|
"db:seed": "knex seed:run --knexfile knexfile.js",
|
|
"db:seed:make": "knex seed:make --knexfile knexfile.js"
|
|
},
|
|
"dependencies": {
|
|
"@simplewebauthn/server": "^13.1.1",
|
|
"async-retry": "^1.3.3",
|
|
"axios": "^1.6.7",
|
|
"bcryptjs": "^2.4.3",
|
|
"compression": "^1.8.1",
|
|
"cors": "^2.8.5",
|
|
"dotenv": "^16.4.5",
|
|
"express": "^4.18.2",
|
|
"express-rate-limit": "^7.5.1",
|
|
"express-validator": "^7.2.1",
|
|
"helmet": "^7.2.0",
|
|
"jsonwebtoken": "^9.0.0",
|
|
"knex": "^3.1.0",
|
|
"multer": "^1.4.5-lts.1",
|
|
"mysql2": "^3.14.1",
|
|
"node-cache": "^5.1.2",
|
|
"pm2": "^5.3.0",
|
|
"qrcode": "^1.5.4",
|
|
"redis": "^5.9.0",
|
|
"swagger-jsdoc": "^6.2.8",
|
|
"swagger-ui-express": "^5.0.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/jest": "^29.5.12",
|
|
"jest": "^29.7.0",
|
|
"supertest": "^7.0.0"
|
|
}
|
|
}
|