With 5.0, Microsoft is working to make the language smaller, simpler, and faster. For example, the 5.0 beta takes 81% of the time to build VS Code that would take TypeScript 4.9 to do so.
These performance improvements were possible because TypeScript was recently migrated to modules from namespaces. This allows it to leverage more modern build tooling.
According to Microsoft, there has been support for “experimental” decorators for years, and while those have been useful to developers, they were modeled after an old version of the decorators proposal and required an opt-in compiler flag: – -experimentalDecorators. This flag will still be supported for now, but the change is that decorators will now work even without that flag.
The company also noted that the new Decorators feature won’t be compatible with — emitDecoratorMetadata, but there may be future ECMAScript proposals that bridge the gap in code that uses this.
Other updates in this release include:
- The “extends” field has been updated to enable configuration from multiple config files.
- A “const” modifier can be added to type parameter declarations.
- All enums will now be considered union enums. This is achieved by creating a unique type for each computer member. The result of this is that all enums
- New options for enabling or disabling features based on configuration
- Support for “export type *”
A full list of updates can be found here.