Simple util to find deadcode and unused files in any JavaScript project (ES5, ES6, React, Vue, ...)
npm install deadfile
Simple util to find deadcode and unused files in any JavaScript project (ES5, ES6, React, Vue, ...).
* Easy to use
* Out of box support for ES5, ES6, React, Vue, ESM, CommonJs.
* Error tolerant: deadfile uses loose parsing of your code, so if there are errors in your code, it still works. Even if you use some random babel config, it will parse your code and find imports.
* Syntax support: it supports import/require and even dynamic import.
* Shows you a warning for the node_modules you import, but do not appear in your package.json
!deadfile result
!deadfile result
npm
``bash`
$ npm install -g deadfile`
yarnbash`
$ yarn global add deadfile`
npxbash`
$ npx deadfile
bash
deadfile ./src/index.js
`multiple entry:
`bash
deadfile ./src/index.js ./src/entry2.js
`with custom directory:
`bash
deadfile ./src/index.js --dir /path/to/other/folder
`with exclude:
`bash
deadfile ./src/index.js --exclude tests utils/webpack
`without the report server or in CI scripts:
`bash
deadfile ./src/index.js --ci
`What it does
$3
All major ES Module imports are supported (including dynamic import):
!Import SyntaxAlso the following export (aggregation) syntaxes are also supported:
!Export Aggregation Syntax
$3
You can use deadfile for any JavaScript project, and go crazy with you code, use the latest features and it still works. Here are some examples:#### JSX
!React Example
$3
!Vue Example#### Reassigned requires
deadfile look for import declarations and calls of the require function. As a result, if you assign require to another var and use it to load a dependency, it will not handle it.
$3
- entry: all arguments directly after deadfile are considered as entries (yes, deadfile supports multiple entries)
`bash
deadfile ./src/index.js ./src/entry2.js
`
- --dir: set search in another folder:
`bash
deadfile --dir /path/to/other/folder
`
- --exclude: list of paths to ignore:Paths or files to exclude from search. It supports any valid RegExp expression to exclude:
` bash
deadfile --exclude ^(\w)png$
deadfile --exclude webpack utils docs
`---output: used to write report results in
.json fileYou can specify the file to write, a json file including file lists:
` bash
deadfile --output report.json
``