Announcing NestJS 6: What’s New?

Kamil Mysliwiec | Trilon Consulting
Kamil Mysliwiec
Note: This is a previous Nest release announcement
🌟 Read about the latest release - NestJS version 9 here

Today I am thrilled to announce the official release of Nest 6: A progressive Node.js framework for building efficient and enterprise-grade, server-side applications.

Last year was great for our community. We experienced an almost 300% growth in popularity, rising four times faster than any existing HTTP library. Nest was presented at many conferences all over the world, and many amazing articles & videos were created. 2018 was amazing and we expect 2019 to be even better!

What’s new?

This new major release brings lots of amazing features. There are far too many to list, but let’s take a high-level look at some of the most exciting ones!

Injection scopes

In previous versions of Nest, every provider was shared among subsequent requests. Using singletons leads to lower memory consumption and thus to better performance of the application.

However, in some cases, you may need more control over each providers lifecycle. For instance, when you want to implement a per-request cache for your GraphQL application or when building a multi-tenant system. To handle scenarios like these, IoC container now has another granularity level which allows us to create new injection scopes —Transient Scope, and Request Scope.

Read more about the new Injection Scopes here.

Platforms

Nest is a fully-fledged, platform-agnostic framework. Platform independence makes it possible to create reusable logical parts that developers can use within different types of applications. With Nest, you can easily build a web application, CLI, a jobs queue or anything else you can think of! Hence, we have extracted all platform-specific functionalities into separate packages, such as @nestjs/platform-express. This gives developers the ability to ship ⛴ as little code as possible. Simply install what you need for your system!

Events

Previously, every micro service transporter was using a request-response paradigm behind the scenes. This communication mechanism is useful when you have to exchange messages between various, external services. This helped you be sure that the service has actually received the message thanks to the acknowledgment.

Nonetheless, some systems don’t actually need creating bi-directional channels. It brings too much unnecessary overhead that is completely useless when you just want to publish events (without the need for a response). Thus, we have introduced event-based messaging. With this paradigm, you can simply notify different service (by emitting a message) that, for example, a certain situation has happened in another part of the system.

Also, it turned out that this change gives us the capability to integrate more sophisticated messaging platforms in the future. Stay tuned!

GraphQL ❤️ TypeScript

One of the most common problems with GraphQL applications is a types redundancy. In order to solve this problem, in the previous version of Nest, we have added a compiler that allows you to compile definitions written in SDL to the TypeScript interfaces (or classes).

With 6.0.0, Nest has been integrated with an amazing type-graphql package which lets you generate your GraphQL files using only TypeScript decorators! Now you can choose which approach is a better fit for your requirements — they are both available in the @nestjs/graphql package.

Read more here.

CLI

The underlying Angular DevKit package has been updated, which means that the CLI will now support prompts. Moreover, we have added initial nest g lib support that should lead to an easier monorepo development (even better code modularization).

Documentation

Lastly, our official documentation has been revamped and is now fully written in Markdown syntax. We believe that this change will significantly simplify contributing, so we can make docs even better over time.

Community & Partners

I’m excited to announce that the Angular Console (UI for the Angular CLI) supports Nest now!

Nest framework has now become the main solution to create structured, scalable Node applications within an Angular repo.

Also, we have recently launched the official Discord channel. Join us to talk about Nest (and other funny topics)!

Migration from Nest 5

In order to migrate your existing project, follow the guidelines that are available here. Also, make sure to get rid of all deprecation messages that may appear in your console.


Support

Nest is an MIT-licensed open source project with its ongoing development made possible thanks to the support by the community, our principal sponsor — Valor Software, and many other companies. Recently, two new base sponsors decided to support us with the monthly donation, Blueanchor, and NovoLogic, thank you!

This framework is a result of the long way, full of sleepless nights, working after hours, and busy weekends. And I fully rely on the goodness ❤️ of the people. If you want to join them, you can read more here.

Official consulting

Our goal is to help elevate teams — giving them the push they need to truly succeed in today’s ever-changing tech world. Contact us to find out more about expertise consulting, code reviews, architectural support, on-site enterprise workshops, trainings, and private sessions: hello@trilon.io

What’s next?

There is still room for a bunch of improvements in the whole ecosystem.

That’s why I have already started writing down plans for the next couple of months.

  • We are about to rewrite the Swagger module to use TypeScript AST to enable tons of new, great features. Read more here.
  • More sophisticated, real-world authentication examples with various providers.
  • Serverless, deployment, and more DevOps!
  • Official video courses 🎙
  • Articles and tutorials.

Thank you

To all backers, sponsors, contributors, and community, thank you once again! This product is for you. And this is only the beginning of the long 🚀 story.

Become a Backer or Sponsor to Nest by donating to our open collective.❤


Learn NestJS - Official NestJS Courses 📚

Level-up your NestJS and Node.js ecosystem skills in these incremental workshop-style courses, from the NestJS Creator himself, and help support the NestJS framework! 🐈

🚀 The NestJS Fundamentals Course is now LIVE and 25% off for a limited time!

🎉 NEW - NestJS Course Extensions now live!
#NestJS
#NodeJS

Share this Post!

📬 Trilon Newsletter

Stay up to date with all the latest Articles & News!

More from the Trilon Blog .

Jay McDoniel | Trilon Consulting
Jay McDoniel

NestJS Metadata Deep Dive

In this article we'll be doing a deep-dive and learning about how NestJS uses Metadata internally for everything from dependency injection, to decorators we use everyday!

Read More
Kamil Mysliwiec | Trilon Consulting
Kamil Mysliwiec

NestJS v10 is now available

Today I am excited to announce the official release of Nest 10: A progressive Node.js framework for building efficient and enterprise-grade, server-side applications.

Read More
Manuel Carballido | Trilon Consulting
Manuel Carballido

Implementing data source agnostic services with NestJS

Learn how to implement data source logic in an agnostic way in yours NestJS applications.

Read More

What we do at Trilon .

At Trilon, our goal is to help elevate teams - giving them the push they need to truly succeed in today's ever-changing tech world.

Trilon - Consulting

Consulting .

Let us help take your Application to the next level - planning the next big steps, reviewing architecture, and brainstorming with the team to ensure you achieve your most ambitious goals!

Trilon - Development and Team Augmentation

Development .

Trilon can become part of your development process, making sure that you're building enterprise-grade, scalable applications with best-practices in mind, all while getting things done better and faster!

Trilon - Workshops on NestJS, Node, and other modern JavaScript topics

Workshops .

Have a Trilon team member come to YOU! Get your team up to speed with guided workshops on a huge variety of topics. Modern NodeJS (or NestJS) development, JavaScript frameworks, Reactive Programming, or anything in between! We've got you covered.

Trilon - Open-source contributors

Open-source .

We love open-source because we love giving back to the community! We help maintain & contribute to some of the largest open-source projects, and hope to always share our knowledge with the world!

Explore more

Write us a message .

Let's talk about how Trilon can help your next project get to the next level.

Rather send us an email? Write to:

hello@trilon.io
© 2019-2023 Trilon.