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!
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 fallbackCurrent working directory where
patterns
andexclude
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' | 'used' | 'none'
-
Default:
none
iflogLevel
option of Vite is'silent'
,'unused'
iflogLevel
option of Vite is'error'
or'warn'
,'all'
otherwiseAdjust console output verbosity.
-
'all'
: Show all messages. -
'used'
: 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 setexportJSON
totrue
.
-
-
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 astrue
. 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.