Roadmap to the alpha
(*) in title means it's subject to change.
As there's no specification of TypeScript, the stc team will treat
tsc as the specification.
It means if the behavior of
stc is different,
stc will be fixed to match
tsc, unless explicitly stated in this document.
A new language server
This is the primary goal, and once this is ready, the alpha will be released.
- the inference of types should be correct
- there should be no false-positive errors
- typings should be loaded correctly
Ref: https://www.typescriptlang.org/tsconfig#isolatedModules (opens in a new tab)
This is required for proper parallelization.
const enums are fine if they are imported using module syntax, but TypeScript namespaces cannot be analyzed in parallel.
Better error message
Better language server
(*) A compiler for typings
- This is subject to change.
Many typing packages, including
@types/node, cannot be analyzed in parallel because they use
namespace and globals.
So we can use only one thread for each typing package.
But actually, this operation is easily cachable, and I expect the effect of caching to be significant.
So I think it's worth it to provide a pre-compile API for typing packages.