Skip to content

fix(linter/consistent-indexed-object-style): preserve interface modifiers in fixes#22579

Merged
graphite-app[bot] merged 1 commit into
mainfrom
codex/fix-consistent-indexed-object-style-node-types-copilot
May 19, 2026
Merged

fix(linter/consistent-indexed-object-style): preserve interface modifiers in fixes#22579
graphite-app[bot] merged 1 commit into
mainfrom
codex/fix-consistent-indexed-object-style-node-types-copilot

Conversation

@camc314

@camc314 camc314 commented May 19, 2026

Copy link
Copy Markdown
Contributor

Follow-on from #22578 that preserves interface extends clauses and declare modifiers when consistent-indexed-object-style fixes interfaces to Record types.

Copilot AI review requested due to automatic review settings May 19, 2026 11:51
@camc314 camc314 force-pushed the codex/fix-consistent-indexed-object-style-node-types-copilot branch from 74fa7e3 to 12acf8f Compare May 19, 2026 11:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR fixes consistent-indexed-object-style interface fixes so converting interfaces to Record-based type aliases preserves supported interface modifiers/heritage.

Changes:

  • Preserves extends clauses by converting them into intersections with the generated Record type.
  • Preserves declare when fixing declare interface.
  • Updates generated rule runner metadata and adds fixer test cases for extends and declare.

Reviewed changes

Copilot reviewed 1 out of 1 changed files in this pull request and generated no comments.

File Description
crates/oxc_linter/src/rules/typescript/consistent_indexed_object_style.rs Updates the interface fixer and adds regression tests for extends and declare.
crates/oxc_linter/src/generated/rule_runner_impls.rs Narrows this rule’s generated node types to the AST kinds handled by run.

@github-actions github-actions Bot added the A-linter Area - Linter label May 19, 2026
@camc314 camc314 force-pushed the codex/fix-consistent-indexed-object-style-node-types-copilot branch 2 times, most recently from 8515488 to 5858767 Compare May 19, 2026 11:57
@camc314 camc314 self-assigned this May 19, 2026
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label May 19, 2026

camc314 commented May 19, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

…iers in fixes (#22579)

Follow-on from #22578 that preserves interface extends clauses and declare modifiers when consistent-indexed-object-style fixes interfaces to Record types.
@graphite-app graphite-app Bot force-pushed the codex/fix-consistent-indexed-object-style-node-types-copilot branch from ae89fe9 to 77063e5 Compare May 19, 2026 12:05
@graphite-app graphite-app Bot merged commit 77063e5 into main May 19, 2026
29 checks passed
@graphite-app graphite-app Bot removed the 0-merge Merge with Graphite Merge Queue label May 19, 2026
@graphite-app graphite-app Bot deleted the codex/fix-consistent-indexed-object-style-node-types-copilot branch May 19, 2026 12:08
Dunqing added a commit that referenced this pull request May 26, 2026
# Oxlint
### 🚀 Features

- 10da26b linter: `no-misleading-character-class` add suggestions for
regex literal (#22681) (Sysix)
- b84941e linter/vue: Implement no-expose-after-await rule (#22675)
(bab)
- 98b98c1 linter/vue: Implement no-computed-properties-in-data rule
(#22674) (bab)
- 868e2e8 linter: Add suggestion for `no-misleading-character-class`
(#22631) (Sysix)
- 2d4c919 oxlint: Support `vite-plus/resolveConfig` for vite.config.ts
(#22456) (leaysgur)
- 2a60012 linter/vue: Implement require-render-return rule (#22613)
(bab)
- 9f227fd linter/vue: Implement no-deprecated-props-default-this rule
(#21892) (bab)
- 9cd28b3 linter: Add debug option to print files to be linted (#22546)
(camchenry)
- 87f065e linter/vue: Implement return-in-emits-validator rule (#21935)
(bab)
- ea0380c linter/unicorn: Implement `import-style` rule (#22173) (Hao
Chen)
- dde40fe linter/vue: Implement no-watch-after-await rule (#22006) (bab)
- a735eb0 linter/vue: Implement valid-next-tick rule (#22531) (bab)
- 6dc615d linter/vue: Implement no-shared-component-data rule (#21842)
(bab)
- a656418 linter/vue: Implement valid-define-options rule (#22107) (bab)
- bb6f1b2 linter/vue: Implement require-slots-as-functions rule (#22244)
(bab)
- 5fa4774 linter/n: Implement `callback-return` rule (#22470) (Mikhail
Baev)

### 🐛 Bug Fixes

- 52bd016 linter: Respect allow unused disable directives in LSP
(#22715) (camc314)
- fa7c463 semantic: Correct TS enum member symbol spans (#22689)
(camc314)
- ed445ba linter: Respect flags overrides for `RegExp(/regex/i, "u")`
(#22678) (Sysix)
- 26b9396 semantic: Resolve parameter decorators outside parameter scope
(#22623) (camc314)
- 203952d linter: `no-misleading-character-class` fix
`is_unicode_code_point_escape` check (#22655) (Sysix)
- 2f64d3d linter: `no-misleading-character-class` own diagnostic for
surrogate pairs without u flag (#22654) (Sysix)
- 0c6ebc2 linter/eslint/no-lone-blocks: Do not flag empty loops (#22649)
(Mikhail Baev)
- 2a7562e linter/no-focused-tests: Mark fixer as a suggestion (#22645)
(camc314)
- dbe644f linter: Respect args none for unused rest parameters (#22627)
(camc314)
- d0211b0 linter: Allow undefined in DummyRuleMap index (#22626)
(camc314)
- 36fc0ec oxlint/lsp: "ignore this" actions merge with existing
directive (#22604) (Sysix)
- f7f370e linter/vitest/prefer-expect-type-of: Recommend `toBeTypeOf`
instead of `expectTypeOf` (#22612) (Mikhail Baev)
- 77063e5 linter/consistent-indexed-object-style: Preserve interface
modifiers in fixes (#22579) (camc314)
- 4f33aa7 linter: Treat `TSGlobalDeclaration` as ambient in
`has_ambient_typescript_ancestor` (#22577) (camc314)

### ⚡ Performance

- c22938d linter/no-async-endpoint-handlers: Populate node types
(#22601) (camc314)
- 607486e linter/no-negated-condition: Populate node types (#22602)
(camc314)
- 4dcaa59 linter/consistent-type-imports: Populate node types (#22600)
(camc314)
- 5bd3b25 linter/no-unused-vars: Avoid cloned ancestor iterator (#22598)
(camc314)
- 97fe9ba linter/no-extra-non-null-assertion: Reduce node matches
(#22588) (camc314)
- ae98296 linter/consistent-indexed-object-style: Populate node types
(#22578) (camc314)
# Oxfmt
### 🚀 Features

- 16b8058 oxfmt: Support `vite-plus/resolveConfig` for vite.config.ts
(#22454) (leaysgur)

### 🐛 Bug Fixes

- 5a26479 formatter: Preserve import phases (#22692) (Cameron)

### ⚡ Performance

- 78cf83f formatter: Pre-size output buffer using source text length
(#22594) (Dunqing)

Co-authored-by: Dunqing <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-linter Area - Linter

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants