CyanSalt/vite-plugin-unused-code(opens in a new tab)
Language: TypeScript
Vite/Rollup plugin to detect unused files and unused exports in used files
- stars
- 13
- watchers
- 1
- forks
- 2
- open issues
- 2
- Last updated
- 05/12/2026
Language: TypeScript
Vite/Rollup plugin to detect unused files and unused exports in used files
Vite/Rollup plugin to detect unused files and unused exports in used files.
This package is a ported version of webpack-deadcode-plugin.
Important
This plugin cannot check for dependencies of non-JavaScript files or exports (for example: CSS, or types from TypeScript files), which may be misreported as unused, even if they actually appear in the compiled bundles. Please be careful!
Warning
Rolldown does not report removed exports during tree shaking currently. Therefore, unused exports will never be reported in Vite 8 or higher.
npm install --save-dev vite-plugin-unused-code
// vite.config.js import unusedCode from 'vite-plugin-unused-code' export default { plugins: [ unusedCode({ patterns: ['src/**/*.*'], }), ], }
Type: string
Default: root option of Vite, process.cwd() as a fallback
Current working directory where patterns and exclude are located.
Type: string[]
Default: ['**/*.*']
The array of micromatch patterns to look for unused files and unused export in used files.
Type: string[]
Default: []
Deprecated. The array of patterns to not look at. { exclude: ['foo'] } is actually equivalent to { patterns: ['!foo'] }.
This option is reserved only for compatibility with webpack-deadcode-plugin.
Type: boolean
Default: true
Whether to run unused files detection or not.
Type: boolean
Default: true
Whether to run unused export detection in used files or not.
Type: 'all' | 'unused' | 'none'
Default: none if logLevel option of Vite is 'silent', 'unused' if logLevel option of Vite is 'error' or 'warn', 'all' otherwise
Adjust console output verbosity.
'all': Show all messages.'unused': Only show messages when there are either unused files or unused export.'none': Won't show unused files or unused export messages in the console. It can keep terminal clean when set exportJSON to true.Type: boolean | string
Default: false
Whether to export data in JSON format. A unused-code.json file will be created in the current directory is specified as true. You can also specify a directory to create in it instead.
Type: boolean
Default: false
Whether to interrupt the compilation when unused files or exports detected.