Comments (7)
Technically I think the old title was more accurate if my diagnosis is correct, as it's in-project files getting reported as out-of-project files 😁
I'll try to put together a pull request.
from typescript-eslint.
Looking at the code, I think the problem might be here:
It unconditionally does
defaultProjectMatchedFiles.add(filePathAbsolute);
so every file will be considered as matching the default project. If I understand the code correctly, it should be checking against opened.configFilename
:
if (!opened.configFileName) {
defaultProjectMatchedFiles.add(filePathAbsolute);
}
I've tried adding that check locally and no longer get the warnings (but I haven't checked to see if files that actually don't have a project still trigger it).
from typescript-eslint.
Workaround: Set parserOptions.EXPERIMENTAL_useProjectService.maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING
to some huge value like Infinity
.
{
parserOptions: {
EXPERIMENTAL_useProjectService: {
maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: Infinity,
},
},
}
(but note that Infinity
isn't supported by JSON so you'll need to use a finite number like 1e10
in JSON-based configs)
from typescript-eslint.
Un-assigning from myself as I'm on vacation and then conference-traveling this month, and won't have time to investigate. If anybody would like to dive into the code to investigate then please do!
maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING
is appropriately obnoxiously named. It's a "bandaid" solution to files being unmatched by the project service. A better solution is to figure out why they're unmatched and fix that bug - which is either in the ESLint config being used or in typescript-eslint.
As mentioned, #8925 is the PR that added these new code paths. That PR touches the relevant files in packages/typescript-estree
you'll likely want to look at first.
from typescript-eslint.
I've updated the reproduction to typescript-eslint
version 7.9.0
and set maximumDefaultProjectFileMatchCount_THIS_WILL_SLOW_DOWN_LINTING: 0
to simplify the reproduction.
from typescript-eslint.
@ehoogeveen-medweb excellent find, thanks for pointing this out! Are you up for sending a PR to fix this? 😁
from typescript-eslint.
Haha fair point!
from typescript-eslint.
Related Issues (20)
- Docs: Quickstart guide should be clear on type: module not being a requirement HOT 6
- Repo: Failing to publish new alpha versions of v8 post-v8.0.0-alpha.10 HOT 2
- Bug: [v8.0.0-alpha.10] incorrect error message `Parsing error: "parserOptions.programs"` HOT 1
- Bug: [member-ordering] Not Detecting Order For Read-Only Fields Correctly HOT 1
- Bug: Default configuration following https://typescript-eslint.io/getting-started results in error HOT 1
- Bug(typescript-estree): always parse mts/mjs as ESM for non-type-aware parsing HOT 6
- Docs: Write blog post on the history of ban-types, {}, and object/Object
- Bug: [no-unnecessary-boolean-literal-compare] False positive and unsafe fix with exactOptionalPropertyTypes HOT 6
- Rule proposal: no-unsafe-typeof-function HOT 5
- Types: `plugin` and `parser` types incompatible with ESLint types HOT 6
- Issue with the subDependencies of typescript-eslint HOT 1
- Bug: Type incompatibility with `fixupPluginRules()` from `@eslint/compat` HOT 3
- Bug: parsing a function with argument throws an error when `range` parse option is not set HOT 6
- Bug: [8.0.0-alpha] [no-unused-vars] Support for `ignoreClassWithStaticInitBlock` and `reportUsedIgnorePattern` Options HOT 7
- Bug: "Invalid string length" caused by allowDefaultProjectForFiles warning HOT 4
- Enhancement: [no-inferrable-types] Support for the upcoming compiler options `isolatedDeclarations` HOT 2
- Bug: typescript eslint raises warnings when used with react-hooks HOT 6
- Repo: include github tags in releases HOT 4
- Enhancement: [naming-convention] Add an optional identifier member of each option HOT 1
- Bug: [no-inferrable-types] False positive with default parameter in closure passed to generic function HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript-eslint.