Overview
Elysia is designed to be modular and lightweight.
Following the same idea as Arch Linux (btw, I use Arch):
Design decisions are made on a case-by-case basis through developer consensus
To ensure that developers endup with performant web server they intent to created.
That's why Elysia is creating pre-built common pattern plugin for convinient usage for developers:
Official plugins:
- Bearer - retreiving Bearer token automatically
- CORS - setup Cross Origin Request request
- Cron - setup cronjob
- Eden - end-to-end type safe client for Elysia
- GraphQL Apollo - run GraphQL Apollo on Elysia
- GraphQL Yoga - run GraphQL Yoga on Elysia
- HTML - convenient plugin for handling HTML response
- JWT - authentication with JWT
- Static - serve static file/folders
- Swagger - generate Swagger documentation in 1 line
- tRPC - add tRPC support
- WebSocket - websocket support
Community plugins:
- Lucia Auth - Authentication, simple and clean
- Elysia Clerk - Unofficial Clerk plugin for ElysiaJS
- Elysia Polyfills - run Elysia ecosystem on Node and Deno
- Vite - Simple Elysia plugin that helps you use Vite. It serve your entry html file with Vite's scripts injected
- Elysia Helmet - secure Elysia apps with various HTTP headers.
- Vite Plugin SSR - Vite Plugin SSR using Elysia server
- OAuth2 - handle OAuth 2.0 authorization code flow
- Rate Limit - simple lightweight rate limiter
- Logysia - classic logging elysia middleware
- Logger - pino logging elysia middleware
- Elysia Lambda - deploy Elysia on AWS Lambda
- Decorators - use typescript decorators with elysia
- Autoroutes - file system routes for Elysia
- Group Router - file system and folder-based router for groups.
- Basic Auth - basic http authentication for Elysia.
- ETag - automatic HTTP ETags generation for Elysia.
- Basic Auth - Basic http authentication for Elysia (using 'request' event).
- i18n - i18n wrapper for Elysia based on i18next
- Elysia Request ID - Adds/Forwards request IDs (
X-Request-ID
or custom).
If you have plugin written for Elysia, feels free to share you plugin by creating PR to documentation repo.