refactor: make each tsconfig explicitly declare module and include/exclude #7443
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pre-flight checklist
Motivation
Another round of effort to make our TS setup more approachable.
This time, the root tsconfig.json doesn't control emit options anymore, in particular,
module
. This means each project needs to explicitly declare itself as ESM or CJS, which will help with progressive ESM migration (#6520).In addition, the root tsconfig also doesn't exclude test files now. VS Code still doesn't pick up any tsconfig for test files because the nearest one excludes them. However, we are now at least able to run
yarn tsc
at the root and get all test files' type-checking errors, which will help in the future if we are to use TS-ESLint's type-aware linting rules, or simply if we want to integrate type-checking test files into the CI.Test Plan
Test links
Deploy preview: https://deploy-preview-_____--docusaurus-2.netlify.app/
Related issues/PRs