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.
Using a patch to play with jestjs/jest#12856. This is a small library mixing JS/TS, so a good playground.
Observations:
The most notable difference from
@types/jest
is that just installing@types/jest
makes types of globals available everywhere. If test files live inside__tests__
directories, to be precise one should opt-out in source directories through"types": []
.In contrary, just installing
jest
does not make types available. One has to opt-in addingtsconfig.json
with"types": ["jest"]
in__tests__
directories. If I get it right, this would disable other globals coming from@types/*
, e.g. Node typings.If test files live next to source (not in separate directories), it is harder to be precise with any opt-ins / opt-outs. In case of
jest
types,tsconfig.json
needs"types": ["jest", "node"]
.If we have JS library, installing
@jest/types
orjest
makes typings of globals available in all files. Withtsconfig.json
added, one has to opt-in forjest
types, but@jest/types
are still available globally.Also I reworked type checks to include files of e2e and unit tests. Somehow missed it before.