Skip to content

Support ESLint version 10 (fixes #92)#91

Open
Standard8 wants to merge 1 commit into
microsoft:mainfrom
Standard8:eslint-10
Open

Support ESLint version 10 (fixes #92)#91
Standard8 wants to merge 1 commit into
microsoft:mainfrom
Standard8:eslint-10

Conversation

@Standard8
Copy link
Copy Markdown

@Standard8 Standard8 commented Feb 8, 2026

Generally upgrade the dependencies. The only change for ESLint 10 is to drop the type option for errors in RuleTester, as the option is no longer supported (fixes #92)

Generally upgrade the dependencies. The only change for ESLint 10 is to drop the
type option for errors in RuleTester, as the option is no longer supported
@Standard8 Standard8 requested a review from a team as a code owner February 8, 2026 20:07
@Standard8
Copy link
Copy Markdown
Author

@microsoft-github-policy-service agree company="Mozilla Corporation"

@Standard8
Copy link
Copy Markdown
Author

The test error here appears to be the same issue as on main.

@Standard8 Standard8 changed the title Support ESLint version 10 Support ESLint version 10 (fixes #92) Feb 24, 2026
@romanresh
Copy link
Copy Markdown

We're also waiting for merge of this PR.

@Standard8
Copy link
Copy Markdown
Author

@mkacmar Is this still supported? Would we be able to get this into a new release?

@mozfreddyb
Copy link
Copy Markdown
Contributor

@A-Katopodis Can you help us out here?

@Standard8
Copy link
Copy Markdown
Author

@mkacmar @A-Katopodis Is there anything we can do to help this along, or should we consider this abandoned & obsolete it now?

It'd be useful to get a clear picture on the support for this for an ongoing basis.

mrkanitkar added a commit to mrkanitkar/playwright-praman that referenced this pull request May 25, 2026
## Summary
Upgrades ESLint from 9.x to 10.x — previously deferred because
`@microsoft/eslint-plugin-sdl` declares `peerDep: eslint ^9`.

**Investigation found the blocker is soft-only:**
- SDL plugin uses only modern ESLint APIs (`context.sourceCode`,
`context.options`) — none of the deprecated APIs ESLint 10 removed
- Plugin works correctly at runtime; only the peerDep declaration is
outdated
- Microsoft hasn't updated the plugin since Feb 2025; community PR
[microsoft/eslint-plugin-sdl#91](microsoft/eslint-plugin-sdl#91)
confirms only peerDep needs changing
- Resolved via npm `overrides` — standard, safe, removable when SDL
publishes an update

### Package changes
| Package | From | To | Notes |
|---------|------|----|-------|
| `eslint` | 9.39.2 | 10.4.0 | Major — eslintrc fully removed (we use
flat config) |
| `@eslint/js` | 9.39.3 | 10.0.1 | Must match eslint major |
| `eslint-plugin-n` | 17.24.0 | 18.0.1 | Major, peerDep `>=8.57.1` |
| `eslint-plugin-security` | 3.0.1 | 4.0.0 | Major, no eslint peerDep |
| `eslint-plugin-promise` | 7.2.1 | 7.3.0 | Minor — needed for `eslint
^10` peerDep |
| `@microsoft/eslint-plugin-sdl` | 1.1.0 | 1.1.0 | Unchanged, override
handles peerDep |

### SDL plugin usage (9 rules, all unique)
`no-insecure-url`, `no-cookies`, `no-document-write`, `no-inner-html`,
`no-msapp-exec-unsafe`, `no-postmessage-star-origin`,
`no-winjs-html-unsafe`, `no-html-method`, `no-angular-bypass-sanitizer`
— none overlap with eslint-plugin-security or sonarjs.

## Test plan
- [x] `npm run ci` passes (lint, typecheck, 4460 unit tests, build,
capabilities)
- [x] `npm run lint:ui5-deprecated` passes (custom praman rules work
under ESLint 10)
- [x] Pre-commit hooks work (lint-staged + commitlint)
- [x] Pre-push hooks pass (spellcheck, coverage, build)
- [ ] CI matrix (ubuntu, windows, macos) passes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: maheshwar kanitkar <maheshwar@Aparnas-MacBook-Air.fritz.box>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
mrkanitkar added a commit to mrkanitkar/playwright-praman that referenced this pull request May 30, 2026
## Summary
Upgrades ESLint from 9.x to 10.x — previously deferred because
`@microsoft/eslint-plugin-sdl` declares `peerDep: eslint ^9`.

**Investigation found the blocker is soft-only:**
- SDL plugin uses only modern ESLint APIs (`context.sourceCode`,
`context.options`) — none of the deprecated APIs ESLint 10 removed
- Plugin works correctly at runtime; only the peerDep declaration is
outdated
- Microsoft hasn't updated the plugin since Feb 2025; community PR
[microsoft/eslint-plugin-sdl#91](microsoft/eslint-plugin-sdl#91)
confirms only peerDep needs changing
- Resolved via npm `overrides` — standard, safe, removable when SDL
publishes an update

### Package changes
| Package | From | To | Notes |
|---------|------|----|-------|
| `eslint` | 9.39.2 | 10.4.0 | Major — eslintrc fully removed (we use
flat config) |
| `@eslint/js` | 9.39.3 | 10.0.1 | Must match eslint major |
| `eslint-plugin-n` | 17.24.0 | 18.0.1 | Major, peerDep `>=8.57.1` |
| `eslint-plugin-security` | 3.0.1 | 4.0.0 | Major, no eslint peerDep |
| `eslint-plugin-promise` | 7.2.1 | 7.3.0 | Minor — needed for `eslint
^10` peerDep |
| `@microsoft/eslint-plugin-sdl` | 1.1.0 | 1.1.0 | Unchanged, override
handles peerDep |

### SDL plugin usage (9 rules, all unique)
`no-insecure-url`, `no-cookies`, `no-document-write`, `no-inner-html`,
`no-msapp-exec-unsafe`, `no-postmessage-star-origin`,
`no-winjs-html-unsafe`, `no-html-method`, `no-angular-bypass-sanitizer`
— none overlap with eslint-plugin-security or sonarjs.

## Test plan
- [x] `npm run ci` passes (lint, typecheck, 4460 unit tests, build,
capabilities)
- [x] `npm run lint:ui5-deprecated` passes (custom praman rules work
under ESLint 10)
- [x] Pre-commit hooks work (lint-staged + commitlint)
- [x] Pre-push hooks pass (spellcheck, coverage, build)
- [ ] CI matrix (ubuntu, windows, macos) passes

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Co-authored-by: maheshwar kanitkar <maheshwar@Aparnas-MacBook-Air.fritz.box>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
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.

ESLint 10 compatibility request for @microsoft/eslint-plugin-sdl

3 participants