Today, Daniel Rosenwasser, the Program Manager of TypeScript, released a roadmap to be followed for TypeScript starting from January 2019 to June 2019. This roadmap outlines the priorities that the team will be focussing on, over the next 6 months, which will serve as a set of guidelines to accomplish the listed goals by June 2019. These goals (as listed on GitHub) include:
- Types on every desk, for every JS developer
- Using strong tooling to increase productivity
- Improved Approachability and UX
- More Community engagement
- Better Infrastructure and engineering systems
In order to achieve these goals, the Typescript team will focus on tweaking the following domains:
#1 Language design and innovation
Under this domain, the team will focus on the core ‘type’ system. They plan to enable popular JS patterns in a type-safe way, while also proving relationships between types. The latter simply means generalizing patterns between type operators and encoding them in type relationships. They also plan to implement ECMAScript features with stricter settings.
In terms of Committee representation, their goals include prioritizing forward compatibility with proposals/features adopted in the earlier stages of developing TS. They also want to be involved in other features like Class fields (public and private), decorators, ES/CJS module interop, and much more to ensure that ECMAScript grows to ‘make a developers’ life easier’.
#2 Developer productivity tools and integration
In the field of ‘Linting’, the team noticed architectural issues with the way TSLint rules operate that impacted performance. They will be working towards fixing these issues. Since ESLint already has the more-performant architecture, the TS team will be focusing on leveraging ESLint rather than duplicating work. For scenarios that ESLint currently doesn’t cover, they will be sending contributions to bring ESLint’s TypeScript support to parity with TSLint.
To build co-located TypeScript projects, the team will be making improvements such as functionality for automatically swapping projects in and out to save memory. They will also investigate the emit-time regressions seen in the last few versions of TS. Finally, they plan to investigate surfacing language service operations on the command line.
#3 Education and UX
The team says that the documentation provided for TypeScript needs to be improved for a more seamless learning experience. They will be working on a new version of the handbook with three different parts:
- Tailored introductions for the core handbook
- The core handbook for everyone
- Reference pages (eg. appendices)
They believe the segmentation of this documentation will help developers from all backgrounds–right from complete novices to experienced developers–to learn TypeScript without any hassle. They will also be improving their error UX to make it more ‘approachable’ for inexperienced users. Their website will also be undergoing an upgrade along with the examples mentioned on the same.
#4 Community investment
TypeScript’s ‘DefinitelyTyped’ is the 10th most popular open source project on GitHub. The team will be focussing on weekly PR rotations–where members of the TS team review external PRs to DefinitelyTyped–and DefinitelyTyped’s surrounding infrastructure such as the types publisher, dtslint, and dt-mergebot. They also plan to ease the process of external contributions to the documentation and investigate improving rich editing experiences. This year, users can also expect more public talks, meetups and blog posts on TypeScript.
#5 Team Infrastructure
The team will be focussing on faster builds by converting them to avoid bootstrapping themselves outside of CI, adding/migrating lint rules, and much more. This will, in turn, improve TS stability, productivity, and ease of contribution. Besides this, they also plan on providing internal guidance on TypeScript-first API designs, assisting internal partner teams with best practices for projects and addressing major Microsoft-internal build regressions.
You can head over to TypeScript’s GitHub page for more insights on this announcement.