Closed
Description
This document outlines our focused tasks for TypeScript 3.7, as well as some of the discussion that explains how/why we prioritized certain work items. Nothing is set in stone, but we will strive to complete them in a reasonable timeframe.
Dates
Date | Event |
---|---|
August 28th | TypeScript 3.6 Release |
September 27th | Create 3.7 Beta (3.7.0) Build for Testing |
October 1st | TypeScript 3.7 Beta Release |
October 18th | Create 3.7 RC (3.7.1) Build for Testing |
October 22nd | TypeScript 3.7 RC Release |
November 1st | Create 3.7 Final (3.7.2) Build for Testing |
November 5th | TypeScript 3.7 Final Release 🚀 |
Work Items
Expected Work Items
- Language
- Editor Features
- Call hierarchy
- Polishing auto-import functionality (fixing issues, adding functionality)
- Project references improvements
- Opening unbuilt project reference solutions (for fresh
git clone
scenarios) - Delayed loading of projects (improving performance and memory consumption)
- Opening unbuilt project reference solutions (for fresh
- Performance
- Rolling Issues
- Experiments in Perf
- Customer Development/Investigation
- Get performance data from TSServer crawler work.
- Infrastructure
- Automated testing infrastructure for the language service on real world code
- Migrate repo to ESLint
- Investigate smaller package publish
- Dual-publishing
@types
on GitHub package registry
- Website and Documentation
- New Handbook
- Redesign
Deferred Work Items
None from planning meeting
Planning Meeting Notes
Motivations
-
Bug backlog
-
GitHub user feedback (👍s)
-
Feedback from customer interviews, social media, past iteration plans
-
Visual Studio and Visual Studio Code feedback, as well as new functionality demands
-
Actionable PRs (need to make a call)
-
Language
- Type System Innovation
- Assertion Signatures
- Recursive Type References
- Standards Conformance
- ECMAScript Private Fields
- Nullish Coalescing
- Optional Chaining
- Top level
await
- Transition plan for class fields
- Type System Innovation
-
Compiler
--declaration
and--allowJs
--declaration
and--isolatedModules
- Investigate compiler plugin API
-
Infrastructure
- Migrate repo to ESLint
- Investigate smaller package publish
- Might have ideas for removing unnecessary files.
- Dual-publishing
@types
on GitHub package registry- Today, types packages are automatically fetched to power IntelliSense in VS and VS Code.
- GitHub now provides its own registry.
- We want to ensure that there is some level of redundancy.
-
Editor Productivity
- Call hierarchy
- Polishing auto-import functionality (fixing issues, adding functionality)
- Just expect more to come in.
- Project references improvements
- Opening unbuilt project reference solutions (git clone scenarios)
- Delayed loading of projects (improving performance and memory consumption)
-
Website and Documentation
- New Handbook
- Finishing up chapters (Enums and Modules) in core handbook
- Redesign
- Core messaging
- Samples
- New community page for meetups/conferences
- Integrating the new handbook into the site
- Ensure full accessibility
- New Handbook
-
Stability
- TSServer crawler
- Currently takes a fixed set of repos
- That's fine.
- Currently takes a fixed set of repos
- TSServer crawler
-
Performance
- Rolling Issues
- Experiments in Perf
- Can we incrementally bind, reuse checking results, etc.?
- Customer Development/Investigation
- Establish hypotheses
- Validate/invalidate
- Concept/value testing
- Implementation
- Get performance data from TSServer crawler work.