What's New in TypeScript 3.4
TypeScript 3.4 is out with the usual array of new features, of which a new --incremental flag can lead to faster project builds after the first such build.
Subsequent builds are speeded up by relying upon information stored from the latest compilation to optimize the new build. This functionality was available previously in some cases via the --watch mode that could obviate the need for full type-checks and code re-emits, but that required more machinations on the part of the developer.
"Over the past few months, we’ve been working to see if there’s a way to save the appropriate information from --watch mode to a file and use it from build to build," program manager Daniel Rosenwasser said in a blog post today (March 29).
"TypeScript 3.4 introduces a new flag called --incremental which tells TypeScript to save information about the project graph from the last compilation. The next time TypeScript is invoked with --incremental, it will use that information to detect the least costly way to type-check and emit changes to your project."
He said using the --incremental flag on Microsoft's Visual Studio Code open source project -- which is written in TypeScript -- reduced build times to about one-fifth of the first build.
Other new features highlighted in Rosenwasser's post include:
He also lists breaking changes.
Going forward, the iteration plan
for TypeScript 3.5 predicts a May 30 release date.
The TypeScript roadmap
shows what's in store for that release, along with a "future" section that lists:
- Variadic types
- Investigate nominal typing support
- Flattening declarations
- Implement ES Decorator proposal
- Implement ES Private Fields
- Investigate Ambient, Deprecated, and Conditional decorators
- Investigate partial type argument inference
- Investigate stricter types for IteratorResult
- Quick fix to Scaffold local @types packages
- Investigate error messages in haiku or iambic pentameter
- Decorators for function expressions/arrow functions
David Ramel is an editor and writer for Converge360.