Skip to content

feat: upping to eslint 10 (W-23473845) - #1635

Draft
jfeingold35 wants to merge 1 commit into
mainfrom
d/W-23473845
Draft

feat: upping to eslint 10 (W-23473845)#1635
jfeingold35 wants to merge 1 commit into
mainfrom
d/W-23473845

Conversation

@jfeingold35

@jfeingold35 jfeingold35 commented Aug 6, 2026

Copy link
Copy Markdown
Contributor

Part of @W-23473845@.

Bumping eslint to v10 and eslint-config-oclif to v7.x.

Running yarn lint --fix introduced compile errors (which were easily fixed) and test failures (which were arcane nonsense that stymied me for hours). So I just decided to flatly suppress every violation.

Suppression was done through a suppression.json file that grandfathers in all the existing violations.

Comment thread src/parser/parse.ts Outdated
}

export const readStdin = async (): Promise<null | string> => {
export const readStdin = async (): Promise<undefined | string> => {

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had to manually change some return nulls to return undefined. I determined that the export here is solely for testability, and all the internal usages are just if (!blah), so there's nothing to worry about with behavioral changes.

Comment thread src/interfaces/plugin.ts
/**
* ../config version
*/
_base: string

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

config/plugin.ts changed a property that was implicitly private (_base) to one that is explicitly private (#base), but that introduced a compile error due to the definition here.
It is Claude's (and also my) opinion that removing this property is safe to do, because it was not referenced anywhere except for internally, and it's an implicitly private property anyway.

Comment thread src/config/config.ts Outdated
}

const hooks = p.hooks[event] || []
const hooks = p.hooks[event as string] || []

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Had to manually add this to resolve another compile error.

Comment thread eslint.config.mjs

const gitignorePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '.gitignore')

// eslint disable-next-line import-x/no-anonymous-default-export

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really know why I manually suppressed this here instead of using the suppression file. It felt weird to implicitly suppress something in the eslint config itself. I want to call it "rude" for some reason?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant