Skip to content

Commit 01c46e0

Browse files
alex-juaklkv
authored andcommitted
Disable @typescript-eslint errors to facilitate the upgrade
Recorded in https://hashicorp.atlassian.net/browse/HDS-4656
1 parent 3e187bb commit 01c46e0

File tree

26 files changed

+56
-2
lines changed

26 files changed

+56
-2
lines changed

packages/components/src/components/hds/advanced-table/expandable-tr-group.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export default class HdsAdvancedTableExpandableTrGroup extends Component<HdsAdva
7676
const children = record[this.childrenKey];
7777

7878
if (Array.isArray(children)) {
79-
return children;
79+
return children as Array<Record<string, unknown>>;
8080
}
8181
}
8282
return undefined;

packages/components/src/components/hds/advanced-table/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ export default class HdsAdvancedTable extends Component<HdsAdvancedTableSignatur
119119

120120
get columnWidths(): string[] | undefined {
121121
const { columns } = this.args;
122+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
122123
const widths: string[] = new Array(columns.length);
123124
let hasCustomColumnWidth = false;
124125

packages/components/src/components/hds/app-header/index.ts

+4
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,11 @@ export default class HdsAppHeader extends Component<HdsAppHeaderSignature> {
6161
}
6262

6363
addEventListeners(): void {
64+
// eslint-disable-next-line @typescript-eslint/unbound-method
6465
document.addEventListener('keydown', this.escapePress, true);
6566
this._desktopMQ.addEventListener(
6667
'change',
68+
// eslint-disable-next-line @typescript-eslint/unbound-method
6769
this.updateDesktopVariable,
6870
true
6971
);
@@ -77,9 +79,11 @@ export default class HdsAppHeader extends Component<HdsAppHeaderSignature> {
7779
}
7880

7981
removeEventListeners(): void {
82+
// eslint-disable-next-line @typescript-eslint/unbound-method
8083
document.removeEventListener('keydown', this.escapePress, true);
8184
this._desktopMQ.removeEventListener(
8285
'change',
86+
// eslint-disable-next-line @typescript-eslint/unbound-method
8387
this.updateDesktopVariable,
8488
true
8589
);

packages/components/src/components/hds/app-side-nav/index.ts

+4
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,11 @@ export default class HdsAppSideNav extends Component<HdsAppSideNavSignature> {
4848
}
4949

5050
addEventListeners(): void {
51+
// eslint-disable-next-line @typescript-eslint/unbound-method
5152
document.addEventListener('keydown', this.escapePress, true);
5253
this._desktopMQ.addEventListener(
5354
'change',
55+
// eslint-disable-next-line @typescript-eslint/unbound-method
5456
this.updateDesktopVariable,
5557
true
5658
);
@@ -66,9 +68,11 @@ export default class HdsAppSideNav extends Component<HdsAppSideNavSignature> {
6668
}
6769

6870
removeEventListeners(): void {
71+
// eslint-disable-next-line @typescript-eslint/unbound-method
6972
document.removeEventListener('keydown', this.escapePress, true);
7073
this._desktopMQ.removeEventListener(
7174
'change',
75+
// eslint-disable-next-line @typescript-eslint/unbound-method
7276
this.updateDesktopVariable,
7377
true
7478
);

packages/components/src/components/hds/app-side-nav/portal/target.ts

+1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ export default class HdsAppSideNavPortalTarget extends Component<HdsAppSideNavPo
136136
}
137137
);
138138

139+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
139140
anim.finished.then((): void => {
140141
// uncomment this if we need/want to scroll the element to the top
141142
// targetElement.scrollIntoView(true);

packages/components/src/components/hds/code-block/index.ts

+2
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ export default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {
9090
);
9191

9292
if (Prism?.plugins?.['NormalizeWhitespace']) {
93+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-member-access
9394
return Prism.plugins['NormalizeWhitespace'].normalize(code);
9495
}
9596

@@ -152,6 +153,7 @@ export default class HdsCodeBlock extends Component<HdsCodeBlockSignature> {
152153
if (language && grammar) {
153154
this._prismCode = htmlSafe(Prism.highlight(code, grammar, language));
154155
} else {
156+
// eslint-disable-next-line @typescript-eslint/no-base-to-string
155157
this._prismCode = htmlSafe(Prism.util.encode(code).toString());
156158
}
157159

packages/components/src/components/hds/flyout/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,7 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
128128
}
129129

130130
// Register "onClose" callback function to be called when a native 'close' event is dispatched
131+
// eslint-disable-next-line @typescript-eslint/unbound-method
131132
this._element.addEventListener('close', this.registerOnCloseCallback, true);
132133

133134
// If the flyout dialog is not already open
@@ -141,6 +142,7 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
141142
if (this._element) {
142143
this._element.removeEventListener(
143144
'close',
145+
// eslint-disable-next-line @typescript-eslint/unbound-method
144146
this.registerOnCloseCallback,
145147
true
146148
);
@@ -163,6 +165,7 @@ export default class HdsFlyout extends Component<HdsFlyoutSignature> {
163165
}
164166

165167
@action
168+
// eslint-disable-next-line @typescript-eslint/require-await
166169
async onDismiss(): Promise<void> {
167170
// allow ember test helpers to be aware of when the `close` event fires
168171
// when using `click` or other helpers from '@ember/test-helpers'

packages/components/src/components/hds/form/super-select/multiple/base.ts

+1
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ export default class HdsFormSuperSelectMultipleBase extends Component<HdsFormSup
4747
}
4848

4949
get selectedCount(): string {
50+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
5051
return this._powerSelectAPI?.selected?.length || '0';
5152
}
5253

packages/components/src/components/hds/icon/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export const AVAILABLE_COLORS: string[] = Object.values(HdsIconColorValues);
1717
export interface HdsIconSignature {
1818
Args: {
1919
name: IconName;
20+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
2021
color?: HdsIconColors | string | undefined;
2122
size?: HdsIconSizes;
2223
stretched?: boolean;

packages/components/src/components/hds/modal/index.ts

+3
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ export default class HdsModal extends Component<HdsModalSignature> {
144144
}
145145

146146
// Register "onClose" callback function to be called when a native 'close' event is dispatched
147+
// eslint-disable-next-line @typescript-eslint/unbound-method
147148
this._element.addEventListener('close', this.registerOnCloseCallback, true);
148149

149150
// If the modal dialog is not already open
@@ -157,6 +158,7 @@ export default class HdsModal extends Component<HdsModalSignature> {
157158
if (this._element) {
158159
this._element.removeEventListener(
159160
'close',
161+
// eslint-disable-next-line @typescript-eslint/unbound-method
160162
this.registerOnCloseCallback,
161163
true
162164
);
@@ -179,6 +181,7 @@ export default class HdsModal extends Component<HdsModalSignature> {
179181
}
180182

181183
@action
184+
// eslint-disable-next-line @typescript-eslint/require-await
182185
async onDismiss(): Promise<void> {
183186
// allow ember test helpers to be aware of when the `close` event fires
184187
// when using `click` or other helpers from '@ember/test-helpers'

packages/components/src/components/hds/pagination/compact/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -165,6 +165,7 @@ export default class HdsPaginationCompact extends Component<HdsPaginationCompact
165165
const { pageSizes = DEFAULT_PAGE_SIZES } = this.args;
166166

167167
assert(
168+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
168169
`pageSizes argument must be an array. Received: ${pageSizes}`,
169170
Array.isArray(pageSizes) === true && pageSizes.length > 0
170171
);

packages/components/src/components/hds/pagination/numbered/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -278,6 +278,7 @@ export default class HdsPaginationNumbered extends Component<HdsPaginationNumber
278278

279279
assert(
280280
// TODO: Add test for this
281+
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
281282
`pageSizes argument must be an array with at least one item. Received: ${pageSizes}`,
282283
Array.isArray(pageSizes) === true && pageSizes.length > 0
283284
);

packages/components/src/components/hds/popover-primitive/index.ts

+6
Original file line numberDiff line numberDiff line change
@@ -85,18 +85,22 @@ export default class HdsPopoverPrimitive extends Component<HdsPopoverPrimitiveSi
8585
// @ts-expect-error: known issue with type of invocation
8686
registerEvent(this._containerElement, [
8787
'mouseenter',
88+
// eslint-disable-next-line @typescript-eslint/unbound-method
8889
this.onMouseEnter,
8990
]);
9091
// @ts-expect-error: known issue with type of invocation
9192
registerEvent(this._containerElement, [
9293
'mouseleave',
94+
// eslint-disable-next-line @typescript-eslint/unbound-method
9395
this.onMouseLeave,
9496
]);
9597
// @ts-expect-error: known issue with type of invocation
98+
// eslint-disable-next-line @typescript-eslint/unbound-method
9699
registerEvent(this._containerElement, ['focusin', this.onFocusIn]);
97100
}
98101
// we always want the focusOut event
99102
// @ts-expect-error: known issue with type of invocation
103+
// eslint-disable-next-line @typescript-eslint/unbound-method
100104
registerEvent(this._containerElement, ['focusout', this.onFocusOut]);
101105
}
102106
);
@@ -155,9 +159,11 @@ export default class HdsPopoverPrimitive extends Component<HdsPopoverPrimitiveSi
155159
// @ts-expect-error: known issue with type of invocation
156160
registerEvent(this._popoverElement, [
157161
'beforetoggle',
162+
// eslint-disable-next-line @typescript-eslint/unbound-method
158163
this.onBeforeTogglePopover,
159164
]);
160165
// @ts-expect-error: known issue with type of invocation
166+
// eslint-disable-next-line @typescript-eslint/unbound-method
161167
registerEvent(this._popoverElement, ['toggle', this.onTogglePopover]);
162168

163169
// we need to spread the argument because if it's set via `{{ hash … }}` Ember complains when we overwrite one of its values

packages/components/src/components/hds/side-nav/index.ts

+4
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,9 @@ export default class HdsSideNav extends Component<HdsSideNavSignature> {
9898
}
9999

100100
addEventListeners(): void {
101+
// eslint-disable-next-line @typescript-eslint/unbound-method
101102
document.addEventListener('keydown', this.escapePress, true);
103+
// eslint-disable-next-line @typescript-eslint/unbound-method
102104
this.desktopMQ.addEventListener('change', this.updateDesktopVariable, true);
103105
// if not instantiated as minimized via arguments
104106
if (!this.args.isMinimized) {
@@ -112,9 +114,11 @@ export default class HdsSideNav extends Component<HdsSideNavSignature> {
112114
}
113115

114116
removeEventListeners(): void {
117+
// eslint-disable-next-line @typescript-eslint/unbound-method
115118
document.removeEventListener('keydown', this.escapePress, true);
116119
this.desktopMQ.removeEventListener(
117120
'change',
121+
// eslint-disable-next-line @typescript-eslint/unbound-method
118122
this.updateDesktopVariable,
119123
true
120124
);

packages/components/src/components/hds/side-nav/portal/target.ts

+1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ export default class HdsSideNavPortalTarget extends Component<HdsSideNavPortalTa
136136
}
137137
);
138138

139+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
139140
anim.finished.then((): void => {
140141
// uncomment this if we need/want to scroll the element to the top
141142
// targetElement.scrollIntoView(true);

packages/components/src/components/hds/text/body.ts

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export interface HdsTextBodySignature {
6464
tag?: HdsTextTags;
6565
weight?: HdsTextBodyWeight;
6666
align?: HdsTextAligns;
67+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
6768
color?: string | HdsTextColors;
6869
};
6970
Element:

packages/components/src/components/hds/text/code.ts

+1
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export interface HdsTextCodeSignature {
5858
tag?: HdsTextTags;
5959
weight?: HdsTextCodeWeight;
6060
align?: HdsTextAligns;
61+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
6162
color?: string | HdsTextColors;
6263
};
6364
Element:

packages/components/src/components/hds/text/display.ts

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ export interface HdsTextDisplaySignature {
6464
tag?: HdsTextTags;
6565
weight?: HdsTextDisplayWeight;
6666
align?: HdsTextAligns;
67+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
6768
color?: string | HdsTextColors;
6869
};
6970
Element:

packages/components/src/components/hds/text/index.ts

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ export interface HdsTextSignature {
2727
tag?: HdsTextTags;
2828
weight?: HdsTextWeights;
2929
align?: HdsTextAligns;
30+
// eslint-disable-next-line @typescript-eslint/no-redundant-type-constituents
3031
color?: HdsTextColors | string | undefined;
3132
group: HdsTextGroups;
3233
};

packages/components/src/instance-initializers/load-sprite.ts

+5
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,27 @@ export async function initialize(
1212
}
1313
) {
1414
if (
15+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1516
config?.emberFlightIcons?.lazyEmbed &&
1617
// we use this flag to avoid loading the sprite multiple times
1718
appInstance.__flightIconsSpriteLoaded !== true
1819
) {
20+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1921
const { default: svgSprite } = await import(
2022
// @ts-expect-error: missing types
2123
'@hashicorp/flight-icons/svg-sprite/svg-sprite-module'
2224
);
2325

2426
// in test environments we can inject the sprite directly into the ember testing container
2527
// to avoid issues with tools like Percy that only consider content inside that element
28+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
2629
if (config.environment === 'test') {
2730
window.document
2831
?.getElementById('ember-testing')
32+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
2933
?.insertAdjacentHTML('afterbegin', svgSprite);
3034
} else {
35+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
3136
window.document?.body?.insertAdjacentHTML('beforeend', svgSprite);
3237
}
3338

packages/components/src/modifiers/hds-advanced-table-cell/dom-management.ts

-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55

66
import { tabbable } from 'tabbable';
77

8-
import type { HdsAdvancedTableTdSignature } from '../../components/hds/advanced-table/td.ts';
98
import type { HdsAdvancedTableThSignature } from '../../components/hds/advanced-table/th.ts';
109

1110
export const onFocusTrapDeactivate = (cell: HTMLDivElement) => {

packages/components/src/modifiers/hds-anchored-position.ts

+1
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,7 @@ export default modifier<HdsAnchoredPositionSignature>(
267267
const cleanupFloatingUI = autoUpdate(
268268
_anchorElement,
269269
_floatingElement,
270+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
270271
computeFloatingPosition
271272
);
272273

packages/components/src/modifiers/hds-clipboard.ts

+2
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,12 @@ export default modifier<HdsClipboardModifierSignature>(
192192
};
193193

194194
// add the "onClick" event listener to the element
195+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
195196
element.addEventListener('click', onClick);
196197

197198
// this (teardown) function is run when the element is removed
198199
return (): void => {
200+
// eslint-disable-next-line @typescript-eslint/no-misused-promises
199201
element.removeEventListener('click', onClick);
200202
};
201203
}

packages/components/src/modifiers/hds-code-editor.ts

+4
Original file line numberDiff line numberDiff line change
@@ -175,13 +175,16 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
175175
// if the editor does not exist, setup the editor
176176
else {
177177
// the intersection observer makes loading unreliable in tests
178+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
178179
if (config.environment === 'test') {
180+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
179181
this._setupTask.perform(element, positional, named);
180182
} else {
181183
this.observer = new IntersectionObserver(
182184
(entries) => {
183185
entries.forEach((entry) => {
184186
if (entry.isIntersecting && this.editor === undefined) {
187+
// eslint-disable-next-line @typescript-eslint/no-floating-promises
185188
this._setupTask.perform(element, positional, named);
186189
}
187190
});
@@ -315,6 +318,7 @@ export default class HdsCodeEditorModifier extends Modifier<HdsCodeEditorSignatu
315318
import('@codemirror/language'),
316319
]);
317320

321+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
318322
const languageExtension = await this._loadLanguageTask.perform(language);
319323

320324
const handleUpdateExtension = EditorView.updateListener.of(

packages/components/src/services/hds-time.ts

+1
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,7 @@ export default class TimeService extends Service {
230230
this.#listeners.add(id);
231231
// @ts-expect-error - TS2339: Property 'perform' does not exist on type '() => TaskGenerator<string | undefined>'
232232
// note: we could potentially use taskFor via `ember-concurrency-ts` to avoid this exception
233+
// eslint-disable-next-line @typescript-eslint/no-unsafe-call
233234
this.start.perform();
234235
return (): void => {
235236
this.unregister(id);

packages/components/src/utils/hds-get-element-id.ts

+5
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,18 @@ import { guidFor } from '@ember/object/internals';
88
// eslint-disable-next-line @typescript-eslint/no-explicit-any
99
export function getElementId(element: any): string {
1010
// use @id arg, if provided
11+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1112
if (element.args.id) {
13+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
1214
return element.args.id;
1315
}
1416

1517
// otherwise, generate and memoize a guid
18+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1619
if (!element._id) {
20+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
1721
element._id = guidFor(element);
1822
}
23+
// eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access
1924
return element._id;
2025
}

0 commit comments

Comments
 (0)