Skip to content

Conversation

@mondoreale
Copy link
Contributor

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, noImplicitOverride was explicitly set to false across the app. This was not a design choice, but a workaround: the auto-generated protobuf types were incompatible with noImplicitOverride, and there was no proper isolation at the tsconfig level 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:

  • Removed the noImplicitOverride compiler option from all relevant tsconfig files.
  • With proto-generated code now isolated, noImplicitOverride can safely default back to strict behavior, improving type safety across the app.

Proto-generated code isolation and improvements:

  • Introduced dedicated tsconfig.proto.json files for the proto-rpc, dht, trackerless-network, and sdk packages to compile protobuf-generated code separately.
  • Updated project references to point to these new proto-specific configs.
  • Refined include and exclude patterns to clearly separate handwritten source code from generated proto files and other build artifacts.

Minor code and config improvements:

  • Marked getTransactionSigner as override in EthereumKeyPairIdentity to comply with stricter TypeScript checks.
  • Removed unnecessary compiler options and redundant includes from several tsconfig files 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.

@github-actions github-actions bot added network Related to Network Package cli-tools Related to CLI Tools Package dht Related to DHT package utils proto-rpc sdk labels Dec 12, 2025
@mondoreale mondoreale force-pushed the enable-noImplicitOverride branch from b851a34 to f3d497a Compare December 12, 2025 18:26
@github-actions github-actions bot added the ci Related to CI configuration label Dec 12, 2025
@github-actions github-actions bot removed cli-tools Related to CLI Tools Package utils labels Dec 14, 2025
@mondoreale
Copy link
Contributor Author

I close this one. We're not in a position to approach this issue, and for packages that carry no protobuf code this issue has just been addressed in #3294.

@mondoreale mondoreale closed this Dec 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci Related to CI configuration dht Related to DHT package network Related to Network Package proto-rpc sdk

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants