refactor: Restore strict noImplicitOverride by isolating proto-generated code
#3291
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request cleans up and standardizes TypeScript configuration across multiple packages, with a particular focus on restoring stricter typing by properly isolating auto-generated protobuf code.
Previously,
noImplicitOverridewas explicitly set tofalseacross the app. This was not a design choice, but a workaround: the auto-generated protobuf types were incompatible withnoImplicitOverride, and there was no proper isolation at thetsconfiglevel to scope that limitation. As a result, stricter typing guarantees were relaxed globally.This PR fixes that underlying issue and removes the workaround.
Changes
Configuration cleanup and standardization:
noImplicitOverridecompiler option from all relevanttsconfigfiles.noImplicitOverridecan safely default back to strict behavior, improving type safety across the app.Proto-generated code isolation and improvements:
tsconfig.proto.jsonfiles for theproto-rpc,dht,trackerless-network, andsdkpackages to compile protobuf-generated code separately.includeandexcludepatterns to clearly separate handwritten source code from generated proto files and other build artifacts.Minor code and config improvements:
getTransactionSignerasoverrideinEthereumKeyPairIdentityto comply with stricter TypeScript checks.tsconfigfiles for consistency and maintainability.Overall, these changes restore stricter TypeScript guarantees, improve project hygiene, and make protobuf code handling more robust without compromising type safety in the rest of the codebase.