Repository navigation
chore(tests): centralise TypeScript test configuration - #5695
Merged
Merged
Conversation
Share compiler options, setup declarations and package-relative test inputs while isolating incremental test caches from production builds. Closes #5694
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.
Summary
Centralise test compiler settings and shared setup declarations so all 16 test projects inherit one configuration. Test type-checking now uses its own incremental caches instead of reusing production build caches.
Changes
tsconfig.test.json, extending the root compiler configuration with test-only overrides, sharedsetupEnv.tsinclusion, and${configDir}paths for package sources and tests..tsbuildinfo/tests.json.allowImportingTsExtensionsandresolveJsonModulewere previously inherited fromlayers/tsconfig.json. They are now explicit inlayers/tests/tsconfig.jsonbecause it extends the shared test base. Its existingincludelist, includinglayers/package.json, is unchanged.Validation passed: clean ESM/CJS rebuilds, workspace and layer type-checks, all Vitest type suites, 3,718 unit tests with 100% coverage, and the layer-packaging unit test. Comparison of 48 resolved configurations confirmed no existing input files were dropped; compiler probes verified matcher typing and root-option inheritance across all 16 test projects. All 1,812 production output/cache hashes remained unchanged.
Type-check timings were effectively unchanged: 52.2 → 51.7 seconds cold and 41.1 → 41.1 seconds cached in a single before/after sample.
Issue number: closes #5694
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.