nestjs-commander
ogma | nestjs-commander | |
---|---|---|
12 | 11 | |
317 | 395 | |
0.9% | - | |
9.1 | 8.8 | |
about 1 month ago | 4 days ago | |
Haskell | TypeScript | |
GNU General Public License v3.0 or later | 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.
ogma
-
[ANN] Copilot 3.16
[1] https://github.com/nasa/ogma
-
[ANN] NASA's Ogma -- now with FPrime support
The changelog is available at: https://github.com/nasa/ogma/releases/tag/v1.0.8
-
More good news from the Ogma team -- Space ROS
https://space-ros.github.io/docs/rolling/Related-Projects/Ogma.html https://github.com/nasa/ogma
-
[ANN] NASA's Ogma 1.0.7
For more details, including videos of monitors being generated and flown in simulators, see: https://github.com/nasa/ogma
-
[ANN] Summer Internship at NASA Ames Research Center
The student, if selected, will be working on extending our capabilities to test cFS/ROS/FPrime applications, especially those using Ogma and/or Copilot for monitoring. Both Ogma and Copilot are open-source software written in Haskell.
-
[ANN] Copilot 3.12
Among others, Copilot has been used at the Safety Critical Avionics Systems Branch of NASA Langley Research Center for monitoring test flights of drones. It also serves as a runtime monitoring backend for the requirements elicitation tool FRET (https://github.com/NASA-SW-VnV/fret/), via Ogma (https://github.com/nasa/ogma).
- [ANN] Copilot 3.11
-
[ANN]: Copilot 3.10 - Runtime monitoring
Understanding these properties can get hard. Using a high level language as opposed to just C is very helpful (we review the code of flight systems with sometimes 4-5 people in the room and it's not trivial at all what it is doing or to show that it is correct). But even streams can sometimes be hard to understand for very complex monitors. We've also built Ogma (https://github.com/nasa/ogma) so that people can write properties in structured natural language, or transform other languages into Copilot (and then C/whatever).
-
Hacker News top posts: Dec 12, 2021
NASA Ogma: generate hard-realtime C runtime monitoring applications\ (0 comments)
- NASA Ogma: generate hard-realtime C runtime monitoring applications
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?
nestjs-monorepo-microservices-proxy - Example of how to implement a Nestjs monorepo with no shared folder
nest-console - Create beautiful CLI commands in your NestJS Applications
nestjs-spelunker - A NestJS Module for generating a NestJS Applications Module Dependency Graph.
routing-controllers - Create structured, declarative and beautifully organized class-based controllers with heavy decorators usage in Express / Koa using TypeScript and Routing Controllers Framework.
semver - Nx plugin to automate semantic versioning and CHANGELOG generation.
Ink - ๐ React for interactive command-line apps
fret - A framework for the elicitation, specification, formalization and understanding of requirements.
InversifyJS - A powerful and lightweight inversion of control container for JavaScript & Node.js apps powered by TypeScript.
cFS - The Core Flight System (cFS)
nx - Smart Monorepos ยท Fast CI
rust-brotli - Brotli compressor and decompressor written in rust that optionally avoids the stdlib
opentelemetry-js - OpenTelemetry JavaScript Client