Repository navigation
docs: honest bundle-size story — measured CSS sizes, JS-only claim fixed - #324
Conversation
Fixes the homepage's 'Ultra-lightweight: Only 21KB gzipped' claim, which presented a stale JS-only number as the whole story while a default scaffold ships ~800KB (~82KB gzip) of CSS (#193). - Homepage: lean-runtime framing — ~49KB min+gzip for the ENTIRE library (measured: esbuild --minify + gzip on dist/index.esm.js), tree-shaking caveat, and owns the CSS-flavor choice. - variations.md: File Size Comparison gains a raw (minified) column — the raw number is what bundlers report and what #193 measured; new 'What ends up in your build' section explains raw vs gzipped and that CSS is never tree-shaken. - modular.md, installation.md: stale ~80KB/~40KB/~30KB figures replaced with the measured set; PurgeCSS mention now points at the opt-in recipe in optimizing-css.md instead of implying it's wired in. - optimizing-css.md: last remaining ~21KB claim updated. All figures standardized on one measured set across the four pages plus the homepage. Claude-Session: https://claude.ai/code/session_015LmRYeZUeev2ZDXpcumGE5
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
WalkthroughBundle-size documentation now reports measured JavaScript and CSS sizes, distinguishes raw output from gzipped transfer size, and documents CSS tree-shaking limitations, prebuilt variations, PurgeCSS, and modular Sass options. Homepage copy reflects the revised JavaScript measurement and styling choices. ChangesBundle size guidance
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install timed out. The project may have too many dependencies for the sandbox. Comment |
Preview DeploymentPreview URL: https://09d4fae7.bestax.pages.dev |
There was a problem hiding this comment.
Deep review — 0 finding(s)
| # | Severity | Area | Finding | Location |
|---|---|---|---|---|
| — | — | — | No blocking defects found. | — |
Overall: This is a docs-only honesty pass that replaces vague/optimistic bundle numbers with measured ones, and it holds together. Every figure is internally consistent — the ~49KB JS claim is identical across all five surfaces, the ~800KB/~82KB Complete-CSS pair matches the variations table, and the prose savings claims (~15KB for no-helpers, ~12KB for no-dark-mode) are exactly the deltas in that table. Both cross-page anchor links resolve, no stale figures survive elsewhere in docs//skills//READMEs, and the removed "3-20x smaller" marketing line is the right cut. The one thing a human can't verify from the diff alone is whether the raw measured sizes are current for the latest dist/ build — worth a sanity glance against a real build, but nothing here is contradicted by the repo.
🏄 Pure vibes on this one, dude — someone finally stopped hand-waving the bundle numbers and actually measured the swell. Every wave lines up, the links catch clean, and no gnarly old figures left floating. Ship it.
|
🎉 This PR is included in version 3.3.3 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 5.7.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
|
🎉 This PR is included in version 1.0.0 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Summary
Fixes #193.
The homepage claimed "Ultra-lightweight: Only 21KB gzipped" — a stale JS-only number presented as the whole story, while a default scaffold ships ~800KB (~82KB gzip) of CSS. This PR makes every size figure in the docs measured, consistent, and honest about the JS/CSS split. The active half of #193's ask (a skill that optimizes a project's CSS) is split out to #323 (
bestax-optimize).Measurements (fresh build of main; the source of every figure in this PR)
bestax.css(complete)versions/bestax-prefixed.cssversions/bestax-no-helpers.cssversions/bestax-no-helpers-prefixed.cssversions/bestax-no-dark-mode.css--minify+ gzip ondist/index.esm.js)(Gzip ranges = level 9 vs default level 6. Doc tables standardized on the set already published in
optimizing-css.md, which sits at the top of these ranges.)Changes
docs/src/components/HomepageFeatures/index.js): replaced the 21KB claim with the honest split — ~49KB min+gzip for the entire library, tree-shakeable so apps ship only what they import, CSS is a deliberate flavor choice.variations.md: File Size Comparison gains a Raw (minified) column — the raw number is what Vite reports and what [Performance] Default "complete" flavor ships ~873KB CSS (107KB gzip) with no in-scaffold guidance on trimming #193's reporter measured; new "What ends up in your build" section states plainly that bundlers don't tree-shake CSS and names the two levers, linkingoptimizing-css.md.modular.md: "Bundle size expectations" updated (~80KB → measured ~800KB raw / ~82KB gzip); the variant step in the checklist now quotes real savings (no-helpers ~15KB, no-dark-mode ~12KB gzip).installation.md: "Expected Sizes" replaced (~40KB JS / ~30KB CSS were both wrong); PurgeCSS mention now points at the opt-in recipe instead of implying it's wired in.optimizing-css.md: the last remaining ~21KB claim updated; table untouched (it was already the accurate reference).Verification
turbo run build --filter=@allxsmith/bestax-docs) — link/anchor validation included.grep -rn "21KB\|~40KB\|~30KB\|~78KB\|~80KB gzip"over getting-started + homepage: clean.prettier --check: clean.Follow-up: #323 (bestax-optimize skill).
https://claude.ai/code/session_015LmRYeZUeev2ZDXpcumGE5
Summary by CodeRabbit
Documentation
Website Content