Microsoft’s priorities for TypeScript for the first six months of 2019 are to enhance the core type system, boost productivity, and improve linting.
Microsoft’s TypeScript roadmap is not a commitment to feature delivery, the company noted.
Core type system
- Increased expressivity.
- Proving of relationships between types.
- Implementation of ECMAScript features.
- Stricter settings.
TypeScript beyond TypeScript
- A smoother transition to TypeScript.
- Understanding more dynamic patterns.
- Automation for adding JSDoc types.
Productivity tools integration
For productivity space, goals include:
- “Proactive” quick fixes.
- Declaration file fixes and refactorings.
- “Bread and butter” fixes and refactorings, referring to a class of code modifications and fixes applicable to most developers.
ESLint versus TSLint
Speed and scalability
For speed, stability, and scalability, priorities include:
- Addressing performance issues, including tracking and fixing regressions, such as emit-time regressions and performance concerns in the Visual Studio IDE.
- Automatic unloading of projects in the TSServer standalone server for TypeScript.
- Continued improvements to composite projects, for building colocated projects for scenarios such as monorepos and serverless apps. Support is planned for automatically swapping projects in and out to save memory.
For the command-line experiences, surfacing language service operations on the command line is under consideration. Users have asked for ways to trigger operations like “organize imports” and to automatically apply code transformations used by quick fixes and refactorings.
Error and type display UX
The error user experience in TypeScript provides a way for developers to comprehend what the type system is doing. But the UX has not kept up with advances to the system. Plans call for prioritizing misleading error messages that users file and rethinking “scarier” messages. Also, error messages could be more approachable in editors, with users seeing a full explanation of an error on demand.