InversifyJS
nestjs-commander
Our great sponsors
InversifyJS | nestjs-commander | |
---|---|---|
28 | 11 | |
10,806 | 392 | |
1.1% | - | |
6.5 | 8.8 | |
about 1 month ago | 4 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
InversifyJS
-
How to Apply SOLID with Testing JS/TS Class Methods
Take a class for which we are tasked to write a unit test. This class may have a dozen methods and a dozen more attributes. In my environment we were already using inversify to dependency inject into this class, and using container snapshot and restore as setup and teardown operators, in our jest test file. But it began getting out of control even after refactoring into test cases and test runners.
-
VulcanSQL: open-source data API framework. Empowering you to construct APIs exclusively with SQL.
Inversify (https://inversify.io/) for IoC.
-
SOLID explicado com TypeScript
Alguns frameworks trabalham desta forma por padrão, como é o caso do Angular, quando este não é o padrão do framework que utilizamos podemos usar alguma biblioteca, como a Inversify ou tsyringe da Microsoft.
-
Using modern decorators in TypeScript
Using decorators required setting an --experimentalDecorators experimental compiler flag. Several popular TypeScript libraries, such as type-graphql and inversify, rely on this implementation.
-
Typesafe, (almost) Zero Cost Dependency Injection in TypeScript
inversify
- InversifyJS has reached 100,000,000 downloads on npm
-
InversifyJS has reached 100,000,000 downloads on npm 🎉 🚀
It blows 🤯 my mind to think that my #opensource project InversifyJS has reached over 100 MILLION DOWNLOADS on npm. InversifyJS is a lightweight (<50KB) but powerful Inversion Of Control (IoC) container for #JavaScript applications powered by #TypeScript. It is used to implement Dependency Injection (DI) in thousands of applications, including high-profile products like Microsoft Sway and over forty thousand open source repositories on #GitHub and over two thousand open source packages on #npm.
-
Is dependency Injection popular in Nodejs?
we use https://inversify.io/ in production, it works great.
- SOLID com Typescript: O resumo completo com exercícios
- Has anyone successfully created a Dependency Injection using typescript decorators?
nestjs-commander
-
Nestjs + pnpm monorepo
To echo the other's here, Nx has been an amazing dev experience for me! I use it for ogma, for nest-commander, testing-nestjs, and for nest-samples and @nest-lab/, all using pnpm as a package manager.
-
Node.js frameworks
This absolutely isn't true. I'm both on the core team and a maintainer of several open source modules for Nest (nest-commander for CLI creation, ogma my own logger that has a really powerful interceptor, nestjs-spelunker which can print out an object representation of your Nest application and help with module debugging for dependency resolution, and a few more). The command module is even featured in the docs.
-
Few questions about Nest.js architecture
4) Nest is great for architectural consistency, but one drawback of the framework is boot time. It's nowhere near as bad as Spring or .NET, but it is much slower than a standard Node or Express server. Though, the new Lazy Loading does help to alleviate some of that pain. Running nest in serverless environments does take extra setup, but it is usable, and packages like nest-commander make it viable for CLIs too. Personally, I pretty much don't write Node applications if they aren't in Nest unless I'm writing super rough prototypes. Typescript has become a must for any long term application, and the structure Nest brings outweighs just about any downsides I've seen from it
-
So far one of the best tools to build CLI interfaces is Oclif by Heroku. What are you all using?
I work with the NestJS framework a lot and ended up writing nest-commander as a commander wrapper for NestJS, so my CLIs and servers can use the same framework. Lately I've been working on adding in plugin support too.
-
Automating your package deployment in an Nx Monorepo with Changeset
Overall, I'm pretty excited to have this flow automated and working through three of my favorite package management tools. Everything will also work if you're using a yarn workspace instead, just change the sed script to modify the workspace file for yarn instead of the one for pnpm. I'm currently using this for my ogma and nest-commander repositories, feel free to have a look if you need some inspiration and/or real life examples. If you're developing packages and using an Nx workspace and need automated package deployment, give this a shot.
-
Any good tutorial showing you which library to use for dependency injection in a project?
There's also packages like nest-commander (disclaimer: that one is also mine) for making CLI applications instead of HTTP servers.
-
Building RESTful API's with Node. What's your approach?
I've used Express, Fastify, and NestJS for the most part. I almost exclusively work with NestJS now, as you can imagine. The fact that it has an opinionated structure for how to architect your application is something that drew me in to begin with. With almost every Nest application I can pick it up, scan the structure, and have a good idea of what's going to be happening at a very high level. It also has defined classes with specific roles. A guard will always be used for authentication, a pipe will always be for transformation and validation of request information, a filter will always be for error handling. The only one that doesn't have a "this is always for that" is an interceptor, which is pretty much your middleware of the Nest world. Logging, caching, response mapping, it can do it all. There's also using Nest for more than just web servers, as there's nest-commander (one of my packages) for CLI applications, and there's discord bot packages for Nest as well.
-
I built a console command package for NestJS
Overall it looks pretty good. I prefer having each class as it's own command line how nest-commander does it, but this seems to be a pretty good alternative
-
Creating a web server with typescript, should I go for express or fastify? Which one has better packages for typescript integration? Any recommendations for packages for each?
There's two underlying packages, one for either HTTP adapter, @nestjs/platform-express and @nestjs/platfoorm-fastify. Both of these have HttpAdapter classes that implement the abstract HttpAdapter that Nest uses as a main interface. Nest doesn't actually need the adapters to run either, you can make a microservice application that doesn't have any HTTP components, or even CLI applications with community packages (disclaimer: that one is mine). Nest is really there to help provide the modular system and help with architecture (in my opinion).
-
Introducing nest-commander
For more information on the project you can check the repo here. There's also a testing package to help with testing both the commander input and the inquirer input. Feel free to raise any issues or use the #nest-commander channel on the official NestJS Discord
What are some alternatives?
Nest - A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
nest-console - Create beautiful CLI commands in your NestJS Applications
tsyringe - Lightweight dependency injection container for JavaScript/TypeScript
routing-controllers - Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.
typedi - Simple yet powerful dependency injection tool for JavaScript and TypeScript.
Ink - 🌈 React for interactive command-line apps
awilix - Extremely powerful Inversion of Control (IoC) container for Node.JS
nx - Smart Monorepos · Fast CI
webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.
opentelemetry-js - OpenTelemetry JavaScript Client
vue-property-decorator - Vue.js and Property Decorator
gluegun - A delightful toolkit for building TypeScript-powered command-line apps.