A real-world account of migrating Halodoc's Angular SSR monolith to Angular 20, covering 12 specific challenges and their resolutions. Key changes include: switching from Webpack to Vite+esbuild (56% faster builds), migrating from CommonJS to ESM (.mjs output), replacing CommonEngine with AngularNodeAppEngine, upgrading from

β€’12m read timeβ€’From blogs.halodoc.io
Post cover image
Table of contents
1. Build System Migration β€” Webpack β†’ Vite + esbuild2. SSR Configuration β€” The Missing Metadata Problem3. CommonJS β†’ ESM β€” The Ripple Effect4. Express 4 β†’ Express 5 β€” Route Syntax Rewrite5. Dependency Compatibility β€” Three Gotchas6. CommonEngine β†’ AngularNodeAppEngine7. Strict Package Export Enforcement8. Route Extraction Errors β€” Catch Block Strictness9. CSP Nonce Injection β€” Security Under SSR10. Prometheus Monitoring β€” Singleton Registry Pattern11. Missing Type Declarations β€” Custom .d.ts Files12. Removed Dev Server FlagsMigration Quick-Reference ChecklistConclusionReferencesJoin usTags
2 Comments

Sort: