Skip to main content

Plugin ecosystem

Ness 7 plugins use Vite hooks and are composed through ness({ plugins }). Official integrations are ESM-only, typed, and tested on Node 20.19+.

PackagePurpose
@nessframework/nestNestJS controllers, DI, guards, and server modules
@nessframework/tailwindTailwind CSS 4 and production CSS optimization
@nessframework/securitySecure headers for Vite development and preview
@nessframework/envRequired variables, formats, choices, and validators
@nessframework/compressionPrecompressed Gzip and Brotli production assets
@nessframework/analyzerJSON/HTML bundle reports and enforceable size budgets

Install an official plugin by its short name:

ness add tailwind --dev
ness add security --dev
ness add nest

The CLI expands these aliases to packages such as @nessframework/tailwind, @nessframework/security, and @nessframework/nest.

Compose plugins​

ness.config.mjs
import analyzer from '@nessframework/analyzer';
import compression from '@nessframework/compression';
import { defineNessConfig } from '@nessframework/router';
import env from '@nessframework/env';
import nest from '@nessframework/nest';
import { ness } from '@nessframework/router/vite';
import security from '@nessframework/security';

export default defineNessConfig({
vite: {
plugins: [
ness({
plugins: [
nest(),
env({ schema: { DATABASE_URL: true } }),
security(),
compression(),
analyzer({ maxSize: 750_000 }),
],
}),
],
},
});

Open an individual plugin page for installation, options, and output details. To create a reusable integration, see Create a plugin.