diff --git a/package.json b/package.json new file mode 100644 index 00000000..14bba6a0 --- /dev/null +++ b/package.json @@ -0,0 +1,163 @@ +{ + "name": "hng_boilerplate_nestjs", + "version": "0.0.1", + "description": "", + "author": "", + "private": true, + "license": "UNLICENSED", + "scripts": { + "build": "nest build", + "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", + "start": "nest start", + "start:dev": "nest start --watch", + "start:debug": "nest start --debug --watch", + "start:prod": "node dist/src/main", + "dev": "PROFILE=local ./node_modules/.bin/ts-node-dev -r dotenv/config --respawn src/main", + "lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix", + "test": "jest", + "test:watch": "jest --watch", + "test:cov": "jest --coverage", + "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", + "test:e2e": "jest --config ./test/jest-e2e.json", + "prepare": "husky install", + "check-format": "prettier --check .", + "check-lint": "eslint . --ext ts --ext tsx --ext js", + "typeorm": "npx typeorm -- -d dist/DB/migrate.ts", + "migration:create": "npx typeorm migration:create db/migrations/migration", + "premigration:generate": "npm run build", + "migration:generate": "npm run build && npx typeorm migration:generate db/migrations/migration -d dist/src/database/data-source", + "premigration:run": "npm run build", + "migration:run": "npx typeorm migration:run -d dist/src/database/data-source", + "migration:revert": "npx typeorm migration:revert -d dist/src/database/data-source", + "seed": "ts-node src/seed.ts", + "postinstall": "npm install --platform=linux --arch=x64 sharp" + }, + "dependencies": { + "@css-inline/css-inline": "^0.14.1", + "@css-inline/css-inline-linux-x64-gnu": "^0.14.1", + "@faker-js/faker": "^8.4.1", + "@google/generative-ai": "^0.17.0", + "@nestjs/axios": "^3.0.2", + "@nestjs/bull": "^10.2.0", + "@nestjs/config": "^3.2.3", + "@nestjs/core": "^10.0.0", + "@nestjs/jwt": "^10.2.0", + "@nestjs/passport": "^10.0.3", + "@nestjs/platform-express": "^10.3.10", + "@nestjs/serve-static": "^5.0.3", + "@nestjs/swagger": "^7.4.0", + "@nestjs/typeorm": "^10.0.2", + "@types/nodemailer": "^6.4.15", + "@types/speakeasy": "^2.0.10", + "@vitalets/google-translate-api": "^9.2.1", + "bcrypt": "^5.1.1", + "bcryptjs": "^3.0.2", + "bull": "^4.16.5", + "class-transformer": "^0.5.1", + "class-validator": "^0.14.1", + "csv-writer": "^1.6.0", + "date-fns": "^4.1.0", + "file-type-mime": "^0.4.6", + "google-auth-library": "^9.15.1", + "handlebars": "^4.7.8", + "html-validator": "^6.0.1", + "ioredis": "^5.5.0", + "joi": "^17.13.3", + "module-alias": "^2.2.3", + "multer": "^1.4.5-lts.1", + "nestjs-form-data": "^1.9.93", + "nestjs-pino": "^4.3.1", + "nodemailer": "^6.10.0", + "passport": "^0.7.0", + "passport-google-oauth20": "^2.0.0", + "passport-jwt": "^4.0.1", + "pg": "^8.13.3", + "reflect-metadata": "^0.2.2", + "rxjs": "^7.8.2", + "sharp": "^0.33.5", + "speakeasy": "^2.0.0", + "supertest": "^7.0.0", + "typeorm": "^0.3.20", + "types-joi": "^2.1.0", + "uuid": "^11.1.0", + "xlsx": "^0.18.5" + }, + "devDependencies": { + "@commitlint/cli": "^19.7.1", + "@commitlint/config-conventional": "^19.7.1", + "@nestjs-modules/mailer": "^2.0.2", + "@nestjs/cli": "^11.0.5", + "@nestjs/common": "^11.0.10", + "@nestjs/schematics": "^11.0.1", + "@nestjs/testing": "^11.0.10", + "@types/bcrypt": "^5.0.2", + "@types/express": "^5.0.0", + "@types/jest": "^29.5.14", + "@types/multer": "^1.4.12", + "@types/node": "^22.13.5", + "@types/passport-google-oauth2": "^0.1.10", + "@types/passport-jwt": "^4.0.1", + "@types/speakeasy": "^2.0.10", + "@types/supertest": "^6.0.2", + "@typescript-eslint/eslint-plugin": "^8.25.0", + "@typescript-eslint/parser": "^8.25.0", + "eslint": "^9.21.0", + "eslint-config-prettier": "^10.0.2", + "eslint-import-resolver-typescript": "^3.8.3", + "eslint-plugin-import": "^2.31.0", + "eslint-plugin-prettier": "^5.2.3", + "husky": "^9.1.7", + "jest": "^29.7.0", + "lint-staged": "^15.4.3", + "prettier": "^3.5.2", + "source-map-support": "^0.5.21", + "ts-jest": "^29.2.6", + "ts-loader": "^9.5.2", + "ts-node": "^10.9.2", + "ts-node-dev": "^2.0.0", + "tsconfig-paths": "^4.2.0", + "typescript": "^5.7.3" + }, + "jest": { + "moduleFileExtensions": [ + "js", + "json", + "ts" + ], + "rootDir": "src", + "testRegex": ".*\\.spec\\.ts$", + "transform": { + "^.+\\.(t|j)s$": "ts-jest" + }, + "collectCoverageFrom": [ + "**/*.(t|j)s" + ], + "coverageDirectory": "../coverage", + "testEnvironment": "node", + "moduleNameMapper": { + "^@database/(.*)$": "/database/$1", + "^@entities/(.*)$": "/entities/$1", + "^@guards/(.*)$": "/guards/$1", + "^@modules/(.*)$": "/modules/$1", + "^@tests/(.*)$": "/run-tests/$1", + "^@shared/(.*)$": "/shared/$1", + "^@utils/(.*)$": "/utils/$1", + "^@config/(.*)$": "/../config/$1", + "^@src-uploads/(.*)$": "/uploads/$1" + } + }, + "lint-staged": { + "**/*": "prettier --write --ignore-unknown" + }, + "_moduleAliases": { + "@database": "./src/database", + "@entities": "./src/entities", + "@guards": "./src/guards", + "@modules": "./src/modules", + "@tests": "./src/run-tests/", + "@shared": "./src/shared", + "@utils": "./src/utils", + "@config": "./config", + "@src-uploads": "./src/uploads" + } +}