From 1965daff504a2ec1ff8c32827e76e80d11b728e2 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Thu, 24 Aug 2023 06:24:25 -0700 Subject: [PATCH 1/2] Warn on eslint rule @typescript-eslint/no-useless-constructor --- .eslintrc.json | 1 + addons/xterm-addon-fit/src/FitAddon.ts | 2 -- addons/xterm-addon-serialize/src/SerializeAddon.ts | 2 -- src/browser/Linkifier2.test.ts | 4 ---- src/common/Lifecycle.ts | 3 --- src/common/public/AddonManager.ts | 3 --- 6 files changed, 1 insertion(+), 14 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 7e8be09c..d206927e 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -127,6 +127,7 @@ { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": "interface", "format": ["PascalCase"], "prefix": ["I"] } ], + "@typescript-eslint/no-useless-constructor": "warn", "@typescript-eslint/prefer-namespace-keyword": "warn", "@typescript-eslint/type-annotation-spacing": "warn", "@typescript-eslint/quotes": [ diff --git a/addons/xterm-addon-fit/src/FitAddon.ts b/addons/xterm-addon-fit/src/FitAddon.ts index 6b3df6f0..f7245462 100644 --- a/addons/xterm-addon-fit/src/FitAddon.ts +++ b/addons/xterm-addon-fit/src/FitAddon.ts @@ -24,8 +24,6 @@ const MINIMUM_ROWS = 1; export class FitAddon implements ITerminalAddon { private _terminal: Terminal | undefined; - constructor() {} - public activate(terminal: Terminal): void { this._terminal = terminal; } diff --git a/addons/xterm-addon-serialize/src/SerializeAddon.ts b/addons/xterm-addon-serialize/src/SerializeAddon.ts index ace31315..7a2db089 100644 --- a/addons/xterm-addon-serialize/src/SerializeAddon.ts +++ b/addons/xterm-addon-serialize/src/SerializeAddon.ts @@ -414,8 +414,6 @@ class StringSerializeHandler extends BaseSerializeHandler { export class SerializeAddon implements ITerminalAddon { private _terminal: Terminal | undefined; - constructor() { } - public activate(terminal: Terminal): void { this._terminal = terminal; } diff --git a/src/browser/Linkifier2.test.ts b/src/browser/Linkifier2.test.ts index c1a0cf6c..0af74c28 100644 --- a/src/browser/Linkifier2.test.ts +++ b/src/browser/Linkifier2.test.ts @@ -10,10 +10,6 @@ import { MockBufferService } from 'common/TestUtils.test'; import { ILink } from 'browser/Types'; class TestLinkifier2 extends Linkifier2 { - constructor(bufferService: IBufferService) { - super(bufferService); - } - public set currentLink(link: any) { this._currentLink = link; } diff --git a/src/common/Lifecycle.ts b/src/common/Lifecycle.ts index 659403de..6e5ef27d 100644 --- a/src/common/Lifecycle.ts +++ b/src/common/Lifecycle.ts @@ -13,9 +13,6 @@ export abstract class Disposable implements IDisposable { protected _disposables: IDisposable[] = []; protected _isDisposed: boolean = false; - constructor() { - } - /** * Disposes the object, triggering the `dispose` method on all registered IDisposables. */ diff --git a/src/common/public/AddonManager.ts b/src/common/public/AddonManager.ts index 06c78121..af04a269 100644 --- a/src/common/public/AddonManager.ts +++ b/src/common/public/AddonManager.ts @@ -14,9 +14,6 @@ export interface ILoadedAddon { export class AddonManager implements IDisposable { protected _addons: ILoadedAddon[] = []; - constructor() { - } - public dispose(): void { for (let i = this._addons.length - 1; i >= 0; i--) { this._addons[i].instance.dispose(); From 2fe082beea9a10a3cad0e890253dd19d72f44e86 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Thu, 24 Aug 2023 06:33:11 -0700 Subject: [PATCH 2/2] Warn on eslint rule @typescript-eslint/no-confusing-void-expression --- .eslintrc.json | 4 ++++ addons/xterm-addon-fit/test/FitAddon.api.ts | 8 ++------ src/browser/public/Terminal.ts | 2 +- src/headless/public/Terminal.ts | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index 7e8be09c..822dd9af 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -127,6 +127,10 @@ { "selector": "typeLike", "format": ["PascalCase"] }, { "selector": "interface", "format": ["PascalCase"], "prefix": ["I"] } ], + "@typescript-eslint/no-confusing-void-expression": [ + "warn", + { "ignoreArrowShorthand": true } + ], "@typescript-eslint/prefer-namespace-keyword": "warn", "@typescript-eslint/type-annotation-spacing": "warn", "@typescript-eslint/quotes": [ diff --git a/addons/xterm-addon-fit/test/FitAddon.api.ts b/addons/xterm-addon-fit/test/FitAddon.api.ts index ef4618ea..36b44211 100644 --- a/addons/xterm-addon-fit/test/FitAddon.api.ts +++ b/addons/xterm-addon-fit/test/FitAddon.api.ts @@ -41,9 +41,7 @@ describe('FitAddon', () => { }); describe('proposeDimensions', () => { - afterEach(async () => { - return await unloadFit(); - }); + afterEach(() => unloadFit()); it('default', async function(): Promise { await loadFit(); @@ -82,9 +80,7 @@ describe('FitAddon', () => { }); describe('fit', () => { - afterEach(async () => { - return await unloadFit(); - }); + afterEach(() => unloadFit()); it('default', async function(): Promise { await loadFit(); diff --git a/src/browser/public/Terminal.ts b/src/browser/public/Terminal.ts index 4db5f7aa..2c75d7b8 100644 --- a/src/browser/public/Terminal.ts +++ b/src/browser/public/Terminal.ts @@ -236,7 +236,7 @@ export class Terminal extends Disposable implements ITerminalApi { this._core.clearTextureAtlas(); } public loadAddon(addon: ITerminalAddon): void { - return this._addonManager.loadAddon(this, addon); + this._addonManager.loadAddon(this, addon); } public static get strings(): ILocalizableStrings { return Strings; diff --git a/src/headless/public/Terminal.ts b/src/headless/public/Terminal.ts index 5eeeb361..b018d37c 100644 --- a/src/headless/public/Terminal.ts +++ b/src/headless/public/Terminal.ts @@ -182,7 +182,7 @@ export class Terminal extends Disposable implements ITerminalApi { } public loadAddon(addon: ITerminalAddon): void { // TODO: This could cause issues if the addon calls renderer apis - return this._addonManager.loadAddon(this as any, addon); + this._addonManager.loadAddon(this as any, addon); } private _verifyIntegers(...values: number[]): void {