Merge "Disable typescript-eslint/no-explicit-any warnings"
diff --git a/polygerrit-ui/app/.eslintrc.js b/polygerrit-ui/app/.eslintrc.js
index c8de2eb..28bea0b 100644
--- a/polygerrit-ui/app/.eslintrc.js
+++ b/polygerrit-ui/app/.eslintrc.js
@@ -270,6 +270,7 @@
name: "@polymer/decorators/lib/decorators",
message: "Use @polymer/decorators instead",
}],
+ "@typescript-eslint/no-explicit-any": "error",
// The following rules is required to match internal google rules
"@typescript-eslint/restrict-plus-operands": "error",
"@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }],
@@ -293,6 +294,12 @@
}
},
{
+ "files": ["*_test.ts"],
+ "rules": {
+ "@typescript-eslint/no-explicit-any": "off"
+ },
+ },
+ {
"files": ["*.html", "test.js", "test-infra.js"],
"rules": {
"jsdoc/require-file-overview": "off"
diff --git a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
index 426e512..16435e5 100644
--- a/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
+++ b/polygerrit-ui/app/elements/admin/gr-repo/gr-repo.ts
@@ -329,12 +329,14 @@
if (key === 'plugin_config') {
configInputObj.plugin_config_values = repoConfig.plugin_config;
} else if (typeof repoConfig[key] === 'object') {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
const repoConfigObj: any = repoConfig[key];
if (repoConfigObj.configured_value) {
configInputObj[key as keyof ConfigInput] =
repoConfigObj.configured_value;
}
} else {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
configInputObj[key as keyof ConfigInput] = repoConfig[key] as any;
}
}
diff --git a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
index 21bf900..98dddb7 100644
--- a/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
+++ b/polygerrit-ui/app/elements/core/gr-router/gr-router.ts
@@ -390,6 +390,7 @@
case WeblinkType.PATCHSET:
return this._getPatchSetWeblink(params);
default:
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
console.warn(`Unsupported weblink ${(params as any).type}!`);
// TODO(TS): use assertNever(params.type)
return [];
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-side-by-side.ts b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-side-by-side.ts
index ecedb28..bab447e 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-side-by-side.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-side-by-side.ts
@@ -27,6 +27,7 @@
prefs: DiffPreferencesInfo,
outputEl: HTMLElement,
// TODO(TS): Replace any by a layer interface.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
readonly layers: any[] = [],
useNewContextControls = false
) {
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-unified.ts b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-unified.ts
index 2011a59..fb7f377 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-unified.ts
+++ b/polygerrit-ui/app/elements/diff/gr-diff-builder/gr-diff-builder-unified.ts
@@ -26,6 +26,7 @@
prefs: DiffPreferencesInfo,
outputEl: HTMLElement,
// TODO(TS): Replace any by a layer interface.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
readonly layers: any[] = [],
useNewContextControls = false
) {
diff --git a/polygerrit-ui/app/elements/diff/gr-selection-action-box/gr-selection-action-box.ts b/polygerrit-ui/app/elements/diff/gr-selection-action-box/gr-selection-action-box.ts
index d702fb1..e8d87e6 100644
--- a/polygerrit-ui/app/elements/diff/gr-selection-action-box/gr-selection-action-box.ts
+++ b/polygerrit-ui/app/elements/diff/gr-selection-action-box/gr-selection-action-box.ts
@@ -50,6 +50,7 @@
*/
@property({type: Object})
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
keyEventTarget: Record<string, any> = document.body;
@property({type: Boolean})
diff --git a/polygerrit-ui/app/elements/plugins/gr-attribute-helper/gr-attribute-helper.ts b/polygerrit-ui/app/elements/plugins/gr-attribute-helper/gr-attribute-helper.ts
index 6fc7a17..0641b49 100644
--- a/polygerrit-ui/app/elements/plugins/gr-attribute-helper/gr-attribute-helper.ts
+++ b/polygerrit-ui/app/elements/plugins/gr-attribute-helper/gr-attribute-helper.ts
@@ -16,9 +16,11 @@
*/
export class GrAttributeHelper {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
private readonly _promises = new Map<string, Promise<any>>();
- // TOOD(TS): Change any to something more like HTMLElement.
+ // TODO(TS): Change any to something more like HTMLElement.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
constructor(public element: any) {}
_getChangedEventName(name: string): string {
@@ -32,6 +34,7 @@
return this.element[name] !== undefined;
}
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
_reportValue(callback: (value: any) => void, value: any) {
try {
callback(value);
@@ -46,6 +49,7 @@
* @param name Property name.
* @return Unbind function.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
bind(name: string, callback: (value: any) => void) {
const attributeChangedEventName = this._getChangedEventName(name);
const changedHandler = (e: CustomEvent) =>
@@ -71,6 +75,7 @@
return Promise.resolve(this.element[name]);
}
if (!this._promises.has(name)) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
let resolve: (value: any) => void;
const promise = new Promise(r => (resolve = r));
const unbind = this.bind(name, value => {
@@ -85,6 +90,7 @@
/**
* Sets value and dispatches event to force notify.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
set(name: string, value: any) {
this.element[name] = value;
this.element.dispatchEvent(
diff --git a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.ts b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.ts
index 3a83729..2fc96ab 100644
--- a/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.ts
+++ b/polygerrit-ui/app/elements/plugins/gr-endpoint-decorator/gr-endpoint-decorator.ts
@@ -127,6 +127,7 @@
});
// TODO(TS): Should be a number, but TS thinks that is must be some weird
// NodeJS.Timeout object.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
let timeoutId: any;
const timeout = new Promise(
() =>
diff --git a/polygerrit-ui/app/elements/plugins/gr-plugin-types.ts b/polygerrit-ui/app/elements/plugins/gr-plugin-types.ts
index de3eba5..2cd0f78 100644
--- a/polygerrit-ui/app/elements/plugins/gr-plugin-types.ts
+++ b/polygerrit-ui/app/elements/plugins/gr-plugin-types.ts
@@ -70,6 +70,7 @@
export interface PanelInfo {
body: Element;
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
p: {[key: string]: any};
onUnload: () => void;
}
@@ -90,6 +91,7 @@
popup(moduleName?: string): Promise<GrPopupInterface | null>;
hook(endpointName: string, opt_options?: RegisterOptions): HookApi;
getPluginName(): string;
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
on(eventName: string, target: any): void;
attributeHelper(element: Element): GrAttributeHelper;
checks(): GrChecksApi;
diff --git a/polygerrit-ui/app/elements/shared/gr-autocomplete-dropdown/gr-autocomplete-dropdown.ts b/polygerrit-ui/app/elements/shared/gr-autocomplete-dropdown/gr-autocomplete-dropdown.ts
index 451bdfa..d30d48d 100644
--- a/polygerrit-ui/app/elements/shared/gr-autocomplete-dropdown/gr-autocomplete-dropdown.ts
+++ b/polygerrit-ui/app/elements/shared/gr-autocomplete-dropdown/gr-autocomplete-dropdown.ts
@@ -30,6 +30,7 @@
// TODO(TS): Update once GrCursorManager is upated
export interface GrAutocompleteDropdown {
$: {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
cursor: any;
suggestions: Element;
};
diff --git a/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete.ts b/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete.ts
index 45f30f5..1d4a75a 100644
--- a/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete.ts
+++ b/polygerrit-ui/app/elements/shared/gr-autocomplete/gr-autocomplete.ts
@@ -57,6 +57,7 @@
label?: string;
// TODO(TS): this value can be string or arbitrary object (in gr-create-repo-dialog)
// probably should limit it to string only as it seems not used
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
value?: any;
text?: string;
}
diff --git a/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.ts b/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.ts
index bba6bf1..b4d4c5b 100644
--- a/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.ts
+++ b/polygerrit-ui/app/elements/shared/gr-comment/gr-comment.ts
@@ -214,6 +214,7 @@
_isAdmin = false;
@property({type: Object})
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
_xhrPromise?: Promise<any>; // Used for testing.
@property({type: String, observer: '_messageTextChanged'})
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-gerrit.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-gerrit.ts
index 37ac354..cf254d4 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-gerrit.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-gerrit.ts
@@ -259,8 +259,10 @@
*/
globalGerritObj.addListener = (eventName: string, cb: EventCallback) =>
eventEmitter.addListener(eventName, cb);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
globalGerritObj.dispatch = (eventName: string, detail: any) =>
eventEmitter.dispatch(eventName, detail);
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
globalGerritObj.emit = (eventName: string, detail: any) =>
eventEmitter.emit(eventName, detail);
globalGerritObj.off = (eventName: string, cb: EventCallback) =>
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface-element.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface-element.ts
index 736fac9..1bcf190 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface-element.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-interface-element.ts
@@ -44,6 +44,7 @@
export class GrJsApiInterface
extends GestureEventListeners(LegacyElementMixin(PolymerElement))
implements JsApiService {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
handleEvent(type: EventType, detail: any) {
getPluginLoader()
.awaitPluginsLoaded()
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-types.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-types.ts
index 6456370..0a49b97 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-types.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-js-api-types.ts
@@ -31,6 +31,7 @@
revisionActions: {[key: string]: ActionInfo};
}
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
export type EventCallback = (...args: any[]) => any;
export interface JsApiService {
@@ -41,6 +42,7 @@
revertSubmissionMsg: string,
origMsg: string
): string;
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
handleEvent(eventName: EventType, detail: any): void;
modifyRevertMsg(
change: ChangeInfo,
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-endpoints.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-endpoints.ts
index 3935ef1..da19e5b 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-endpoints.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-endpoints.ts
@@ -19,6 +19,7 @@
import {HookApi, PluginApi} from '../../plugins/gr-plugin-types';
import {notUndefined} from '../../../types/types';
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
type Callback = (value: any) => void;
export interface ModuleInfo {
@@ -42,6 +43,7 @@
export class GrPluginEndpoints {
private readonly _endpoints = new Map<string, ModuleInfo[]>();
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
private readonly _callbacks = new Map<string, ((value: any) => void)[]>();
private readonly _dynamicPlugins = new Map<string, Set<string>>();
@@ -178,6 +180,7 @@
}
importUrl(pluginUrl: URL) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
let timerId: any;
return Promise.race([
new Promise((resolve, reject) => {
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-loader.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-loader.ts
index 47b7be3..860c38b 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-loader.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-plugin-loader.ts
@@ -426,6 +426,7 @@
if (!this._loadingPromise) {
// TODO(TS): Should be a number, but TS thinks that is must be some weird
// NodeJS.Timeout object.
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
let timerId: any;
this._loadingPromise = Promise.race([
new Promise(resolve => (this._loadingResolver = resolve)),
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
index a0a8c4d..61d64a8 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-public-js-api.ts
@@ -171,6 +171,7 @@
return document.createElement('gr-rest-api-interface').getConfig();
}
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
on(eventName: EventType, callback: (...args: any[]) => any) {
this.sharedApiElement.addEventCallback(eventName, callback);
}
diff --git a/polygerrit-ui/app/elements/shared/gr-overlay/gr-overlay.ts b/polygerrit-ui/app/elements/shared/gr-overlay/gr-overlay.ts
index cb25b81..026cb3a 100644
--- a/polygerrit-ui/app/elements/shared/gr-overlay/gr-overlay.ts
+++ b/polygerrit-ui/app/elements/shared/gr-overlay/gr-overlay.ts
@@ -79,6 +79,7 @@
// once the type contains the exported member,
// should replace with:
// import {IronFocusablesHelper} from '@polymer/iron-overlay-behavior/iron-focusables-helper';
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
return (window.Polymer as any).IronFocusablesHelper.getTabbableNodes(this);
}
diff --git a/polygerrit-ui/app/mixins/gr-tooltip-mixin/gr-tooltip-mixin.ts b/polygerrit-ui/app/mixins/gr-tooltip-mixin/gr-tooltip-mixin.ts
index 08b18a3..77d2d00 100644
--- a/polygerrit-ui/app/mixins/gr-tooltip-mixin/gr-tooltip-mixin.ts
+++ b/polygerrit-ui/app/mixins/gr-tooltip-mixin/gr-tooltip-mixin.ts
@@ -78,7 +78,7 @@
// Hanlder for hiding the tooltip, will be attached to certain events
private readonly hideHandler: () => void;
- // tslint:disable-next-line:no-any Required for constructor signature.
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-explicit-any
constructor(..._: any[]) {
super();
this.windowScrollHandler = () => this._handleWindowScroll();
diff --git a/polygerrit-ui/app/mixins/iron-fit-mixin/iron-fit-mixin.ts b/polygerrit-ui/app/mixins/iron-fit-mixin/iron-fit-mixin.ts
index 48a4848..662d6bf 100644
--- a/polygerrit-ui/app/mixins/iron-fit-mixin/iron-fit-mixin.ts
+++ b/polygerrit-ui/app/mixins/iron-fit-mixin/iron-fit-mixin.ts
@@ -38,4 +38,5 @@
): T & Constructor<IronFitBehavior> =>
// TODO(TS): mixinBehaviors in some lib is returning: `new () => T` instead
// which will fail the type check due to missing IronFitBehavior interface
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
mixinBehaviors([IronFitBehavior], superClass) as any;
diff --git a/polygerrit-ui/app/mixins/iron-overlay-mixin/iron-overlay-mixin.ts b/polygerrit-ui/app/mixins/iron-overlay-mixin/iron-overlay-mixin.ts
index 4884ec2..8429e38 100644
--- a/polygerrit-ui/app/mixins/iron-overlay-mixin/iron-overlay-mixin.ts
+++ b/polygerrit-ui/app/mixins/iron-overlay-mixin/iron-overlay-mixin.ts
@@ -38,4 +38,5 @@
// TODO(TS): mixinBehaviors in some lib is returning: `new () => T`
// instead which will fail the type check due to missing
// IronOverlayBehavior interface
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
mixinBehaviors([IronOverlayBehavior], superClass) as any;
diff --git a/polygerrit-ui/app/mixins/keyboard-shortcut-mixin/keyboard-shortcut-mixin.ts b/polygerrit-ui/app/mixins/keyboard-shortcut-mixin/keyboard-shortcut-mixin.ts
index 9744bc9..a474909 100644
--- a/polygerrit-ui/app/mixins/keyboard-shortcut-mixin/keyboard-shortcut-mixin.ts
+++ b/polygerrit-ui/app/mixins/keyboard-shortcut-mixin/keyboard-shortcut-mixin.ts
@@ -773,6 +773,7 @@
interface IronA11yKeysMixinConstructor {
// Note: this is needed to have same interface as other mixins
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
new (...args: any[]): IronA11yKeysBehavior;
}
/**
@@ -1007,6 +1008,7 @@
const handler = this._shortcut_v_table.get(e.detail.key);
if (handler) {
// TODO(TS): should fix this
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
(this as any)[handler](e);
}
}
@@ -1043,6 +1045,7 @@
const handler = this._shortcut_go_table.get(e.detail.key);
if (handler) {
// TODO(TS): should fix this
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
(this as any)[handler](e);
}
}
@@ -1066,6 +1069,7 @@
return InternalKeyboardShortcutMixin(
// TODO(TS): mixinBehaviors in some lib is returning: `new () => T` instead
// which will fail the type check due to missing IronA11yKeysBehavior interface
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
mixinBehaviors([IronA11yKeysBehavior], superClass) as any
);
};
diff --git a/polygerrit-ui/app/services/gr-event-interface/gr-event-interface.ts b/polygerrit-ui/app/services/gr-event-interface/gr-event-interface.ts
index d59a022..e540029 100644
--- a/polygerrit-ui/app/services/gr-event-interface/gr-event-interface.ts
+++ b/polygerrit-ui/app/services/gr-event-interface/gr-event-interface.ts
@@ -15,6 +15,7 @@
* limitations under the License.
*/
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
export type EventCallback = (...args: any) => void;
export type UnsubscribeMethod = () => void;
@@ -51,11 +52,13 @@
*
* @returns true if the event had listeners, false otherwise.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
emit(eventName: string, detail: any): boolean;
/**
* Alias to emit.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
dispatch(eventName: string, detail: any): boolean;
/**
diff --git a/polygerrit-ui/app/services/gr-event-interface/gr-event-interface_impl.ts b/polygerrit-ui/app/services/gr-event-interface/gr-event-interface_impl.ts
index 72afbda..f1e0990 100644
--- a/polygerrit-ui/app/services/gr-event-interface/gr-event-interface_impl.ts
+++ b/polygerrit-ui/app/services/gr-event-interface/gr-event-interface_impl.ts
@@ -66,6 +66,7 @@
* Attach event handler only once. Automatically removed.
*/
once(eventName: string, cb: EventCallback): UnsubscribeMethod {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
const onceWrapper = (...args: any[]) => {
cb(...args);
this.off(eventName, onceWrapper);
@@ -96,6 +97,7 @@
*
* @returns true if the event had listeners, false otherwise.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
emit(eventName: string, detail: any): boolean {
const listeners = this._listenersMap.get(eventName) || [];
for (const listener of listeners) {
@@ -111,6 +113,7 @@
/**
* Alias to emit.
*/
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
dispatch(eventName: string, detail: any): boolean {
return this.emit(eventName, detail);
}
diff --git a/polygerrit-ui/app/services/gr-reporting/gr-reporting.ts b/polygerrit-ui/app/services/gr-reporting/gr-reporting.ts
index e6139e5..c47f3e2 100644
--- a/polygerrit-ui/app/services/gr-reporting/gr-reporting.ts
+++ b/polygerrit-ui/app/services/gr-reporting/gr-reporting.ts
@@ -18,6 +18,7 @@
export type EventValue = string | number | {error?: Error};
// TODO(dmfilippov): TS-fix-any use more specific type instead if possible
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
export type EventDetails = any;
export const PORTING_COMMENTS_DIFF_LATENCY_LABEL = 'PortingCommentsDiffLatency';
diff --git a/polygerrit-ui/app/services/gr-reporting/gr-reporting_impl.ts b/polygerrit-ui/app/services/gr-reporting/gr-reporting_impl.ts
index f3aacdf..8e5389c 100644
--- a/polygerrit-ui/app/services/gr-reporting/gr-reporting_impl.ts
+++ b/polygerrit-ui/app/services/gr-reporting/gr-reporting_impl.ts
@@ -153,6 +153,7 @@
return true;
};
// TODO(dmfilippov): TS-fix-any unclear what is context
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
const catchErrors = function (opt_context?: any) {
const context = opt_context || window;
const oldOnError = context.onerror;
@@ -360,6 +361,7 @@
eventDetails
);
if (type === ERROR.TYPE && category === ERROR.CATEGORY.EXCEPTION) {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
console.error((eventValue && (eventValue as any).error) || eventName);
}