A Vite/Rollup plugin to detect unused files and unused exports in used files (dead code elimination analysis). Current stable version is 0.1.8, released March 2026, with frequent bug fixes and Vite 8/Rolldown compatibility updates. Ported from webpack-deadcode-plugin; uses micromatch patterns for file matching. Key differentiator: provides both unused file and unused export detection in a single plugin for Vite/Rollup ecosystems. Limitations: cannot detect unused CSS or TypeScript types, and unused exports will not be reported in Rolldown (Vite 8+).
npm install vite-plugin-unused-codeVerified import paths — ran on the pinned version, not inferred.
Shows how to import and configure vite-plugin-unused-code in a Vite config file with commonly used options.
Manually review or use additional tools (e.g., PurgeCSS, ts-prune) for CSS and type unused detection.
Use detectUnusedFiles only, or downgrade to Vite 7 or earlier for unused export detection.
Replace exclude with patterns like ['!excluded/**'].
Verify detection results manually for dynamic imports.
Use import statement: import unusedCode from 'vite-plugin-unused-code'
Upgrade to vite-plugin-unused-code >=0.1.7
Replace exclude with patterns: patterns: ['**/*.ts', '!ignore/**']