
Security News
Deno 2.2 Improves Dependency Management and Expands Node.js Compatibility
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
bundle-wizard
Advanced tools
This command line utility makes it simple to create visualizations of the JS bundles that were fetched for any specific page (or "entry point") of a web app.
npx bundle-wizard reddit.com
Check out a live demo of this visualization
Try any of the following commands to take a peek at the JavaScript code different sites are shipping:
npx bundle-wizard reddit.com
npx bundle-wizard codesandbox.io
npx bundle-wizard gatsbyjs.org
npx bundle-wizard codecademy.com
npx bundle-wizard id.atlassian.com
Want to use bundle-wizard but haven't deployed your app yet? It's as easy as:
e.g. npm run build
e.g. npx serve -s build
e.g. npx bundle-wizard localhost:5000/sign-up
url
(initial argument)To skip the initial prompt, provide a url as a first argument:
npx bundle-wizard reddit.com
interact
flagIf you need to do some work in the browser getting the page ready for analysis (perhaps by signing in and then visiting a certain page), use the following command:
npx -p puppeteer -p bundle-wizard bundle-wizard --interact
The persistent npm equivalent would be running:
npm install -g puppeteer bundle-wizard
bundle-wizard --interact
You might be wondering why you have to install puppeteer as a peer dependency to use the interact command. By default bundle-wizard
uses puppeteer-core
, which is faster to download than puppeteer
because it doesn't come bundled with a version of chromium. Since the --interact
command opens a browser in non-headless mode, unlike the default bundle-wizard
command, it requires the full puppeteer
package to work reliably.
After running this command and specifying a url, you will see a browser window that will pop up that you can interact with. When you are ready to proceed, type y
into the console in respond to the waiting prompt to reload the page and start measuring performance.
Note: While this tool does not record any data, it's still recommended from a common sense perspective to enter login information only for test accounts.
desktop
flagBy default, bundle-wizard
will analyze a mobile version of the site. To analyze the desktop version instead, pass the --desktop
flag:
npx bundle-wizard --desktop
ignoreHTTPSErrors
flagIf you are running an HTTPS connection on localhost and want to test a local site, you'll need to use this setting to prevent self-signed certificate errors:
npx bundle-wizard https://localhost:5000 --ignoreHTTPSErrors
bundle-wizard
uses Puppeteer to download a web page, measure performance, and examine the JavaScript it sends to the client. It then analyzes the code using the awesome source-map-explorer library and creates a custom visualization.
This utility downloads sourcemaps from the url you provide. This requires the sourcemaps to be publically available, or at least available on your network. You might need to point to a testing instead of production build, for instance, as some apps disable sourcemaps in production.
Don't have access to sourcemaps in your prod app? Try building your app locally.
If sourcemaps are properly configured (not true for reddit.com), you should be able to click on a square to see the code it represents:
Want to know all the bundles that contain code from certain library (say, momentjs
or lodash
)? Bundle-wizard offers a search functionality in the bottom bar that allows you to filter the view based on the name of the containing folder or bundle name:
FAQs
Analyze the JavaScript loaded by a website
The npm package bundle-wizard receives a total of 798 weekly downloads. As such, bundle-wizard popularity was classified as not popular.
We found that bundle-wizard demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Deno 2.2 enhances Node.js compatibility, improves dependency management, adds OpenTelemetry support, and expands linting and task automation for developers.
Security News
React's CRA deprecation announcement sparked community criticism over framework recommendations, leading to quick updates acknowledging build tools like Vite as valid alternatives.
Security News
Ransomware payment rates hit an all-time low in 2024 as law enforcement crackdowns, stronger defenses, and shifting policies make attacks riskier and less profitable.