Plugins
Plugins add functionality to your VeloxTS application. VeloxTS is built on Fastify’s plugin system.
Using Plugins
Section titled “Using Plugins”import { veloxApp } from '@veloxts/velox';import { databasePlugin } from '@veloxts/orm';import { authPlugin } from '@veloxts/auth';
const app = veloxApp();
app.register(databasePlugin);app.register(authPlugin, { secret: process.env.JWT_SECRET });
await app.start({ port: 3030 });Built-in Plugins
Section titled “Built-in Plugins”| Package | Plugin | Purpose |
|---|---|---|
| @veloxts/orm | databasePlugin | Prisma database connection |
| @veloxts/auth | authPlugin | Authentication setup |
| @veloxts/router | registerDocs | OpenAPI documentation |
Creating Plugins
Section titled “Creating Plugins”import { definePlugin } from '@veloxts/core';
export const myPlugin = definePlugin({ name: 'my-plugin', register: async (app, options) => { // Add hooks, decorators, routes app.addHook('onRequest', async (request) => { // ... }); },});Fastify Plugins
Section titled “Fastify Plugins”You can use any Fastify plugin:
import cors from '@fastify/cors';import helmet from '@fastify/helmet';
app.register(cors, { origin: true });app.register(helmet);Next Steps
Section titled “Next Steps”- Application - App lifecycle
- Context - Request context