111 lines
3.7 KiB
JSON
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"
|
|
}
|
|
}
|