d4rkr00t / Whybundled
Licence: mit
Answers the question – Why the hell is this module in a bundle?
Stars: ✭ 477
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Whybundled
Webpack Format Messages
Beautiful formatting for Webpack messages; ported from Create React App!
Stars: ✭ 103 (-78.41%)
Mutual labels: webpack, stats
Poi
⚡A zero-config bundler for JavaScript applications.
Stars: ✭ 5,291 (+1009.22%)
Mutual labels: webpack, bundle
Webpack Bundle
Bundle to Integrate Webpack into Symfony
Stars: ✭ 124 (-74%)
Mutual labels: webpack, bundle
Speed Measure Webpack Plugin
⏱ See how fast (or not) your plugins and loaders are, so you can optimise your builds
Stars: ✭ 1,980 (+315.09%)
Mutual labels: webpack, stats
Webpack Bundle Analyzer
Webpack plugin and CLI utility that represents bundle content as convenient interactive zoomable treemap
Stars: ✭ 11,472 (+2305.03%)
Mutual labels: webpack, bundle
Ostap
CLI tool that fast checks if your bundle contains multiple versions of the same package, only by looking in package.json.
Stars: ✭ 117 (-75.47%)
Mutual labels: webpack, bundle
Webpack.js.org
Repository for webpack documentation and more!
Stars: ✭ 2,049 (+329.56%)
Mutual labels: webpack, bundle
Package Size
Get the bundle size of an npm package.
Stars: ✭ 257 (-46.12%)
Mutual labels: webpack, bundle
React Redux Links
Curated tutorial and resource links I've collected on React, Redux, ES6, and more
Stars: ✭ 21,205 (+4345.49%)
Mutual labels: webpack
Ts Monorepo
Template for setting up a TypeScript monorepo
Stars: ✭ 459 (-3.77%)
Mutual labels: webpack
Easy Deploy Bundle
The easiest way to deploy your Symfony applications
Stars: ✭ 446 (-6.5%)
Mutual labels: bundle
React Starter Kit
React Starter Kit — front-end starter kit using React, Relay, GraphQL, and JAM stack architecture
Stars: ✭ 21,060 (+4315.09%)
Mutual labels: webpack
Happypack
Happiness in the form of faster webpack build times.
Stars: ✭ 4,232 (+787.21%)
Mutual labels: webpack
Awesome Webpack
A curated list of awesome Webpack resources, libraries and tools
Stars: ✭ 4,470 (+837.11%)
Mutual labels: webpack
Opencollective Frontend
Open Collective Frontend. A React app powered by Next.js.
Stars: ✭ 446 (-6.5%)
Mutual labels: webpack
Webpack Pwa Manifest
Progressive Web App Manifest Generator for Webpack, with auto icon resizing and fingerprinting support.
Stars: ✭ 447 (-6.29%)
Mutual labels: webpack
Mailtolink
A quick and easy way to generate markup for mailto links without having to worry about the annoying formatting.
Stars: ✭ 478 (+0.21%)
Mutual labels: webpack
Git Quick Stats
▁▅▆▃▅ Git quick statistics is a simple and efficient way to access various statistics in git repository.
Stars: ✭ 5,139 (+977.36%)
Mutual labels: stats
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.
Quick Start
npm i -g whybundled
whybundled stats.json ← stats file generated by wepback
Usage
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 modules
Note: 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 exclusively
Other options:
-v, --version Shows version.
--help Shows help.
Examples
$ whybundled stats.json --modulesOnly
Features
Stats Analyses
- 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 ← for transitive dependencies whybundled outputs a chain of dependencies up to the closest direct
│
├─ locations: ← where module is located in a project
│ └─ ../node_modules/isobject/
│
├─ files: ← list of files that were included for this module
│ └─ ../node_modules/isobject/index.js
│
└─ reasons: ← list of reasons why module was included in a bundle
└─ is-plain-object
└─ ../node_modules/is-plain-object/index.js 10:15-34 [cjs require]
Duplicates Badge
If module has been bundled several times from different locations whybundled
adds [multiple]
badge next to the locations field:
Brought by
Using --by
flag whybundled
shows all modules that were brought into the bundle by a particular module:
whybundled stats.json --by styled-components
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].