@syntay/fastay 0.1.1 → 0.1.3

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.
Files changed (2) hide show
  1. package/README.md +83 -30
  2. package/package.json +17 -1
package/README.md CHANGED
@@ -1,5 +1,3 @@
1
- Perfeito! Aqui está a versão completa do README traduzida para português, mantendo o estilo e explicações detalhadas:
2
-
3
1
  # 🚀 Fastay.js
4
2
 
5
3
  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.
@@ -29,24 +27,32 @@ O maior ponto forte é **rapidez e simplicidade**, ideal para projetos de backen
29
27
 
30
28
  ```bash
31
29
  npx fastay create-app minha-app
30
+ ```
32
31
 
33
32
  Exemplo do CLI:
34
-
33
+ ```bash
35
34
  🚀 Fastay — Create a modern backend project
36
35
  ✔ Usar TypeScript? › Sim
37
36
  ✔ Escolha um ORM: › Nenhum
38
-
37
+ ````
39
38
  2. Entrar no projeto
40
-
39
+ ```bash
41
40
  cd minha-app
42
- npm run dev # Iniciar servidor em desenvolvimento
43
- npm run dev:watch # Modo watch com reload automático
41
+ ```
42
+ 3. Iniciar servidor em desenvolvimento
43
+ ```bash
44
+ npm run dev
45
+ ```
46
+ 4. Modo watch com reload automático
47
+ ```bash
48
+ npm run dev:watch
49
+ ```
44
50
 
45
51
 
46
52
  ---
47
53
 
48
54
  Estrutura do Projeto
49
-
55
+ ```bash
50
56
  minha-app/
51
57
 
52
58
  ├── dist/ # Código compilado para produção
@@ -78,29 +84,30 @@ minha-app/
78
84
  ├── package.json
79
85
  ├── tsconfig.json
80
86
  └── eslint.config.mjs
87
+ ```
81
88
 
82
89
  Explicação das pastas principais:
83
90
 
84
- src/api — Cada pasta representa um grupo de rotas. Todo route.ts dentro é registrado automaticamente.
91
+ `src/api` — Cada pasta representa um grupo de rotas. Todo route.ts dentro é registrado automaticamente.
85
92
 
86
- src/middlewares — Middlewares personalizados, carregados automaticamente ou usados via createMiddleware.
93
+ `src/middlewares` — Middlewares personalizados, carregados automaticamente ou usados via createMiddleware.
87
94
 
88
- src/services — Mantém a lógica de negócio separada das rotas (Opcional porém recomendado).
95
+ `src/services` — Mantém a lógica de negócio separada das rotas (Opcional porém recomendado).
89
96
 
90
- src/utils — Helpers genéricos.
97
+ `src/utils` — Helpers genéricos.
91
98
 
92
- src/index.ts — Bootstrap principal da aplicação com createApp.
99
+ `src/index.ts` — Bootstrap principal da aplicação com createApp.
93
100
 
94
- dist/ — Código compilado para produção.
101
+ `dist/` — Código compilado para produção.
95
102
 
96
- fastay.config.json — Configuração do build, compilador e rotas.
103
+ `fastay.config.json` — Configuração do build, compilador e rotas.
97
104
 
98
105
 
99
106
 
100
107
  ---
101
108
 
102
- ⚡ src/index.ts
103
-
109
+ `src/index.ts`
110
+ ```bash
104
111
  import { createApp } from '@syntay/fastay';
105
112
 
106
113
  const port = 5555;
@@ -112,16 +119,17 @@ void (async () => {
112
119
  port: port
113
120
  });
114
121
  })();
115
-
122
+ ```
116
123
 
117
124
  ---
118
125
 
119
- Opções do createApp
126
+ Opções do `createApp`
120
127
 
121
128
  createApp recebe um único objeto para configurar totalmente a aplicação Fastay.
122
129
 
123
-
124
- apiDir?: string; // Diretório contendo as rotas da API (default: 'src/api')
130
+ ```bash
131
+ apiDir?: string; // Diretório contendo as rotas da API
132
+ (default: 'src/api')
125
133
  baseRoute?: string; // Caminho base para todas as rotas (default: '/api')
126
134
  port?: number; // Porta do servidor (default: 5000)
127
135
 
@@ -136,49 +144,61 @@ createApp recebe um único objeto para configurar totalmente a aplicação Fasta
136
144
  trustProxy?: boolean; // Considerar headers de proxy reverso
137
145
  locals?: Record<string, any>; // Variáveis globais para res.locals
138
146
  }
147
+ ```
139
148
 
140
149
  Exemplos:
141
150
 
142
151
  Aplicar middlewares globais
143
152
 
153
+ ```bash
144
154
  expressOptions: {
145
155
  middlewares: [cors(), helmet()],
146
156
  }
157
+ ```
147
158
 
148
159
  Configurar body parsers
149
160
 
161
+ ```bash
150
162
  expressOptions: {
151
163
  jsonOptions: { limit: '10mb' },
152
- urlencodedOptions: { extended: true },
164
+ urlencodedOptions: { extended: true },
153
165
  }
166
+ ```
154
167
 
155
168
  Servir arquivos estáticos
156
169
 
170
+ ```bash
157
171
  expressOptions: {
158
172
  static: { path: 'public', options: { maxAge: 3600000 } }
159
173
  }
174
+ ```
160
175
 
161
176
  Configurar views e locals
162
177
 
178
+ ```bash
163
179
  expressOptions: {
164
180
  views: { engine: 'pug', dir: 'views' },
165
181
  locals: { siteName: 'Fastay' }
166
182
  }
183
+ ```
167
184
 
168
185
  Handler de erro customizado
169
186
 
187
+ ```bash
170
188
  expressOptions: {
171
189
  errorHandler: (err, req, res, next) => {
172
190
  console.error(err);
173
191
  res.status(500).json({ message: 'Algo deu errado!' });
174
192
  }
175
193
  }
194
+ ```
176
195
 
177
196
 
178
197
  ---
179
198
 
180
- fastay.config.json
199
+ `fastay.config.json`
181
200
 
201
+ ```bash
182
202
  {
183
203
  "entry": "src/index.ts",
184
204
  "outDir": "dist",
@@ -188,14 +208,15 @@ fastay.config.json
188
208
  "target": "es2020"
189
209
  }
190
210
  }
211
+ ```
191
212
 
192
- entry — Arquivo principal da aplicação.
213
+ `entry` — Arquivo principal da aplicação.
193
214
 
194
- outDir — Diretório de saída do código compilado.
215
+ `outDir` — Diretório de saída do código compilado.
195
216
 
196
- routesDir — Diretório opcional para rotas (default src/api).
217
+ `routesDir` — Diretório opcional para rotas (default src/api).
197
218
 
198
- compiler — Opções para compilação TypeScript/ESBuild.
219
+ `compiler` — Opções para compilação TypeScript/ESBuild.
199
220
 
200
221
 
201
222
 
@@ -205,6 +226,7 @@ Rotas da API
205
226
 
206
227
  Roteamento baseado em arquivos com sintaxe limpa:
207
228
 
229
+ ```bash
208
230
  import { Request } from '@syntay/fastay';
209
231
 
210
232
  export async function GET() {
@@ -214,6 +236,7 @@ export async function GET() {
214
236
  export async function POST(req: Request) {
215
237
  return { message: 'Hello World' };
216
238
  }
239
+ ```
217
240
 
218
241
  Cada método HTTP é exportado como função.
219
242
 
@@ -225,7 +248,7 @@ Suporta middlewares Express.
225
248
 
226
249
  ✅ Por que é melhor que Express puro:
227
250
 
228
- Sem boilerplate: não precisa chamar app.get(...) ou app.post(...) manualmente.
251
+ Sem boilerplate: não precisa chamar `app.get(...)` ou `app.post(...)` manualmente.
229
252
 
230
253
  Separação limpa dos arquivos de rota: cada rota fica em um arquivo route.ts dentro de api ou outro diretório.
231
254
 
@@ -236,6 +259,7 @@ Fácil manutenção de projetos grandes: sem necessidade de registrar manualment
236
259
 
237
260
  1️⃣ Express.js
238
261
 
262
+ ```bash
239
263
  import express from 'express';
240
264
 
241
265
  const app = express();
@@ -257,6 +281,7 @@ app.use('/api/auth', (req, res, next) => {
257
281
  });
258
282
 
259
283
  app.listen(5000, () => console.log('Server running on port 5000'));
284
+ ```
260
285
 
261
286
  Pontos negativos do Express puro:
262
287
 
@@ -272,6 +297,7 @@ Escalabilidade de grandes projetos fica complicada.
272
297
 
273
298
  2️⃣ NestJS
274
299
 
300
+ ```bash
275
301
  import { Controller, Get, Post, Body } from '@nestjs/common';
276
302
 
277
303
  @Controller('api/hello')
@@ -286,6 +312,7 @@ export class HelloController {
286
312
  return { message: 'Hello POST World', body };
287
313
  }
288
314
  }
315
+ ```
289
316
 
290
317
  Características do NestJS:
291
318
 
@@ -303,6 +330,7 @@ Exige aprendizado de decorators, módulos e injeção de dependências.
303
330
 
304
331
  3️⃣ Fastay.js
305
332
 
333
+ ```bash
306
334
  import { Request } from '@syntay/fastay';
307
335
 
308
336
  // GET /api/hello
@@ -314,6 +342,7 @@ export async function GET() {
314
342
  export async function POST(req: Request) {
315
343
  return { message: 'Hello POST World' };
316
344
  }
345
+ ```
317
346
 
318
347
  Características do Fastay:
319
348
 
@@ -340,15 +369,18 @@ Middlewares
340
369
 
341
370
  Fastay permite middlewares auto-carregados e via createMiddleware:
342
371
 
372
+ ```bash
343
373
  import { Request, Response, Next } from '@syntay/fastay';
344
374
 
345
375
  export async function auth(req: Request, _res: Response, next: Next) {
346
376
  // Lógica de autenticação
347
377
  next();
348
378
  }
379
+ ```
349
380
 
350
381
  E crie um arquivo middleware.ts dentro da pasta src/middleware e use a função createMiddleware para configurar o seu middleware:
351
382
 
383
+ ```bash
352
384
  import { createMiddleware } from '@syntay/fastay';
353
385
  import { auth } from './auth';
354
386
  import { logger } from './logger';
@@ -357,7 +389,7 @@ export const middleware = createMiddleware({
357
389
  '/auth': [auth],
358
390
  '/admin': [logger],
359
391
  });
360
-
392
+ ```
361
393
 
362
394
  ---
363
395
 
@@ -382,4 +414,25 @@ Reduz boilerplate e aumenta a manutenção.
382
414
 
383
415
 
384
416
  Ideal para desenvolvedores que querem estrutura sem complicação.
385
- ```
417
+
418
+ ---
419
+
420
+ ## 🔹 Contribuição
421
+
422
+ Contribuições são bem-vindas!
423
+
424
+ 1. Faça um fork do projeto.
425
+ 2. Crie uma branch (`git checkout -b minha-feature`).
426
+ 3. Commit suas mudanças (`git commit -am 'Adiciona nova feature'`).
427
+ 4. Push para a branch (`git push origin minha-feature`).
428
+ 5. Abra um Pull Request.
429
+
430
+ ---
431
+
432
+ ## 🔹 Licença
433
+
434
+ MIT © Syntay Team
435
+
436
+ ---
437
+
438
+
package/package.json CHANGED
@@ -1,9 +1,25 @@
1
1
  {
2
2
  "name": "@syntay/fastay",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
+ "description": "Framework backend moderno baseado em Express.js, para criar APIs rapidamente",
4
5
  "main": "dist/index.js",
5
6
  "types": "dist/index.d.ts",
6
7
  "type": "module",
8
+ "keywords": [
9
+ "express",
10
+ "backend",
11
+ "api",
12
+ "typescript",
13
+ "fastay",
14
+ "framework"
15
+ ],
16
+ "author": "Syntay team <contact@syntay.site>",
17
+ "license": "MIT",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "https://github.com/syntay-team/fastay.git"
21
+ },
22
+ "homepage": "https://github.com/syntay-team/fastay#readme",
7
23
  "scripts": {
8
24
  "build": "tsc -p tsconfig.build.json",
9
25
  "prepare": "npm run build"