Recommendation
Prefer PR 10826. It puts the /bio child routes and preview component in one 59,639 byte browser chunk. PR 10827 splits them into a 319 byte routes chunk followed by a 59,537 byte component chunk, adding a sequential load for the normal /bio/:userName path. Both preserve the outer /bio lazy boundary, and both QA builds have the same 12.30 MB initial bundle.
Before merging, check whether nested /creator or /creators auth and setup URLs are supported. PR 10826 also avoids the redundant CUSTOM_ELEMENTS_SCHEMA that PR 10827 adds to the creators component. No compile blocker was found in either PR.
What differs
| Area | PR 10826 | PR 10827 |
|---|---|---|
/bio/:userName | Static component import. Routes and preview share one 59,639 byte lazy chunk. One load after the parent match. | loadComponent splits the child route and preview into 319 and 59,537 byte chunks. The normal username path waits for both. |
| Creators schema | No component schema. Angular template compilation passes. | Adds CUSTOM_ELEMENTS_SCHEMA. Compilation also passes, but the schema is unnecessary for the current template. |
| QA build | Passes. 12.30 MB raw initial bundle and 109 browser JavaScript files. | Passes. 12.30 MB raw initial bundle and 111 browser JavaScript files. |
| Other changes | Same routes, generated files, standalone imports, and deleted NgModules. | Import ordering and formatting differ in a few files. No behavior change found there. |
Direct diff between heads: six files, 24 additions and 17 deletions. Compare the commits.
What both PRs change
- Replace feature NgModules with standalone components for
comparison-page,marketing-page,sub-page-view,creators-home, andlink-in-bio-fan-preview. - Use
loadComponentfor the creators and sub-page routes and for generated marketing and comparison routes. The/bioparent loads a standaloneRoutesarray. Router source. - Update the route generator as well as its checked-in output. Regenerating the slug routes should keep the new imports.
- Move template dependencies into each standalone component. The creators page still imports
SharedModuleandMarketingPageSharedModule. Both QA builds report the same 12.30 MB initial bundle.
Review findings
-
Compatibility check / both PRs
Confirm the old nested creators URLs can go away
The deleted CreatorsHomeModule imported
AuthModuleandSetupProfileModule. Those modules register child routes such aslogin,signup, andsetup-profile. After this migration,/creatorand/creatorsload a single component, so those nested routes are no longer registered there.No in-repo link to a nested creators auth or setup URL appeared in the search. The Fable review's SSR check found that
/creators/loginnow falls through to the generic:id/:subPageUrlroute and returns a sub-page shell with HTTP 200. The component's missing-data path then navigates to not-found in the browser. If external links use the old URL, add an explicit redirect to the canonical/auth/loginroute. -
Cleanup / PR 10827
Drop the creators component schema unless it has a purpose
PR 10827 adds
CUSTOM_ELEMENTS_SCHEMAto CreatorsHomeComponent. The same template compiles in PR 10826 without it. Keeping the schema permits unknown dashed elements and may hide a future missing import. -
Tradeoff / bio route
The extra lazy boundary costs a request on the normal path
PR 10827 can load the
/bioroute table without its preview component when the child wildcard matches. For the normal/bio/:userNamepath, the browser must load its 319 byte routes chunk before it discovers the 59,537 byte component chunk. PR 10826 loads one 59,639 byte chunk. The QA builds establish chunk structure, but neither review measured real network timing.
Verification
- Compared each head with the same merge-base parent and compared the two heads directly.
- Ran Angular compiler template/type checks for both isolated PR heads with
ngc -p tsconfig.app.json --noEmit. Both exited successfully. - Built both isolated heads with
ng build --configuration=qa --prerender=false. Both passed with a 12.30 MB raw initial bundle. Inspected the browser output to confirm the one-chunk versus two-chunk/biosplit. - The Fable review reports matching SSR results for seven routes on both heads, including the
/creators/loginfallback. Those SSR requests were not repeated for this page. - A full dev build remains unavailable because
src/environments/environment.dev.tsis absent. Browser interaction, prerendering, and white-label project builds remain unchecked.