chore: use package specific tsconfig for linting #301
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.
after some debbuging our eslint config (with
debugLevel: ['typescript', 'typescript-eslint'],
https://typescript-eslint.io/packages/typescript-estree/#api ) I noticed that that eslint is not using package's tsconfig because top-level one is matching everything pretty much first and seems to be picked.Before (see just base tsconfig in logs):
After (see that this time
cache/tsconfig.json
is being noted) :Potential alternatives I tried was just reordering the
tsconfig.json
declarations inproject
, but it seems to have no effect and always produce following map:And then it attempts to match tsconfig in order of this map until it find satisfying one, and because right now base tsconfig match everything - it's used for everything when linting.
Yet another alternative would be to fully drop top-level base tsconfig and make sure that individual packages tsconfigs include everything they don't currently (most of them only include
src
, so some config files in root of package likevitest.config.js
ortsup.config.js
are currently being covered by base config)