Skip to content

feat(linter): add typescript/no-unnecessary-type-parameters rule#19450

Merged
graphite-app[bot] merged 1 commit intomainfrom
c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule
Feb 16, 2026
Merged

feat(linter): add typescript/no-unnecessary-type-parameters rule#19450
graphite-app[bot] merged 1 commit intomainfrom
c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule

Conversation

@camc314
Copy link
Contributor

@camc314 camc314 commented Feb 16, 2026

No description provided.

Copy link
Contributor Author

camc314 commented Feb 16, 2026


How to use the Graphite Merge Queue

Add either label to this PR to merge it via the merge queue:

  • 0-merge - adds this PR to the back of the merge queue
  • hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

@codspeed-hq
Copy link

codspeed-hq bot commented Feb 16, 2026

Merging this PR will not alter performance

✅ 47 untouched benchmarks
⏩ 3 skipped benchmarks1


Comparing c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule (881312d) with c/02-14-feat_linter_add_typescript_consistent-return_rule (7dd13b8)

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 16, 2026
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 881312d to 9036d0d Compare February 16, 2026 19:19
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from 7dd13b8 to 80631f1 Compare February 16, 2026 19:19
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 9036d0d to 9d2cbc5 Compare February 16, 2026 19:21
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch 2 times, most recently from 7756d74 to f8c2f04 Compare February 16, 2026 19:23
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 9d2cbc5 to 127a4df Compare February 16, 2026 19:23
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from f8c2f04 to 6f652d5 Compare February 16, 2026 19:26
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 127a4df to 418c214 Compare February 16, 2026 19:26
@camc314 camc314 added the 0-merge Merge with Graphite Merge Queue label Feb 16, 2026
@camc314 camc314 marked this pull request as ready for review February 16, 2026 19:26
Copilot AI review requested due to automatic review settings February 16, 2026 19:26
Copy link
Contributor Author

camc314 commented Feb 16, 2026

Merge activity

@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from 6f652d5 to 780d135 Compare February 16, 2026 19:30
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 418c214 to 292fc6f Compare February 16, 2026 19:30
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

Adds a new TypeScript (type-aware/tsgolint-backed) lint rule entry to oxlint: typescript/no-unnecessary-type-parameters, along with fixture coverage to ensure it’s exercised in the tsgolint snapshot suite.

Changes:

  • Introduce the new NoUnnecessaryTypeParameters rule metadata and register it under the TypeScript rules module.
  • Wire the rule into generated rule registries (RuleEnum, runner impls) so it can be configured and surfaced in CLI output.
  • Add a tsgolint fixture + snapshot updates and enable the rule in the tsgolint fixtures config.

Reviewed changes

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

Show a summary per file
File Description
crates/oxc_linter/src/rules/typescript/no_unnecessary_type_parameters.rs Adds the rule definition + documentation via declare_oxc_lint! (tsgolint-backed rule).
crates/oxc_linter/src/rules.rs Registers the new TypeScript rule module.
crates/oxc_linter/src/generated/rules_enum.rs Adds the rule to the generated rule enum, IDs, config plumbing, and rule list.
crates/oxc_linter/src/generated/rule_runner_impls.rs Adds generated RuleRunner impl entry for the new rule.
apps/oxlint/src/snapshots/[email protected] Updates snapshot output to include the new rule’s diagnostic and updated totals.
apps/oxlint/fixtures/tsgolint/no-unnecessary-type-parameters.ts Adds a fixture file that triggers the rule.
apps/oxlint/fixtures/tsgolint/.oxlintrc.json Enables typescript/no-unnecessary-type-parameters for the tsgolint fixture suite.

@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 292fc6f to 919db6a Compare February 16, 2026 19:36
@graphite-app graphite-app bot changed the base branch from c/02-14-feat_linter_add_typescript_consistent-return_rule to graphite-base/19450 February 16, 2026 19:49
@camc314 camc314 force-pushed the graphite-base/19450 branch from 780d135 to 9a2bea6 Compare February 16, 2026 19:58
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from 919db6a to 37da9a1 Compare February 16, 2026 19:58
@camc314 camc314 changed the base branch from graphite-base/19450 to c/02-14-feat_linter_add_typescript_consistent-return_rule February 16, 2026 19:58
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from 9a2bea6 to 1907da6 Compare February 16, 2026 20:02
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch 2 times, most recently from 4c92026 to a16f25e Compare February 16, 2026 20:03
@camc314 camc314 force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from 1907da6 to b8f7584 Compare February 16, 2026 20:03
@graphite-app graphite-app bot force-pushed the c/02-14-feat_linter_add_typescript_consistent-return_rule branch from b8f7584 to c948090 Compare February 16, 2026 20:09
@graphite-app graphite-app bot force-pushed the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch from a16f25e to 31c3a93 Compare February 16, 2026 20:10
Base automatically changed from c/02-14-feat_linter_add_typescript_consistent-return_rule to main February 16, 2026 20:16
@graphite-app graphite-app bot removed the 0-merge Merge with Graphite Merge Queue label Feb 16, 2026
@graphite-app graphite-app bot merged commit 31c3a93 into main Feb 16, 2026
22 checks passed
@graphite-app graphite-app bot deleted the c/02-14-feat_linter_add_typescript_no-unnecessary-type-parameters_rule branch February 16, 2026 20:17
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-cli Area - CLI A-linter Area - Linter C-enhancement Category - New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

Comments