News

TypeScript 5.8 Beta Speeds Program Loads, Updates

One feature Microsoft's new TypeScript 5.8 beta release is optimized program loads and updates.

"TypeScript 5.8 introduces a number of optimizations that can both improve the time to build up a program, and also to update a program based on a file change in either --watch mode or editor scenarios," said Daniel Rosenwasser, principal program manager, in a Jan. 29 blog post.

Two key optimizations there include:

  • Efficient Path Normalization: Instead of creating arrays to store path segments while normalizing file paths, TypeScript now works more directly with string indexes of the original path. This reduces memory allocations and speeds up processing, which is especially helpful for large projects with many files.
  • Reduced Configuration Revalidation: When making edits that don't alter the project's structure, TypeScript avoids re-checking configuration settings like tsconfig.json options. Instead, it reuses previous validation results, improving responsiveness in large projects.

A few other highlights of the v.58 preview include:

  • Checked Returns for Conditional and Indexed Access Types: TypeScript 5.8 enhances type inference by allowing functions to have return types that depend on their parameters. This means that the return type can be more precisely determined based on the input, reducing type errors and improving code clarity.
  • Support for require() of ECMAScript Modules in --module nodenext: In the --module nodenext mode, TypeScript 5.8 introduces support for using the require() function to import ECMAScript modules. This enhancement improves compatibility with existing Node.js codebases that utilize require() for module loading.
  • Preserved Computed Property Names in Declaration Files: TypeScript 5.8 now preserves computed property names in generated declaration files. This means that when using computed properties in your code, the generated .d.ts files will accurately reflect these properties, ensuring better type safety and consistency across your project.

Others include constructs including:

  • The --module node18 flag
  • The --erasableSyntaxOnly option
  • The --libReplacement Flag

These updates aim to enhance TypeScript's type safety, module compatibility, and declaration file accuracy, providing developers with a more robust and efficient toolset, the announcement indicated.

About the Author

David Ramel is an editor and writer at Converge 360.

comments powered by Disqus

Featured

  • GitHub Previews Agentic AI in VS Code Copilot

    GitHub announced a raft of improvements to its Copilot AI in the Visual Studio Code editor, including a new "agent mode" in preview that lets developers use the AI technology to write code faster and more accurately.

  • Copilot Engineering in the Cloud with Azure and GitHub

    Who better to lead a full-day deep dive into this tech than two experts from GitHub, which introduced the original "AI pair programmer" and spawned the ubiquitous Copilot moniker?

  • Uno Platform Wants Microsoft to Improve .NET WebAssembly in Two Ways

    Uno Platform, a third-party dev tooling specialist that caters to .NET developers, published a report on the state of WebAssembly, addressing some shortcomings in the .NET implementation it would like to see Microsoft address.

  • Random Neighborhoods Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the random neighborhoods regression technique, where the goal is to predict a single numeric value. Compared to other ML regression techniques, advantages are that it can handle both large and small datasets, and the results are highly interpretable.

  • As Some Orgs Restrict DeepSeek AI Usage, Microsoft Offers Models and Dev Guidance

    While some organizations are restricting employee usage of the new open source DeepSeek AI from a Chinese company due to data collection concerns, Microsoft has taken a different approach.

Subscribe on YouTube

Upcoming Training Events