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 v5.8 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

  • Mastering AI Development and Building AI Apps with GitHub Copilot

    Two Microsoft experts explain how GitHub Copilot is evolving from a coding assistant into a broader platform for building, customizing and testing AI-powered developer workflows.

  • VS Code 1.123 Adds Agent Session Sync, 1M Context Windows

    Microsoft released Visual Studio Code 1.123 on June 3, adding agent-focused features, larger model context support, integrated browser updates and a new delay for some automatic extension updates.

  • Copilot Billing Shock Hits Developers

    Developer complaints about GitHub Copilot's new usage-based billing model have centered on unexpectedly rapid AI credit consumption, and neither GitHub nor Microsoft has responded directly to the backlash, though they have previously published guidance to lessen model usage costs.

  • Hands On with GitHub Copilot App Technical Preview: Turning a Blazor Issue into a PR

    GitHub's brand-new Copilot desktop app, in technical preview, handled a small Blazor issue from planning through pull request creation, but the hands-on test also showed why developers still need to verify agent work in the running app before merging.

Subscribe on YouTube