39948-vm/backend/package.json
2026-07-01 15:45:38 +02:00

111 lines
3.7 KiB
JSON

{
"name": "tourbuilderplatform",
"description": "Tour Builder Platform - template backend",
"type": "module",
"scripts": {
"start": "npm run db:migrate && npm run db:seed && npm run watch",
"start-dev": "LOG_PRETTY=true npm run start",
"typecheck": "tsc -p tsconfig.json --noEmit",
"build": "tsc -p tsconfig.json && node scripts/copy-runtime-assets.ts",
"test": "node --test tests/*.test.ts",
"test:integration": "node --test tests/integration/*.test.ts",
"verify": "npm run typecheck && npm run lint && npm run check:esm-boundaries && npm run test",
"check:esm-boundaries": "node scripts/check-esm-boundaries.ts",
"check:public-access": "node scripts/check-public-access-hardening.ts",
"fix:public-access": "node scripts/check-public-access-hardening.ts --fix",
"lint": "eslint .",
"db:migrate": "node src/db/umzug.ts migrate:up",
"db:migrate:undo": "node src/db/umzug.ts migrate:down",
"db:migrate:undo:all": "node src/db/umzug.ts migrate:down:all",
"db:migrate:status": "node src/db/umzug.ts migrate:status",
"db:seed": "node src/db/umzug.ts seed:up",
"db:seed:undo": "node src/db/umzug.ts seed:down:all",
"db:drop": "node src/db/umzug.ts db:drop",
"db:create": "node src/db/umzug.ts db:create",
"db:reset": "npm run db:drop && npm run db:create && npm run db:migrate && npm run db:seed",
"watch": "node watcher.ts"
},
"dependencies": {
"@aws-sdk/client-s3": "^3.1011.0",
"@aws-sdk/s3-request-presigner": "^3.1016.0",
"@google-cloud/storage": "^7.0.0",
"@smithy/node-http-handler": "^4.9.1",
"@smithy/types": "^4.15.0",
"bcrypt": "^6.0.0",
"body-parser": "^2.3.0",
"chokidar": "^4.0.3",
"cors": "^2.8.6",
"csv-parser": "^3.2.0",
"dotenv": "^16.4.0",
"express": "^4.22.2",
"ffmpeg-static": "^5.2.0",
"ffprobe-static": "^3.1.0",
"fluent-ffmpeg": "^2.1.3",
"helmet": "^8.0.0",
"joi": "^17.13.0",
"json2csv": "^5.0.7",
"jsonwebtoken": "^9.0.0",
"multer": "^2.0.0",
"nodemailer": "^9.0.3",
"passport": "^0.7.0",
"passport-google-oauth2": "^0.2.0",
"passport-jwt": "^4.0.1",
"passport-microsoft": "^2.0.0",
"pg": "^8.20.0",
"pino": "^9.0.0",
"pino-pretty": "^11.0.0",
"sequelize": "^6.37.0",
"swagger-jsdoc": "^6.2.8",
"swagger-ui-express": "^5.0.0",
"uuid": "^14.0.1",
"validator": "^13.15.35"
},
"engines": {
"node": ">=24 <25"
},
"overrides": {
"gaxios": {
"uuid": "^11.1.1"
},
"sequelize": {
"uuid": "^11.1.1"
},
"teeny-request": {
"uuid": "^11.1.1"
}
},
"private": true,
"devDependencies": {
"@eslint/js": "^8.57.1",
"@types/bcrypt": "^6.0.0",
"@types/body-parser": "^1.19.6",
"@types/cors": "^2.8.19",
"@types/express": "^4.17.25",
"@types/express-serve-static-core": "^4.19.8",
"@types/ffprobe-static": "^2.0.3",
"@types/fluent-ffmpeg": "^2.1.28",
"@types/json2csv": "^5.0.7",
"@types/jsonwebtoken": "^9.0.10",
"@types/multer": "^2.1.0",
"@types/node": "^24.13.2",
"@types/nodemailer": "^8.0.1",
"@types/passport": "^1.0.17",
"@types/passport-google-oauth2": "^0.1.10",
"@types/passport-jwt": "^4.0.1",
"@types/passport-microsoft": "^2.1.1",
"@types/swagger-jsdoc": "^6.0.4",
"@types/swagger-ui-express": "^4.1.8",
"@types/validator": "^13.15.10",
"@typescript-eslint/eslint-plugin": "^8.62.1",
"@typescript-eslint/parser": "^8.62.1",
"eslint": "^8.57.0",
"eslint-import-resolver-typescript": "^4.4.5",
"eslint-plugin-import": "^2.29.1",
"globals": "^15.15.0",
"node-mocks-http": "^1.17.0",
"nodemon": "^3.0.0",
"typescript": "^6.0.3",
"umzug": "^3.8.3"
}
}