fix(eslint-plugin): drop conflicting project parser option#3295
Open
kriskowal wants to merge 1 commit into
Open
fix(eslint-plugin): drop conflicting project parser option#3295kriskowal wants to merge 1 commit into
project parser option#3295kriskowal wants to merge 1 commit into
Conversation
|
kriskowal
pushed a commit
to kriskowal/garden
that referenced
this pull request
Jun 3, 2026
d16fbc2 to
809ca5d
Compare
kriskowal
pushed a commit
to kriskowal/garden
that referenced
this pull request
Jun 3, 2026
kriskowal
pushed a commit
to kriskowal/garden
that referenced
this pull request
Jun 3, 2026
The @endo/internal config set both `projectService` and the legacy
`project` glob in parserOptions. typescript-eslint 8.59 now rejects
that combination ("Enabling 'project' does nothing when 'projectService'
is enabled"), so every file failed to parse with a 0:0 error.
Remove the legacy `project: [tsconfig.eslint-full.json]` mechanism (and
its now-unused glob const and redundant `useProjectService` boolean).
The project service supersedes it, discovering the nearest tsconfig per
file and falling back to `defaultProject` for stray `*.js` files.
Verified type-aware linting still engages (restrict-plus-operands fires
on a probe) and packages now lint with 0 errors.
809ca5d to
b3592c9
Compare
Member
Author
|
endojs/endo-but-for-bots#428 demonstrates that lint is not broken on master. Is there a compelling reason to follow-through with this change given that it does not address a problem? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The shared
@endo/internalESLint config (packages/eslint-plugin/lib/configs/internal.js) set bothprojectServiceand the redundantuseProjectService: trueflag inparserOptions. With the installed typescript-eslint (8.59), enabling the legacyprojectmechanism alongsideprojectServiceis rejected — the parser throwsParsing error: Enabling "project" does nothing when "projectService" is enabledat0:0for every file, so lint was effectively broken monorepo-wide.Fix
Drop the now-redundant
useProjectService: true(and, where still present, the legacyprojectglob and itsrootTsProjectGlobconst). The project service is the sole mechanism: it discovers the nearesttsconfigper file and falls back todefaultProjectfor stray*.jsfiles. A short comment documents that the two mechanisms must not both be set.Verification
npx corepack yarn eslinton a package source file now exits 0 with noParsing error … projectServicelines.{} + 1(// @ts-nocheck) correctly reported a@typescript-eslint/restrict-plus-operandserror, confirming type information is available to the parser. The probe was removed before committing.