Ever wondered why any particular module ended up in a bundle? WhyBundled is here to answer exactly this question.
It's meant to be used alongside stats report from webpack.
npm i -g whybundledwhybundled stats.json ← stats file generated by wepback
Usage$ whybundled stats.json "[pattern]" [default command]$ whybundled stats.json --ignore babel-runtime,tslib [default command]$ whybundled stats.json --by styled-components [by command]Default options:[pattern] Optional pattern used to filter output to only matched modulesNote: you might need to wrap the pattern in quotes to use wildcards, e.g. "*.jsx"--ignore Comma separated list of glob pattern to exclude modules from final output--modulesOnly Only include modules--filesOnly Only include files--directOnly Only include direct dependencies--transitiveOnly Only include transitive dependencies--duplicatesOnly Only include modules that have duplicates in a resulting bundle--limit Limits output of reasons and files [default: 20]By options [--by]:--ignore Comma separated list of glob pattern to exclude modules from final output--limit Limits output of reasons and files [default: 20]--only Limits output to only include modules that were included by specified module exclusivelyOther options:-v, --version Shows version.--help Shows help.Examples$ whybundled stats.json --modulesOnly
- Outputs list of all modules/files included in the bundle in from most imported to least imported order.
- Builds a chain of dependencies for transitive dependencies.
- Shows all files that were included for particular module.
- Shows all reasons why particular module was included.
MODULE isobject├─ imported: 1 time ← number of times module imported├─ type: [transitive] ← type of a dependency can be either direct or transitive│ └─ isobject -> is-plain-object -> styled-components ←
If module has been bundled several times from different locations
[multiple] badge next to the locations field:
whybundled shows all modules that were brought into the bundle by a particular module:
whybundled stats.json --by styled-components