Wallet stops loading SharedModule

Wallet is the first large module converted along with its slice of SharedModule. A first visit to /wallet now fetches 1.68 MB of lazy JavaScript instead of 4.05 MB, 58% less, because SharedModule's chunk is no longer part of it.

branch t3code/wallet-standalone base f26da3be4d, the PR 10832 merge commit 9f85284bbc 53 files, +655 −383 PR 10833

What changed

  • All 35 wallet components and ReferralsComponent are standalone. Each imports only what its template uses.
  • Eight SharedModule pieces wallet needs became standalone too. SharedModule imports and exports them as before, so other modules don't change.
  • wallet.routes.ts replaces WalletModule and its routing module. It provides WalletHomeService on the parent route, the same scope as before.
  • Insights also provides WalletHomeService. Its earnings tab renders the refund modals, and they inject it.
  • The resend verification screen and TableComponent import the one or two pieces they use instead of all of SharedModule. The resend screen was the last path pulling SharedModule into wallet.

How I checked it

CheckResult
Compiled template dependencies against base652 of 656 components match. The other 4 lose ngx-intl-tel-input's NativeElementInjectorDirective, which only sets a property nothing reads.
Does that diff catch a missing import?Yes. I removed RouterLink from the wallet home component. It still compiled, and the diff flagged it.
QA and development buildsBoth pass. QA has the same 42 warnings as base. Development has none.
Lazy JavaScript per route, QA build/wallet 4.05 to 1.68 MB. /insights 5.30 to 4.78 MB. /auth unchanged. Initial bundle unchanged at 6.86 MB.
Component definitions in a browserI loaded the wallet and insights chunks and walked every reachable component, 145 and 221. All dependencies resolve, with no page errors.
Server rendering, 41 URLsAll match base byte for byte, including 9 wallet URLs. Those are behind login, so this covers the shell only.
Logged-out browser runSame console output as base on desktop and phone sizes.
ESLint on the changed files6 errors, down from 49. The 43 gone are prefer-standalone. The 6 left exist on base.

None of this logs in. The checklist covers what needs a real account.

Verification checklist

Use a QA creator account with sales, refunds, and purchases. Keep the console open. Checks are saved in this browser.

0 of 0 checked

High Refund modals

Medium Balance and payouts

Medium Purchases and points

Low The rest