- Add maxmind library for GeoIP database lookups when not behind Cloudflare - Extract client IP from multiple header sources (CF, X-Real-IP, X-Forwarded-For, etc.) - Change device fingerprints from UUID to base58 with device_ prefix - Add isValidDeviceFingerprint() that accepts both new and legacy formats - Colocate unit tests with source files, remove __tests__/unit directory - Add test coverage reporting to test script Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
46 lines
1.3 KiB
JSON
46 lines
1.3 KiB
JSON
{
|
|
"name": "@reviq/api-server",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "bun run --hot src/index.ts",
|
|
"build": "bun build src/index.ts --compile --outfile dist/api-server",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "eslint . --cache",
|
|
"clean": "rm -rf dist .eslintcache",
|
|
"test:e2e": "bun test src/__tests__/e2e --no-parallel",
|
|
"test": "bun test --coverage src/utils"
|
|
},
|
|
"dependencies": {
|
|
"@formatjs/intl-durationformat": "^0.9.2",
|
|
"@noble/hashes": "^2.0.1",
|
|
"@orpc/experimental-pino": "^1.13.2",
|
|
"@orpc/server": "^1.13.2",
|
|
"@reviq/api-contract": "workspace:*",
|
|
"@reviq/db": "workspace:*",
|
|
"@reviq/db-schema": "workspace:*",
|
|
"@reviq/utils": "workspace:*",
|
|
"@scure/base": "^2.0.0",
|
|
"@simplewebauthn/server": "^13.2.2",
|
|
"@simplewebauthn/types": "^12.0.0",
|
|
"kysely": "^0.28.2",
|
|
"maxmind": "^5.0.3",
|
|
"pino": "^10.1.0",
|
|
"postmark": "^4.0.5",
|
|
"zxcvbn": "^4.4.2"
|
|
},
|
|
"devDependencies": {
|
|
"@macalinao/eslint-config": "catalog:",
|
|
"@macalinao/tsconfig": "catalog:",
|
|
"@reviq/virtual-authenticator": "workspace:*",
|
|
"@types/bun": "catalog:",
|
|
"@types/pg": "^8.16.0",
|
|
"@types/zxcvbn": "^4.4.5",
|
|
"eslint": "catalog:",
|
|
"pg": "^8.16.3",
|
|
"pino-pretty": "^13.1.3",
|
|
"typescript": "catalog:"
|
|
}
|
|
}
|