74 lines
2.9 KiB
JSON
74 lines
2.9 KiB
JSON
{
|
|
"name": "nestapi",
|
|
"version": "1.0.0",
|
|
"description": "Enterprise-grade NestJS API backend",
|
|
"main": "dist/main.js",
|
|
"scripts": {
|
|
"start": "nest start",
|
|
"start:dev": "npm run build && npm run migration:run:safe && nest start --watch",
|
|
"start:prod": "npm run migration:run:prod && node dist/main.js",
|
|
"build": "nest build",
|
|
"build:prod": "nest build && npm run migration:build",
|
|
"test": "jest",
|
|
"test:e2e": "jest --config ./test/jest-e2e.json",
|
|
"migration:generate": "typeorm-ts-node-esm migration:generate -d src/data-source.ts",
|
|
"migration:create": "typeorm-ts-node-esm migration:create",
|
|
"migration:run": "typeorm migration:run -d data-source.js",
|
|
"migration:run:safe": "typeorm migration:run -d data-source.js || echo 'Migrations completed or no migrations to run'",
|
|
"migration:run:prod": "cross-env NODE_ENV=production typeorm migration:run -d data-source.js",
|
|
"migration:revert": "cross-env NODE_ENV=development typeorm-ts-node-esm migration:revert -d src/data-source.ts",
|
|
"migration:revert:prod": "cross-env NODE_ENV=production typeorm migration:revert -d dist/data-source.js",
|
|
"migration:build": "tsc src/database/migrations/*.ts --outDir dist/database/migrations --target es2020 --module commonjs",
|
|
"migration:show": "cross-env NODE_ENV=development typeorm-ts-node-esm migration:show -d src/data-source.ts",
|
|
"schema:sync": "cross-env NODE_ENV=development typeorm-ts-node-esm schema:sync -d src/data-source.ts",
|
|
"schema:drop": "cross-env NODE_ENV=development typeorm-ts-node-esm schema:drop -d src/data-source.ts"
|
|
},
|
|
"dependencies": {
|
|
"@nestjs/common": "^10.0.0",
|
|
"@nestjs/config": "^3.0.0",
|
|
"@nestjs/core": "^10.0.0",
|
|
"@nestjs/jwt": "^10.0.0",
|
|
"@nestjs/passport": "^10.0.3",
|
|
"@nestjs/platform-express": "^10.0.0",
|
|
"@nestjs/swagger": "^7.4.2",
|
|
"@nestjs/throttler": "^3.0.0",
|
|
"@nestjs/typeorm": "^11.0.0",
|
|
"@types/crypto-js": "^4.2.2",
|
|
"@types/qrcode": "^1.5.5",
|
|
"@types/speakeasy": "^2.0.10",
|
|
"argon2": "^0.30.0",
|
|
"bcrypt": "^5.1.0",
|
|
"class-transformer": "^0.5.1",
|
|
"class-validator": "^0.14.0",
|
|
"crypto-js": "^4.2.0",
|
|
"dotenv": "^17.2.1",
|
|
"jsonwebtoken": "^9.0.0",
|
|
"mysql2": "^3.14.3",
|
|
"passport": "^0.7.0",
|
|
"passport-jwt": "^4.0.1",
|
|
"passport-local": "^1.0.0",
|
|
"qrcode": "^1.5.4",
|
|
"rate-limiter-flexible": "^7.2.0",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.2",
|
|
"speakeasy": "^2.0.0",
|
|
"typeorm": "^0.3.25",
|
|
"uuid": "^9.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^10.0.0",
|
|
"@nestjs/testing": "^10.0.0",
|
|
"@types/bcrypt": "^6.0.0",
|
|
"@types/express": "^5.0.3",
|
|
"@types/jest": "^29.0.0",
|
|
"@types/node": "^20.0.0",
|
|
"@types/passport-jwt": "^4.0.1",
|
|
"@types/passport-local": "^1.0.38",
|
|
"cross-env": "^10.0.0",
|
|
"jest": "^29.0.0",
|
|
"ts-jest": "^29.0.0",
|
|
"ts-node": "^10.9.2",
|
|
"typescript": "^5.0.0"
|
|
}
|
|
}
|