NestJS

{{Short description|JavaScript framework}}

{{Multiple issues|

{{promotional|date=February 2025}}

{{tone|date=February 2025}}

}}

{{Use mdy dates|date=November 2024}}

{{Infobox software

| name = NestJS

| logo = NestJS-logo-wordmark.svg

| author = Kamil Myśliwiec

| developer = Kamil Myśliwiec, [https://github.com/orgs/nestjs/people NestJS core team] and others

| released = {{start date and age|2017|02|26}}

| latest release version = {{wikidata|property|P348}}

| latest release date = {{wikidata|qualifier|mdy|P348|P577}}; {{time ago|{{wikidata|qualifier|raw|P348|P577}}}}{{wikidata|reference|mdy|edit|P348}}

| operating system =

| platform = Node.js

| programming language = TypeScript

| license = MIT License

| genre = Web framework

}}

NestJS, or simply Nest, is a server-side Node.js-based web framework, released as free and open-source software under an MIT License.{{cite web |df=mdy |title=Documentation |work=NestJS |url=https://docs.nestjs.com/ |access-date=2024-11-22}}{{Cite book |last=温健民 |title= |publisher=Tsinghua University Press |year=2024 |isbn=9787302671008 |editor-last=赵军 |script-title=zh:NestJS全栈开发解析 |trans-title=NestJS Full-Stack Development Guide}}

History

In February 2017, Kamil Myśliwiec was inspired by Angular to build a Node.js-based framework with an architecture based on Socket.IO and Express.{{cite web |last=Myśliwiec |first=Kamil |date=2017-02-26 |df=mdy |title=Build modern & scalable Node.js web applications with Nest |department=Blog |work=Kamil Myśliwiec |url=https://kamilmysliwiec.com/build-modern-scalable-node-js-web-applications-with-nest |access-date=2024-11-22}} According to the NestJS GitHub repository, the first tagged release, version 4.4.0, was on November 23, 2017.{{cite web |date=2017-11-23 |df=mdy |title=Release v4.4.0 |department=nestjs/nest |work=GitHub |url=https://github.com/nestjs/nest/releases/tag/v4.4.0 |access-date=2024-11-22}}

Over the following years, the framework broadened its functionality, adding support for additional adapters and drivers, such as Fastify,{{cite web |df=mdy |title=Fastify integration |work=NestJS |url=https://docs.nestjs.com/techniques/performance |access-date=2024-12-16}} to provide more options for developers. It also introduced integration with popular message brokers, including RabbitMQ{{cite web |df=mdy |title=RabbitMQ integration |work=NestJS |url=https://docs.nestjs.com/techniques/performance |access-date=2024-12-16}} and Kafka,{{cite web |df=mdy |title=Kafka integration |work=NestJS |url=https://docs.nestjs.com/techniques/performance |access-date=2024-12-16}} to facilitate communication in distributed systems.

Features

NestJS offers several features for handling requests and responses. Middleware are based on Express, and are executed before the route handler. Guards are used to control access to routes by determining whether a request meets specific conditions. Interceptors allow additional logic to be executed before or after method execution. An interceptor should implement the intercept method of NestInterceptor.

Popularity

NestJS is used by Sanofi, Adidas, Autodesk, Mercedes-Benz, GitLab, Red Hat, BMW, Roche, IBM, Decathlon, Société Générale, JetBrains, TotalEnergies, Capgemini, REWE digital and others.{{cite web |df=mdy |title=Enterprise |work=NestJS |url=https://enterprise.nestjs.com/ |access-date=2024-11-22}}{{cite web |df=mdy |title=Who is using Nest? |department=Discover |work=NestJS Documentation |url=https://docs.nestjs.com/discover/companies |access-date=2024-11-22}}

See also

{{Portal|Free and open-source software}}

  • {{slink|Comparison of server-side web frameworks|JavaScript}}

References

{{Reflist}}