1.0.3 âĒ Published 7 months ago
elysia-xss v1.0.3
Elysia XSS
A plugin for Elysia.js that provides XSS (Cross-Site Scripting) protection by sanitizing request body data.
Features
- ðĄïļ Automatic XSS protection for request body data
- ð Recursive sanitization of nested objects and arrays
- ðŊ Configurable scope options
- ðŠķ Lightweight with minimal dependencies
- ð Built for Elysia.js and Bun
Installation
bun add elysia-xss
Usage
import { Elysia } from 'elysia'
import { elysiaXSS } from 'elysia-xss'
const app = new Elysia()
.use(elysiaXSS({}))
.get("/", () => "Hello World!")
.listen(3000)
Configuration
The plugin accepts a configuration object with the following options:
{
as?: "global" | "scoped" | "local" // Default: "global"
}
Example with Configuration
import { Elysia } from 'elysia'
import { elysiaXSS } from 'elysia-xss'
const app = new Elysia()
.use(elysiaXSS({ as: "scoped" }))
.post("/submit", ({ body }) => {
// body is automatically sanitized
return { message: "Data received", data: body }
})
.listen(3000)
How it Works
The plugin automatically sanitizes all string values in the request body, including nested objects and arrays. It uses the xss package under the hood for sanitization.
Dependencies
License
MIT
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.