Unnamed repository; edit this file 'description' to name the repository.
Auto merge of #15154 - tetsuharuohzeki:tsconfig-strictest, r=lnicola
editor/code: Use `@tsconfig/strictest` to define type checking rules
Motivation
-----------
This change aims to make it easier to manage tsconfig by [``@tsconfig/strictest`](https://www.npmjs.com/package/@tsconfig/strictest)` and 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.
| -rw-r--r-- | editors/code/package-lock.json | 7 | ||||
| -rw-r--r-- | editors/code/package.json | 1 | ||||
| -rw-r--r-- | 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 5ba1a2f8e2..f6dddb99ee 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 a9b0bfddd7..476878128d 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 42e2846858..50e3d68460 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"] |