98 lines
3.7 KiB
JSON
98 lines
3.7 KiB
JSON
{
|
|
"name": "backend",
|
|
"version": "1.0.0",
|
|
"description": "ToolsPlatform API Gateway",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"dev": "ts-node-dev --respawn --transpile-only src/index.ts",
|
|
"build": "tsc",
|
|
"start": "node dist/index.js",
|
|
"db:migrate": "prisma migrate dev",
|
|
"db:push": "prisma db push",
|
|
"db:seed": "prisma db seed",
|
|
"db:studio": "prisma studio",
|
|
"db:list-tools": "ts-node scripts/list-db-tools.ts",
|
|
"db:list-tools-md": "ts-node scripts/list-db-tools.ts --md",
|
|
"db:list-tools-csv": "ts-node scripts/list-db-tools.ts --csv",
|
|
"db:export-tools-csv": "ts-node scripts/export-tools-csv.ts",
|
|
"db:export-tools-json": "ts-node scripts/export-tools-json.ts",
|
|
"db:add-pdf-to-pdfa": "ts-node scripts/add-pdf-to-pdfa-tool.ts",
|
|
"db:add-pdf-to-presentation": "ts-node scripts/add-pdf-to-presentation-tool.ts",
|
|
"db:add-pdf-to-epub": "ts-node scripts/add-pdf-to-epub-tool.ts",
|
|
"db:add-pdf-to-csv": "ts-node scripts/add-pdf-to-csv-tool.ts",
|
|
"db:set-pipeline-category": "ts-node scripts/set-pipeline-category.ts",
|
|
"db:check-tool-access": "ts-node scripts/check-tool-access.ts",
|
|
"db:fix-batch-free": "ts-node scripts/check-tool-access.ts --fix-batch-free",
|
|
"db:summarize-access": "ts-node scripts/summarize-db-access.ts",
|
|
"db:list-app-config": "ts-node scripts/list-app-config.ts",
|
|
"db:verify-deletion": "ts-node scripts/verify-account-deletion.ts",
|
|
"db:seed-test-users": "ts-node scripts/seed-test-users-for-api.ts",
|
|
"test": "vitest run",
|
|
"test:unit": "vitest run src/tests/unit",
|
|
"test:integration": "vitest run src/tests/integration",
|
|
"test:e2e": "vitest run src/tests/e2e",
|
|
"test:watch": "vitest",
|
|
"test:coverage": "vitest run --coverage",
|
|
"test:ui": "vitest --ui",
|
|
"api:token:free": "ts-node scripts/generate-test-token.ts free",
|
|
"api:token:premium": "ts-node scripts/generate-test-token.ts premium",
|
|
"api:token:both": "ts-node scripts/generate-test-token.ts both",
|
|
"api:test": "ts-node scripts/test-all-endpoints.ts",
|
|
"api:test:guest-limits": "ts-node scripts/test-guest-limits-api.ts",
|
|
"api:test:guest-config": "ts-node scripts/test-guest-config-api.ts",
|
|
"api:test:all-tiers": "ts-node scripts/test-all-tiers-config-api.ts",
|
|
"api:test:all-tiers:docker": "docker exec docker-api-gateway-1 npx ts-node scripts/test-all-tiers-config-api.ts",
|
|
"api:docs": "echo 'Swagger UI: http://localhost:4000/docs' && echo 'OpenAPI JSON: http://localhost:4000/docs/json'"
|
|
},
|
|
"prisma": {
|
|
"seed": "tsx prisma/seed.ts"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"type": "commonjs",
|
|
"dependencies": {
|
|
"@fastify/cors": "^10.0.1",
|
|
"@fastify/helmet": "^12.0.1",
|
|
"@fastify/multipart": "^9.0.1",
|
|
"@fastify/rate-limit": "^10.1.1",
|
|
"@fastify/swagger": "^9.3.0",
|
|
"@fastify/swagger-ui": "^5.0.1",
|
|
"@prisma/client": "^5.22.0",
|
|
"@types/archiver": "^7.0.0",
|
|
"archiver": "^7.0.1",
|
|
"axios": "^1.7.9",
|
|
"bullmq": "^5.30.6",
|
|
"dotenv": "^16.4.7",
|
|
"exceljs": "^4.4.0",
|
|
"fastify": "^5.2.0",
|
|
"form-data": "^4.0.1",
|
|
"ioredis": "^5.4.2",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"jwks-rsa": "^3.1.0",
|
|
"minio": "^8.0.2",
|
|
"node-cron": "^4.2.1",
|
|
"pino": "^9.5.0",
|
|
"pino-pretty": "^13.0.0",
|
|
"prisma": "^5.22.0",
|
|
"prom-client": "^15.1.3",
|
|
"resend": "^6.8.0",
|
|
"uuid": "^11.0.5",
|
|
"zod": "^3.24.1"
|
|
},
|
|
"devDependencies": {
|
|
"@types/jsonwebtoken": "^9.0.7",
|
|
"@types/node": "^25.0.10",
|
|
"@types/node-cron": "^3.0.11",
|
|
"@types/supertest": "^6.0.3",
|
|
"@types/uuid": "^10.0.0",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"supertest": "^7.2.2",
|
|
"ts-node": "^10.9.2",
|
|
"ts-node-dev": "^2.0.0",
|
|
"tsx": "^4.19.2",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|