it_solutions_test/package.json
Илья Братских bd22447bd3 Add a GraphQL digital card that migrates and seeds itself on startup.
The NestJS API serves the public profile through Apollo Sandbox and loads only the relations selected by the query.
2026-11-02 05:30:54 +03:00

111 lines
3.0 KiB
JSON

{
"name": "digital-card",
"version": "1.0.0",
"description": "GraphQL digital card of Ilya Bratskikh",
"author": "Илья Братских",
"private": true,
"license": "UNLICENSED",
"type": "module",
"engines": {
"node": ">=22.12"
},
"scripts": {
"build": "nest build",
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\" \"prisma.config.ts\"",
"start": "nest start",
"start:dev": "nest start --watch",
"start:debug": "nest start --debug --watch",
"start:prod": "node dist/main.js",
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" \"prisma.config.ts\" --fix",
"pretest": "prisma generate",
"test": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js",
"test:e2e": "node --experimental-vm-modules ./node_modules/jest/bin/jest.js --config ./test/jest-e2e.json --runInBand",
"prisma:generate": "prisma generate",
"prisma:migrate": "prisma migrate deploy",
"smoke": "node scripts/smoke.mjs",
"docker:up": "docker compose up --build",
"docker:down": "docker compose down"
},
"dependencies": {
"@apollo/server": "^5.0.0",
"@as-integrations/express5": "^1.1.2",
"@nestjs/apollo": "^13.2.3",
"@nestjs/common": "^11.0.1",
"@nestjs/config": "^4.0.2",
"@nestjs/core": "^11.0.1",
"@nestjs/graphql": "^13.2.3",
"@nestjs/platform-express": "^11.0.1",
"@prisma/adapter-pg": "^7.10.1",
"@prisma/client": "^7.10.1",
"dotenv": "^18.0.0",
"graphql": "^16.11.0",
"pg": "^8.16.3",
"prisma": "^7.10.1",
"reflect-metadata": "^0.2.2",
"rxjs": "^7.8.1",
"zod": "^4.1.12"
},
"devDependencies": {
"@eslint/eslintrc": "^3.2.0",
"@eslint/js": "^9.18.0",
"@nestjs/cli": "^11.0.0",
"@nestjs/schematics": "^11.0.0",
"@nestjs/testing": "^11.0.1",
"@types/express": "^5.0.0",
"@types/jest": "^30.0.0",
"@types/node": "^24.0.0",
"@types/pg": "^8.15.5",
"@types/supertest": "^7.0.0",
"eslint": "^9.18.0",
"eslint-config-prettier": "^10.0.1",
"eslint-plugin-prettier": "^5.2.2",
"globals": "^17.0.0",
"jest": "^30.0.0",
"prettier": "^3.4.2",
"source-map-support": "^0.5.21",
"supertest": "^7.0.0",
"ts-jest": "^29.2.5",
"ts-loader": "^9.5.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"typescript": "^5.7.3",
"typescript-eslint": "^8.20.0"
},
"jest": {
"extensionsToTreatAsEsm": [
".ts"
],
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".*\\.spec\\.ts$",
"transform": {
"^.+\\.ts$": [
"ts-jest",
{
"useESM": true,
"tsconfig": {
"module": "nodenext",
"moduleResolution": "nodenext"
}
}
]
},
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.js$": "$1"
},
"collectCoverageFrom": [
"**/*.(t|j)s",
"!generated/**"
],
"coveragePathIgnorePatterns": [
"generated"
],
"coverageDirectory": "../coverage",
"testEnvironment": "node"
}
}