Template base para proyectos SaaS multi-tenant. Estructura inicial: - apps/backend (NestJS API) - apps/frontend (React/Vite) - apps/database (PostgreSQL DDL) - docs/ (Documentación) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
391 lines
9.6 KiB
JSON
391 lines
9.6 KiB
JSON
{
|
|
"name": "@nestjs/terminus",
|
|
"version": "11.0.0",
|
|
"description": "Terminus integration provides readiness/liveness health checks for NestJS.",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/nestjs/terminus"
|
|
},
|
|
"keywords": [
|
|
"nestjs",
|
|
"healt-checks",
|
|
"express",
|
|
"fastify",
|
|
"typeorm",
|
|
"microorm",
|
|
"mongoose",
|
|
"sequelize",
|
|
"grpc",
|
|
"kafka",
|
|
"rabbitmq",
|
|
"nats",
|
|
"redis",
|
|
"amqp",
|
|
"amqplib",
|
|
"axios",
|
|
"prisma"
|
|
],
|
|
"license": "MIT",
|
|
"author": "Livio Brunner",
|
|
"main": "dist/index.js",
|
|
"packageManager": "pnpm@9.15.4",
|
|
"scripts": {
|
|
"dev": "nest build --watch",
|
|
"build": "nest build",
|
|
"copy:proto": "copyfiles lib/health-indicator/microservice/protos/health.proto dist/health-indicator/microservice/protos/health.proto",
|
|
"build:all": "pnpm run build && pnpm run -r build",
|
|
"test:all": "pnpm run test && pnpm run -if-present -r test --passWithNoTests",
|
|
"test:e2e:all": "npm run test:e2e && pnpm run --if-present -r e2e --passWithNoTests",
|
|
"format": "prettier --check \"{lib,e2e,sample,tools}/**/*.ts\"",
|
|
"format:fix": "prettier --write \"{lib,e2e,sample,tools}/**/*.ts\"",
|
|
"lint": "eslint \"lib/**/*.ts\"",
|
|
"lint:fix": "eslint \"lib/**/*.ts\" \"e2e/**/*.ts\" \"tools/**/*.ts\" --fix",
|
|
"precommit": "lint-staged",
|
|
"prepublish": "npm run build",
|
|
"prepublish:next": "npm run build",
|
|
"publish:next": "npm publish --access public --tag next",
|
|
"prepublish:npm": "npm run build",
|
|
"publish:npm": "npm publish --access public",
|
|
"test": "pnpm run test:ut && pnpm run test:import",
|
|
"test:e2e": "jest --config=e2e/jest-e2e.json --detectOpenHandles --forceExit",
|
|
"test:ut": "jest --detectOpenHandles",
|
|
"test:ut:cov": "pnpm run test:ut -- --coverage",
|
|
"test:import": "ts-node tools/import-check.ts",
|
|
"release": "release-it",
|
|
"prepare": "husky install"
|
|
},
|
|
"dependencies": {
|
|
"boxen": "5.1.2",
|
|
"check-disk-space": "3.4.0"
|
|
},
|
|
"devDependencies": {
|
|
"@commitlint/cli": "19.6.1",
|
|
"@commitlint/config-angular": "19.7.0",
|
|
"@grpc/grpc-js": "1.12.5",
|
|
"@grpc/proto-loader": "0.7.13",
|
|
"@mikro-orm/core": "6.4.4",
|
|
"@mikro-orm/mongodb": "6.4.4",
|
|
"@mikro-orm/mysql": "6.4.4",
|
|
"@mikro-orm/nestjs": "6.0.2",
|
|
"@nestjs/axios": "4.0.0",
|
|
"@nestjs/cli": "^11.0.2",
|
|
"@nestjs/common": "11.0.5",
|
|
"@nestjs/core": "11.0.5",
|
|
"@nestjs/microservices": "11.0.5",
|
|
"@nestjs/mongoose": "11.0.0",
|
|
"@nestjs/platform-express": "11.0.5",
|
|
"@nestjs/platform-fastify": "11.0.5",
|
|
"@nestjs/sequelize": "11.0.0",
|
|
"@nestjs/swagger": "11.0.3",
|
|
"@nestjs/testing": "11.0.5",
|
|
"@nestjs/typeorm": "11.0.0",
|
|
"@prisma/client": "6.2.1",
|
|
"@release-it/conventional-changelog": "5.1.1",
|
|
"@types/express": "5.0.0",
|
|
"@types/jest": "29.5.14",
|
|
"@types/node": "20.17.16",
|
|
"@types/supertest": "6.0.2",
|
|
"@typescript-eslint/eslint-plugin": "6.20.0",
|
|
"@typescript-eslint/parser": "6.20.0",
|
|
"amqp-connection-manager": "4.1.14",
|
|
"amqplib": "0.10.5",
|
|
"axios": "^1.7.9",
|
|
"cli-color": "2.0.4",
|
|
"copyfiles": "^2.4.1",
|
|
"delete-empty": "3.0.0",
|
|
"eslint": "8.57.1",
|
|
"eslint-config-prettier": "9.1.0",
|
|
"eslint-import-resolver-typescript": "^3.6.0",
|
|
"eslint-plugin-deprecation": "^2.0.0",
|
|
"eslint-plugin-import": "^2.27.5",
|
|
"eslint-plugin-jest": "^27.2.3",
|
|
"eslint-plugin-unused-imports": "^3.0.0",
|
|
"fastify": "5.2.1",
|
|
"husky": "9.1.7",
|
|
"ioredis": "5.4.2",
|
|
"jest": "29.7.0",
|
|
"kafkajs": "^2.2.4",
|
|
"lint-staged": "15.4.2",
|
|
"mongoose": "8.9.5",
|
|
"mysql2": "3.12.0",
|
|
"nats": "2.29.1",
|
|
"portfinder": "1.0.32",
|
|
"prettier": "3.4.2",
|
|
"prisma": "6.2.1",
|
|
"reflect-metadata": "0.2.2",
|
|
"release-it": "18.1.2",
|
|
"rollup": "4.32.0",
|
|
"rollup-plugin-dts": "6.1.1",
|
|
"rxjs-compat": "6.6.7",
|
|
"sequelize": "6.37.5",
|
|
"sequelize-typescript": "2.1.6",
|
|
"supertest": "7.0.0",
|
|
"ts-jest": "29.2.5",
|
|
"ts-node": "10.9.2",
|
|
"typeorm": "0.3.20",
|
|
"typescript": "5.7.3",
|
|
"wait-port": "1.1.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@grpc/grpc-js": "*",
|
|
"@grpc/proto-loader": "*",
|
|
"@mikro-orm/core": "*",
|
|
"@mikro-orm/nestjs": "*",
|
|
"@nestjs/axios": "^2.0.0 || ^3.0.0 || ^4.0.0",
|
|
"@nestjs/common": "^10.0.0 || ^11.0.0",
|
|
"@nestjs/core": "^10.0.0 || ^11.0.0",
|
|
"@nestjs/microservices": "^10.0.0 || ^11.0.0",
|
|
"@nestjs/mongoose": "^11.0.0",
|
|
"@nestjs/sequelize": "^10.0.0 || ^11.0.0",
|
|
"@nestjs/typeorm": "^10.0.0 || ^11.0.0",
|
|
"@prisma/client": "*",
|
|
"mongoose": "*",
|
|
"reflect-metadata": "0.1.x || 0.2.x",
|
|
"rxjs": "7.x",
|
|
"sequelize": "*",
|
|
"typeorm": "*"
|
|
},
|
|
"peerDependenciesMeta": {
|
|
"@nestjs/microservices": {
|
|
"optional": true
|
|
},
|
|
"@grpc/grpc-js": {
|
|
"optional": true
|
|
},
|
|
"@grpc/proto-loader": {
|
|
"optional": true
|
|
},
|
|
"@nestjs/axios": {
|
|
"optional": true
|
|
},
|
|
"@mikro-orm/nestjs": {
|
|
"optional": true
|
|
},
|
|
"@mikro-orm/core": {
|
|
"optional": true
|
|
},
|
|
"@nestjs/mongoose": {
|
|
"optional": true
|
|
},
|
|
"@nestjs/sequelize": {
|
|
"optional": true
|
|
},
|
|
"@nestjs/typeorm": {
|
|
"optional": true
|
|
},
|
|
"mongoose": {
|
|
"optional": true
|
|
},
|
|
"sequelize": {
|
|
"optional": true
|
|
},
|
|
"typeorm": {
|
|
"optional": true
|
|
},
|
|
"@prisma/client": {
|
|
"optional": true
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"*.ts": [
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"prettier": {
|
|
"trailingComma": "all",
|
|
"singleQuote": true
|
|
},
|
|
"renovate": {
|
|
"semanticCommits": true,
|
|
"packageRules": [
|
|
{
|
|
"depTypeList": [
|
|
"devDependencies"
|
|
],
|
|
"automerge": true
|
|
}
|
|
],
|
|
"extends": [
|
|
"config:base"
|
|
]
|
|
},
|
|
"commitlint": {
|
|
"extends": [
|
|
"@commitlint/config-angular"
|
|
],
|
|
"rules": {
|
|
"subject-case": [
|
|
2,
|
|
"always",
|
|
[
|
|
"sentence-case",
|
|
"start-case",
|
|
"pascal-case",
|
|
"upper-case",
|
|
"lower-case"
|
|
]
|
|
],
|
|
"type-enum": [
|
|
2,
|
|
"always",
|
|
[
|
|
"build",
|
|
"chore",
|
|
"ci",
|
|
"docs",
|
|
"feat",
|
|
"fix",
|
|
"perf",
|
|
"refactor",
|
|
"revert",
|
|
"style",
|
|
"test",
|
|
"sample"
|
|
]
|
|
]
|
|
}
|
|
},
|
|
"jest": {
|
|
"moduleFileExtensions": [
|
|
"ts",
|
|
"tsx",
|
|
"js",
|
|
"json"
|
|
],
|
|
"transform": {
|
|
"^.+\\.ts$": "ts-jest",
|
|
"^.+\\.tsx?$": "ts-jest"
|
|
},
|
|
"setupFiles": [
|
|
"<rootDir>/node_modules/reflect-metadata/Reflect.js"
|
|
],
|
|
"testRegex": "/lib/.*\\.(test|spec).(ts|tsx|js)$",
|
|
"collectCoverageFrom": [
|
|
"lib/**/*.{js,jsx,tsx,ts}",
|
|
"!**/node_modules/**",
|
|
"!**/vendor/**"
|
|
],
|
|
"coverageReporters": [
|
|
"json",
|
|
"lcov"
|
|
],
|
|
"coverageDirectory": "./coverage",
|
|
"testEnvironment": "node"
|
|
},
|
|
"eslintConfig": {
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"project": "tsconfig.json",
|
|
"sourceType": "module"
|
|
},
|
|
"plugins": [
|
|
"@typescript-eslint/eslint-plugin",
|
|
"unused-imports"
|
|
],
|
|
"extends": [
|
|
"plugin:deprecation/recommended",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript",
|
|
"prettier"
|
|
],
|
|
"root": true,
|
|
"env": {
|
|
"node": true,
|
|
"jest": true
|
|
},
|
|
"overrides": [
|
|
{
|
|
"files": [
|
|
"*.{js,ts}"
|
|
],
|
|
"settings": {
|
|
"import/resolver": {
|
|
"typescript": {
|
|
"alwaysTryTypes": true,
|
|
"project": [
|
|
"./tsconfig.json",
|
|
"./e2e/tsconfig.json"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"files": [
|
|
"*.spec.ts"
|
|
],
|
|
"env": {
|
|
"jest": true
|
|
},
|
|
"extends": [
|
|
"plugin:jest/recommended"
|
|
]
|
|
}
|
|
],
|
|
"rules": {
|
|
"curly": 1,
|
|
"prefer-const": 1,
|
|
"no-console": 1,
|
|
"strict": 1,
|
|
"no-debugger": 1,
|
|
"@typescript-eslint/interface-name-prefix": "off",
|
|
"@typescript-eslint/explicit-function-return-type": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/no-use-before-define": "off",
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
"@typescript-eslint/prefer-optional-chain": 1,
|
|
"@typescript-eslint/no-unused-vars": "off",
|
|
"unused-imports/no-unused-imports": "error",
|
|
"unused-imports/no-unused-vars": [
|
|
"warn",
|
|
{
|
|
"vars": "all",
|
|
"varsIgnorePattern": "^_",
|
|
"args": "after-used",
|
|
"argsIgnorePattern": "^_"
|
|
}
|
|
],
|
|
"@typescript-eslint/consistent-type-imports": [
|
|
2,
|
|
{
|
|
"prefer": "type-imports",
|
|
"fixStyle": "inline-type-imports"
|
|
}
|
|
],
|
|
"import/newline-after-import": 2,
|
|
"import/order": [
|
|
2,
|
|
{
|
|
"groups": [
|
|
"builtin",
|
|
"external",
|
|
"internal",
|
|
[
|
|
"parent",
|
|
"sibling",
|
|
"index"
|
|
]
|
|
],
|
|
"pathGroups": [
|
|
{
|
|
"pattern": "@nestjs*",
|
|
"group": "external",
|
|
"position": "before"
|
|
}
|
|
],
|
|
"distinctGroup": false,
|
|
"alphabetize": {
|
|
"order": "asc",
|
|
"orderImportKind": "asc",
|
|
"caseInsensitive": true
|
|
},
|
|
"newlines-between": "never",
|
|
"pathGroupsExcludedImportTypes": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|