Registry / devops / unused-webpack-plugin

unused-webpack-plugin

JSON →
library2.4.0jsnpmunverified

A webpack plugin that detects and lists unused source files in one or more directories, helping developers identify dead code. Current stable version is 2.4.0, with maintenance through minor releases. It supports webpack 3 and 4 via the hooks API. Key differentiators: simple configuration (directories, exclude patterns, root), optional failure on unused files, and respect for .gitignore (default true). It does not remove files, only reports them, and is focused on development builds. Compared to alternatives like 'webpack-deadcode-plugin', it is more minimal and relies on directories rather than webpack's module graph exclusively.

npm install unused-webpack-plugin
INSTALL
IMPORT
SIG · UNUSED-WEBPACK-PLU
U
unused-webpack-plugin
devopsjavascriptv2.4.0
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

UnusedWebpackPlugin
const UnusedWebpackPlugin = require('unused-webpack-plugin');
import UnusedWebpackPlugin from 'unused-webpack-plugin';
The package does not ship ESM exports; use CommonJS require.
UnusedWebpackPlugin
const { UnusedWebpackPlugin } = require('unused-webpack-plugin');
const UnusedWebpackPlugin = require('unused-webpack-plugin').UnusedWebpackPlugin;
Default export is an unnamed function; named export does not exist. Avoid destructuring.
UnusedWebpackPlugin
const UnusedWebpackPlugin = require('unused-webpack-plugin');
In TypeScript projects, use a type assertion or skip type checking since no type definitions are bundled.

Shows minimal webpack config with the UnusedWebpackPlugin, scanning 'src' directory, excluding test files, and setting root for relative output.

const path = require('path'); const UnusedWebpackPlugin = require('unused-webpack-plugin'); module.exports = { // webpack configuration plugins: [ new UnusedWebpackPlugin({ // Source directories to scan directories: [path.join(__dirname, 'src')], // Exclude patterns (e.g., test files) exclude: ['*.test.js', '*.spec.js', 'node_modules/**'], // Root directory for relative paths (optional) root: __dirname, // Fail build if unused files found (optional, default false) failOnUnused: false, // Respect .gitignore (default true) useGitIgnore: true, }), ], };
Debug
Known issues
breakingv2.0.0 switched to webpack 4 hooks interface, breaking compatibility with webpack <3.
fix
Upgrade to webpack 4+ or use v1.2.0 for webpack 3 support.
affects: >=2.0.0 <3.0.0
deprecatedPlugin is in maintenance mode; no new features are planned.
fix
Consider alternatives like webpack-deadcode-plugin or unimported.
affects: >=2.0.0
gotchaPlugin does not detect unused exports within files; it only lists files that are never imported.
fix
Use tools like ESLint with no-unused-vars or webpack-deadcode-plugin for unused exports.
affects: *
gotchaDirectories must be absolute paths; relative paths may fail silently.
fix
Always use path.join(__dirname, 'dir') or path.resolve() to define directories.
affects: *
Errors
Common errors & fixes
Error: Cannot find module 'webpack'
webpack is a peer dependency not installed automatically.
fix
Run 'npm install webpack' or ensure webpack is in your devDependencies.
TypeError: UnusedWebpackPlugin is not a constructor
Incorrect import: using destructured import instead of default require.
fix
Use 'const UnusedWebpackPlugin = require('unused-webpack-plugin');' (no destructuring).
No unused files found, but I know there are unused files.
Directories option may not include all relevant directories or exclude patterns are too broad.
fix
Check that 'directories' array includes every source folder and adjust 'exclude' patterns (e.g., remove 'node_modules/**' if already ignored).
Upgrade
Version history
2.4.0latest on npm
Audit
Dependencies
webpackoptionalRequired as a peer dependency; plugin implements webpack compiler hooks.
Agent activity
10 hits · last 30 days
node
8
Resources
unused-webpack-plugin — npm install unused-webpack-plugin · libregistry