veritas-kanban/package.json
Brad Groux 615b9b03b4 feat(security): replace custom rate limiter with express-rate-limit
- Swap hand-rolled Map-based rate limiter for battle-tested express-rate-limit
- Built-in MemoryStore handles TTL cleanup automatically (no memory leaks)
- Uses sliding window counter algorithm instead of fixed window
- Emits both IETF draft-7 (RateLimit-*) and legacy (X-RateLimit-*) headers
- Remove duplicate inline rate limiter from settings.ts, use shared strictRateLimit middleware
- Redis not warranted for single-instance local dev tool
2026-01-28 12:22:34 -06:00

41 lines
1.2 KiB
JSON

{
"name": "veritas-kanban",
"version": "0.1.0",
"private": true,
"description": "Local-first task management and AI agent orchestration platform",
"author": "Brad Groux <brad@digitalmeld.io>",
"license": "MIT",
"type": "module",
"engines": {
"node": ">=22.0.0",
"pnpm": ">=9.0.0"
},
"packageManager": "pnpm@9.15.4",
"scripts": {
"dev": "concurrently -n server,web -c blue,green \"pnpm --filter server dev\" \"pnpm --filter web dev\"",
"build": "pnpm --filter server build && pnpm --filter web build",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"typecheck": "pnpm -r typecheck",
"test": "pnpm -r test",
"clean": "pnpm -r clean && rm -rf node_modules"
},
"devDependencies": {
"@playwright/test": "^1.58.0",
"@types/node": "^22.10.0",
"@typescript-eslint/eslint-plugin": "^8.54.0",
"@typescript-eslint/parser": "^8.54.0",
"concurrently": "^9.1.0",
"eslint": "^9.17.0",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^7.0.1",
"prettier": "^3.4.0",
"typescript": "^5.7.0",
"vitest": "^4.0.18"
},
"pnpm": {
"overrides": {
"hono": ">=4.11.7"
}
}
}