API Reference
Complete API reference for Vegaa.
Core API
vegaa
The global Vegaa application instance.
import { vegaa } from 'vegaa'
Methods
vegaa.startVegaaServer(options?)
Starts the Vegaa server.
await vegaa.startVegaaServer({
port: 4000, // Port number (default: 4000)
cluster: false // Enable cluster mode (default: false)
})
vegaa.middleware(middleware)
Adds global middleware.
vegaa.middleware(() => ({ user: { id: 1 } }))
vegaa.middleware([middleware1, middleware2])
vegaa.plugin(plugin, options?)
Registers a plugin.
await vegaa.plugin(corsPlugin)
await vegaa.plugin(staticPlugin, { root: './public' })
route(path)
Creates a route builder.
import { route } from 'vegaa'
route('/users/:id')
.get(handler)
.post(handler)
.put(handler)
.delete(handler)
.middleware(middleware)
HTTP Methods
.get(handler)- GET request.post(handler)- POST request.put(handler)- PUT request.patch(handler)- PATCH request.delete(handler)- DELETE request.options(handler)- OPTIONS request.head(handler)- HEAD request
Middleware
.middleware(middleware)- Route-specific middleware
Express Compatibility
enableExpressCompat(app)
Enables Express middleware compatibility.
import { enableExpressCompat } from 'vegaa'
enableExpressCompat(vegaa)
vegaa.useExpressMiddleware(middleware)
Uses Express middleware (after enabling compatibility).
vegaa.useExpressMiddleware(helmet())
vegaa.useExpressMiddleware('/api', cors())
Response Helpers
html(content)
Returns HTML response.
import { html } from 'vegaa'
route('/').get(() => html('<h1>Hello</h1>'))
text(content)
Returns text response.
import { text } from 'vegaa'
route('/status').get(() => text('OK'))
Plugins
corsPlugin
CORS support plugin.
import { corsPlugin } from 'vegaa'
await vegaa.plugin(corsPlugin)
bodyParserPlugin
Body parsing plugin.
import { bodyParserPlugin } from 'vegaa'
await vegaa.plugin(bodyParserPlugin)
jsonPlugin
JSON formatting plugin.
import { jsonPlugin } from 'vegaa'
await vegaa.plugin(jsonPlugin)
staticPlugin
Static file serving plugin.
import { staticPlugin } from 'vegaa'
await vegaa.plugin(staticPlugin, {
root: './public',
prefix: '/assets'
})
httpClientPlugin
HTTP client plugin.
import { httpClientPlugin } from 'vegaa'
await vegaa.plugin(httpClientPlugin, { timeout: 5000 })
Handler Functions
Handler functions receive parameters based on their names:
- Route parameters:
id,userId, etc. - Query parameters:
query - Request body:
body - Route params object:
params - Middleware values: Any middleware-provided value names
route('/users/:id').get((id, query, user) => {
// id → route parameter
// query → query string object
// user → from middleware
})
Error Handling
Throw errors in handlers or middleware:
route('/protected').get(() => {
throw new Error('Unauthorized')
})
TypeScript Support
Vegaa includes full TypeScript support:
import { vegaa, route } from 'vegaa'
route('/users/:id').get((id: string) => {
return { userId: id }
})