npm.io
0.1.8 • Published 3 months ago

vite-plugin-unused-code

Licence
ISC
Version
0.1.8
Deps
2
Size
17 kB
Vulns
0
Weekly
0
Stars
13

vite-plugin-unused-code

npm

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: string

  • Default: root option of Vite, process.cwd() as a fallback

    Current working directory where patterns and exclude are located.

patterns
  • Type: string[]

  • Default: ['**/*.*']

    The array of micromatch patterns 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: boolean

  • Default: true

    Whether to run unused files detection or not.

detectUnusedExport
  • Type: boolean

  • Default: true

    Whether to run unused export detection in used files or not.

log
  • 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.
exportJSON
  • 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.

failOnHint
  • Type: boolean

  • Default: false

    Whether to interrupt the compilation when unused files or exports detected.

Keywords