1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-11-21 15:04:11 -05:00

feat(check): turn on noImplicitOverride (#25695)

Closes https://github.com/denoland/deno/issues/11836

Ref https://github.com/denoland/deno/issues/25162
This commit is contained in:
Bartek Iwańczuk 2024-09-18 14:49:30 +01:00 committed by GitHub
parent 7533492a78
commit 48ea4e3c92
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 25 additions and 6 deletions

4
Cargo.lock generated
View file

@ -1375,9 +1375,9 @@ dependencies = [
[[package]] [[package]]
name = "deno_config" name = "deno_config"
version = "0.34.2" version = "0.34.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "764368ba1424ea74f9a28d8e2e7633f57d008e73f76b12bc272f6d5903ca1e08" checksum = "187d7dd888a49bfda396632371139e940c5cf47b15bfcaeeb2ba50f82f6940ec"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"deno_package_json", "deno_package_json",

View file

@ -65,7 +65,7 @@ winres.workspace = true
[dependencies] [dependencies]
deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] } deno_ast = { workspace = true, features = ["bundler", "cjs", "codegen", "proposal", "react", "sourcemap", "transforms", "typescript", "view", "visit"] }
deno_cache_dir = { workspace = true } deno_cache_dir = { workspace = true }
deno_config = { version = "=0.34.2", features = ["workspace", "sync"] } deno_config = { version = "=0.34.3", features = ["workspace", "sync"] }
deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] } deno_core = { workspace = true, features = ["include_js_files_for_snapshotting"] }
deno_doc = { version = "0.148.0", features = ["html", "syntect"] } deno_doc = { version = "0.148.0", features = ["html", "syntect"] }
deno_graph = { version = "=0.82.1" } deno_graph = { version = "=0.82.1" }

View file

@ -1129,6 +1129,7 @@ impl Default for LspTsConfig {
"module": "esnext", "module": "esnext",
"moduleDetection": "force", "moduleDetection": "force",
"noEmit": true, "noEmit": true,
"noImplicitOverride": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"strict": true, "strict": true,
"target": "esnext", "target": "esnext",

View file

@ -127,7 +127,7 @@
"noImplicitOverride": { "noImplicitOverride": {
"description": "Ensure overriding members in derived classes are marked with an override modifier.", "description": "Ensure overriding members in derived classes are marked with an override modifier.",
"type": "boolean", "type": "boolean",
"default": false, "default": true,
"markdownDescription": "Ensure overriding members in derived classes are marked with an override modifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitOverride" "markdownDescription": "Ensure overriding members in derived classes are marked with an override modifier.\n\nSee more: https://www.typescriptlang.org/tsconfig#noImplicitOverride"
}, },
"noImplicitReturns": { "noImplicitReturns": {

View file

@ -1154,6 +1154,7 @@ delete Object.prototype.__proto__;
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"moduleDetection": "force", "moduleDetection": "force",
"noEmit": true, "noEmit": true,
"noImplicitOverride": true,
"resolveJsonModule": true, "resolveJsonModule": true,
"strict": true, "strict": true,
"target": "esnext", "target": "esnext",

View file

@ -0,0 +1,5 @@
{
"args": "check main.ts",
"output": "main.out",
"exitCode": 1
}

View file

@ -0,0 +1,5 @@
Check file:///[WILDCARD]/main.ts
error: TS4114 [ERROR]: This member must have an 'override' modifier because it overrides a member in the base class 'Greet'.
greet() {}
~~~~~
at file:///[WILDCARD]/no_implicit_override/main.ts:6:3

View file

@ -0,0 +1,7 @@
class Greet {
greet() {}
}
class Welcome extends Greet {
greet() {}
}

View file

@ -330,7 +330,7 @@ Deno.test(
function urlSearchParamsOverridingAppendNotChangeConstructorAndSet() { function urlSearchParamsOverridingAppendNotChangeConstructorAndSet() {
let overriddenAppendCalled = 0; let overriddenAppendCalled = 0;
class CustomSearchParams extends URLSearchParams { class CustomSearchParams extends URLSearchParams {
append(name: string, value: string) { override append(name: string, value: string) {
++overriddenAppendCalled; ++overriddenAppendCalled;
super.append(name, value); super.append(name, value);
} }
@ -345,7 +345,7 @@ Deno.test(
Deno.test(function urlSearchParamsOverridingEntriesNotChangeForEach() { Deno.test(function urlSearchParamsOverridingEntriesNotChangeForEach() {
class CustomSearchParams extends URLSearchParams { class CustomSearchParams extends URLSearchParams {
*entries(): IterableIterator<[string, string]> { override *entries(): IterableIterator<[string, string]> {
yield* []; yield* [];
} }
} }