From bee258b7eac502993e325e95a38462d545855351 Mon Sep 17 00:00:00 2001 From: ByungJoon Lee Date: Thu, 8 Feb 2024 01:26:04 +0900 Subject: [PATCH] docs: enhance documentation: summary generation mechanism --- README.md | 162 +++++++++++++++--------- assets/route-component-architecture.png | Bin 0 -> 69538 bytes 2 files changed, 100 insertions(+), 62 deletions(-) create mode 100644 assets/route-component-architecture.png diff --git a/README.md b/README.md index 202e205..1e1f9d1 100644 --- a/README.md +++ b/README.md @@ -10,17 +10,17 @@ [![codecov](https://codecov.io/gh/imjuni/fast-maker/branch/master/graph/badge.svg?token=YrUlnfDbso&style=flat-square)](https://codecov.io/gh/imjuni/fast-maker) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -`fast-maker` generate fastify.js route configuration using by directory structure. +`fast-maker` generate [fastify.js](https://github.com/fastify/fastify) route configuration using by directory structure. Why `fast-maker`? -fastify.js already have excellent auto route mechanics using [fastify-autoload](https://github.com/fastify/fastify-autoload). But why you have to use `fast-maker`? - -1. Zero cost in Run-Time. -1. [Static analysis](https://en.wikipedia.org/wiki/Static_program_analysis): `fast-maker` generate TypeScript source code. Because it help to find error in compile-time, not runtime -1. Flexable Routing: You can use like that: `/person/[kind]-[id]/`. It help to get id and kind of id, for example serial-number and id or db-pk and id, even if you can use regular expression. -1. Unifying how route paths are built: `fast-maker` use the same mechanics as [Next.js](https://nextjs.org/docs/routing/introduction). Route paths using file-system cannot be developer-specific -1. `fast-maker` support a beautiful cli-interface +1. Zeor cost for routing configuration at runtime +2. [Static analysis](https://en.wikipedia.org/wiki/Static_program_analysis): `fast-maker` generates typescript source code, so many errors can be found at compile time +3. flexible routing: supports various routing such as variable joining, regular expressions, etc. for example, `/student/[grade]-[id]`, `/hero/:id/power/:id?` +4. single way: there is only one way to create one routing configuration, so there is no risk of creating routing configurations in different ways even when collaborating +5. less code conflicts: by excluding auto-generated code from the VCS, there is less chance of code conflicts when people collaborate +6. beautiful CLI interface +7. generate a route-map.ts file that summarizes routing information. It can be used for a variety of purposes, including logging. The route-map.ts file is useful because it is generated before run-time ## Table of Contents @@ -28,11 +28,12 @@ fastify.js already have excellent auto route mechanics using [fastify-autoload]( - [How it works?](#how-it-works) - [Installation](#installation) - [Usage](#usage) -- [Routing](#routing) - - [HTTP Method](#http-method) +- [Url building](#url-building) + - [Parametric](#parametric) + - [Combined parameter](#combined-parameter) + - [Regular Expression, Wildcard](#regular-expression-wildcard) - [Route options](#route-options) - [Route handler](#route-handler) - - [Variable in Route Path](#variable-in-route-path) - [Example using fastify.js](#example-using-fastifyjs) - [Relate To](#relate-to) - [Roadmaps](#roadmaps) @@ -95,32 +96,91 @@ npx fast-maker init --help Also you can see detail option [here](/docs/options.md). -## Routing - -`fast-maker` has a file-system based route configuration. This concept borrowed from [Next.js routing system](https://nextjs.org/docs/routing/introduction). But one difference is that _HTTP Method_ is separated by file-system. - -### HTTP Method - -use file-system. - -```text -handlers/ -├─ superheros/ -│ ├─ [id]/ -│ │ ├─ powers/ -│ │ │ ├─ [id]/ -│ │ │ │ ├─ delete.ts -│ │ │ │ ├─ get.ts -│ │ │ │ ├─ put.ts -│ │ │ ├─ post.ts -│ │ ├─ delete.ts -│ │ ├─ get.ts -│ │ ├─ put.ts -│ ├─ get.ts -│ ├─ post.ts +## Url building + +![route-component-architecture.png](assets/route-component-architecture.png) + +The figure above shows at a quick look how `fast-maker` generates a route configuration. Routing with a file-system is intuitive and easy to understand, and it also allows many people to collaborate . This concept borrows from [Next.js routing system](https://nextjs.org/docs/routing/introduction). However, I've improved it to determine the http method as the filename. + +### Parametric + +file-system + +```bash +/handlers/example/[userId]/get.ts +``` + +generated TypeScript code like that, + +```ts +// parametric +fastify.route({ + method: ['get'], + url: '/example/:userId', + handler: function (request, reply) { + // curl ${app-url}/example/12345 + // userId === '12345' + const { userId } = request.params; + // your code here + } +}); +``` + +### Combined parameter + +file-system + +```bash +/handlers/[lat]-[lng]/radius/[[r]]/patch.ts +``` + +generated TypeScript code like that, + +```ts +fastify.route({ + method: ['patch'], + url: '/example/near/:lat-:lng/radius/:r?', + handler: function (request, reply) { + // curl ${app-url}/example/near/15°N-30°E/radius/20 + // lat === "15°N" + // lng === "30°E" + // r ==="20" + const { lat, lng, r } = request.params; + // your code here + } +}); +``` + +### Regular Expression, Wildcard + +file-system + +```bash +/handlers/example/at/[$time]/get.ts ``` -`get`, `post`, `put`, `delete` filename represent _HTTP Method_. Also you can use `options`, `patch`, `head`, `all` filename. +replace map in `get.ts` + +```ts +// replace map +const map = new Map(['$time', ':hour(^\\d{2})h:minute(^\\d{2})m']) +``` + +generated TypeScript code like that, + +```ts +fastify.route({ + method: ['get'], + url: '/example/at/:hour(^\\d{2})h:minute(^\\d{2})m', + handler: function (request, reply) { + // curl ${app-url}/example/at/08h24m + // hour === "08" + // minute === "24" + const { hour, minute } = request.params; + // your code here + } +}); +``` ### Route options @@ -136,8 +196,11 @@ export const option: RouteShorthandOptions = { }; ``` +When using the `fastify` instance, you can declare it as a function like this, + ```ts -// When using the `fastify` instance, you can declare it as a function like this +// completly same, +// export function option(fastify: FastifyInstance): RouteShorthandOptions { ... } export const option = (fastify: FastifyInstance): RouteShorthandOptions => { return { schema: { @@ -174,34 +237,9 @@ export async function handler( You have to `named export` and variable name must be a `handler`. Also you can use arrow function and you can use any name under TypeScript function name rule, as well as type arguments perfectly applied on route configuration -### Variable in Route Path - -File or Directory name surrounded square bracket like that, - -```text -handlers/ -├─ superheros/ -│ ├─ [id]/ -│ │ ├─ get.ts -│ │ ├─ put.ts -``` - -Multiple variable, No problem. - -```text -handlers/ -├─ superheros/ -│ ├─ [kind]-[id]/ -│ │ ├─ get.ts -``` - -This route path access like that: `curl http://localhost:8080/hero/marvel-ironman` - -That's it. `fast-maker` takes care of the rest. - ## Example using fastify.js -A complete example of using `fast-maker` can be found at [Ma-eum](https://github.com/maeumjs/maeum). +A complete example of using `fast-maker` can be found at [Ma-eum](https://github.com/maeumjs/maeum-pet-store). ## Relate To diff --git a/assets/route-component-architecture.png b/assets/route-component-architecture.png new file mode 100644 index 0000000000000000000000000000000000000000..cadb347a64ac699332229e5935c635a2133a1e18 GIT binary patch literal 69538 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 literal 0 HcmV?d00001