40227-vm/backend/package.json
2026-06-10 18:27:19 +02:00

80 lines
2.5 KiB
JSON

{
"name": "schoolchainmanager",
"description": "School Chain Manager - template backend",
"type": "module",
"scripts": {
"start": "npm run db:migrate && npm run db:seed && npm run watch",
"start:prod": "node --enable-source-maps dist/index.js",
"start:production": "npm run db:migrate:prod && npm run db:seed:prod && npm run start:prod",
"db:migrate:prod": "node dist/db/umzug.js migrate:up",
"db:seed:prod": "node dist/db/umzug.js seed:up",
"lint": "eslint .",
"typecheck": "tsc --noEmit",
"test": "tsx --test 'src/**/*.test.ts'",
"verify": "npm run typecheck && npm run lint && npm test",
"build": "tsc -p tsconfig.build.json && tsc-alias -f && node scripts/copy-assets.mjs",
"dev": "tsx watch src/index.ts",
"db:migrate": "tsx src/db/umzug.ts migrate:up",
"db:migrate:undo": "tsx src/db/umzug.ts migrate:down",
"db:migrate:pending": "tsx src/db/umzug.ts migrate:pending",
"db:seed": "tsx src/db/umzug.ts seed:up",
"db:seed:undo": "tsx src/db/umzug.ts seed:down",
"db:reset": "tsx src/db/reset.ts",
"watch": "tsx watcher.ts"
},
"dependencies": {
"@google-cloud/storage": "^7.19.0",
"bcrypt": "6.0.0",
"chokidar": "^5.0.0",
"cors": "2.8.6",
"csv-parser": "^3.2.1",
"express": "5.2.1",
"helmet": "8.2.0",
"json-2-csv": "^5.5.11",
"jsonwebtoken": "9.0.3",
"moment": "2.30.1",
"multer": "^2.1.1",
"nodemailer": "8.0.10",
"passport": "^0.7.0",
"passport-google-oauth2": "^0.2.0",
"passport-jwt": "^4.0.1",
"passport-microsoft": "^2.1.0",
"pg": "8.21.0",
"pg-hstore": "2.3.4",
"sequelize": "6.37.8",
"swagger-jsdoc": "^6.3.0",
"swagger-ui-express": "^5.0.1",
"umzug": "^3.8.3",
"uuid": "^14.0.0",
"validator": "^13.15.35"
},
"engines": {
"node": ">=24"
},
"private": true,
"devDependencies": {
"@eslint/js": "^10.0.1",
"@types/bcrypt": "^6.0.0",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.6",
"@types/jsonwebtoken": "^9.0.10",
"@types/multer": "^2.1.0",
"@types/node": "^25.9.2",
"@types/nodemailer": "^8.0.0",
"@types/passport": "^1.0.17",
"@types/passport-jwt": "^4.0.1",
"@types/swagger-jsdoc": "^6.0.4",
"@types/swagger-ui-express": "^4.1.8",
"@types/validator": "^13.15.10",
"cross-env": "10.1.0",
"eslint": "^10.4.1",
"eslint-plugin-import-x": "^4.16.2",
"jiti": "^2.7.0",
"nodemon": "3.1.14",
"tsc-alias": "^1.8.17",
"tsx": "^4.22.4",
"typescript": "^6.0.3",
"typescript-eslint": "^8.61.0"
}
}