refactor [NET-1653]: Clean-up tsconfigs for the trackerless-network package#3277
Closed
mondoreale wants to merge 1 commit into
Closed
refactor [NET-1653]: Clean-up tsconfigs for the trackerless-network package#3277mondoreale wants to merge 1 commit into
trackerless-network package#3277mondoreale 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 refactors and simplifies the TypeScript configuration for the
trackerless-networkpackage, improving project references, build scripts, and configuration clarity. The changes remove redundant configuration files, update references to use package roots instead of specific config files, and streamline thebuildandcheckcommands for better maintainability and consistency across environments.Changes
TypeScript configuration and references:
tsconfig.browser.jsonfromtrackerless-networkand updatedtsconfig.karma.jsonto extend the root browser config, with improvedcompilerOptionsandincludesettings.trackerless-networkconfigs to point to package roots rather than specific config files, simplifying dependency management.tsconfig.jsonfortrackerless-networkto manage composite builds and references to environment-specific configs.Build and check scripts:
trackerless-network/package.jsonto use composite builds and ensure both Jest and Node configs are checked for type errors.Test and environment config improvements:
trackerless-networkto only include test files and to reference the local Node config.