-
Notifications
You must be signed in to change notification settings - Fork 0
/
package.json
126 lines (126 loc) · 3.86 KB
/
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
{
"private": true,
"type": "module",
"name": "authentication-service",
"version": "1.0.1",
"description": "Highly secure API for authentication as a service",
"main": "dist/index.js",
"repository": {
"type": "git",
"url": "git+https://github.com/josechifflet/nodejs-jwt-auth-service"
},
"license": "MIT",
"author": {
"name": "Jose Pedro Chifflet",
"email": "josechifflet@users.noreply.github.com",
"url": "https://github.com/josechifflet"
},
"engines": {
"node": ">=22.0"
},
"keywords": [
"typescript",
"express",
"utils",
"session",
"jwt",
"rate-limit",
"slow-down",
"api",
"authentication",
"secure"
],
"bugs": {
"url": "https://github.com/josechifflet/nodejs-jwt-auth-service/issues"
},
"homepage": "https://github.com/josechifflet/nodejs-jwt-auth-service#readme",
"scripts": {
"build": "prisma generate && tsc",
"node-esm": "node --experimental-specifier-resolution=node --loader ./dev-loader.js",
"migrate": "yarn prisma migrate dev && yarn ts-node-dev cli/seed-data",
"genkeys": "yarn node-esm cli/gen-keys",
"reminder": "yarn node-esm cli/reminder",
"collision-test": "yarn node-esm cli/collision-test",
"otp-speed": "yarn node-esm cli/otp-speed",
"match-totps": "yarn node-esm cli/match-totps",
"dev": "nodemon --watch src --exec yarn node-esm src/index.ts",
"start:prod": "NODE_ENV=production node dist/index.js",
"prettier-check": "prettier --check src cli",
"prettier-write": "prettier --write src cli",
"eslint-check": "eslint src cli --fix",
"type-check": "tsc --noEmit",
"lint": "yarn prettier-check && yarn eslint-check && yarn type-check",
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate deploy",
"test:int": "./scripts/run-int-test.sh",
"test:unit": "./scripts/run-unit-test.sh",
"test:int:ui": "vitest -c ./vitest.config.integration.ts --ui",
"test:unit:ui": "vitest -c ./vitest.config.unit.ts --ui"
},
"dependencies": {
"@prisma/client": "5.22.0",
"@types/express-jwt": "^7.4.4",
"argon2": "^0.41.1",
"bullmq": "^5.25.3",
"connect-redis": "^7.1.1",
"device-detector-js": "^3.0.3",
"dotenv": "^16.0.1",
"env-var": "^7.1.1",
"express": "^4.21.1",
"express-jwt": "^8.4.1",
"express-rate-limit": "^7.4.1",
"express-slow-down": "^2.0.3",
"express-winston": "^4.2.0",
"helmet": "^8.0.0",
"hpp": "^0.2.3",
"html-to-text": "^9.0.5",
"http-status-codes": "^2.2.0",
"ioredis": "^5.4.1",
"jose": "^5.9.6",
"morgan": "^1.10.0",
"nanoid": "^5.0.8",
"nodemailer": "^6.9.16",
"otpauth": "^9.3.4",
"pug": "^3.0.3",
"rate-limit-redis": "^4.2.0",
"redis": "^4.7.0",
"request-ip": "^3.3.0",
"toobusy-js": "^0.5.1",
"winston": "^3.16.0",
"zod": "^3.23.8"
},
"devDependencies": {
"@eslint/js": "^9.14.0",
"@tsconfig/node20": "^20.1.4",
"@types/cookie-parser": "^1.4.3",
"@types/express": "^5.0.0",
"@types/express-slow-down": "^1.3.2",
"@types/hpp": "^0.2.2",
"@types/html-to-text": "^9.0.4",
"@types/morgan": "^1.9.3",
"@types/node": "^22.9.0",
"@types/nodemailer": "^6.4.16",
"@types/pug": "^2.0.6",
"@types/rate-limit-redis": "^3.0.0",
"@types/request-ip": "^0.0.41",
"@types/supertest": "^6.0.2",
"@types/toobusy-js": "^0.5.2",
"dpdm": "^3.9.0",
"eslint": "9.14.0",
"eslint-plugin-simple-import-sort": "^12.1.1",
"globals": "^15.11.0",
"lint-staged": "^15.2.10",
"nodemon": "^3.1.7",
"prettier": "^3.3.3",
"prisma": "^5.22.0",
"supertest": "^7.0.0",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.6.3",
"typescript-eslint": "^8.13.0",
"vitest": "^2.1.4"
},
"lint-staged": {
"*.ts": "eslint --cache --cache-location .eslintcache --fix && prettier --write"
}
}