From 0ddf8b63e9d5c5bee37933ae5ca5c6d9f7a9e511 Mon Sep 17 00:00:00 2001 From: Tetsuharu Ohzeki Date: Wed, 28 Jun 2023 03:01:57 +0900 Subject: [PATCH] editor/code: Use `@tsconfig/strictest` to define type checking rules Motivation ----------- This change aims to make it easier to manage tsconfig. This intend to leave to create "ideal" rules about TypeScript's type checking. Implementation --------------- This change removes some duplicated rules defined in `@tsconfig/strictest` and add disabing some strict rules that fails with the current codebase. --- editors/code/package-lock.json | 7 +++++++ editors/code/package.json | 1 + editors/code/tsconfig.json | 15 +++++++++------ 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json index 5ba1a2f8e2c..f6dddb99eef 100644 --- a/editors/code/package-lock.json +++ b/editors/code/package-lock.json @@ -16,6 +16,7 @@ "vscode-languageclient": "^8.1.0" }, "devDependencies": { + "@tsconfig/strictest": "^2.0.1", "@types/node": "~16.11.7", "@types/vscode": "~1.78.1", "@typescript-eslint/eslint-plugin": "^5.60.1", @@ -195,6 +196,12 @@ "node": ">= 6" } }, + "node_modules/@tsconfig/strictest": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.1.tgz", + "integrity": "sha512-7JHHCbyCsGUxLd0pDbp24yz3zjxw2t673W5oAP6HCEdr/UUhaRhYd3SSnUsGCk+VnPVJVA4mXROzbhI+nyIk+w==", + "dev": true + }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", diff --git a/editors/code/package.json b/editors/code/package.json index 329fb849f02..ab1b0f3471d 100644 --- a/editors/code/package.json +++ b/editors/code/package.json @@ -48,6 +48,7 @@ "vscode-languageclient": "^8.1.0" }, "devDependencies": { + "@tsconfig/strictest": "^2.0.1", "@types/node": "~16.11.7", "@types/vscode": "~1.78.1", "@typescript-eslint/eslint-plugin": "^5.60.1", diff --git a/editors/code/tsconfig.json b/editors/code/tsconfig.json index 42e2846858a..50e3d68460a 100644 --- a/editors/code/tsconfig.json +++ b/editors/code/tsconfig.json @@ -1,18 +1,21 @@ { + "extends": "@tsconfig/strictest/tsconfig.json", "compilerOptions": { + "esModuleInterop": false, "module": "commonjs", "target": "es2021", "outDir": "out", "lib": ["es2021"], "sourceMap": true, "rootDir": ".", - "strict": true, + "newLine": "LF", + // These disables some enhancement type checking options + // to update typescript version without any code change. "useUnknownInCatchVariables": false, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "newLine": "LF" + "exactOptionalPropertyTypes": false, + "noImplicitOverride": false, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false }, "exclude": ["node_modules", ".vscode-test"], "include": ["src", "tests"]