diff --git a/.eslintrc.json b/.eslintrc.json index 440d63a..d84d9fb 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,5 +1,19 @@ { - "extends": ["prettier"], + "$schema": "https://json.schemastore.org/eslintrc", + "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": { @@ -8,11 +22,12 @@ }, "plugins": ["@typescript-eslint"], "rules": { - "@typescript-eslint/naming-convention": "warn", - "@typescript-eslint/semi": "warn", - "curly": "warn", - "eqeqeq": "warn", - "no-throw-literal": "warn", + "@typescript-eslint/explicit-function-return-type": "error", + "@typescript-eslint/naming-convention": "error", + "@typescript-eslint/semi": "error", + "curly": "error", + "eqeqeq": "error", + "no-throw-literal": "error", "semi": "off" }, "ignorePatterns": ["out", "dist", "**/*.d.ts"] 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 } 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" } }, 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..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` @@ -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; }