Parent
#586
What to build
Replace unsafe and legacy TypeScript types (any, unsafe function types, wrapper-object types) across src/ui-kit/experimental (~134 ESLint findings).
Inventory the current findings first (npx eslint src/ui-kit/experimental), then replace each any/unsafe-function-type usage with a precise type or a justified, narrowly-scoped alternative, following the same approach used in #702 (utilities/directives/layout/misc slice of the same parent issue).
Largest concentrations of findings as of this writing:
patterns/layout/architecture/service/service-property.ts (17)
date-range-v2/datepicker/calendar.ts (14)
hierarchical/hierarchical-test-service.spec.ts (10)
listbox/listbox.component.ts (9)
hierarchical/hierarchical/hierarchical.component.ts, hierarchical/autocomplete/autocomplete.component.ts, hierarchical/selected-result/selected-result.component.ts, patterns/layout/architecture/store/datastore.ts (7-8 each)
aria/abstract-combobox/abstract-combobox.ts, hierarchical/hierarchical-tree-grid/data-source.ts, input-mask/input-mask.component.ts (4-6 each)
- Remaining findings scattered across
aria/abstract-grid, aria/utils/events.ts, date-range-v2, dollar, video-player, actions-list, button-next, patterns/layout model/service/component files, search, tabs, title, and spec files
Given the size of this area, expect this to likely produce a larger PR than the other sub-issues; consider further splitting (e.g. hierarchical/* vs. patterns/layout/* vs. everything else) once work begins if a single PR proves unwieldy.
Acceptance criteria
Blocked by
None - can start immediately
Parent
#586
What to build
Replace unsafe and legacy TypeScript types (
any, unsafe function types, wrapper-object types) acrosssrc/ui-kit/experimental(~134 ESLint findings).Inventory the current findings first (
npx eslint src/ui-kit/experimental), then replace eachany/unsafe-function-type usage with a precise type or a justified, narrowly-scoped alternative, following the same approach used in #702 (utilities/directives/layout/misc slice of the same parent issue).Largest concentrations of findings as of this writing:
patterns/layout/architecture/service/service-property.ts(17)date-range-v2/datepicker/calendar.ts(14)hierarchical/hierarchical-test-service.spec.ts(10)listbox/listbox.component.ts(9)hierarchical/hierarchical/hierarchical.component.ts,hierarchical/autocomplete/autocomplete.component.ts,hierarchical/selected-result/selected-result.component.ts,patterns/layout/architecture/store/datastore.ts(7-8 each)aria/abstract-combobox/abstract-combobox.ts,hierarchical/hierarchical-tree-grid/data-source.ts,input-mask/input-mask.component.ts(4-6 each)aria/abstract-grid,aria/utils/events.ts,date-range-v2,dollar,video-player,actions-list,button-next,patterns/layoutmodel/service/component files,search,tabs,title, and spec filesGiven the size of this area, expect this to likely produce a larger PR than the other sub-issues; consider further splitting (e.g.
hierarchical/*vs.patterns/layout/*vs. everything else) once work begins if a single PR proves unwieldy.Acceptance criteria
src/ui-kit/experimentalare inventoried before implementationanyusages in this directory are replaced with precise types or justified, narrowly scoped alternativeseslint-baseline.json) is lowered to reflect the resolved findingsBlocked by
None - can start immediately