Skip to content

fix(linter): handle additional cases in typescript/consistent-generic-constructors rule.#19477

Merged
graphite-app[bot] merged 1 commit intomainfrom
fix-consistent-generic-constructors
Feb 17, 2026
Merged

fix(linter): handle additional cases in typescript/consistent-generic-constructors rule.#19477
graphite-app[bot] merged 1 commit intomainfrom
fix-consistent-generic-constructors

Conversation

@connorshea
Copy link
Member

  • Fix the accessor cases in consistent-generic-constructor, uncomment tests.
  • Fix typed array cases in consistent-generic-constructor, uncomment tests.

Generated with Claude Code.

@connorshea connorshea requested a review from camc314 as a code owner February 17, 2026 05:33
Copilot AI review requested due to automatic review settings February 17, 2026 05:33
@github-actions github-actions bot added A-linter Area - Linter C-bug Category - Bug labels Feb 17, 2026
Copy link
Contributor

Copilot AI left a comment

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 extends the TypeScript typescript-eslint/consistent-generic-constructors rule to correctly handle accessor properties and to avoid flagging certain built-in typed array patterns that cannot be fixed by moving generic arguments to the constructor, with corresponding test/snapshot updates.

Changes:

  • Add rule support for AstKind::AccessorProperty (including fix insertion position handling for computed accessor keys).
  • Skip linting for built-in typed arrays when the constructor identifier is a global reference, and re-enable previously commented tests.
  • Update snapshots and generated rule-runner node type registrations.

Reviewed changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 1 comment.

File Description
crates/oxc_linter/src/snapshots/typescript_consistent_generic_constructors.snap Adds snapshot coverage for accessor-property diagnostics.
crates/oxc_linter/src/rules/typescript/consistent_generic_constructors.rs Implements accessor-property handling and typed-array exemptions; uncomments relevant tests.
crates/oxc_linter/src/generated/rule_runner_impls.rs Registers AccessorProperty as a node type for this rule runner.

@connorshea connorshea changed the title fix(linter): Handle additional cases in unicorn/consistent-generic-constructor rule. fix(linter): Handle additional cases in typescript/consistent-generic-constructor rule. Feb 17, 2026
@connorshea connorshea changed the title fix(linter): Handle additional cases in typescript/consistent-generic-constructor rule. fix(linter): Handle additional cases in typescript/consistent-generic-constructors rule. Feb 17, 2026
@codspeed-hq
Copy link

codspeed-hq bot commented Feb 17, 2026

Merging this PR will not alter performance

✅ 47 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing fix-consistent-generic-constructors (14739e1) with main (4c025b0)

Open in CodSpeed

Footnotes

  1. 3 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@camc314 camc314 self-assigned this Feb 17, 2026
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Feb 17, 2026
Copy link
Contributor

camc314 commented Feb 17, 2026

Merge activity

  • Feb 17, 12:01 PM UTC: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Feb 17, 12:02 PM UTC: camc314 added this pull request to the Graphite merge queue.
  • Feb 17, 12:04 PM UTC: The Graphite merge queue couldn't merge this PR because it was not satisfying all requirements (Failed CI: 'autofix').
  • Feb 17, 12:11 PM UTC: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.
  • Feb 17, 12:21 PM UTC: camc314 added this pull request to the Graphite merge queue.
  • Feb 17, 12:26 PM UTC: Merged by the Graphite merge queue.

@camc314 camc314 changed the title fix(linter): Handle additional cases in typescript/consistent-generic-constructors rule. fix(linter): handle additional cases in typescript/consistent-generic-constructors rule. Feb 17, 2026
graphite-app bot pushed a commit that referenced this pull request Feb 17, 2026
…c-constructors` rule. (#19477)

- Fix the `accessor` cases in `consistent-generic-constructor`, uncomment tests.
- Fix typed array cases in `consistent-generic-constructor`, uncomment tests.

Generated with Claude Code.
@graphite-app graphite-app bot force-pushed the fix-consistent-generic-constructors branch from 14739e1 to 2cfad6a Compare February 17, 2026 12:02
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Feb 17, 2026
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Feb 17, 2026
camc314 pushed a commit that referenced this pull request Feb 17, 2026
…c-constructors` rule. (#19477)

- Fix the `accessor` cases in `consistent-generic-constructor`, uncomment tests.
- Fix typed array cases in `consistent-generic-constructor`, uncomment tests.

Generated with Claude Code.
@camc314 camc314 force-pushed the fix-consistent-generic-constructors branch from 2cfad6a to 7b6daa7 Compare February 17, 2026 12:14
…c-constructors` rule. (#19477)

- Fix the `accessor` cases in `consistent-generic-constructor`, uncomment tests.
- Fix typed array cases in `consistent-generic-constructor`, uncomment tests.

Generated with Claude Code.
@graphite-app graphite-app bot force-pushed the fix-consistent-generic-constructors branch from 7b6daa7 to e309f84 Compare February 17, 2026 12:20
@graphite-app graphite-app bot merged commit e309f84 into main Feb 17, 2026
21 checks passed
@graphite-app graphite-app bot deleted the fix-consistent-generic-constructors branch February 17, 2026 12:26
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Feb 17, 2026
camc314 added a commit that referenced this pull request Feb 19, 2026
# Oxlint
### 💥 BREAKING CHANGES

- 4315594 oxlint: [**BREAKING**] Deprecate `"always"` and `"as-needed"`
options of the radix rule (#19408) (Sysix)
- d4c7af3 linter: [**BREAKING**] Remove
`allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing` option (#19451)
(camc314)

### 🚀 Features

- 82ca5c3 linter: Add typescript/dot-notation rule (#19442) (camc314)
- 6db0811 linter: Implement
eslint-plugin-vitest/no-importing-vitest-globals (#18694) (Said
Atrahouch)
- c7fe8ae linter: Implement eslint-plugin-vitest/prefer-import-in-mock
(#17966) (Said Atrahouch)
- 0abb39a linter: Implement
eslint-vitest-jest-plugin/prefer-mock-return-shorthand (#18002) (Said
Atrahouch)
- 2b95537 linter: Implement `n/no-path-concat` rule (#19502) (Mikhail
Baev)
- 735d0e4 linter: Implement typescript/no-useless-default-assignment
(#19488) (camc314)
- 31c3a93 linter: Add typescript/no-unnecessary-type-parameters rule
(#19450) (camc314)
- c948090 linter: Add typescript/consistent-return rule (#19449)
(camc314)
- 9f87df0 linter: Add typescript/prefer-string-starts-ends-with rule
(#19448) (camc314)
- 04536be linter: Add typescript/prefer-regexp-exec rule (#19447)
(camc314)
- 56a7feb linter: Add typescript/prefer-readonly rule (#19446) (camc314)
- a1cea63 linter: Add typescript/no-unnecessary-qualifier rule (#19445)
(camc314)
- e3144d2 linter: Add typescript/prefer-find rule (#19444) (camc314)
- 13c7408 linter: Add typescript/prefer-readonly-parameter-types rule
(#19443) (camc314)
- 9b17d44 linter: Add typescript/strict-void-return rule (#19441)
(camc314)
- ed821b4 linter: Add typescript/consistent-type-exports rule (#19440)
(camc314)

### 🐛 Bug Fixes

- daad7bc linter/array-callback-return: Check `allowVoid` option
(#19506) (Said Atrahouch)
- 638cf94 linter: Add help text to eslint rule diagnostics (#19508)
(Kyle Tse)
- 79fc6d7 linter: Move no-use-before-define to eslint plugin (#19438)
(camc314)
- c832a9f linter: Add `onScrollEnd` and `onScrollEndCapture` to
`react/no-unknown-property`. (#19536) (connorshea)
- 999a0db linter: Add help text to `symbol-description` diagnostics
(#19538) (Anthony Amaro)
- f064482 linter: Add help text to eslint rule diagnostics (#19539)
(Anthony Amaro)
- fd11073 linter/react/no-unknown-property: Add missing `fetchPriority`
prop (#19525) (João Pedro Schmitz)
- a9bb604 linter/no-shadow: Align initializer shadow handling with
typescript-eslint (#19462) (camc314)
- 32e6eb9 linter: Handle typed arrays/array buffers in `prefer-spread`
rule. (#19478) (connorshea)
- e309f84 linter: Handle additional cases in
`typescript/consistent-generic-constructors` rule. (#19477) (connorshea)
- 71db91a linter/array-callback-return: Check `fromAsync`, update test
cases (#19483) (Said Atrahouch)
- 2a12d74 linter: Handle optional chaining in
`no-array-method-this-argument` rule. (#19476) (connorshea)
- f65310b linter: Handle optional chaining in
`prefer-object-from-entries` rule. (#19475) (connorshea)
- 840acf4 linter: Handle optional chain in
`no-unnecessary-array-flat-depth` rule. (#19471) (connorshea)
- 85a19e9 linter: Skip string literal imports in `consistent-assert`
rule. (#19474) (connorshea)

### ⚡ Performance

- 6155ac4 linter/constructor-super: Use node_id over nodes loop (#19489)
(camc314)
- a02496d linter/consistent-index-object-style: Resolve circular type
refs semantically (#19490) (camc314)
# Oxfmt
### 🚀 Features

- 652c346 oxfmt/lsp: Support `untitled://` schema (#19287) (Sysix)

### 🐛 Bug Fixes

- 6c61b70 oxfmt: Fix outdated `sortImports.groups` doc comments (#19513)
(leaysgur)

Co-authored-by: camc314 <[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 C-bug Category - Bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments