Skip to content

[143] Frontend: Add performance budget and bundle analysis in CI#1

Open
broda-spendy wants to merge 1 commit into
Junirezz:mainfrom
broda-spendy:fix/143-frontend-add-performance-budget-and-bundle-analysis-in-ci
Open

[143] Frontend: Add performance budget and bundle analysis in CI#1
broda-spendy wants to merge 1 commit into
Junirezz:mainfrom
broda-spendy:fix/143-frontend-add-performance-budget-and-bundle-analysis-in-ci

Conversation

@broda-spendy

Copy link
Copy Markdown

What changed

  • CI: New job Bundle analysis & size budget runs after lint + test: production build with \ANALYZE=true\ (
    ollup-plugin-visualizer\ → \dist/stats.html), then \size-limit\ against \dist/assets/*.{js,css}\ (gzip). Treemap is uploaded as artifact \�undle-stats.
  • Config: \ rontend/.size-limit.json\ (2.4 MB gzip cap for combined JS/CSS assets), \pnpm run build:analyze\ and \pnpm run size\ scripts.
  • Build unblock: Wire \PaymentDetailModal\ + row selection state in \PaymentHistory\ and drop unused \Clock\ import so \ sc -b\ succeeds (required for CI build).

How to verify

\\�ash
cd frontend
pnpm install --frozen-lockfile
pnpm run test
pnpm run build:analyze
pnpm run size
\\

Closes Navin-xmr#143

Made with Cursor

- Add rollup-plugin-visualizer treemap (ANALYZE) and size-limit config
- CI job uploads dist/stats.html and enforces budget on dist/assets JS/CSS
- Fix PaymentHistory modal wiring and unused import so tsc build passes

Made-with: Cursor
@broda-spendy

Copy link
Copy Markdown
Author

Delivered (issue Navin-xmr#143 — Junirezz/navin-frontend)
CI & tooling
frontend/.size-limit.json — gzip budget for all dist/assets/.js + dist/assets/.css (currently 2.4 MB total; local run ~136 KB gzipped).
vite.config.ts (+ synced vite.config.js) — rollup-plugin-visualizer when ANALYZE=true, writes dist/stats.html (treemap).
package.json — scripts build:analyze and size; dev deps: rollup-plugin-visualizer, size-limit, @size-limit/file, cross-env; pnpm-lock.yaml updated.
.github/workflows/ci.yml — job bundle-budget: install → pnpm run build:analyze → pnpm run size → upload frontend/dist/stats.html as artifact bundle-stats (14 days).
Docs
frontend/README.md — short section on bundle analysis and budgets.
Build fixes (so tsc -b / CI build succeed)
PaymentHistory.tsx — import PaymentDetailModal, state selectedPayment / isModalOpen.
PaymentDetailModal.tsx — remove unused Clock import.
Verification (local)
pnpm run test — 47 tests passed.
pnpm run build:analyze + pnpm run size — succeeded.
PR & branch
Branch: fix/143-frontend-add-performance-budget-and-bundle-analysis-in-ci (pushed to fork broda-spendy/navin-frontend).
PR: #1
Title: [143] Frontend: Add performance budget and bundle analysis in CI
Body: includes Closes Navin-xmr#143.
Note: Upstream reported no workflow runs yet on that PR (empty statusCheckRollup). That often happens until Actions are enabled or a maintainer approves first-time runs. If checks stay empty, a maintainer may need to enable GitHub Actions or approve the workflow for fork PRs.

Junirezz pushed a commit that referenced this pull request Mar 29, 2026
…ces-settings-section

feat: add Notification Preferences settings section
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants