Security News
Weekly Downloads Now Available in npm Package Search Results
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
@nestjs/core
Advanced tools
The @nestjs/core package is the core foundation of the NestJS framework, a framework for building efficient, reliable and scalable server-side applications. It provides out-of-the-box application architecture which allows developers and teams to create highly testable, scalable, loosely coupled, and easily maintainable applications.
Module System
NestJS uses a module system to organize code into separate modules. This code sample demonstrates how to define a basic module in NestJS.
import { Module } from '@nestjs/common';
@Module({
imports: [],
controllers: [],
providers: [],
})
export class AppModule {}
Dependency Injection
NestJS provides a powerful dependency injection system, allowing classes to define their dependencies through the constructor. This code sample shows how to inject a service into another.
import { Injectable } from '@nestjs/common';
@Injectable()
export class MyService {
constructor(private otherService: OtherService) {}
}
Controllers and Routing
NestJS allows for easy setup of controllers and routing. This code sample demonstrates defining a controller with a single route that returns a simple string.
import { Controller, Get } from '@nestjs/common';
@Controller('my-route')
export class MyController {
@Get()
getHello(): string {
return 'Hello World!';
}
}
Express is a minimal and flexible Node.js web application framework that provides a robust set of features for web and mobile applications. While it is less opinionated than NestJS, requiring more manual setup for structure and architecture, it serves as the underlying HTTP server framework for NestJS.
Fastify is a fast and low overhead web framework for Node.js. It is designed to be as efficient and fast as possible, similar to Express but with a focus on speed and performance. NestJS can use Fastify as an alternative HTTP server to Express, offering developers a choice based on their performance needs.
Hapi is a rich framework for building applications and services, offering a powerful plugin system. It is designed to be more configurable and extensible than Express, providing a robust set of features out of the box. While it shares some similarities with NestJS in terms of offering a structured approach to application development, it does not enforce a specific architecture or dependency injection system.
A progressive Node.js framework for building efficient and scalable web applications. :cat:
Nest is a framework for building efficient, scalable Node.js web applications. It uses modern JavaScript, is built with TypeScript (preserves compatibility with pure JavaScript) and combines elements of OOP (Object Oriented Progamming), FP (Functional Programming), and FRP (Functional Reactive Programming).
Under the hood, Nest makes use of Express, allowing for easy use of the myriad third-party plugins which are available.
In recent years, thanks to Node.js, JavaScript has become the “lingua franca” of the web for both front and backend applications, giving rise to awesome projects like Angular, React and Vue which improve developer productivity and enable the construction of fast, testable, extensible frontend applications. However, on the server-side, while there are a lot of superb libraries, helpers and tools for Node, none of them effectively solve the main problem - the architecture.
Nest aims to provide an application architecture out of the box which allows for effortless creation of highly testable, scalable, loosely coupled and easily maintainable applications.
WsAdapter
)CustomTransportStrategy
)Install the TypeScript Starter Project with Git:
$ git clone https://github.com/nestjs/typescript-starter.git project
$ cd project
$ npm install
$ npm run start
Install the JavaScript (Babel) Starter Project with Git:
$ git clone https://github.com/nestjs/javascript-starter.git project
$ cd project
$ npm install
$ npm run start
Start a New Project from Scratch with NPM:
$ npm i --save @nestjs/core @nestjs/common @nestjs/microservices @nestjs/websockets @nestjs/testing reflect-metadata rxjs
:books: Documentation & Tutorial
I am on a mission to provide an architecture to create truly flexible, scalable and loosely coupled systems using the Node.js platform. It takes a lot of time, so if you want to support me, please become a backer / sponsor. I appreciate your help. Thanks! :heart_eyes:
FAQs
Nest - modern, fast, powerful node.js web framework (@core)
The npm package @nestjs/core receives a total of 3,317,649 weekly downloads. As such, @nestjs/core popularity was classified as popular.
We found that @nestjs/core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Socket's package search now displays weekly downloads for npm packages, helping developers quickly assess popularity and make more informed decisions.
Security News
A Stanford study reveals 9.5% of engineers contribute almost nothing, costing tech $90B annually, with remote work fueling the rise of "ghost engineers."
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.