Passa al contenuto principale

Efesto

Filesystem-routing API framework for Node.js/Express and Bun/Elysia

un framework, due stack: express · bun/elysia

Il tuo filesystem è il router

Metti un file in routes/. La sua posizione è l'URL. Nessuna tabella di rotte da registrare, nessun decoratore da tenere sincronizzato.

routes/index.ts/
routes/health.ts/health
routes/users/index.ts/users
routes/users/[id].ts/users/:id
routes/users/[id]/posts.ts/users/:id/posts

Un solo file serve ogni verbo: dichiara _get, _post, _put, _delete nello stesso modulo.

Routing da filesystem

Un modello, due runtime

La stessa directory di rotte gira su Node con Express, o su Bun con Elysia. Cambia l'import, mantieni le convenzioni.

import efesto from "efesto" // Node + Express
import efesto from "efesto/elysia" // Bun + Elysia
Bun / Elysia →

OpenAPI e tipi, generati

Express deriva Swagger e i tipi TypeScript dai tuoi schemi; Elysia li inferisce da TypeBox. Il tuo editor conosce già la forma della richiesta.

"string::email!"string
"@User[]"User[]
Generazione dei tipi