{"id":22874,"library":"vite-plugin-tailwind-purgecss","title":"vite-plugin-tailwind-purgecss","description":"Vite plugin that purges unused Tailwind CSS classes from the production bundle. Current stable version is 0.3.5, released with regular patches. The plugin targets only Tailwind-specific classes (not all CSS) and works with Tailwind v3 and component libraries like Skeleton, Flowbite, or shadcn-ui. It analyzes the Vite module graph to extract used selectors and passes them to PurgeCSS, reducing CSS size significantly (e.g., from 105 kB to 16 kB for a Skeleton template). Since v0.3.0, the default behavior is focused on Tailwind classes only, with an optional legacy mode for broader purging. Note: Tailwind v4 will make this plugin obsolete.","status":"active","version":"0.3.5","language":"javascript","source_language":"en","source_url":"https://github.com/AdrianGonz97/vite-plugin-tailwind-purgecss","tags":["javascript","purgeCSS","sveltekit","svelte","rollup","tailwind","tailwindcss","vite","vite-plugin","typescript"],"install":[{"cmd":"npm install vite-plugin-tailwind-purgecss","lang":"bash","label":"npm"},{"cmd":"yarn add vite-plugin-tailwind-purgecss","lang":"bash","label":"yarn"},{"cmd":"pnpm add vite-plugin-tailwind-purgecss","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Required as peer dependency to detect and purge Tailwind classes.","package":"tailwindcss","optional":false},{"reason":"Required as peer dependency; plugin works with Vite 4, 5, or 6.","package":"vite","optional":false}],"imports":[{"note":"The plugin exports a named function, not a default export.","wrong":"import purgeCss from 'vite-plugin-tailwind-purgecss'","symbol":"purgeCss","correct":"import { purgeCss } from 'vite-plugin-tailwind-purgecss'"},{"note":"PurgeOptions is a TypeScript type; use type import for correct behavior.","wrong":"import { PurgeOptions } from 'vite-plugin-tailwind-purgecss'","symbol":"PurgeOptions","correct":"import type { PurgeOptions } from 'vite-plugin-tailwind-purgecss'"},{"note":"CommonJS require must destructure the named export; default require will not work.","wrong":"const purgeCss = require('vite-plugin-tailwind-purgecss');","symbol":"require","correct":"const { purgeCss } = require('vite-plugin-tailwind-purgecss');"}],"quickstart":{"code":"// vite.config.ts\nimport { sveltekit } from '@sveltejs/kit/vite';\nimport { defineConfig, type UserConfig } from 'vite';\nimport { purgeCss } from 'vite-plugin-tailwind-purgecss';\n\nconst config: UserConfig = {\n\tplugins: [sveltekit(), purgeCss()],\n};\n\nexport default defineConfig(config);","lang":"typescript","description":"Shows how to add the purgeCss plugin to a SvelteKit project with Vite configuration using TypeScript."},"warnings":[{"fix":"If you need the old behavior (purge all unused CSS), enable legacy mode: purgeCss({ legacy: true }).","message":"v0.3.0 changed the default purging strategy to only target Tailwind-specific classes; previous behavior is opt-in via legacy mode.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Ensure tailwindcss@^3.3.0 is installed in your project.","message":"v0.3.0 added tailwindcss (v3.3.0 or higher) as a required peer dependency.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"Check the new type definition for PurgeOptions; for legacy mode use { legacy: true }.","message":"v0.3.0 updated plugin option types; old options may no longer be valid.","severity":"breaking","affected_versions":">=0.3.0"},{"fix":"If you need broader purging, enable legacy mode or use a separate CSS purging tool.","message":"The plugin only purges Tailwind classes by default (since v0.3.0); it does not remove other unused CSS.","severity":"gotcha","affected_versions":">=0.3.0"},{"fix":"Plan to migrate to Tailwind v4 when it is stable and remove this plugin.","message":"The plugin will be unnecessary after Tailwind v4 release, which includes built-in Vite plugin and content detection.","severity":"deprecated","affected_versions":">=0"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install tailwindcss: npm install -D tailwindcss@^3.3.0","cause":"Missing tailwindcss peer dependency when using v0.3.0+.","error":"Error: The plugin purgeCss requires tailwindcss as a peer dependency but it is not installed."},{"fix":"Use named import: import { purgeCss } from 'vite-plugin-tailwind-purgecss'","cause":"Using default import (import purgeCss from '...') instead of named import.","error":"Cannot find module 'vite-plugin-tailwind-purgecss' or its corresponding type declarations."},{"fix":"Use `const { purgeCss } = require('vite-plugin-tailwind-purgecss')` or `import { purgeCss } from 'vite-plugin-tailwind-purgecss'`.","cause":"Incorrect import (default import) in CommonJS or ESM.","error":"Error: purgeCss is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}