vite-plugin-unused-code
Vite/Rollup plugin to detect unused files and unused exports in used files.
This package is a ported version of webpack-deadcode-plugin.
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!
Rolldown does not report removed exports during tree shaking currently. Therefore, unused exports will never be reported in Vite 8 or higher.
Installation
npm install --save-dev vite-plugin-unused-code
Usage
// vite.config.js
import unusedCode from 'vite-plugin-unused-code'
export default {
plugins: [
unusedCode({
patterns: ['src/**/*.*'],
}),
],
}
Options
context
Type:
stringDefault:
rootoption of Vite,process.cwd()as a fallbackCurrent working directory where
patternsandexcludeare located.
patterns
Type:
string[]Default:
['**/*.*']The array of
micromatchpatterns to look for unused files and unused export in used files.
exclude
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.
detectUnusedFiles
Type:
booleanDefault:
trueWhether to run unused files detection or not.
detectUnusedExport
Type:
booleanDefault:
trueWhether to run unused export detection in used files or not.
log
Type:
'all' | 'unused' | 'none'Default:
noneiflogLeveloption of Vite is'silent','unused'iflogLeveloption of Vite is'error'or'warn','all'otherwiseAdjust 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 setexportJSONtotrue.
exportJSON
Type:
boolean | stringDefault:
falseWhether to export data in JSON format. A
unused-code.jsonfile will be created in the current directory is specified astrue. You can also specify a directory to create in it instead.
failOnHint
Type:
booleanDefault:
falseWhether to interrupt the compilation when unused files or exports detected.