add complete parent-bff implementation including: - GraphQL endpoint with depth/cost validation - ChildGuard越权校验 with redis cache and singleflight - parallel orchestration with partial failure fallback - three-level cache fallback strategy (Redis + LRU + downstream) - Kafka consumer for cache invalidation and notification push - opossum circuit breaker for downstream services - Prometheus metrics and SLO alerts - Helm chart for k8s deployment with multi-environment configs - Grafana dashboard for observability - complete unit and integration tests
54 lines
1.5 KiB
JSON
54 lines
1.5 KiB
JSON
{
|
|
"name": "@edu/parent-bff",
|
|
"version": "0.1.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "nest start --watch",
|
|
"build": "nest build",
|
|
"start": "node dist/main.js",
|
|
"test": "vitest run",
|
|
"lint": "eslint src test",
|
|
"typecheck": "tsc --noEmit -p tsconfig.test.json"
|
|
},
|
|
"dependencies": {
|
|
"@graphql-tools/schema": "^10.0.6",
|
|
"@graphql-tools/utils": "^10.6.0",
|
|
"@graphql-yoga/plugin-response-cache": "^3.1.0",
|
|
"@grpc/grpc-js": "^1.12.0",
|
|
"@grpc/proto-loader": "^0.7.13",
|
|
"@nestjs/common": "^10.4.0",
|
|
"@nestjs/core": "^10.4.0",
|
|
"@nestjs/platform-express": "^10.4.0",
|
|
"@opentelemetry/api": "^1.9.0",
|
|
"@opentelemetry/auto-instrumentations-node": "^0.50.0",
|
|
"@opentelemetry/exporter-trace-otlp-http": "^0.53.0",
|
|
"@opentelemetry/sdk-node": "^0.53.0",
|
|
"dataloader": "^2.2.2",
|
|
"graphql": "^16.9.0",
|
|
"graphql-depth-limit": "^1.1.0",
|
|
"graphql-query-complexity": "^1.0.0",
|
|
"graphql-yoga": "^5.7.0",
|
|
"ioredis": "^5.4.1",
|
|
"kafkajs": "^2.2.4",
|
|
"opossum": "^8.4.0",
|
|
"pino": "^9.4.0",
|
|
"prom-client": "^15.1.0",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.0",
|
|
"zod": "^3.23.0"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^10.4.0",
|
|
"@types/express": "^4.17.0",
|
|
"@types/node": "^22.0.0",
|
|
"@types/opossum": "^8.1.4",
|
|
"@vitest/coverage-v8": "^2.1.0",
|
|
"eslint": "^9.10.0",
|
|
"pino-pretty": "^11.2.0",
|
|
"testcontainers": "^10.13.2",
|
|
"typescript": "^5.6.0",
|
|
"vitest": "^2.1.0"
|
|
}
|
|
}
|