json-schema-to-ts
fastify-swagger
Our great sponsors
json-schema-to-ts | fastify-swagger | |
---|---|---|
5 | 8 | |
1,335 | 854 | |
- | 4.5% | |
7.6 | 7.7 | |
about 2 months ago | 11 days ago | |
TypeScript | JavaScript | |
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.
json-schema-to-ts
-
Fastify: Support for Auto Type Inference (similar to TRPC)
JSON Schema To TS
-
Better Backend DX: JSON Schema + TypeScript + Swagger = β¨ Vol. 2
// First create a general "post" schema // Shared Schema export const postSchema = { $id: 'post', type: 'object', properties: { id: { type: 'number' }, title: { type: 'string' }, published: { type: 'boolean' }, content: { type: 'string' }, tags: { type: 'array', items: { type: 'string' } }, deleted: { type: 'boolean' } }, required: ['title', 'published', 'content', 'tags', 'deleted'] } as const // We don't need to create a separate "bodySchema". // But directly infer type from postSchema export type Body = FromSchema // Reply Schema // Check https://www.fastify.io/docs/latest/Reference/Validation-and-Serialization/#adding-a-shared-schema const replySchema = { type: 'object', properties: { posts: { type: 'array', items: { $ref: 'post#' } } }, additionalProperties: false } as const // Check https://github.com/ThomasAribart/json-schema-to-ts#references export type Reply = FromSchema< typeof replySchema, { references: [typeof postSchema] } > // Also make ReplyNotFound reusable for future use export const postNotFoundSchema = { $id: 'postNotFound', // add $id here type: 'object', required: ['error'], properties: { error: { type: 'string' } }, additionalProperties: false } as const export type PostNotFound = FromSchema
-
Better Backend DX: JSON Schema + TypeScript + Swagger = β¨ Vol. 1
json-schema-to-ts comes to the rescue. πͺ
-
How do you handle runtime validation / API documentation?
https://github.com/ThomasAribart/json-schema-to-ts - Infers TS Types from raw JSON Schema object literals you embed in your code.
-
6 importantes bibliotecas para AWS Serverless TypeScript
Fonte: https://github.com/ThomasAribart/json-schema-to-ts
fastify-swagger
-
Craft OpenAPI Specs & Production-Ready SDKs with Fastify
With Speakeasy, you can create client SDKs based on an OpenAPI specification. Fastify ships with the @fastify/swagger plugin, which provides convenient shortcuts for generating good OpenAPI specifications. We'll start this tutorial by registering @fastify/swagger in a Fastify project to generate a spec.
-
Testing for Breaking Changes in Fastify APIs
First letβs get our current OpenAPI specification out of Fastify and onto the file system. If you have not added the https://github.com/fastify/fastify-swagger plugin first go do that. Then use this simple script I called generate-spec.ts to write your OpenAPI specification to the filesystem.
- Is there a FastAPI alternative for Node?
- Is NestJS good for startups?
-
Automatic swagger ui for nodejs/express? (Info in comments)
The fastify-swagger docs has an example https://github.com/fastify/fastify-swagger
-
Better Backend DX: JSON Schema + TypeScript + Swagger = β¨ Vol. 1
@fastify/swagger is a fastify plugin to serve a Swagger UI, using Swagger (OpenAPI v2) or OpenAPI v3 schemas automatically generated from your route schemas, or from an existing Swagger/OpenAPI schema.
-
How do you write your API documentation? Any self-hosted utilities you'd recommend?
On the Node.js framework side of things, Fastify has support for Swagger with the fastify-swagger plugin.
-
How do you unify TypeScript for both frontend and backend?
With this approach, backend can be any programming languages that support OpenAPI or Swagger. Personally, I use fastify-swagger; but I can also be things like Python's FastAPI or Golang's Gin/Buffalo/Native.
What are some alternatives?
aws-lambda-power-tuning - AWS Lambda Power Tuning is an open-source tool that can help you visualize and fine-tune the memory/power configuration of Lambda functions. It runs in your own AWS account - powered by AWS Step Functions - and it supports three optimization strategies: cost, speed, and balanced.
fastify-openapi-glue - A plugin for the Fastify webserver to autogenerate a Fastify configuration based on a OpenApi(v2/v3) specification.
middy - π΅ The stylish Node.js middleware engine for AWS Lambda π΅
widdershins - OpenAPI / Swagger, AsyncAPI & Semoasa definitions to (re)Slate compatible markdown
generate-runtypes - A code generator for Runtypes types. Perfect to create tooling to generate code for Runtypes!
fastify-jwt - JWT utils for Fastify
papr - MongoDB TypeScript-aware Models
openapi-client-axios - JavaScript client library for consuming OpenAPI-enabled APIs with axios
quicktype - Generate types and converters from JSON, Schema, and GraphQL
tsoa - Build OpenAPI-compliant REST APIs using TypeScript and Node
json-schema-to-typescript - Compile JSONSchema to TypeScript type declarations
awesome-jsonschema - A curated list of awesome JSON Schema resources, tutorials, tools, and more.