-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpackage.json
More file actions
99 lines (99 loc) · 3.49 KB
/
package.json
File metadata and controls
99 lines (99 loc) · 3.49 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
89
90
91
92
93
94
95
96
97
98
99
{
"name": "node-api-skeleton",
"version": "2.2.0",
"description": "Production-ready Node.js API skeleton with Hexagonal Architecture, Fastify, TypeScript, DDD, Vitest, Docker, Prometheus, and k6",
"private": true,
"license": "MIT",
"scripts": {
"start": "node ./dist/main.js",
"dev": "nodemon --exec \"node -r @swc-node/register\" src/main.ts",
"build": "swc src -d dist --copy-files --strip-leading-paths",
"build:tsc": "tsc",
"lint": "eslint .",
"lint:fix": "eslint . --fix",
"format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md}\" \"test/**/*.{ts,tsx,js,jsx,json,md}\"",
"format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,md}\" \"test/**/*.{ts,tsx,js,jsx,json,md}\"",
"test": "npm run test:unit && npm run test:integration && npm run test:e2e",
"test:unit": "cross-env PORT=5054 vitest run test/unit",
"test:integration": "cross-env PORT=5054 vitest run test/integration",
"test:e2e": "cross-env PORT=5054 vitest run test/e2e",
"test:contract": "cross-env PORT=5054 vitest run test/contract",
"test:performance": "node scripts/run-performance-tests.js",
"test:watch": "cross-env PORT=5054 vitest",
"test:ui": "cross-env PORT=5054 vitest --ui",
"test:coverage": "cross-env PORT=5054 vitest run --coverage",
"prisma:generate:pg": "prisma generate --schema=./prisma/postgresql/schema.prisma",
"prisma:generate:mongo": "prisma generate --schema=./prisma/mongodb/schema.prisma",
"prisma:migrate:pg": "prisma migrate dev --schema=./prisma/postgresql/schema.prisma",
"prisma:push:mongo": "prisma db push --schema=./prisma/mongodb/schema.prisma",
"prisma:studio:pg": "prisma studio --schema=./prisma/postgresql/schema.prisma",
"prisma:studio:mongo": "prisma studio --schema=./prisma/mongodb/schema.prisma",
"prepare": "husky install"
},
"dependencies": {
"@fastify/cors": "^11.2.0",
"@fastify/helmet": "^13.0.2",
"@fastify/jwt": "^10.0.0",
"@fastify/rate-limit": "^10.3.0",
"@fastify/swagger": "^9.6.1",
"@fastify/swagger-ui": "^5.2.3",
"@prisma/client": "^7.2.0",
"dotenv": "^17.2.3",
"fastify": "^5.6.2",
"fastify-type-provider-zod": "^6.1.0",
"ioredis": "^5.8.2",
"prisma": "^7.2.0",
"prom-client": "^15.1.3",
"winston": "^3.19.0",
"zod": "^4.2.1",
"zod-to-json-schema": "^3.25.0"
},
"devDependencies": {
"@eslint/eslintrc": "^3.3.3",
"@eslint/js": "^9.39.2",
"@pact-foundation/pact": "^16.0.4",
"@swc-node/register": "^1.11.1",
"@swc/cli": "^0.7.9",
"@swc/core": "^1.15.7",
"@types/ioredis": "^5.0.0",
"@types/node": "^25.0.3",
"@types/supertest": "^6.0.3",
"@vitest/coverage-v8": "^4.0.16",
"@vitest/ui": "^4.0.16",
"cross-env": "^10.1.0",
"eslint": "^9.39.2",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-simple-import-sort": "^12.1.1",
"eslint-plugin-vitest": "^0.5.4",
"globals": "^16.5.0",
"husky": "^9.1.7",
"lint-staged": "^16.2.7",
"nodemon": "^3.1.11",
"pino-pretty": "^13.1.3",
"prettier": "^3.4.2",
"supertest": "^7.1.4",
"typescript": "^5.9.3",
"typescript-eslint": "^8.19.1",
"vitest": "^4.0.16"
},
"keywords": [
"Nodejs",
"Fastify",
"TypeScript",
"Hexagonal Architecture",
"Clean Architecture",
"DDD",
"SWC",
"Vitest",
"Zod",
"Winston",
"Prometheus",
"k6",
"ESLint",
"Prettier",
"Husky",
"Docker"
]
}