As JavaScript continues to grow and evolve, so must Microsoft’s implementation of JavaScript, TypeScript. Microsoft has announced new plans for TypeScript this year, and has released a roadmap for its priorities for the first half of the year.
According to the company, it will focus on achieving five main goals relating to language design, productive tools, approachability, community engagements, and infrastructure and engineering systems.
Language design
TypeScript is intended to model patterns in JavaScript while catching bugs and enforcing correctness, but as more things get added to JavaScript, TypeScript must work harder to keep up, Microsoft explained. According to Microsoft, updating the language is a “continuous and iterative process,” but as JavaScript moves faster, so must it, and it is committed to doing so.
The company has also recognized that its user base has grown to users that use JavaScript in various ways and in different ecosystems. “Whoever these users are, we believe TypeScript can serve them in some way,” Microsoft wrote in a post. It hopes to provide better representation for all users and help ease the transition to TypeScript for new users.
Developer productivity tools
It will also make improvements to productivity, such as proactive suggestions, declaration file fixes and refactoring, “bread and butter” fixes and refactorings, and migration tooling.
It initially added support for TSLint and ESLint after a survey VS Code ran a few months ago, but has since noticed architectural issues with TSLint that would break other rules if it were to be fixed. So the company has decided to focus on ESLint, which has the ideal architecture for a linter. For situations not supported by ESLint, it will work to “bring ESLint’s TypeScript support to parity with TSLint.”
Microsoft has also been working on improving speed, scalability, and stability, as well as improving the command line experience.
Education and UX improvements
To make the language more approachable, it will make improvements to education and UX. It is planning a new handbook with tailored introductions for developers with different backgrounds.
Microsoft will also change the error and type display UX to provide interactive diagnostics, “smarter” diagnostics, and more error spans. It will also make changes to the TypeScript playground and website.
Community involvement
In order to foster more community involvement, it will make it easier to contribute to the docs, open contribution to both the playground and website, and automate the PR process.
According to Microsoft, it will continue to gather feedback from partner teams to get insight on what should be improved.
It also plans to do more public outreach through initiatives such as giving public talks, growing meetup attendance, and providing in-depth blog posts. “We want to encourage members of our team to be involved with the community, and write and talk about things that they find interesting. This keeps us close to our users and makes the project itself more approachable,” Microsoft wrote.
Infrastructure and engineering systems
Microsoft plans on improving the internal systems used by TypeScript engineers. It will consider taking on anything that will improve stability, productivity, and ease of contribution for development on the TypeScript project.
It will also provide better organizational guidance within the company to provide TypeScript users with better experiences. “When we hear about major build regressions on large codebases, our internal teams can provide us with their source code, allowing us to create minimal repros (which is not always the case with external closed-source codebases). This work usually benefits external users in some way, whether it’s because a bug fix generalizes, because we’ve produced better APIs, or because we’ve been able to extract new guidance,” Microsoft wrote.
The full roadmap for January to June 2019 is available here.