nestia
Nest
nestia | Nest | |
---|---|---|
38 | 313 | |
1,632 | 64,633 | |
- | 1.6% | |
9.6 | 9.9 | |
5 days ago | 5 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.
nestia
-
I made Swagger/OpenAPI type definitions and converter library
However, lacking of typia and nestia libraries is obvious. If you also need detailed Swagger/OpenAPI spec like me, but you need more detailed types/properties, or found something missed, please take a contribution.
-
I made "TypeScript Swagger Editor", new type of Swagger UI writing TypeScript code in the browser
For reference, if your backend application utilizes nestia (NestJS), you don't need to build the SDK (Software Development Kit) library by converting from the Swagger Documents. The nestia will automatically generate the much advanced SDK library, just by analyzing your backend application's source code.
-
[Typia] I made Protocol Buffer library of TypeScript, easiest in the world
Also, I'd introduced my another library nestia, which utilizes typia in the NestJS framework, so that boosts up backend server performance 30x up. And since typia analyzes the NestJS backend source code at the compiler level, I also provided convenient generators such as SDK and Mockup Simulator.
-
Good bye "typescript-is" (ancestor of "typia", 20,000x faster validator)
nestia: https://github.com/samchon/nestia
-
Migration tool from Swagger to NestJS - SDK generator and Mockup simulator for every backend stacks
/** * @controller BodyController.post() * @path POST /body * @nestia Generated by Nestia - https://github.com/samchon/nestia */ export async function post( connection: IConnection, body: IBbsArticle.IStore, ): Promise { return !!connection.simulate ? post.simulate( connection, body, ) : Fetcher.fetch( connection, post.ENCRYPTED, post.METHOD, post.path(), body, ); } export namespace post { export type Input = IBbsArticle.IStore; export type Output = IBbsArticle;
-
[Nestia] I made backend simulator for frontend developers (similar with MSW, but fully automated)
When you build backend simulator of nestia, nestia analyzes your backend server source codes, and writes fake scripts simulating the NestJS backend server. The simulator even includes request data validator and random mock-up data generator.
-
[NestJS] I made backend server simulator without backend server
/** * @packageDocumentation * @module api.functional.bbs.articles * @nestia Generated by Nestia - https://github.com/samchon/nestia */ //================================================================ import { Fetcher } from "@nestia/fetcher"; import type { IConnection } from "@nestia/fetcher"; import typia from "typia"; import { NestiaSimulator } from "./../../../utils/NestiaSimulator"; import type { IBbsArticle } from "./../../../structures/IBbsArticle"; /** * Update an article. * * @param section Section code * @param id Target article ID * @param input Content to update * @returns Updated content * * @controller BbsArticlesController.update() * @path PUT /bbs/:section/articles/:id * @nestia Generated by Nestia - https://github.com/samchon/nestia */ export async function update( connection: IConnection, section: string, id: string, input: update.Input, ): Promise { return !!connection.random ? update.simulate( connection, section, id, input, ) : Fetcher.fetch( connection, update.ENCRYPTED, update.METHOD, update.path(section, id), input, ); } export namespace update { export type Input = IBbsArticle.IStore; export type Output = IBbsArticle; export const METHOD = "PUT" as const; export const PATH: string = "/bbs/:section/articles/:id"; export const ENCRYPTED: Fetcher.IEncrypted = { request: false, response: false, }; export const path = (section: string, id: string): string => { return `/bbs/${encodeURIComponent(section ?? "null")}/articles/${encodeURIComponent(id ?? "null")}`; } export const random = (g?: Partial): Output => typia.random(g); export const simulate = async ( connection: IConnection, section: string, id: string, input: update.Input, ): Promise => { const assert = NestiaSimulator.assert({ method: METHOD, host: connection.host, path: path(section, id) }); assert.param("section")("string")(() => typia.assert(section)); assert.param("id")("uuid")(() => typia.assert(id)); assert.body(() => typia.assert(input)); return typia.random( typeof connection.random === 'object' && connection.random !== null ? connection.random : undefined ); } }
-
[Nestia] Make NestJS 30x faster with fastify
For reference, you can run the benchmark program on your computer by following below commands. After the benchmark, a report would be issued under nestia/benchmark/results/{YOUR-CPU-NAME} directory. If you send the result PR on my repo (https://github.com/samchon/nestia), I'd pleasure and appreciate it even more.
-
[Nestia] I made automatic e2e test functions generator for NestJS
I made automatic e2e test functions generator for NestJS, corresponding to every API endpoints. Just setup nestia following the guide documents, and run npx nestia e2e comnand, then you can get the automatically generated e2e functions.
- Nestia, make NestJS super-fast and super-easy
Nest
-
NestJS tip: how to change HTTP server timeouts
When using the NestJS framework, sometimes you may need to change some default timeout. You can define them just like you'd do in a plain Node.js HTTP server like so:
-
Containerize your multi-services app with docker compose
Back: a graphQL server built with Nestjs
-
Full Stack Web Development Concept map
NestJS - opinionated more scalable, but harder to learn docs
-
Don't go all-in Clean Architecture: An alternative for NestJS applications
Pragmatically, we can apply this to a Nest application by creating an Interface for our services, separating the Presenter layer (Controller) from the Use Case (Services):
- Utilizando Testcontainers para Testes de IntegraĆ§Ć£o com NestJS e Prisma ORM
-
A Gentle Introduction to Containerization and Docker
Itās a text document that contains all the commands a user could call to assemble an image. Letās check an example of a Dockerfile for a nodejs app in this case it will be a NestJS app and then explain each part.
-
Scalable REST APIs with NestJS: A Testing-Driven Approach
describe('Create bookmarks', () => { const dto: CreateBookmarkDto = { title: 'NestJS', link: 'https://nestjs.com/', }; it('should create bookmark', () => { return pactum .spec() .post('/bookmarks') .withHeaders({ Authorization: 'Bearer $S{userAt}', }) .withBody(dto) .expectStatus(201) .stores('bookmarkId', 'id')//store the bookmark id in the variable bookmarkId .expectBodyContains(dto.title) .expectBodyContains(dto.link) }); });
-
Rust GraphQL APIs for NodeJS Developers: Introduction
In my usual NodeJS tech stack, which includes GraphQL, NestJS, SQL (predominantly PostgreSQL with MikroORM), I encountered these limitations. To overcome them, I've developed a new stack utilizing Rust, which still offers some ease of development:
-
A Step-by-Step Guide to Implement JWT Authentication in NestJS usingĀ Passport
The purpose of this article is to provide a step-by-step guide for implementing authentication system in a NestJS project using the Passport middleware module.
-
From Frontend to Backend
That's exactly where I am. My manager gave me these links, that cover a lot of those words the backend uses, so I can identify what they mean and how to use them. 1. For inspiration and concepts: https://github.com/Sairyss/domain-driven-hexagon 2. Suggested to read the documentation for nest.js. They apply such concepts I don't understand: https://nestjs.com/
What are some alternatives?
typia - Super-fast/easy runtime validations and serializations through transformation
SailsJS - Realtime MVC Framework for Node.js
GraphQL-NestJS-MongoDB-TypeScript-Tutorial - A GraphQL API build on top of NextJS
Koa - Expressive middleware for node.js using ES2017 async functions
trpc-fe-boilerplate-next - āļø Minimal tRPC frontend Nextjs boilerplate for separate BE-FE repositories. Easily consume fully typesafe APIs.
loopback-next - LoopBack makes it easy to build modern API applications that require complex integrations.
typescript-starter - Quickly create and configure a new library or Node.js project
feathers - The API and real-time application framework
blockfrost-js - Node.js SDK for the Blockfrost.io API.
Ts.ED - :triangular_ruler: Ts.ED is a Node.js and TypeScript framework on top of Express to write your application with TypeScript (or ES6). It provides a lot of decorators and guideline to make your code more readable and less error-prone. āļø Star to support our work!
emojihub - šŗ A simple & free HTTP API with emojis for your cool apps
Moleculer - :rocket: Progressive microservices framework for Node.js