From d55c1015ab35ba6eca7688684a9756f3ae1bcbd9 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Mon, 18 Oct 2021 22:15:09 +0200 Subject: [PATCH 1/8] ci: use recommended linting rules VOOD-48 --- .eslintrc.json | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/.eslintrc.json b/.eslintrc.json index 440d63a..e92ac34 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,18 @@ { - "extends": ["prettier"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "prettier" + ], + "overrides": [ + { + "files": ["*.ts", "*.tsx"], + "parserOptions": { + "project": ["./tsconfig.json"] + } + } + ], "root": true, "parser": "@typescript-eslint/parser", "parserOptions": { From 37dfb031b3f49bdfda650cccf74225b41f36986c Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Mon, 18 Oct 2021 22:40:49 +0200 Subject: [PATCH 2/8] chore: adapt source code to newly introduced linting rules VOOD-48 --- src/extension.ts | 6 ++++-- src/test/runTest.ts | 2 +- src/test/suite/extension.test.ts | 2 +- src/webview/debugger-panel.ts | 2 +- src/webview/panel-views/panel-view-proxy.ts | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/extension.ts b/src/extension.ts index d313432..22569d4 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -2,11 +2,13 @@ import { commands, ExtensionContext } from 'vscode'; import { DebuggerPanel } from './webview/debugger-panel'; import { VisjsPanelView } from './webview/panel-views/visjs-panel-view'; -export function activate(context: ExtensionContext) { +export function activate(context: ExtensionContext): void { new Extension(context); } -export function deactivate() {} +export function deactivate(): void { + // Do nothing +} class Extension { private debuggerPanel: DebuggerPanel; diff --git a/src/test/runTest.ts b/src/test/runTest.ts index 014c3a2..673001a 100644 --- a/src/test/runTest.ts +++ b/src/test/runTest.ts @@ -20,4 +20,4 @@ async function main() { } } -main(); +void main(); diff --git a/src/test/suite/extension.test.ts b/src/test/suite/extension.test.ts index 17e2eab..8ab2485 100644 --- a/src/test/suite/extension.test.ts +++ b/src/test/suite/extension.test.ts @@ -6,7 +6,7 @@ import * as vscode from 'vscode'; // import * as myExtension from '../../extension'; suite('Extension Test Suite', () => { - vscode.window.showInformationMessage('Start all tests.'); + void vscode.window.showInformationMessage('Start all tests.'); test('Sample test', () => { assert.strictEqual(-1, [1, 2, 3].indexOf(5)); diff --git a/src/webview/debugger-panel.ts b/src/webview/debugger-panel.ts index 40d6bd5..4d7b351 100644 --- a/src/webview/debugger-panel.ts +++ b/src/webview/debugger-panel.ts @@ -21,7 +21,7 @@ export class DebuggerPanel { this.viewPanel.webview.html = this.panelViewProxy.getHtml(); - this.viewPanel.webview.postMessage(this.panelViewProxy.updatePanel()); + void this.viewPanel.webview.postMessage(this.panelViewProxy.updatePanel()); } private teardownPanel(): void { diff --git a/src/webview/panel-views/panel-view-proxy.ts b/src/webview/panel-views/panel-view-proxy.ts index c1c899b..fe542ca 100644 --- a/src/webview/panel-views/panel-view-proxy.ts +++ b/src/webview/panel-views/panel-view-proxy.ts @@ -4,6 +4,6 @@ export interface PanelViewProxy { } export interface UpdatePanelViewCommand { - [key: string]: any; + [key: string]: unknown; command: string; } From 7617ad98c4084ec187e4d4b58105121928e1cac0 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Mon, 18 Oct 2021 23:11:51 +0200 Subject: [PATCH 3/8] chore: synchronize package-lock.json with package.json VOOD-48 --- package-lock.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package-lock.json b/package-lock.json index 9fb6e0a..1c58d8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,6 +26,7 @@ "typescript": "^4.4.3" }, "engines": { + "node": "^16", "vscode": "^1.61.0" } }, From 028c92fd012ba2ace8d63ec08d0932d2b56c7af9 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Sun, 24 Oct 2021 15:50:15 +0200 Subject: [PATCH 4/8] chore: maximize rule severities VOOD-48 --- .eslintrc.json | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index e92ac34..731603d 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -21,11 +21,11 @@ }, "plugins": ["@typescript-eslint"], "rules": { - "@typescript-eslint/naming-convention": "warn", - "@typescript-eslint/semi": "warn", - "curly": "warn", - "eqeqeq": "warn", - "no-throw-literal": "warn", + "@typescript-eslint/naming-convention": "error", + "@typescript-eslint/semi": "error", + "curly": "error", + "eqeqeq": "error", + "no-throw-literal": "error", "semi": "off" }, "ignorePatterns": ["out", "dist", "**/*.d.ts"] From a2dd6207993c2705e929cf16049e59164cc2bd05 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Sun, 24 Oct 2021 15:58:49 +0200 Subject: [PATCH 5/8] chore: add eslintrc json schema VOOD-48 --- .eslintrc.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.json b/.eslintrc.json index 731603d..08b6d62 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,4 +1,5 @@ { + "$schema": "https://json.schemastore.org/eslintrc", "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", From 9e8a10aaaed79482a9a6a86e4effce8a56b40a86 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Sun, 24 Oct 2021 16:02:17 +0200 Subject: [PATCH 6/8] chore: use https for prettierrc json schema resolution VOOD-32 --- .prettierrc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.prettierrc.json b/.prettierrc.json index ac088b2..31aefcf 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,5 @@ { - "$schema": "http://json.schemastore.org/prettierrc", + "$schema": "https://json.schemastore.org/prettierrc", "printWidth": 140, "singleQuote": true } From ee2381afd949bd374fd8ec8f132c035f7f13d715 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Sun, 24 Oct 2021 17:22:09 +0200 Subject: [PATCH 7/8] chore: require explicit function return types VOOD-48 --- .eslintrc.json | 1 + 1 file changed, 1 insertion(+) diff --git a/.eslintrc.json b/.eslintrc.json index 08b6d62..d84d9fb 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -22,6 +22,7 @@ }, "plugins": ["@typescript-eslint"], "rules": { + "@typescript-eslint/explicit-function-return-type": "error", "@typescript-eslint/naming-convention": "error", "@typescript-eslint/semi": "error", "curly": "error", From 3afa9bab08306291788eaebbcbe4394bd5fc55f9 Mon Sep 17 00:00:00 2001 From: Alexandre Lagadec Date: Sun, 24 Oct 2021 17:31:14 +0200 Subject: [PATCH 8/8] chore: adapt source code to newly introduced linting rules VOOD-48 --- src/test/runTest.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/test/runTest.ts b/src/test/runTest.ts index 673001a..72000f4 100644 --- a/src/test/runTest.ts +++ b/src/test/runTest.ts @@ -2,7 +2,7 @@ import * as path from 'path'; import { runTests } from '@vscode/test-electron'; -async function main() { +async function main(): Promise { try { // The folder containing the Extension Manifest package.json // Passed to `--extensionDevelopmentPath`