TypeScript migrated to modules to improve performance, reduce package size, and align with modern JavaScript practices. Issues with namespaces, including compatibility and performance challenges, prompted the move. The migration resulted in a significant reduction in package size, faster build times, and a more modern codebase.
Table of contents
What to KnowSome BackgroundIssues with NamespacesThe MigrationPicking a BundlerBundling and CompilingPreserving Our API and Bundling Our Declaration FilesFlipping the Switch!Wait, What Was That About Git?Spring CleaningSpaces and Minifying?Performance Slowdowns?Where’s the ESM?Shipping ESM Executables (And More?)API PatchingAccidentally ExportedHow’s the Dog Food?The Results!Sort: