The cn API with macro compilation for cn, clsx, and twMerge.
See packages/twl for the docs.
packages/twl the runtime, the compiler, and every bundler integration
packages/eslint-plugin-twl class sorting and compiler checks for ESLint
packages/oxlint-plugin-twl the same rules for Oxlint
packages/babel-* the superseded Babel macro
apps/website docs, built with twl and best-i18n
apps/promo the 15-second promo video, in Three.js
playground/nextjs Next.js + Turbopack, through twl/next
playground/vite-react Vite + React, through twl/vite
pnpm build # every package
pnpm test
pnpm typecheck
pnpm lint # oxlint
pnpm format # oxfmt
pnpm play # pick a playground, then run its `dev`
pnpm play nextjs build
pnpm spike # bundle a fixture with the compiler on and off, assert on the bundles
pnpm bench # weigh what the playground ships either way
pnpm bench -- --write # record a new scripts/bench-baseline.json