From 4b753d355abac2a87c6ff667531189c15e620cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mariusz=20Roli=C5=84ski?= Date: Sun, 14 Dec 2025 23:51:18 +0100 Subject: [PATCH 1/4] Re-enable `noImplicitOverride` onto non-generated source code --- packages/autocertifier-client/tsconfig.generated.json | 9 +++++++++ packages/autocertifier-client/tsconfig.json | 7 +++---- packages/dht/package.json | 2 +- packages/dht/test/unit/PeerManager.test.ts | 2 +- packages/dht/test/utils/utils.ts | 4 ++-- packages/dht/tsconfig.generated.json | 9 +++++++++ packages/dht/tsconfig.jest.json | 7 +++---- packages/dht/tsconfig.json | 5 ++--- packages/proto-rpc/package.json | 2 +- packages/proto-rpc/tsconfig.generated.json | 9 +++++++++ packages/proto-rpc/tsconfig.jest.json | 7 +++---- packages/proto-rpc/tsconfig.json | 7 +++---- packages/sdk/package.json | 2 +- packages/sdk/src/identity/EthereumKeyPairIdentity.ts | 2 +- packages/sdk/tsconfig.generated.json | 10 ++++++++++ packages/sdk/tsconfig.jest.json | 7 +++++-- packages/sdk/tsconfig.json | 5 +++-- packages/trackerless-network/package.json | 2 +- packages/trackerless-network/tsconfig.generated.json | 10 ++++++++++ packages/trackerless-network/tsconfig.jest.json | 7 +++---- packages/trackerless-network/tsconfig.json | 5 ++--- 21 files changed, 82 insertions(+), 38 deletions(-) create mode 100644 packages/autocertifier-client/tsconfig.generated.json create mode 100644 packages/dht/tsconfig.generated.json create mode 100644 packages/proto-rpc/tsconfig.generated.json create mode 100644 packages/sdk/tsconfig.generated.json create mode 100644 packages/trackerless-network/tsconfig.generated.json diff --git a/packages/autocertifier-client/tsconfig.generated.json b/packages/autocertifier-client/tsconfig.generated.json new file mode 100644 index 0000000000..e9aa46a857 --- /dev/null +++ b/packages/autocertifier-client/tsconfig.generated.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitOverride": false + }, + "include": [ + "generated" + ] +} diff --git a/packages/autocertifier-client/tsconfig.json b/packages/autocertifier-client/tsconfig.json index ce0f5b1ea2..441638f319 100644 --- a/packages/autocertifier-client/tsconfig.json +++ b/packages/autocertifier-client/tsconfig.json @@ -1,14 +1,13 @@ { "extends": "../../tsconfig.node.json", "compilerOptions": { - "outDir": "dist", - "noImplicitOverride": false + "outDir": "dist" }, "include": [ - "src", - "generated" + "src" ], "references": [ + { "path": "./tsconfig.generated.json" }, { "path": "../utils" } ] } diff --git a/packages/dht/package.json b/packages/dht/package.json index 9ce5f467e5..2b5b351272 100644 --- a/packages/dht/package.json +++ b/packages/dht/package.json @@ -26,7 +26,7 @@ "postbuild": "./scripts/postbuild.sh", "build": "tsc -b", "build-browser": "webpack --mode=development --progress", - "check": "tsc -p tsconfig.jest.json", + "check": "tsc -b tsconfig.jest.json", "clean": "jest --clearCache || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true", "eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'", "test": "npm run test-unit && npm run test-integration && npm run test-end-to-end", diff --git a/packages/dht/test/unit/PeerManager.test.ts b/packages/dht/test/unit/PeerManager.test.ts index 43f28b3601..ba744d6445 100644 --- a/packages/dht/test/unit/PeerManager.test.ts +++ b/packages/dht/test/unit/PeerManager.test.ts @@ -17,7 +17,7 @@ const createDhtNodeRpcRemote = ( ) => { const remote = new class extends DhtNodeRpcRemote { // eslint-disable-next-line class-methods-use-this - async ping(): Promise { + override async ping(): Promise { return !pingFailures.has(toNodeId(peerDescriptor)) } }(localPeerDescriptor, peerDescriptor, undefined as any, new MockRpcCommunicator()) diff --git a/packages/dht/test/utils/utils.ts b/packages/dht/test/utils/utils.ts index 1cc9db2fbc..fcd6c005aa 100644 --- a/packages/dht/test/utils/utils.ts +++ b/packages/dht/test/utils/utils.ts @@ -62,7 +62,7 @@ export const createMockRingNode = async ( rpcRequestTimeout: 5000 } const node = new class extends DhtNode { - async stop(): Promise { + override async stop(): Promise { await super.stop() await mockConnectionManager.stop() } @@ -90,7 +90,7 @@ export const createMockConnectionDhtNode = async ( rpcRequestTimeout: 5000 } const node = new class extends DhtNode { - async stop(): Promise { + override async stop(): Promise { await super.stop() await mockConnectionManager.stop() } diff --git a/packages/dht/tsconfig.generated.json b/packages/dht/tsconfig.generated.json new file mode 100644 index 0000000000..e9aa46a857 --- /dev/null +++ b/packages/dht/tsconfig.generated.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitOverride": false + }, + "include": [ + "generated" + ] +} diff --git a/packages/dht/tsconfig.jest.json b/packages/dht/tsconfig.jest.json index 12d9bf6074..033d864c42 100644 --- a/packages/dht/tsconfig.jest.json +++ b/packages/dht/tsconfig.jest.json @@ -1,13 +1,12 @@ { "extends": "../../tsconfig.jest.json", - "compilerOptions": { - "noImplicitOverride": false - }, "include": [ "src", - "generated", "test", "package.json", "scripts" + ], + "references": [ + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/dht/tsconfig.json b/packages/dht/tsconfig.json index ce6ed8db32..876a309adc 100644 --- a/packages/dht/tsconfig.json +++ b/packages/dht/tsconfig.json @@ -1,15 +1,14 @@ { "extends": "../../tsconfig.node.json", "compilerOptions": { - "outDir": "dist", - "noImplicitOverride": false + "outDir": "dist" }, "include": [ "src", - "generated", "package.json" ], "references": [ + { "path": "./tsconfig.generated.json" }, { "path": "../autocertifier-client" }, { "path": "../cdn-location" }, { "path": "../geoip-location" }, diff --git a/packages/proto-rpc/package.json b/packages/proto-rpc/package.json index bbfec6220a..f10b339544 100644 --- a/packages/proto-rpc/package.json +++ b/packages/proto-rpc/package.json @@ -21,7 +21,7 @@ "prebuild": "./proto.sh", "build": "tsc -b", "build-browser": "webpack --mode=development --progress", - "check": "./test-proto.sh && tsc -p tsconfig.jest.json", + "check": "./test-proto.sh && tsc -b tsconfig.jest.json", "clean": "jest --clearCache || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true", "eslint": "./test-proto.sh && eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'", "test": "./test-proto.sh && npm run test-unit && npm run test-integration", diff --git a/packages/proto-rpc/tsconfig.generated.json b/packages/proto-rpc/tsconfig.generated.json new file mode 100644 index 0000000000..e9aa46a857 --- /dev/null +++ b/packages/proto-rpc/tsconfig.generated.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitOverride": false + }, + "include": [ + "generated" + ] +} diff --git a/packages/proto-rpc/tsconfig.jest.json b/packages/proto-rpc/tsconfig.jest.json index 94ae917a95..71fc379780 100644 --- a/packages/proto-rpc/tsconfig.jest.json +++ b/packages/proto-rpc/tsconfig.jest.json @@ -1,11 +1,10 @@ { "extends": "../../tsconfig.jest.json", - "compilerOptions": { - "noImplicitOverride": false - }, "include": [ "src", - "generated", "test" + ], + "references": [ + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/proto-rpc/tsconfig.json b/packages/proto-rpc/tsconfig.json index ce0f5b1ea2..441638f319 100644 --- a/packages/proto-rpc/tsconfig.json +++ b/packages/proto-rpc/tsconfig.json @@ -1,14 +1,13 @@ { "extends": "../../tsconfig.node.json", "compilerOptions": { - "outDir": "dist", - "noImplicitOverride": false + "outDir": "dist" }, "include": [ - "src", - "generated" + "src" ], "references": [ + { "path": "./tsconfig.generated.json" }, { "path": "../utils" } ] } diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 5b0a9c3d18..b245f67468 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -36,7 +36,7 @@ "build-browser": "npm run build-browser-development && npm run build-browser-production", "build-browser-development": "NODE_ENV=development webpack --mode=development --progress", "build-browser-production": "NODE_ENV=production webpack --mode=production --progress", - "check": "tsc -p tsconfig.jest.json", + "check": "tsc -b tsconfig.jest.json", "clean": "jest --clearCache || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true", "eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts,mts}'", "generate-protoc-code": "./proto.sh", diff --git a/packages/sdk/src/identity/EthereumKeyPairIdentity.ts b/packages/sdk/src/identity/EthereumKeyPairIdentity.ts index 0a03c97208..e928eaea41 100644 --- a/packages/sdk/src/identity/EthereumKeyPairIdentity.ts +++ b/packages/sdk/src/identity/EthereumKeyPairIdentity.ts @@ -26,7 +26,7 @@ export class EthereumKeyPairIdentity extends KeyPairIdentity { return signingUtil.createSignature(payload, this.privateKey) } - async getTransactionSigner(rpcProviderSource: RpcProviderSource): Promise { + override async getTransactionSigner(rpcProviderSource: RpcProviderSource): Promise { const primaryProvider = rpcProviderSource.getProvider() return new Wallet(binaryToHex(this.privateKey), primaryProvider) as SignerWithProvider } diff --git a/packages/sdk/tsconfig.generated.json b/packages/sdk/tsconfig.generated.json new file mode 100644 index 0000000000..b0ee61428f --- /dev/null +++ b/packages/sdk/tsconfig.generated.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitOverride": false + }, + "include": [ + "src/generated" + ], + "exclude": [] +} diff --git a/packages/sdk/tsconfig.jest.json b/packages/sdk/tsconfig.jest.json index 5ba42ad9b4..21cb48ebe3 100644 --- a/packages/sdk/tsconfig.jest.json +++ b/packages/sdk/tsconfig.jest.json @@ -3,8 +3,7 @@ "compilerOptions": { "lib": ["es2021"], "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "noImplicitOverride": false + "emitDecoratorMetadata": true }, "include": [ "package.json", @@ -16,6 +15,10 @@ "scripts" ], "exclude": [ + "src/generated", "test/exports" + ], + "references": [ + { "path": "./tsconfig.generated.json" }, ] } diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index ba668d3702..6c2790f50c 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -5,17 +5,18 @@ "declarationDir": "dist/types", "lib": ["es2021"], "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "noImplicitOverride": false + "emitDecoratorMetadata": true }, "include": [ "src", "src/**/*.json" ], "exclude": [ + "src/generated", "src/exports-esm.mjs" ], "references": [ + { "path": "./tsconfig.generated.json" }, { "path": "../dht" }, { "path": "../proto-rpc" }, { "path": "../trackerless-network" }, diff --git a/packages/trackerless-network/package.json b/packages/trackerless-network/package.json index 96c3b9c5f2..db10a43a04 100644 --- a/packages/trackerless-network/package.json +++ b/packages/trackerless-network/package.json @@ -20,7 +20,7 @@ "build": "tsc -b", "build-browser": "webpack --mode=development --progress", "prebuild": "./proto.sh", - "check": "tsc -p tsconfig.jest.json", + "check": "tsc -b tsconfig.jest.json", "clean": "jest --clearCache || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true", "coverage": "jest --coverage", "eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'", diff --git a/packages/trackerless-network/tsconfig.generated.json b/packages/trackerless-network/tsconfig.generated.json new file mode 100644 index 0000000000..4ce2cee0f2 --- /dev/null +++ b/packages/trackerless-network/tsconfig.generated.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "noImplicitOverride": false + }, + "include": [ + "generated" + ], + "exclude": [] +} diff --git a/packages/trackerless-network/tsconfig.jest.json b/packages/trackerless-network/tsconfig.jest.json index d9593d2105..b024878a4d 100644 --- a/packages/trackerless-network/tsconfig.jest.json +++ b/packages/trackerless-network/tsconfig.jest.json @@ -1,12 +1,11 @@ { "extends": "../../tsconfig.jest.json", - "compilerOptions": { - "noImplicitOverride": false - }, "include": [ "src", - "generated", "package.json", "test" + ], + "references": [ + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/trackerless-network/tsconfig.json b/packages/trackerless-network/tsconfig.json index 481b69e8de..5d3ba0e6e4 100644 --- a/packages/trackerless-network/tsconfig.json +++ b/packages/trackerless-network/tsconfig.json @@ -1,15 +1,14 @@ { "extends": "../../tsconfig.node.json", "compilerOptions": { - "outDir": "dist", - "noImplicitOverride": false + "outDir": "dist" }, "include": [ "src", - "generated", "package.json" ], "references": [ + { "path": "./tsconfig.generated.json" }, { "path": "../dht" }, { "path": "../proto-rpc" }, { "path": "../utils" } From ca6885de4cca07889f1e44a93a4f9716f11bb5bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mariusz=20Roli=C5=84ski?= Date: Tue, 16 Dec 2025 00:25:31 +0100 Subject: [PATCH 2/4] Consistency pass; tweaks Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- packages/autocertifier-client/tsconfig.generated.json | 3 ++- packages/dht/tsconfig.generated.json | 3 ++- packages/proto-rpc/tsconfig.generated.json | 3 ++- packages/sdk/tsconfig.jest.json | 2 +- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/autocertifier-client/tsconfig.generated.json b/packages/autocertifier-client/tsconfig.generated.json index e9aa46a857..4ce2cee0f2 100644 --- a/packages/autocertifier-client/tsconfig.generated.json +++ b/packages/autocertifier-client/tsconfig.generated.json @@ -5,5 +5,6 @@ }, "include": [ "generated" - ] + ], + "exclude": [] } diff --git a/packages/dht/tsconfig.generated.json b/packages/dht/tsconfig.generated.json index e9aa46a857..4ce2cee0f2 100644 --- a/packages/dht/tsconfig.generated.json +++ b/packages/dht/tsconfig.generated.json @@ -5,5 +5,6 @@ }, "include": [ "generated" - ] + ], + "exclude": [] } diff --git a/packages/proto-rpc/tsconfig.generated.json b/packages/proto-rpc/tsconfig.generated.json index e9aa46a857..4ce2cee0f2 100644 --- a/packages/proto-rpc/tsconfig.generated.json +++ b/packages/proto-rpc/tsconfig.generated.json @@ -5,5 +5,6 @@ }, "include": [ "generated" - ] + ], + "exclude": [] } diff --git a/packages/sdk/tsconfig.jest.json b/packages/sdk/tsconfig.jest.json index 21cb48ebe3..afb7f0c5f3 100644 --- a/packages/sdk/tsconfig.jest.json +++ b/packages/sdk/tsconfig.jest.json @@ -19,6 +19,6 @@ "test/exports" ], "references": [ - { "path": "./tsconfig.generated.json" }, + { "path": "./tsconfig.generated.json" } ] } From 9f31c91acc468102fab098ccbeb490bf900f1f1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mariusz=20Roli=C5=84ski?= Date: Tue, 16 Dec 2025 02:57:27 +0100 Subject: [PATCH 3/4] Pass test/proto through the pipe with diabled `noImplicitOverride` --- packages/proto-rpc/tsconfig.generated.json | 3 ++- packages/proto-rpc/tsconfig.jest.json | 3 +++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/proto-rpc/tsconfig.generated.json b/packages/proto-rpc/tsconfig.generated.json index 4ce2cee0f2..604a619266 100644 --- a/packages/proto-rpc/tsconfig.generated.json +++ b/packages/proto-rpc/tsconfig.generated.json @@ -4,7 +4,8 @@ "noImplicitOverride": false }, "include": [ - "generated" + "generated", + "test/proto" ], "exclude": [] } diff --git a/packages/proto-rpc/tsconfig.jest.json b/packages/proto-rpc/tsconfig.jest.json index 71fc379780..0ee0c983d4 100644 --- a/packages/proto-rpc/tsconfig.jest.json +++ b/packages/proto-rpc/tsconfig.jest.json @@ -4,6 +4,9 @@ "src", "test" ], + "exclude": [ + "test/proto" + ], "references": [ { "path": "./tsconfig.generated.json" } ] From 7f737649272ebb02d43f5aea73f6bf728c58379e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mariusz=20Roli=C5=84ski?= Date: Tue, 16 Dec 2025 17:02:09 +0100 Subject: [PATCH 4/4] Order of references matters a-lot! --- packages/autocertifier-client/tsconfig.json | 4 ++-- packages/autocertifier-server/tsconfig.json | 4 ++-- packages/cli-tools/tsconfig.json | 4 ++-- packages/dht/tsconfig.json | 8 ++++---- packages/proto-rpc/tsconfig.json | 4 ++-- packages/sdk/tsconfig.json | 6 +++--- packages/trackerless-network/tsconfig.json | 6 +++--- 7 files changed, 18 insertions(+), 18 deletions(-) diff --git a/packages/autocertifier-client/tsconfig.json b/packages/autocertifier-client/tsconfig.json index 441638f319..9bb9cf3b51 100644 --- a/packages/autocertifier-client/tsconfig.json +++ b/packages/autocertifier-client/tsconfig.json @@ -7,7 +7,7 @@ "src" ], "references": [ - { "path": "./tsconfig.generated.json" }, - { "path": "../utils" } + { "path": "../utils" }, + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/autocertifier-server/tsconfig.json b/packages/autocertifier-server/tsconfig.json index 50a2bf5878..c2b5432116 100644 --- a/packages/autocertifier-server/tsconfig.json +++ b/packages/autocertifier-server/tsconfig.json @@ -8,9 +8,9 @@ "bin" ], "references": [ + { "path": "../utils" }, { "path": "../autocertifier-client" }, - { "path": "../dht" }, { "path": "../proto-rpc" }, - { "path": "../utils" } + { "path": "../dht" } ] } diff --git a/packages/cli-tools/tsconfig.json b/packages/cli-tools/tsconfig.json index b929f67a94..4fcb1b93e0 100644 --- a/packages/cli-tools/tsconfig.json +++ b/packages/cli-tools/tsconfig.json @@ -10,9 +10,9 @@ "bin" ], "references": [ + { "path": "../utils" }, { "path": "../dht" }, - { "path": "../sdk" }, { "path": "../trackerless-network" }, - { "path": "../utils" } + { "path": "../sdk" } ] } diff --git a/packages/dht/tsconfig.json b/packages/dht/tsconfig.json index 876a309adc..e5441a57dd 100644 --- a/packages/dht/tsconfig.json +++ b/packages/dht/tsconfig.json @@ -8,11 +8,11 @@ "package.json" ], "references": [ - { "path": "./tsconfig.generated.json" }, - { "path": "../autocertifier-client" }, + { "path": "../utils" }, + { "path": "../proto-rpc" }, { "path": "../cdn-location" }, { "path": "../geoip-location" }, - { "path": "../proto-rpc" }, - { "path": "../utils" } + { "path": "../autocertifier-client" }, + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/proto-rpc/tsconfig.json b/packages/proto-rpc/tsconfig.json index 441638f319..9bb9cf3b51 100644 --- a/packages/proto-rpc/tsconfig.json +++ b/packages/proto-rpc/tsconfig.json @@ -7,7 +7,7 @@ "src" ], "references": [ - { "path": "./tsconfig.generated.json" }, - { "path": "../utils" } + { "path": "../utils" }, + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json index 6c2790f50c..55522d1c1f 100644 --- a/packages/sdk/tsconfig.json +++ b/packages/sdk/tsconfig.json @@ -16,10 +16,10 @@ "src/exports-esm.mjs" ], "references": [ - { "path": "./tsconfig.generated.json" }, - { "path": "../dht" }, + { "path": "../utils" }, { "path": "../proto-rpc" }, + { "path": "../dht" }, { "path": "../trackerless-network" }, - { "path": "../utils" } + { "path": "./tsconfig.generated.json" } ] } diff --git a/packages/trackerless-network/tsconfig.json b/packages/trackerless-network/tsconfig.json index 5d3ba0e6e4..0933004e01 100644 --- a/packages/trackerless-network/tsconfig.json +++ b/packages/trackerless-network/tsconfig.json @@ -8,9 +8,9 @@ "package.json" ], "references": [ - { "path": "./tsconfig.generated.json" }, - { "path": "../dht" }, + { "path": "../utils" }, { "path": "../proto-rpc" }, - { "path": "../utils" } + { "path": "../dht" }, + { "path": "./tsconfig.generated.json" } ] }