Skip to content

feat(lint): making unused vars an error and fixing lint#17316

Open
kdinev wants to merge 5 commits into
masterfrom
kdinev/unused-vars-lint
Open

feat(lint): making unused vars an error and fixing lint#17316
kdinev wants to merge 5 commits into
masterfrom
kdinev/unused-vars-lint

Conversation

@kdinev

@kdinev kdinev commented Jun 9, 2026

Copy link
Copy Markdown
Member

Closes #

Description

Motivation / Context

Type of Change (check all that apply):

  • Bug fix
  • New functionality
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Refactoring (no functional changes)
  • Documentation
  • Demos
  • CI/CD
  • Tests
  • Changelog
  • Skills/Agents

Component(s) / Area(s) Affected:

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Automated e2e tests

Test Configuration:

  • Angular version:
  • Browser(s):
  • OS:

Screenshots / Recordings

Checklist:

  • All relevant tags have been applied to this PR
  • This PR includes unit tests covering all the new code (test guidelines)
  • This PR includes API docs for newly added methods/properties (api docs guidelines)
  • This PR includes feature/README.MD updates for the feature docs
  • This PR includes general feature table updates in the root README.MD
  • This PR includes CHANGELOG.MD updates for newly added functionality
  • This PR contains breaking changes
  • This PR includes ng update migrations for the breaking changes (migrations guidelines)
  • This PR includes behavioral changes and the feature specification has been updated with them
  • Accessibility (ARIA, keyboard navigation, focus management) has been verified

Copilot AI review requested due to automatic review settings June 9, 2026 08:42

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 tightens TypeScript linting by promoting @typescript-eslint/no-unused-vars to an error and updates the codebase to comply (removing unused imports/locals and prefixing intentionally-unused parameters with _). It also includes a small refactor replacing direct lodash-es/mergeWith usage in grid row data getters with the existing mergeObjects helper, and adds an MCP server configuration file.

Changes:

  • Promote @typescript-eslint/no-unused-vars from warning to error in eslint.config.mjs.
  • Fix lint violations across samples, library sources, and specs by removing unused imports/vars and renaming unused parameters (e.g. _event, _index).
  • Refactor grid row data getters to use mergeObjects instead of inline mergeWith customization; add .mcp.json.

Reviewed changes

Copilot reviewed 66 out of 66 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
src/app/virtual-for-directive/virtual-for.sample.ts Prefix unused trackBy index argument with _.
src/app/tree-grid-groupby/tree-grid-groupby.sample.ts Prefix unused aggregation parent argument with _.
src/app/styleguide/animations/animations.sample.ts Remove unused import.
src/app/shared/remote.service.ts Prefix unused data argument with _.
src/app/shared/financialData2.ts Prefix unused method argument with _.
src/app/pivot-grid/pivot-grid.sample.ts Prefix unused aggregation members argument with _.
src/app/pivot-grid-state/pivot-grid-state.sample.ts Prefix unused aggregation members argument with _.
src/app/grid-percentage-columns/grid-percantge-widths.sample.ts Remove unused IgxPaginatorComponent import.
src/app/grid-multi-row-layout-config/grid-mrl-config.sample.ts Prefix unused event/cell arguments with _.
src/app/grid-localization/grid-localization.sample.ts Remove unused locale imports/legacy API usage and simplify locale switching.
src/app/drop-down/drop-down-virtual/drop-down-virtual.component.ts Prefix unused Array.map element argument with _.
projects/igniteui-angular/time-picker/src/time-picker/time-picker.component.spec.ts Remove unused core imports.
projects/igniteui-angular/test-utils/routing-test-guard.spec.ts Prefix unused route argument with _.
projects/igniteui-angular/test-utils/pivot-grid-samples.spec.ts Prefix unused aggregation members argument with _.
projects/igniteui-angular/test-utils/pivot-grid-functions.spec.ts Prefix unused parameter with _ (but see review comment about broken assertion).
projects/igniteui-angular/test-utils/grid-functions.spec.ts Prefix unused parameters with _.
projects/igniteui-angular/stepper/src/stepper/stepper.component.spec.ts Remove unused mockDocument setup.
projects/igniteui-angular/slider/src/slider/slider.component.spec.ts Remove unused imports/locals.
projects/igniteui-angular/select/src/select/select-positioning-strategy.ts Prefix unused parameters with _.
projects/igniteui-angular/query-builder/src/query-builder/query-builder-tree.component.ts Remove unused directive import.
projects/igniteui-angular/grids/tree-grid/src/tree-grid.component.ts Prefix unused map record argument with _.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-integration.spec.ts Remove unused DebugElement import.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-grouping.spec.ts Prefix unused aggregation parent argument with _.
projects/igniteui-angular/grids/tree-grid/src/tree-grid-grouping.pipe.spec.ts Prefix unused aggregation parent argument with _.
projects/igniteui-angular/grids/pivot-grid/src/pivot-sort-strategy.ts Prefix unused resolver/key args with _.
projects/igniteui-angular/grids/pivot-grid/src/pivot-header-row.component.ts Prefix unused event args with _.
projects/igniteui-angular/grids/pivot-grid/src/pivot-grid.spec.ts Prefix unused formatter row arg with _.
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.pipes.ts Prefix unused args with _.
projects/igniteui-angular/grids/hierarchical-grid/src/hierarchical-grid.component.ts Prefix unused args with _.
projects/igniteui-angular/grids/grid/src/grid.summary.pipe.ts Prefix unused gridId arg with _.
projects/igniteui-angular/grids/grid/src/grid.sorting.spec.ts Prefix unused comparer args with _.
projects/igniteui-angular/grids/grid/src/grid.pipes.ts Prefix unused pipe args with _.
projects/igniteui-angular/grids/grid/src/grid.groupby.spec.ts Prefix unused args with _.
projects/igniteui-angular/grids/grid/src/grid.component.ts Prefix unused args and map record arg with _.
projects/igniteui-angular/grids/grid/src/grid-row-pinning.spec.ts Remove unused map element arg and simplify mapping.
projects/igniteui-angular/grids/grid/src/grid-filtering-ui.spec.ts Prefix unused args with _.
projects/igniteui-angular/grids/grid/src/cell.spec.ts Remove unused imports.
projects/igniteui-angular/grids/grid/src/cell-merge.spec.ts Prefix unused args with _ in specs/strategy overrides.
projects/igniteui-angular/grids/core/src/watch-changes.ts Prefix unused decorator target with _.
projects/igniteui-angular/grids/core/src/summaries/grid-summary.service.ts Prefix unused map callback arg with _.
projects/igniteui-angular/grids/core/src/services/pdf/pdf-exporter.ts Prefix unused args with _.
projects/igniteui-angular/grids/core/src/row.directive.ts Replace mergeWith usage with mergeObjects and remove lodash import.
projects/igniteui-angular/grids/core/src/grid-public-row.ts Replace mergeWith usage with mergeObjects and remove lodash import.
projects/igniteui-angular/grids/core/src/filtering/excel-style/excel-style-sorting.component.ts Prefix unused callback arg with _.
projects/igniteui-angular/grids/core/src/filtering/base/grid-filtering-row.component.ts Prefix unused event args with _.
projects/igniteui-angular/grids/core/src/filtering/base/grid-filtering-cell.component.ts Prefix unused event args with _.
projects/igniteui-angular/grids/core/src/common/pivot-strategy.ts Prefix unused args with _.
projects/igniteui-angular/grids/core/src/common/pipes.ts Prefix unused pipe arg with _.
projects/igniteui-angular/grids/core/src/common/crud.service.ts Prefix unused arg with _.
projects/igniteui-angular/grids/core/src/api.service.ts Prefix unused arg with _.
projects/igniteui-angular/drop-down/src/drop-down/drop-down.component.spec.ts Prefix unused Array.map element arg with _.
projects/igniteui-angular/directives/src/directives/for-of/for_of.directive.ts Prefix unused args with _; adjust caught error variable and const usage (but see review comment about extra semicolon).
projects/igniteui-angular/directives/src/directives/for-of/base.helper.component.ts Remove unused HostListener import.
projects/igniteui-angular/date-picker/src/date-range-picker/predefined-ranges/predefined-ranges-area.component.ts Prefix unused trackBy index arg with _.
projects/igniteui-angular/date-picker/src/date-range-picker/date-range-picker.component.ts Remove unused ElementRef import.
projects/igniteui-angular/date-picker/src/date-picker/date-picker.component.ts Remove unused import.
projects/igniteui-angular/core/src/services/theme/theme.token.ts Add suppression for unused Theme const (but see review comment suggesting a cleaner fix).
projects/igniteui-angular/core/src/services/overlay/position/connected-positioning-strategy.ts Prefix unused args with _.
projects/igniteui-angular/core/src/services/overlay/position/base-fit-position-strategy.ts Prefix unused args with _.
projects/igniteui-angular/core/src/data-operations/test-util/data-generator.ts Prefix unused Array.from element arg with _.
projects/igniteui-angular/core/src/data-operations/expressions-tree-util.spec.ts Remove unused imports.
projects/igniteui-angular/core/src/core/utils.ts Minor refactor inside mergeObjects callback to avoid returning an assignment expression.
projects/igniteui-angular/carousel/src/carousel/carousel.component.ts Prefix unused reducer accumulator arg with _.
projects/igniteui-angular/button-group/src/button-group/button-group.component.ts Prefix unused callback arg with _.
eslint.config.mjs Promote @typescript-eslint/no-unused-vars to an error.
.mcp.json Add MCP server config for Angular CLI.
Comments suppressed due to low confidence (2)

src/app/grid-localization/grid-localization.sample.ts:122

  • updateLocale() passes values like EN, BG, etc. to setCurrentI18n, but the registered locales are lowercase BCP-47 tags (e.g. bg, de, ...) and en-US is the default. This mismatch means changing the selection won't actually switch the Ignite UI locale resources.
    projects/igniteui-angular/core/src/services/theme/theme.token.ts:52
  • Avoid disabling @typescript-eslint/no-unused-vars here. Theme exists only to manufacture the IgxTheme union and otherwise adds runtime code that is flagged as unused; instead, define IgxTheme directly as a string-literal union and remove the unused constant + suppression.
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const Theme = {
    Material: "material",
    Fluent: "fluent",
    Bootstrap: "bootstrap",
    IndigoDesign: "indigo",
} as const;

/**
 * Determines the component theme.
 */
export type IgxTheme = (typeof Theme)[keyof typeof Theme];

Comment thread projects/igniteui-angular/directives/src/directives/for-of/for_of.directive.ts Outdated
Comment thread projects/igniteui-angular/test-utils/pivot-grid-functions.spec.ts Outdated
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants