refactor [NET-1652]: Clean-up tsconfigs for the test-utils package#3276
Closed
mondoreale wants to merge 1 commit into
Closed
refactor [NET-1652]: Clean-up tsconfigs for the test-utils package#3276mondoreale wants to merge 1 commit into
test-utils package#3276mondoreale wants to merge 1 commit into
Conversation
Contributor
Author
|
Closing in favour or #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 project references and configuration for the
test-utilspackage and its consumers. The main change is to simplify references totest-utilsby pointing directly to the package directory instead of specific config files, and to clean up and clarify TypeScript config files for better project structure and build reliability.TypeScript project reference updates
autocertifier-server,cdn-location,dht,node,proto-rpc, andsdk) to reference thetest-utilspackage directly instead oftest-utils/tsconfig.node.jsonin their various TypeScript config files (tsconfig.node.json,tsconfig.jest.json,tsconfig.browser.json).test-utilspackage configuration improvementstest-utils: added a roottsconfig.jsonwith composite enabled and explicit references, reduced thetsconfig.jest.jsoninclude scope to only thetestdirectory, and improved the formatting oftsconfig.node.json.Build and script adjustments
buildandcheckscripts intest-utils/package.jsonto use the root build and to ensure both jest and node configs are checked for type correctness.