refactor [NET-1648]: Clean-up tsconfigs for the geoip-location package#3272
Closed
mondoreale wants to merge 3 commits into
Closed
refactor [NET-1648]: Clean-up tsconfigs for the geoip-location package#3272mondoreale wants to merge 3 commits into
geoip-location package#3272mondoreale wants to merge 3 commits into
Conversation
…ip-location-package-tsconfigs
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 configuration references and build scripts for the
geoip-location(primarily) anddhtpackages to improve consistency and correctness in project references and type checking. The main changes focus on ensuring that TypeScript project references point to the correct configuration files and that type checking is more thorough during builds.Changes
TypeScript project reference updates:
tsconfig.jest.jsonandtsconfig.node.jsonindhtto reference thegeoip-locationdirectory instead of its internaltsconfig.node.json, aligning with best practices for project references.tsconfig.node.jsoningeoip-location/tsconfig.jsonto ensure proper dependency tracking and composite builds.geoip-location/tsconfig.jest.jsonto reference its owntsconfig.node.jsoninstead of theutilspackage, and removed thesrcdirectory from theincludelist to focus on test files.Build and type checking script improvements:
buildandcheckscripts ingeoip-location/package.jsonto use the default TypeScript build mode and to perform additional type checking with both Jest and Node configurations.