bundlejs is a quick and easy way to bundle your projects, minify and see their gzip and brotli size. It's an online tool similar to bundlephobia, but bundlejs does all the bundling locally on you browser and can treeshake and bundle multiple packages (both commonjs and esm) together, all without having to install any npm packages and with typescript support.
I used monaco-editor for the code-editor, esbuild as bundler and treeshaker respectively, denoflate as a wasm port of gzip, deno_brotli as a wasm port of brotli, deno_lz4 as a wasm port of lz4, bytes to convert the compressed size to human readable values, esbuild-visualizer to visualize and analyze your esbuild bundle to see which modules are taking up space, umami for private, publicly available analytics and general usage stats all without cookies, and countapi-js to keep track of the number of page visits, in a private and secure way.
This project was greatly influenced by @hardfists neo-tools and @mizchi's uniroll project.
The project isn't perfect, I am still working on an autocomplete, better mobile support and the high memory usage of esbuild and monaco as well as some edge case packages, e.g. monaco-editor.
If there is something I missed, a mistake, or a feature you would like added please create an issue or a pull request and I'll try to get to it. You can contribute to this project at okikio/bundle.
bundle uses Conventional Commits as the style of commit, and the Commitizen CLI to make commits easier.
You can join the discussion on github discussions.