-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathpackage.json
More file actions
88 lines (88 loc) · 2.98 KB
/
package.json
File metadata and controls
88 lines (88 loc) · 2.98 KB
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
{
"name": "express-template",
"version": "1.0.0",
"packageManager": "yarn@4.13.0",
"engines": {
"node": ">=20.9.0",
"yarn": ">=3.0.0"
},
"main": "index.js",
"type": "module",
"exports": "./dist/index.js",
"repository": "git@github.com:rtivital/express-template.git",
"author": "Vitaly Rtishchev <rtivital@gmail.com>",
"license": "MIT",
"scripts": {
"prisma": "dotenv -e .env -- npx prisma",
"prisma:reset": "dotenv -e .env -- npx prisma migrate reset --force",
"prisma:migrate:test": "dotenv -e .env.test -- npx prisma migrate dev",
"start": "NODE_ENV=production node dist/index.js",
"dev": "tsx watch src",
"clean": "rimraf dist",
"build": "npm run clean && rollup -c rollup.config.js",
"lint": "eslint src --cache",
"typecheck": "tsc --noEmit",
"jest": "npm run jest:migrate && jest --runInBand",
"jest:coverage": "npm run jest:migrate && jest --runInBand --coverage && open coverage/lcov-report/index.html",
"jest:migrate": "dotenv -e .env.test -- npx prisma migrate dev",
"jest:stress": "npm run jest:migrate && for i in {1..5}; do jest --runInBand || exit 1; done",
"prettier:test": "prettier --check \"**/*.{ts,tsx}\"",
"prettier:write": "prettier --write \"**/*.{ts,tsx}\"",
"openapi:validate": "tsx src/scripts/validate-openapi.ts",
"openapi:export": "tsx src/scripts/export-openapi.ts",
"test": "npm run prettier:test && npm run typecheck && npm run lint && npm run jest"
},
"devDependencies": {
"@eslint/js": "^10.0.0",
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.6",
"@types/express-session": "^1.18.2",
"@types/jest": "^30.0.0",
"@types/node": "^25.0.3",
"@types/pg": "^8",
"@types/supertest": "^7.0.0",
"@types/swagger-ui-express": "^4.1.8",
"dotenv-cli": "^11.0.0",
"esbuild": "^0.27.2",
"eslint": "^10.0.0",
"eslint-plugin-security": "^4.0.0",
"eslint-plugin-unicorn": "^63.0.0",
"jest": "^30.2.0",
"pino-pretty": "^13.1.3",
"prettier": "^3.7.4",
"prisma": "^7.2.0",
"rimraf": "^6.1.2",
"rollup": "^4.54.0",
"rollup-plugin-esbuild": "^6.2.1",
"rollup-plugin-node-externals": "^8.1.2",
"rollup-plugin-typescript-paths": "^1.5.0",
"supertest": "^7.1.4",
"ts-jest": "^29.4.6",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"tsx": "^4.21.0",
"typescript": "^5.9.3",
"typescript-eslint": "^8.50.1"
},
"dependencies": {
"@asteasolutions/zod-to-openapi": "^8.4.0",
"@prisma/adapter-pg": "^7.2.0",
"@prisma/client": "7.5.0",
"connect-redis": "^9.0.0",
"cors": "^2.8.5",
"dotenv": "^17.2.3",
"es-toolkit": "^1.43.0",
"express": "^5.2.1",
"express-rate-limit": "^8.2.1",
"express-session": "^1.18.2",
"helmet": "^8.1.0",
"http-status": "^2.1.0",
"pg": "^8.16.3",
"pino": "^10.1.0",
"pino-http": "^11.0.0",
"redis": "^5.10.0",
"swagger-ui-express": "^5.0.1",
"zod": "^4.2.1"
}
}