CodeVetter · Repo Unpack · System map
nestjs/nest
The repository is a framework monorepo with independently published packages and application examples. Core owns module discovery, dependency construction, application lifecycle, and route execution. Platform packages provide native HTTP implementations, while optional packages supply messaging and sockets. npm scripts and CircleCI describe compilation and verification, with package publication handled through Lerna.
- The root defines npm workspaces over packages/*, while common and core publish ESM index.js entrypoints and internal subpath exports.
- NestFactoryStatic exposes create, createMicroservice, and createApplicationContext for HTTP, transport, and standalone dependency-container runtimes.
- HTTP creation defaults to dynamically loading ExpressAdapter; callers can supply an AbstractHttpAdapter.
- DependenciesScanner discovers module imports and binds global scope; InstanceLoader constructs providers, injectables, and controllers.
- ServerFactory dispatches Redis, NATS, MQTT, gRPC, Kafka, and RabbitMQ transports, falling back to TCP.
- The inspected persistence example delegates MySQL configuration and repository registration to @nestjs/typeorm rather than storing records in NestContainer.
- Root scripts compile TypeScript project references, relocate built packages, run Vitest, lint with oxlint, and publish through Lerna.
- Node.js >=20 is required; TypeScript targets ES2023 with Node16 module resolution and emitted legacy decorator metadata.
- CircleCI defines build, unit-test matrix, lint, Docker-backed integration, and sample-build jobs.