refactor [NET-1647]: Clean-up tsconfigs for the dht package#3271
Closed
mondoreale wants to merge 1 commit into
Closed
refactor [NET-1647]: Clean-up tsconfigs for the dht package#3271mondoreale wants to merge 1 commit into
dht package#3271mondoreale wants to merge 1 commit into
Conversation
juslesan
approved these changes
Dec 11, 2025
f385ff6 to
ffa3907
Compare
ffa3907 to
459773c
Compare
Contributor
Author
|
Closing in favour of #3301. |
mondoreale
added a commit
that referenced
this pull request
Dec 16, 2025
This pull request refactors TypeScript configuration across several packages to simplify project structure and build scripts. It removes redundant or legacy `tsconfig.node.json` and related files, consolidates configuration into main `tsconfig.json` files, and updates references and build scripts accordingly. The changes aim to reduce duplication, streamline TypeScript project references, and make the build and test processes more maintainable. > [!NOTE] > > In essence, this PR > - Simplifies `build` – `tsc -b` across the board. > - Simplifies `check` – `tsc -p tsconfig.jest.json` > - Drops the Eslint-driven requirement of test files being in package-level `tsconfig.json` files. > 💡 `test/` dirs have their own `tsconfig.json` files that satisfy eslint's project service resolver. > - Renames `tsconfig.node.json` to `tsconfig.json` making it the main entrypoint of each package. > - Drop `references` field from `tsconfig.jest.json` files as these produce a lot of unnecessary noise and we don't "build" through these. > - Make the root `tsconfig.jest.json` disable emitting properly – we \*don't* reference jest tsconfigs anymore! > 💡 Although tsc does not complain, previously this behaviour was against the rules of `composite` tsconfig setup – makes it hard to predict what the outcome is (will it emit, or it won't?). > > It also covers a lot of what the following PRs offer: > - #3271 > - #3272 > - #3273 > - #3274 > - #3275 > - #3276 > - #3277 ### Changes **TypeScript configuration consolidation:** * Removed `tsconfig.node.json` and related files from multiple packages (`autocertifier-server`, `cdn-location`, `cli-tools`), consolidating configuration into main `tsconfig.json` files and updating their `extends`, `include`, and `references` fields for clarity and maintainability. [[1]](diffhunk://#diff-b8ca01c11975250ba2d1cf703ecb4dfb3a3197b14d1e0fb1c92cab47c0f393efL1-L16) [[2]](diffhunk://#diff-829757d9b00ea7fbff093ee2e216391cd3edcd5f46ddf05bde89e75eae6bfe83L1-L12) [[3]](diffhunk://#diff-4e2d6360af04c468b2d5b2f6616a8ddd0c008d6f25cb3173a8b741cd15ec77d3L1-L18) [[4]](diffhunk://#diff-4f7db719f0663c85b00b0dbfb67cd08b73003012b9de614802b30a1490546861L1-L9) [[5]](diffhunk://#diff-6911c66f995472db595934d34bed8bb3b9d4f5f4e8dcef1329a16d498928e684L2-R14) [[6]](diffhunk://#diff-6348cef142feb7833264b39ad43d4ef7281cf1ac9530f0ac807d3e6a547c9795L2-R10) [[7]](diffhunk://#diff-38daa775ecafcf440e7c2b9817052481019197dfba8e0bbb482e7ce5efe0cfafL2-R16) [[8]](diffhunk://#diff-ae13578e8d026eec67d6b00c439076ab2fc27081e16cb0744b996b414ec28a98L12-R12) * Updated `tsconfig.jest.json` files to directly include relevant source, test, and config files, and removed obsolete project references. [[1]](diffhunk://#diff-08758b3945f3c6bf5569734c2c5d0528c21904deef2ca70414543e91107e6af9R4-L7) [[2]](diffhunk://#diff-7b3ee0dcec62b1726878a419c615b3645198209626245d78f996ea5bb2a9ea31R4-L8) [[3]](diffhunk://#diff-198e2b7b2035fa308d0d3c58fddc55ee01229e98c40f7c40ac11cffb40092f83L8-L14) **Build and check script simplification:** * Simplified `check` and `build` scripts in `package.json` files to use the consolidated TypeScript configs, removing redundant or chained TypeScript invocations. [[1]](diffhunk://#diff-50299ff04a4b7e150c72c86a7d621a7a799aa89849e4885c6ac0887af7da9629L22-R22) [[2]](diffhunk://#diff-650e71c74d8235428c25ec35eb19d1ab8daa27dc303d7564f493507a8c011b26L28-R28) [[3]](diffhunk://#diff-2595495f28a036656bd9466e08f5fe32af851fb9bd3465eef7b2c202cd6ff83dL21-R21) [[4]](diffhunk://#diff-48deceddbbe98a41ff1d0f560db132548031fbd96d790c09ffeed924a20e8a05L27-R29) * Updated shell scripts and build commands to no longer rely on removed config files. **Test configuration improvements:** * Added dedicated `test/tsconfig.json` files in several packages to ensure test files are properly included and configured for TypeScript and Jest. [[1]](diffhunk://#diff-99570814e8a6d99b92ce03d11db23716ed24927bbc40da26f16424cb9135917cR1-R6) [[2]](diffhunk://#diff-d33492e918ed4916dd23554eb003330d2983698030d26bbf2667c472e2bb0166R1-R6) Overall, these changes make the TypeScript setup across packages more consistent, easier to understand, and less error-prone.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 updates TypeScript configuration files across several packages to improve project references and build consistency, especially for the
dhtpackage and its dependents. The main changes involve simplifying and correcting TypeScript project references, updating build scripts, and making includes and references more precise.Changes
TypeScript project references and configuration updates:
dhtpackage's TypeScript configuration from../dht/tsconfig.node.jsonto simply../dhtin multiple packages, streamlining project references and aligning with TypeScript's project reference resolution. * Added and reorganized references withindht/tsconfig.jsonto includetsconfig.node.jsonandtsconfig.karma.json, ensuring all relevant configs are part of the composite project.dht/tsconfig.jest.jsonreferences to point to the localtsconfig.node.jsonand removed unnecessary references to unrelated packages, narrowing the scope for Jest builds.Build script and inclusion improvements:
dhtpackage'sbuildscript to usetsc -b(building all referenced projects) and enhanced thecheckscript to also type-checktsconfig.node.json.includearray indht/tsconfig.node.jsonto add thescriptsdirectory, ensuring scripts are included in the build.Test and browser configuration adjustments:
typesarray intrackerless-network/tsconfig.jest.jsonfor better readability.