-
Notifications
You must be signed in to change notification settings - Fork 17
/
package.json
106 lines (106 loc) · 4.42 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
{
"name": "node-service-template",
"version": "1.0.0",
"engines": {
"node": ">=22.10.0"
},
"type": "module",
"scripts": {
"build": "tsc",
"copy:config": "cpy --rename=.env ./.env.default ./",
"test": "vitest",
"test:migrate": "cross-env NODE_ENV=test DATABASE_URL=postgres://serviceuser:pass@localhost:5432/service_db_test npx drizzle-kit migrate --config=./src/db/drizzle.config.ts",
"test:coverage": "node --run test -- --coverage",
"test:ci": "node --run copy:config && node --run test:migrate && node --run test:coverage",
"lint": "biome check . && tsc --project tsconfig.lint.json --noEmit",
"lint:fix": "biome check --write .",
"start:dev": "cross-env NODE_ENV=development tsx --env-file=.env src/server.ts",
"start:dev:watch": "cross-env NODE_ENV=development tsx watch --env-file=.env src/server.ts",
"start:prod": "tsc && cross-env NODE_ENV=production node --env-file-if-exists=.env dist/src/server.js",
"free-ports": "npx cross-port-killer 3000",
"docker:start:dev": "docker compose up -d",
"docker:stop:dev": "docker compose down",
"db:start:dev": "docker compose up -d postgres redis",
"db:stop:dev": "docker compose down",
"db:generate-migrations": "cross-env NODE_ENV=development npx drizzle-kit generate --config=./src/db/drizzle.config.ts",
"db:apply-migrations": "cross-env NODE_ENV=development npx drizzle-kit migrate --config=./src/db/drizzle.config.ts",
"db:drop-migrations": "cross-env NODE_ENV=development npx drizzle-kit drop --config=./src/db/drizzle.config.ts",
"db:wait": "while ! bash -c \"echo > /dev/tcp/127.0.0.1/5432\"; do sleep 1; done",
"spec:generate": "cross-env NODE_ENV=development tsx --env-file=.env scripts/generateOpenApi.ts && node --run spec:validate",
"spec:validate": "cross-env NODE_ENV=development tsx --env-file=.env scripts/validateOpenApi.ts",
"prepublishOnly": "node --run build",
"jwt:generate": "cross-env NODE_ENV=development tsx scripts/generateJwt.ts",
"cmd:getUserImportJobs:dev": "cross-env NODE_ENV=development tsx --env-file=.env scripts/cmd/getUserImportJobs.ts",
"cmd:getUserImportJobs:prod": "node --env-file-if-exists=.env scripts/cmd/getUserImportJobs.js"
},
"dependencies": {
"@aws-sdk/client-sns": "^3.709.0",
"@aws-sdk/client-sqs": "^3.709.0",
"@aws-sdk/credential-providers": "^3.709.0",
"@fastify/auth": "^5.0.2",
"@fastify/awilix": "^6.0.2",
"@fastify/cors": "^10.0.1",
"@fastify/helmet": "^13.0.0",
"@fastify/jwt": "^9.0.2",
"@fastify/schedule": "^5.0.2",
"@fastify/swagger": "^9.4.0",
"@lokalise/backend-http-client": "^3.0.0",
"@lokalise/background-jobs-common": "^9.0.3",
"@lokalise/fastify-extras": "^26.0.0",
"@lokalise/healthcheck-utils": "^1.4.0",
"@lokalise/id-utils": "^2.2.0",
"@lokalise/node-core": "^13.3.0",
"@lokalise/zod-extras": "^2.1.0",
"@message-queue-toolkit/amqp": "^16.2.0",
"@message-queue-toolkit/core": "^17.2.3",
"@message-queue-toolkit/schemas": "^4.0.0",
"@message-queue-toolkit/sns": "^18.1.0",
"@message-queue-toolkit/sqs": "^17.3.0",
"@scalar/fastify-api-reference": "^1.25.83",
"@supercharge/promise-pool": "^3.2.0",
"amqplib": "^0.10.5",
"awilix": "^12.0.4",
"awilix-manager": "^5.5.0",
"bullmq": "^5.34.2",
"drizzle-orm": "^0.38.2",
"drizzle-zod": "^0.6.0",
"fastify": "^5.2.0",
"fastify-graceful-shutdown": "^4.0.1",
"fastify-metrics": "^12.1.0",
"fastify-no-icon": "^7.0.0",
"fastify-type-provider-zod": "^4.0.2",
"ioredis": "^5.4.1",
"jsonwebtoken": "^9.0.2",
"layered-loader": "^13.3.0",
"newrelic": "12.8.2",
"pino": "^9.5.0",
"pino-pretty": "^13.0.0",
"postgres": "^3.4.5",
"prom-client": "^15.1.3",
"redis-semaphore": "^5.6.1",
"toad-scheduler": "^3.0.1",
"undici": "^7.1.0",
"validation-utils": "11.0.1",
"zod": "^3.24.1"
},
"devDependencies": {
"@amplitude/analytics-types": "^2.8.4",
"@biomejs/biome": "1.9.4",
"@types/amqplib": "^0.10.6",
"@types/jsonwebtoken": "^9.0.7",
"@types/newrelic": "^9.14.6",
"@types/node": "^22.10.2",
"@vitest/coverage-v8": "^2.1.8",
"cpy-cli": "^5.0.0",
"cross-env": "^7.0.3",
"drizzle-kit": "^0.30.1",
"mockttp": "^3.15.5",
"oas-validator": "^5.0.8",
"ts-deepmerge": "^7.0.2",
"tsx": "^4.19.2",
"type-fest": "^4.30.1",
"typescript": "5.7.2",
"vitest": "^2.1.8",
"yaml": "^2.6.1"
}
}