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
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 usTags2 Comments
Sort: