⚡ This release helps reduce the bundle size of applications using bpmn-visualization ⚡
Thanks to all the contributors of this release 🌈: @tbouffard
See milestone 0.47.0 to get the list of issues covered by this release.
Highlights
🎉 Reduced bundle size thanks to fast-xml-parser upgrade
We use the fast-xml-parser dependency to parse the BPMN diagram's XML source.
We've updated it from v5.0.8 to v5.2.5. The new version is declared as side-effect free, which allows bundlers to apply more aggressive tree-shaking.
⚡ Impact: Applications integrating
bpmn-visualizationmay benefit from smaller bundle sizes!
Some bundlers are now able to better remove unused code, resulting in lighter builds.
For more info about tree-shaking and side effects, check the Webpack documentation.
📦 Bundle size comparison
Here’s how the bundle size changed in several example applications from the bpmn-visualization-examples repository:
| Example | 0.46.0 | fxp 5.2.0 (#3327) | fxp 5.2.5 (#3343) |
|---|---|---|---|
| rollup | 992.60 kB | 993.40 kB | 994.00 kB |
| rsbuild | 959.80 kB | 953.70 kB | 954.70 kB |
| vite | 994.20 kB | 995.00 kB | 996.40 kB |
| webpack | 980.10 kB | 973.80 kB | 974.20 kB |
🔍 Quick analysis
- rollup and vite already apply tree-shaking efficiently, so no improvement here. The slight increase is due to new code introduced in
fast-xml-parseritself. - webpack and rsbuild show a decrease of ~5–6 kB, thanks to better tree-shaking of unused code.
What's Changed
Full Changelog: v0.46.0...v0.47.0
📦 Dependency updates
- chore(deps): bump es-toolkit from 1.35.0 to 1.39.3 (#3357) @dependabot[bot]
- chore(deps): bump fast-xml-parser from 5.2.0 to 5.2.5 (#3343) @dependabot[bot]
- chore(deps): bump fast-xml-parser from 5.0.8 to 5.2.0 (#3327) @dependabot[bot]
- chore(deps): bump es-toolkit from 1.33.0 to 1.35.0 (#3326) @dependabot[bot]
👻 Maintenance
- refactor: remove "mx" prefixes in comments (#3354) @tbouffard
- test(e2e): fix thresold for firefox on macos (#3347) @tbouffard
- refactor: remove reference to "mx" in classes, types and JSDoc (#3341) @tbouffard
- refactor: simplify registration of style definitions (#3334) @tbouffard
- refactor: consolidate navigation features into a single module (#3316) @tbouffard