NestJS

A progressive Node.js framework for building efficient, scalable, and maintainable server-side applications in TypeScript.

Framework
npm
v12.2.0
76,893 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
93 /100 Excellent
Development Activity 100
Maintenance 96
Community 76
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
92 /100 Excellent
Architecture 95
Code Quality 92
Innovation 90
Learning Curve 60

NestJS is a progressive Node.js framework for building server-side applications, and @nestjs/core is the runtime engine at its heart. It combines a powerful dependency-injection container, a modular application architecture, and a decorator-driven programming model inspired by Angular, giving teams an opinionated structure out of the box instead of an empty pile of libraries.

Built with TypeScript (while preserving full JavaScript compatibility), Nest layers on top of proven HTTP platforms like Express and Fastify and blends OOP, functional, and reactive paradigms. The @nestjs/core package resolves the module graph, instantiates providers, wires up controllers, guards, interceptors, and pipes, and bootstraps the application through the NestFactory, making large codebases testable, loosely coupled, and easy to maintain.

What You Get

  • A hierarchical dependency-injection container that resolves providers across a module graph
  • The NestFactory bootstrapper for HTTP apps, microservices, and standalone application contexts
  • A modular architecture with encapsulated, reusable feature modules
  • A composable request pipeline of guards, interceptors, pipes, and exception filters
  • Platform-agnostic adapters so the same app runs on Express or Fastify
  • First-class TypeScript support with a decorator-driven, testable programming model

Common Use Cases

  • Building REST and GraphQL APIs with a clear, layered architecture
  • Developing microservices and event-driven services with shared conventions
  • Structuring large enterprise backends that need testability and loose coupling
  • Standardizing cross-cutting concerns like auth, validation, and logging across a team

Under The Hood

Architecture

At bootstrap, NestFactory.create (packages/core/nest-factory.ts) builds a NestContainer and runs the DependencyScanner (scanner.ts) to walk the root module’s imports/exports/providers metadata via the MetadataScanner, producing a graph in modules-container.ts. The InstanceLoader then drives the Injector (injector/injector.ts) to topologically resolve and instantiate every provider, honoring scopes (singleton, request, transient) and circular dependencies through instance wrappers. A platform adapter (platform-express/platform-fastify) supplies the HTTP server, while the RouterModule maps decorated controller methods to routes and assembles the per-request execution chain of guards, interceptors, pipes, and exception filters.

Tech Stack

Written in TypeScript (99.8% of the repo) targeting Node.js >= 20, the package leans on reflect-metadata for decorator metadata, rxjs for the reactive interceptor stream, and small focused runtime deps (iterare, path-to-regexp, tslib, uid, fast-safe-stringify). It is published from a Lerna-managed monorepo alongside @nestjs/common, @nestjs/microservices, and the platform packages, all built with the TypeScript project-references compiler.

Code Quality

The codebase is mature and disciplined: 81 .spec.ts files sit alongside roughly 179 source files in the core package, with Mocha-based unit specs plus an extensive integration/ suite. ESLint, Prettier, commitlint, and Husky hooks enforce style and conventions, and the injector, scanner, and router subsystems are cleanly separated into focused directories with descriptive naming and strong typing.

API Design The public surface is deliberately small and ergonomic: applications are bootstrapped with a one-line NestFactory.create(AppModule), and behavior is expressed declaratively through decorators (@Module, @Injectable, @Controller) re-exported largely from @nestjs/common. Extensive official documentation, a consistent Angular-inspired vocabulary, and sensible defaults keep boilerplate low, though the dependency-injection and module concepts carry a real learning curve for newcomers.

Used by 108 apps in this directory

TypeScript
99%
Other

Teable

Databases · No Code Platforms

21,920

A no-code PostgreSQL database with spreadsheet UX, real-time collaboration, and native AI agents — built for teams that outgrow Airtable.

View details
78
Repo Health
76
Technical
62
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago
TypeScript
99%
Other

Teable

Databases · No Code Platforms

21,920

A no-code PostgreSQL database with spreadsheet UX, real-time collaboration, and native AI agents — built for teams that outgrow Airtable.

View details
78
Repo Health
76
Technical
62
Dependency
Built with
TypeScript 99%
Updated 1 weeks ago
Rust
66%
Apache 2.0

Temps

Analytics · Devops · Monitoring

865

A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.

View details
81
Repo Health
86
Technical
66
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 weeks ago
Rust
66%
Apache 2.0

Temps

Analytics · Devops · Monitoring

865

A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.

View details
81
Repo Health
86
Technical
66
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 weeks ago
Rust
66%
Apache 2.0

Temps

Analytics · Devops · Monitoring

865

A self-hosted Rust PaaS that replaces Vercel, Sentry, PostHog, Pingdom, Resend, and E2B with one binary — plus 440+ CLI operations agents like Claude Code can drive directly.

View details
81
Repo Health
86
Technical
66
Dependency
Built with
Rust 66%
TypeScript 33%
Updated 1 weeks ago
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated 6 days ago
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated 6 days ago
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated 6 days ago
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated 6 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers