Voicss is a bundler plugin that extracts void `css ...` blocks from .ts(x) files into native CSS.
- ⚡ True zero-runtime: styles are extracted at build time, no JS in production
- 💎 Native CSS: write standard CSS with all modern features
- 📦 Modern bundlers: first-class support for Next.js and Vite
- 🔥 HMR: instant style updates during development
- 🧩 VS Code extension: syntax highlighting, autocomplete, validation, and more
- 🧹 ESLint plugin: CSS linting in template literals
Scaffold a demo project for your platform (Next.js/Vite/tsdown):
bun create voicssbun add -D @voicss/vite// vite.config.ts
import type { UserConfig } from 'vite'
import voicss from '@voicss/vite'
export default {
plugins: [voicss()],
} satisfies UserConfigbun add -D @voicss/next// next.config.ts
import type { NextConfig } from 'next'
import { voicssTurboRule } from '@voicss/next'
export default {
turbopack: { rules: { ...voicssTurboRule } },
} satisfies NextConfig
