Vois 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 voisbun add -D vois// vite.config.ts
import type { UserConfig } from 'vite'
import vois from 'vois/vite'
export default {
plugins: [vois()],
} satisfies UserConfigbun add -D vois// next.config.ts
import type { NextConfig } from 'next'
import { voisTurboRule } from 'vois/next'
export default {
turbopack: { rules: { ...voisTurboRule } },
} satisfies NextConfig
