@syntay/fastay 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -17
- package/fastay.png +0 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="./fastay.png" width="200" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
5
|
+
<h1 align="center">Fastay.js</h1>
|
|
2
6
|
|
|
3
7
|
Fastay é um framework moderno para backend construído sobre o **Express.js**, projetado para criar APIs de forma rápida, previsível e amigável para desenvolvedores.
|
|
4
8
|
|
|
@@ -51,7 +55,7 @@ npm run dev:watch
|
|
|
51
55
|
|
|
52
56
|
---
|
|
53
57
|
|
|
54
|
-
Estrutura do Projeto
|
|
58
|
+
**Estrutura do Projeto**
|
|
55
59
|
```bash
|
|
56
60
|
minha-app/
|
|
57
61
|
│
|
|
@@ -86,7 +90,7 @@ minha-app/
|
|
|
86
90
|
└── eslint.config.mjs
|
|
87
91
|
```
|
|
88
92
|
|
|
89
|
-
Explicação das pastas principais
|
|
93
|
+
**Explicação das pastas principais:**
|
|
90
94
|
|
|
91
95
|
`src/api` — Cada pasta representa um grupo de rotas. Todo route.ts dentro é registrado automaticamente.
|
|
92
96
|
|
|
@@ -123,7 +127,7 @@ void (async () => {
|
|
|
123
127
|
|
|
124
128
|
---
|
|
125
129
|
|
|
126
|
-
Opções do `createApp
|
|
130
|
+
**Opções do `createApp`**
|
|
127
131
|
|
|
128
132
|
createApp recebe um único objeto para configurar totalmente a aplicação Fastay.
|
|
129
133
|
|
|
@@ -146,7 +150,7 @@ createApp recebe um único objeto para configurar totalmente a aplicação Fasta
|
|
|
146
150
|
}
|
|
147
151
|
```
|
|
148
152
|
|
|
149
|
-
Exemplos
|
|
153
|
+
**Exemplos:**
|
|
150
154
|
|
|
151
155
|
Aplicar middlewares globais
|
|
152
156
|
|
|
@@ -222,7 +226,7 @@ expressOptions: {
|
|
|
222
226
|
|
|
223
227
|
---
|
|
224
228
|
|
|
225
|
-
Rotas da API
|
|
229
|
+
**Rotas da API**
|
|
226
230
|
|
|
227
231
|
Roteamento baseado em arquivos com sintaxe limpa:
|
|
228
232
|
|
|
@@ -246,7 +250,7 @@ Tipado e compatível com TypeScript.
|
|
|
246
250
|
|
|
247
251
|
Suporta middlewares Express.
|
|
248
252
|
|
|
249
|
-
|
|
253
|
+
**Por que é melhor que Express puro:**
|
|
250
254
|
|
|
251
255
|
Sem boilerplate: não precisa chamar `app.get(...)` ou `app.post(...)` manualmente.
|
|
252
256
|
|
|
@@ -257,7 +261,7 @@ Auto-descoberta de rotas: Fastay detecta automaticamente os arquivos de rota e r
|
|
|
257
261
|
Fácil manutenção de projetos grandes: sem necessidade de registrar manualmente centenas de rotas, mantendo organização clara.
|
|
258
262
|
|
|
259
263
|
|
|
260
|
-
1
|
|
264
|
+
**1. Express.js**
|
|
261
265
|
|
|
262
266
|
```bash
|
|
263
267
|
import express from 'express';
|
|
@@ -295,7 +299,7 @@ Escalabilidade de grandes projetos fica complicada.
|
|
|
295
299
|
|
|
296
300
|
---
|
|
297
301
|
|
|
298
|
-
2
|
|
302
|
+
**2. NestJS**
|
|
299
303
|
|
|
300
304
|
```bash
|
|
301
305
|
import { Controller, Get, Post, Body } from '@nestjs/common';
|
|
@@ -314,7 +318,7 @@ export class HelloController {
|
|
|
314
318
|
}
|
|
315
319
|
```
|
|
316
320
|
|
|
317
|
-
Características do NestJS
|
|
321
|
+
**Características do NestJS:**
|
|
318
322
|
|
|
319
323
|
Baseado em decorators e classes.
|
|
320
324
|
|
|
@@ -328,7 +332,7 @@ Exige aprendizado de decorators, módulos e injeção de dependências.
|
|
|
328
332
|
|
|
329
333
|
---
|
|
330
334
|
|
|
331
|
-
3
|
|
335
|
+
**3. Fastay.js**
|
|
332
336
|
|
|
333
337
|
```bash
|
|
334
338
|
import { Request } from '@syntay/fastay';
|
|
@@ -344,7 +348,7 @@ export async function POST(req: Request) {
|
|
|
344
348
|
}
|
|
345
349
|
```
|
|
346
350
|
|
|
347
|
-
Características do Fastay
|
|
351
|
+
**Características do Fastay:**
|
|
348
352
|
|
|
349
353
|
Baseado em arquivos, cada método HTTP é exportado.
|
|
350
354
|
|
|
@@ -365,7 +369,7 @@ Tipo-safe, clean e simples.
|
|
|
365
369
|
|
|
366
370
|
---
|
|
367
371
|
|
|
368
|
-
Middlewares
|
|
372
|
+
**Middlewares**
|
|
369
373
|
|
|
370
374
|
Fastay permite middlewares auto-carregados e via createMiddleware:
|
|
371
375
|
|
|
@@ -378,7 +382,7 @@ export async function auth(req: Request, _res: Response, next: Next) {
|
|
|
378
382
|
}
|
|
379
383
|
```
|
|
380
384
|
|
|
381
|
-
E crie um arquivo middleware.ts dentro da pasta src/middleware e use a função createMiddleware para configurar o seu middleware:
|
|
385
|
+
E crie um arquivo middleware.ts dentro da pasta `src/middleware` e use a função createMiddleware para configurar o seu middleware:
|
|
382
386
|
|
|
383
387
|
```bash
|
|
384
388
|
import { createMiddleware } from '@syntay/fastay';
|
|
@@ -393,14 +397,14 @@ export const middleware = createMiddleware({
|
|
|
393
397
|
|
|
394
398
|
---
|
|
395
399
|
|
|
396
|
-
|
|
400
|
+
**Fluxo de Request**
|
|
397
401
|
|
|
398
|
-
Cliente → Rota Fastay → Middleware → Handler da Rota → Service → Response
|
|
402
|
+
*Cliente → Rota Fastay → Middleware → Handler da Rota → Service → Response*
|
|
399
403
|
|
|
400
404
|
|
|
401
405
|
---
|
|
402
406
|
|
|
403
|
-
Conclusão
|
|
407
|
+
**Conclusão**
|
|
404
408
|
|
|
405
409
|
Fastay.js é um framework backend leve e TypeScript-first que:
|
|
406
410
|
|
package/fastay.png
ADDED
|
Binary file
|