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)
- Bug: [no-unnecessary-type-assertion] Conflict with TS for variables used before assignment HOT 5
- Docs: Move PR-specific testing advice from Contributing > Local Development to Pull Requests
- Rule proposal: Consider bringing back no-duplicate-imports HOT 1
- Website: Rules sidebar missing from "tombstone" pages HOT 5
- Bug: [no-redundant-type-constituents] Differentiate a types-error any from a "true" any
- Bug: [no-unsafe-argument] Differentiate a types-error any from a "true" any
- Bug: [no-unsafe-call] Differentiate a types-error any from a "true" any
- Bug: [no-unsafe-member-access] Differentiate a types-error any from a "true" any
- Bug: [no-unsafe-return] Differentiate a types-error any from a "true" any
- AST tightening: `TSDeclareFunction` has no body, `declare function` cannot have `async` or `*` HOT 1
- AST tightening: `TSExternalModuleReference#expression` must be a `StringLiteral` HOT 1
- AST tightening: around init/definite combinations on let/var/const declarators HOT 1
- AST tightening: `PrivateIdentifier` can only be LHS of `BinaryExpression[operator='in']` HOT 1
- Bug: rc-v8 projectService option leads to default project errors when used with eslint-plugin-import
- Bug: Missing peer dependencies HOT 8
- Bug: [ast-spec] wrong type for callee of CallExpression, NewExpression, TaggedTemplateExpression
- Bug: [no-duplicate-type-constituent] fixer removes undefined from type HOT 7
- Enhancement: [no-floating-promises] foreach of async callbacks HOT 1
- Repo(integration-tests): Vue integration tests need modernization HOT 1
- Docs: `@typescript-eslint/parser` page doesn't use flat config format HOT 6
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.