Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Command for a single type check over the monorepo #4853

Open
turadg opened this issue Mar 16, 2022 · 0 comments
Open

Command for a single type check over the monorepo #4853

turadg opened this issue Mar 16, 2022 · 0 comments
Labels
devex developer experience enhancement New feature or request tooling repo-wide infrastructure

Comments

@turadg
Copy link
Member

turadg commented Mar 16, 2022

What is the Problem Being Solved?

Type checking one package is unnecessarily slow. Each package is treated separately wrt type definitions. They import from each other and with 2-3 depth so they end up repeating lots of parsing and inference.

Type checking the whole repo is very slow. yarn lint:types uses Lerna to run in each package. It takes ~2 minutes on my M1 Pro. I think a unified project would be order of 10x faster.

Package-based workflow misses errors. While working in a package you type-check there and we've been known to not notice errors introduced until CI errors, which is a slow feedback cycle. You can remember to check other packages, but that requires more command executions and you might not know all of them. Running over the whole repo takes minutes.

Description of the Design

A root tsconfig file as in #4404
Include at least one package having stricter rules than the root.

While we're at it, flip the ts-check from opt-in to opt-out for .js.

Security Considerations

--

Test Plan

TBD

@turadg turadg added enhancement New feature or request tooling repo-wide infrastructure devex developer experience labels Mar 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devex developer experience enhancement New feature or request tooling repo-wide infrastructure
Projects
None yet
Development

No branches or pull requests

2 participants