Skip to content

feat(perf): implement advanced performance optimization with code spl…#493

Merged
Nanle-code merged 2 commits into
Nanle-code:masterfrom
Malik6828:feat/issue-450-performance-code-splitting
Jun 27, 2026
Merged

feat(perf): implement advanced performance optimization with code spl…#493
Nanle-code merged 2 commits into
Nanle-code:masterfrom
Malik6828:feat/issue-450-performance-code-splitting

Conversation

@Malik6828

Copy link
Copy Markdown
Contributor

…itting (#450)

  • vite.config.js: add build.target=es2020, cssCodeSplit, esbuild minify, assetsInlineLimit=4096, drop debugger in prod, resolve extensions for .js→.ts compat, zustand+react-router in react-vendor chunk
  • src/hooks/usePreload.ts: new preloadTab() / usePreload hook that triggers dynamic imports on nav hover (prefetch-on-hover)
  • src/components/layout/Sidebar.tsx: call preloadTab(id) on onMouseEnter for every nav button so chunks are fetched before the user clicks
  • .github/workflows/ci.yml: replace single 500 KB main-chunk check with per-chunk budgets (main 50 KB, vendor 500 KB, stellar-sdk 800 KB) and a 2 MB total-JS gzip budget; report all chunks in step summary
  • Fix pre-existing broken imports that blocked the build:
    • UserPreferences: AccessibilitySettings wrong relative path
    • offline.js: ./logger.js → ./logger (resolves to .ts)
    • stateSync.js: add missing syncState / onStateChange exports
    • stellar.ts: add fetchAccountDetails / AccountDetails / isPublicKey aliases
    • payments.ts: new shim re-exporting fetchPaymentPaths as fetchPathPayments
    • WalletConnect: fix Card named→default import

closes #450

…itting (Nanle-code#450)

- vite.config.js: add build.target=es2020, cssCodeSplit, esbuild minify,
  assetsInlineLimit=4096, drop debugger in prod, resolve extensions for
  .js→.ts compat, zustand+react-router in react-vendor chunk
- src/hooks/usePreload.ts: new preloadTab() / usePreload hook that
  triggers dynamic imports on nav hover (prefetch-on-hover)
- src/components/layout/Sidebar.tsx: call preloadTab(id) on onMouseEnter
  for every nav button so chunks are fetched before the user clicks
- .github/workflows/ci.yml: replace single 500 KB main-chunk check with
  per-chunk budgets (main 50 KB, vendor 500 KB, stellar-sdk 800 KB) and
  a 2 MB total-JS gzip budget; report all chunks in step summary
- Fix pre-existing broken imports that blocked the build:
  - UserPreferences: AccessibilitySettings wrong relative path
  - offline.js: ./logger.js → ./logger (resolves to .ts)
  - stateSync.js: add missing syncState / onStateChange exports
  - stellar.ts: add fetchAccountDetails / AccountDetails / isPublicKey aliases
  - payments.ts: new shim re-exporting fetchPaymentPaths as fetchPathPayments
  - WalletConnect: fix Card named→default import
@vercel

vercel Bot commented Jun 25, 2026

Copy link
Copy Markdown

@Malik6828 is attempting to deploy a commit to the nanle-code's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 25, 2026

Copy link
Copy Markdown

@Malik6828 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Nanle-code Nanle-code merged commit 181aafc into Nanle-code:master Jun 27, 2026
7 of 27 checks passed
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.

D-047: Implement advanced performance optimization with code splitting

2 participants