New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update jest monorepo (major) #485
Conversation
renovate[bot] is not a collaborator of the repo |
b2d1c66
to
ef64e5e
Compare
ef64e5e
to
91ef117
Compare
@hatched @huwshimi @Caleb-Ellis can you have a look at this one? I was trying to make these updates by renovate pass. First of all, renovate create separate PR for updating jest to v27 (#485) and ts-jest to v27 (#474) which both were failing on building or running tests. Upgrading them both together seemed to fix build errors, but tests started to fail. Then another errors showed up around tests that mock timers. It seems that version 27 changes the way timers work, but "legacy" timers preserve the previous functionality (https://jestjs.io/blog/2020/05/05/jest-26#new-fake-timers). I didn't find any good info on what exactly changed and how to update tests to new timers. Seems there are other people confused by that as well: jestjs/jest#11551 Let me know what you think. |
It looks like in this release they released a new test runner which has different dependencies as the previous one which is now why it's required. In 28 they will be removing
This fix is fine to get this landed but can you create a follow-up issue so that we can spend some time tracking down the ultimate fix here. |
Follow up created as #487 |
This PR contains the following updates:
26.6.3
->27.0.2
26.6.3
->27.0.4
Release Notes
facebook/jest
v27.0.2
Compare Source
Features
[jest-circus]
Add some APIs to make it easier to build your own test runner[jest-reporters]
Expose thegetResultHeader
util (#11460)[jest-resolver]
Exportresolve*
utils for different Jest modules (#11466)[@jest/test-result]
ExportTest
,TestEvents
andTestFileEvent
(#11466)Fixes
[jest-circus]
Add missingslash
dependency (#11465)[jest-circus, @​jest/test-sequencer]
Remove dependency onjest-runner
(#11466)[jest-config]
Resolveconfig.runner
to absolute path (#11465)[jest-config]
Make sure to support functions as config (#11475)[jest-core]
Do not warn aboutDNSCHANNEL
handles when using the--detectOpenHandles
option (#11470)[jest-runner]
Remove dependency onjest-config
(#11466)[jest-worker]
Loosen engine requirement to>= 10.13.0
(#11451)v27.0.1
Compare Source
Fixes
[jest-environment-jsdom]
Bump version of JSDOM to avoid deprecatedrequest
package (#11442)v27.0.0
Compare Source
Features
[babel-jest]
Add async transformation (#11192)[jest-changed-files]
Use '--' to separate paths from revisions (#11160)[jest-circus]
[BREAKING] Fail tests when multipledone()
calls are made (#10624)[jest-circus, jest-jasmine2]
[BREAKING] Fail the test instead of just warning when describe returns a value (#10947)[jest-config]
[BREAKING] Default to Node testing environment instead of browser (JSDOM) (#9874)[jest-config]
[BREAKING] Usejest-circus
as default test runner (#10686)[jest-config]
Add support forpreset
written in ESM (#11200)[jest-config, jest-runtime]
Support ESM for files other than.js
and.mjs
(#10823)[jest-config, jest-runtime]
[BREAKING] Use "modern" implementation as default for fake timers (#10874 & #11197)[jest-config
Allow passingforceNodeFilesystemAPI
through tojest-haste-map
(#11264)[jest-config, jest-haste-map, jest-resolve, jest-runner, jest-runtime, jest-test-sequencer, jest-transform, jest-types]
[BREAKING] Add custom HasteMap class implementation config option (#11107)[jest-core]
makeTestWatcher
extendemittery
(#10324)[jest-core]
Run failed tests interactively the same way we do with snapshots (#10858)[jest-core]
moreTestSequencer
methods can be async (#10980)[jest-core]
Add support fortestSequencer
written in ESM (#11207)[jest-core]
Add support forglobalSetup
andglobalTeardown
written in ESM (#11267)[jest-core]
Add support forwatchPlugins
written in ESM (#11315)[jest-core]
Add support forrunner
written in ESM (#11232)[jest-core]
Add support forreporters
written in ESM (#11427)[jest-each]
Add support for interpolation with object properties (#11388)[jest-environment-node]
Add AbortController to globals (#11182)[@jest/fake-timers]
Update to@sinonjs/fake-timers
to v7 (#11198)[jest-haste-map]
Handle injected scm clocks (#10966)[jest-haste-map]
AddenableSymlinks
configuration option to follow symlinks for test files (#9351)[jest-repl, jest-runner]
[BREAKING] Run transforms over environment (#8751)[jest-repl]
Add support fortestEnvironment
written in ESM (#11232)[jest-runner]
[BREAKING] set exit code to 1 if test logs after teardown (#10728)[jest-runner]
[BREAKING] Run transforms overrunner
(#8823)[jest-runner]
[BREAKING] Run transforms overtestRunner
(#8823)[jest-runner]
Possibility to use ESM for test environment (11033)[jest-runner]
Add support fortestRunner
written in ESM (#11232)[jest-runtime]
Detect reexports from CJS as named exports in ESM (#10988)[jest-runtime]
Support for async code transformations (#11191 & #11220)[jest-reporters]
Add static filepath property to all reporters (#11015)[jest-snapshot]
[BREAKING] Make prettier optional for inline snapshots - fall back to string replacement (#7792 & #11192)[jest-snapshot]
[BREAKING] Run transforms oversnapshotResolver
(#8751)[jest-transform]
Pass config options defined in Jest's config to transformer'sprocess
andgetCacheKey
functions (#10926)[jest-transform]
Add support for transformers written in ESM (#11163)[jest-transform]
[BREAKING] Do not exportScriptTransformer
class, instead export the async functioncreateScriptTransformer
(#11163)[jest-transform]
Async code transformations (#9889)[jest-transform]
Support transpiled transformers (#11193)[jest-transform]
[BREAKING]requireAndTranspileModule
always return aPromise
, and the third parameter type is changed toRequireAndTranspileModuleOptions
which acceptapplyInteropRequireDefault
option (#11232)[jest-transform]
[BREAKING]createTranspilingRequire
return function which return aPromise
now (#11232)[jest-util]
add requireOrImportModule for importing CJS or ESM (#11199)[jest-util]
addapplyInteropRequireDefault
option onrequireOrImportModule
(#11232)[jest-watcher]
Added support for clearing the line when<C-u>
is pressed in a watch mode pattern prompt (#11358)[jest-worker]
Add support for custom task queues and adds aPriorityQueue
implementation. (#10921)[jest-worker]
Add in-order scheduling policy to jest worker (10902)[pretty-format]
Better print for sparse arrays (11326)[pretty-print]
Add optionprintBasicPrototype
which determines whether or not the prototype should be printed for raw objects or arrays (#11441)Fixes
[babel-plugin-jest-hoist]
Add__dirname
and__filename
to whitelisted globals (#10903)[expect]
[BREAKING] Reviseexpect.not.objectContaining()
to be the inverse ofexpect.objectContaining()
, as documented. (#10708)[expect]
[BREAKING] MaketoContain
more strict with the received type (#10119 & #10929)[expect]
[BREAKING]matcherResult
onJestAssertionError
are now strings rather than functions (#10989)[jest-circus]
Fixed the issue of beforeAll & afterAll hooks getting executed even if it is inside a skippeddescribe
block #10451[jest-circus]
FixtestLocation
on Windows when usingtest.each
(#10871)[jest-cli]
Use testFailureExitCode when bailing from a failed test (#10958)[jest-cli]
Print custom error if error thrown from global hooks is not an error already (#11003)[jest-cli]
Allow running multiple "projects" from programmatic API (#11307)[jest-cli]
Fix missing collectCoverage after init (#11353)[jest-cli, jest-config, jest-types]
Move all default values intojest-config
(#9924)[jest-config]
[BREAKING] Change default file extension order by moving json behind ts and tsx (10572)[jest-console]
console.dir
now respects the second argument correctly (#10638)[jest-core]
Don't report PerformanceObserver as open handle (#11123)[jest-core]
UseWeakRef
to hold timers when detecting open handles (#11277)[jest-core]
Correctly detect open handles that were created in test functions usingdone
callbacks (#11382)[jest-core]
Do not collectRANDOMBYTESREQUEST
as open handles (#11278)[jest-core]
Wait briefly for open handles to close before flagging them when using--detectOpenHandles
(#11429)[jest-diff]
[BREAKING] Use only named exports (#11371)[jest-each]
[BREAKING] Ignore excess words in headings (#8766)[jest-each]
Support array index with template strings (#10763)[jest-each]
Interpolate%%
correctly (#11364)[jest-each]
Fix wrong interpolation when the value of array contains multiple%
(#11364)[jest-environment]
[BREAKING] Drop support forrunScript
for test environments (#11155)[jest-environment-jsdom]
Use inner realm’sArrayBuffer
constructor (#10885)[jest-environment-jsdom]
[BREAKING] Remove Node globalssetImmediate
andclearImmediate
#11222[jest-get-type]
[BREAKING] Convert to ES Module (#11359)[jest-globals]
[BREAKING] Disallow return values other than aPromise
from hooks and tests (#10512)[jest-globals]
[BREAKING] Disallow mixing a done callback and returning aPromise
from hooks and tests (#10512)[jest-haste-map]
VendorNodeWatcher
fromsane
(#10919)[jest-jasmine2]
Fixed the issue ofbeforeAll
&afterAll
hooks getting executed even if it is inside a skippeddescribe
block when it has childtests
marked as eitheronly
ortodo
#10451[jest-jasmine2]
Fixed the issues of childtests
marked withonly
ortodo
getting executed even if it is inside a skipped parentdescribe
block #10451[jest-jasmine2]
Wrap all test functions so they open handles that were created in test functions usingdone
callbacks can be detected (#11382)[jest-reporter]
Handle empty files when reporting code coverage with V8 (#10819)[jest-resolve]
Replace read-pkg-up with escalade package (#10781)[jest-resolve]
Disablejest-pnp-resolver
for Yarn 2 (#10847)[jest-runtime]
[BREAKING] Do not injectglobal
variable into module wrapper (#10644)[jest-runtime]
[BREAKING] remove long-deprecatedjest.addMatchers
,jest.resetModuleRegistry
, andjest.runTimersToTime
(#9853)[jest-runtime]
Fix stack overflow and promise deadlock when importing mutual dependant ES module (#10892)[jest-runtime]
Prevent global module registry from leaking intoisolateModules
registry (#10963)[jest-runtime]
Refactor to prevent race condition when linking and evaluating ES Modules (#11150)[jest-runtime]
Throw correct error when attempting to load ESM viarequire
(#11260)[jest-runtime]
Do not cache modules that throw during evaluation (#11263)[jest-transform]
Show enhancedSyntaxError
message for allSyntaxError
s (#10749)[jest-transform]
[BREAKING] Refactor API to pass an options bag around rather than multiple boolean options (#10753)[jest-transform]
[BREAKING] Refactor API of transformers to pass an options bag rather than separateconfig
and other options (#10834)[jest-types]
FixConfig.ts
projects
types (#11285)[jest-util]
Replace micromatch with picomatch to fix issues with negated globs (#11287)[jest-validate]
Useen-US
locale to avoid case conversion problems while validating CLI options on machines with some certain locales(e.g. Turkish) set as default locale. (#11412)[jest-worker]
[BREAKING] Use named exports (#10623)[jest-worker]
Do not swallow errors during serialization (#10984)[jest-worker]
HandleERR_IPC_CHANNEL_CLOSED
errors properly (#11143)[pretty-format]
[BREAKING] Convert to ES Modules (#10515)[pretty-format]
Only callhasAttribute
if it's a function (#11000)[pretty-format]
Handle jsdom attributes properly (#11189)[pretty-format]
Import pretty-format using named imports (#11360)Chore & Maintenance
[*]
[BREAKING] Only support Node LTS releases and Node 15 (#10685)[*]
[BREAKING] Addexports
field to allpackage.json
s (#9921)[*]
Make it easier for Jest's packages to use the VM escape hatch (#10824)[*]
[BREAKING] Remove deprecatedmapCoverage
(#9968)[babel-jest]
[BREAKING] Migrate to ESM (#11193)[docs]
Correct example usingbrowser-resolve
(#11140)[docs]
Clarifytimers
configuration property (#11376)[jest, jest-core]
[BREAKING] ReplaceTestScheduler
export withcreateTestScheduler
(#11427)[jest-config]
[BREAKING] RemoveenabledTestsMap
config, usefilter
instead (#10787)[jest-console]
[BREAKING] Moveroot
intoconfig
and takeGlobalConfig
as mandatory parameter forgetConsoleOutput
(#10126)[jest-console]
Export LogEntry (#11017)[jest-fake-timers]
Clarify global behavior ofjest.useFakeTimers
andjest.useRealTimers
(#10867)[jest-haste-map]
[BREAKING] Migrate to ESM (#10875)[jest-haste-map]
[BREAKING] Remove support for deprecated optionignorePattern
as function (#10348)[jest-jasmine2]
[BREAKING] Migrate to ESM (#10906)[jest-jasmine2]
[BREAKING] Remove unused options argument fromEnv
constructor (#10240)[jest-repl, jest-runtime]
[BREAKING] Move thejest-runtime
CLI intojest-repl
(#10016 & #10925)[jest-resolve]
[BREAKING] Migrate to ESM (#10688)[jest-resolve-dependencies]
[BREAKING] Migrate to ESM (#10876)[jest-mock]
[BREAKING] Migrate to ESM (#10887)[jest-reporters]
[BREAKING] Makenode-notifier
a peer dependency (#10977)[jest-resolve, jest-runtime]
[BREAKING] UseMap
s instead of objects for all cached resources (#10968)[jest-runner]
[BREAKING] Migrate to ESM (#10900)[jest-runtime]
[BREAKING] Remove deprecated and unusedgetSourceMapInfo
from Runtime (#9969)[jest-transformer]
[BREAKING] Remove unusedisCoreModule
option (#11166)[jest-util]
No longer checkingenumerable
when addingprocess.domain
(#10862)[jest-validate]
[BREAKING] RemoverecursiveBlacklist
option in favor of previously introducedrecursiveDenylist
(#10650)[website]
Replace 'Github' with 'GitHub' (#11279)[website]
Remove a language code from the link to the Node.js website (#11282)[website]
Remove a duplicated word (#11281)[website]
Add french to website (#11361)Performance
[jest-resolve]
Cache reading and parsing ofpackage.json
s (#11076)[jest-runtime, jest-transform]
sharecacheFS
between runtime and transformer (#10901)[jest-runtime]
Loadchalk
only once per worker (#10864)[jest-worker]
Fix memory leak of previous task arguments while no new task is scheduled (#11187)Configuration
📅 Schedule: "before 3am on Monday" (UTC).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.