Releases
v24.0.0
SimenB
released this
16 Aug 10:38
Features
[jest-each]
[BREAKING ] Add primitive pretty printing for interpolated titles (#7694 )
[jest-runtime]
Add jest.isolateModules
for scoped module initialization (#6701 )
[jest-diff]
[BREAKING ] Support diffing numbers and booleans instead of returning null for different ones (#7605 )
[jest-diff]
[BREAKING ] Replace diff
with diff-sequences
package (#6961 )
[jest-cli]
[BREAKING ] Only set error process error codes when they are non-zero (#7363 )
[jest-config]
[BREAKING ] Deprecate setupTestFrameworkScriptFile
in favor of new setupFilesAfterEnv
(#7119 )
[jest-worker]
[BREAKING ] Add functionality to call a setup
method in the worker before the first call and a teardown
method when ending the farm (#7014 )
[jest-config]
[BREAKING ] Set default notifyMode
to failure-change
(#7024 )
[jest-haste-map]
[BREAKING ] Remove support for @providesModule
(#6104 )
[jest-haste-map]
[BREAKING ] Replace internal data structures to improve performance (#6960 )
[jest-haste-map]
[BREAKING ] Use relative paths to allow remote caching (#7020 )
[jest-haste-map]
[BREAKING ] Remove name from hash in HasteMap.getCacheFilePath
(#7218 )
[babel-preset-jest]
[BREAKING ] Export a function instead of an object for Babel 7 compatibility (#7203 )
[jest-haste-map]
[BREAKING ] Expose relative paths when getting the file iterator (#7321 )
[jest-cli]
[BREAKING ] Run code transforms over global{Setup,Teardown}
(#7562 )
[jest-haste-map]
Add hasteFS.getSize(path)
(#7580 )
[jest-cli]
Print version ending in -dev
when running a local Jest clone (#7582 )
[jest-cli]
Add Support for globalSetup
and globalTeardown
in projects (#6865 )
[jest-runtime]
Add extraGlobals
to config to load extra global variables into the execution vm (#7454 )
[jest-util]
Export specialChars
containing Unicode characters and ANSI escapes for console output (#7532 )
[jest-config]
Handle typescript (ts
and tsx
) by default (#7533 )
[jest-validate]
Add support for comments in package.json
using a "//"
key (#7295 )
[jest-config]
Add shorthand for watch plugins and runners (#7213 )
[jest-jasmine2/jest-circus/jest-cli]
Add test.todo (#6996 )
[pretty-format]
Option to not escape strings in diff messages (#5661 )
[jest-haste-map]
Add getFileIterator
to HasteFS
for faster file iteration (#7010 )
[jest-config]
Add readConfigs
function, previously in jest-cli
(#7096 )
[jest-snapshot]
Enable configurable snapshot paths (#6143 )
[pretty-format]
Support HTMLCollection and NodeList in DOMCollection plugin (#7125 )
[jest-runtime]
Pass the normalized configuration to script transformers (#7148 )
[expect]
Improve report when assertion fails, part 3 (#7152 )
[jest-runtime]
If require
fails without a file extension, print all files that match with one (#7160 )
[jest-haste-map]
Make ignorePattern
optional (#7166 )
[jest-haste-map]
Add getCacheFilePath
to get the path to the cache file for a HasteMap
instance (#7217 )
[jest-runtime]
Remove cacheDirectory
from ignorePattern
for HasteMap
if not necessary (#7166 )
[jest-validate]
Add syntax to validate multiple permitted types (#7207 )
[jest-config]
Accept an array as as well as a string for testRegex
([#7209 ]#7209 ))
[expect/jest-matcher-utils]
Improve report when assertion fails, part 4 (#7241 )
[expect/jest-matcher-utils]
Improve report when assertion fails, part 5 (#7557 )
[expect]
Check constructor equality in .toStrictEqual() (#7005 )
[jest-util]
Add jest.getTimerCount()
to get the count of scheduled fake timers (#7285 )
[jest-config]
Add dependencyExtractor
option to use a custom module to extract dependencies from files (#7313 , #7349 , #7350 , #7362 )
[jest-haste-map]
Accept a getCacheKey
method in hasteImplModulePath
modules to reset the cache when the logic changes (#7350 )
[jest-config]
Add haste.computeSha1
option to compute the sha-1 of the files in the haste map (#7345 )
[expect]
expect(Infinity).toBeCloseTo(Infinity)
Treats Infinity
as equal in toBeCloseTo matcher (#7405 )
[jest-worker]
Add node worker-thread support to jest-worker (#7408 )
[jest-config]
Allow bail
setting to be configured with a number allowing tests to abort after n
of failures (#7335 )
[jest-config]
Allow % based configuration of --max-workers
(#7494 )
[jest-runner]
Instantiate the test environment class with the current testPath
(#7442 )
[jest-config]
Always resolve jest-environment-jsdom from jest-config (#7476 )
[expect]
Improve report when assertion fails, part 6 (#7621 )
[jest-worker]
Add enableWorkerThreads
option to explicitly opt-in to worker_threads
if available (#7681 )
Fixes
[expect]
Accept inherited properties in toHaveProperty
matcher (#7686 )
[jest-diff]
Do not claim that -0
and 0
have no visual difference (#7605 )
[jest-mock]
Fix automock for numeric function names (#7653 )
[jest-config]
Ensure existsSync
is only called with a string parameter (#7607 )
[expect]
toStrictEqual
considers sparseness of arrays. (#7591 )
[jest-cli]
Fix empty coverage data for untested files (#7388 )
[jest-cli]
[BREAKING ] Do not use text-summary
coverage reporter by default if other reporters are configured (#7058 )
[jest-mock]
[BREAKING ] Fix bugs with mock/spy result tracking of recursive functions (#6381 )
[jest-haste-map]
[BREAKING ] Recover files correctly after haste name collisions are fixed (#7329 )
[pretty-format]
[BREAKING ] Omit non-enumerable symbol properties (#7448 )
[*]
[BREAKING ] Upgrade to Babel 7, dropping support for Babel 6 (#7016 )
[jest-cli]
Avoid watch mode causing bad terminal behavior in some cases (#7523 )
[jest-runner/jest-worker]
Fix missing console output in verbose mode (#6871 )
[expect]
Standardize file naming in expect
(#7306 )
[jest-each]
Add empty array validation check (#7249 )
[jest-cli]
Interrupt tests if interactive watch plugin key is pressed (#7222 )
[jest-each]
Add each array validation check (#7033 )
[jest-haste-map]
Do not visit again files with the same sha-1 (#6990 )
[jest-jasmine2]
Fix memory leak in Error objects hold by the framework (#6965 )
[jest-haste-map]
Fixed Haste whitelist generation for scoped modules on Windows (#6980 )
[jest-mock]
Fix inheritance of static properties and methods in mocks (#7003 )
[jest-mock]
Fix mocking objects without Object.prototype
in their prototype chain (#7003 )
[jest-mock]
Check _isMockFunction
is true rather than truthy on potential mocks (#7017 )
[jest-cli]
Update jest-cli to show git ref in message when using changedSince
(#7028 )
[jest-jasmine2
] Fix crash when test return Promise rejected with null (#7049 )
[jest-runtime]
Check _isMockFunction
is true rather than truthy on potential global mocks (#7017 )
[jest-jasmine]
Show proper error message from async assert
errors (#6821 )
[jest-jasmine2]
Better error message when a describe block is empty (#6372 )
[jest-jasmine2]
Pending calls inside async tests are reported as pending not failed (#6782 )
[jest-circus]
Better error message when a describe block is empty (#6372 )
[jest-jasmine2]
Add missing testLocationResults for xit
and fit
(#6482 )
[expect]
Return false from asymmetric matchers if received value isn’t string (#7107 )
[jest-cli]
Fix unhandled error when a bad revision is provided to changedSince
(#7115 )
[jest-config]
Moved dynamically assigned cwd
from jest-cli
to default configuration in jest-config
(#7146 )
[jest-config]
Fix getMaxWorkers
on termux (#7154 )
[jest-runtime]
Throw an explicit error if js
is missing from moduleFileExtensions
(#7160 )
[jest-runtime]
Fix missing coverage when using negative glob pattern in testMatch
(#7170 )
[*]
Ensure maxWorkers
is at least 1 (was 0 in some cases where there was only 1 CPU) (#7182 )
[jest-runtime]
Fix transform cache invalidation when requiring a test file from multiple projects (#7186 )
[jest-changed-files]
Return correctly the changed files when using lastCommit=true
on Mercurial repositories (#7228 )
[babel-jest]
Cache includes babel environment variables (#7239 )
[jest-config]
Use strings instead of RegExp
instances in normalized configuration (#7251 )
[jest-circus]
Make sure to display real duration even if time is mocked (#7264 )
[expect]
Improves the failing message for toStrictEqual
matcher. (#7224 )
[expect]
Improves the failing message for toEqual
matcher. (#7325 )
[jest-resolve]
Fix not being able to resolve path to mapped file with custom platform (#7312 )
[jest-message-util]
Improve parsing of error messages for unusually formatted stack traces (#7319 )
[jest-runtime]
Ensure error message text is not lost on errors with code frames (#7319 )
[jest-haste-map]
Fix to resolve path that is start with words same as rootDir (#7324 )
[expect]
Fix toMatchObject matcher when used with Object.create(null)
(#7334 )
[jest-haste-map]
Remove legacy condition for duplicate module detection (#7333 )
[jest-haste-map]
Fix require
detection with trailing commas and ignore import typeof
modules (#7385 )
[jest-cli]
Fix to set prettierPath via config file (#7412 )
[expect]
Test more precisely for class instance getters (#7477 )
[jest-cli]
Support dashed args (#7497 )
[jest-cli]
Fix to run in band tests if watch mode enable when runInBand arg used (#7518 )
[jest-runtime]
Fix mistake as test files when run coverage issue. (#7506 )
[jest-cli]
print info about passWithNoTests flag (#7309 )
[pretty-format]
Omit unnecessary symbol filter for object keys (#7457 )
[jest-runtime]
Fix requireActual
on node_modules with mock present (#7404 )
[jest-resolve]
Fix isBuiltinModule
to support versions of node without module.builtinModules
(#7565 )
[babel-jest]
Set cwd
to be resilient to it changing during the runtime of the tests (#7574 )
[jest-snapshot]
Write and read snapshots from disk even if fs
is mocked (#7080 )
[jest-config]
Normalize config.cwd
and config.rootDir
using `realpath (#7598 )
[jest-environment-node]
Fix buffer property is not ArrayBuffer issue. (#7626 )
[babel-plugin-jest-hoist]
Ignore TS type annotations when looking for out-of-scope references (#7641 )
[jest-config]
Add name to project if one does not exist to pick correct resolver (#5862 )
[jest-runtime]
Pass watchPathIgnorePatterns
to Haste instance (#7585 )
[jest-runtime]
Resolve mock files via Haste when using require.resolve
(#7687 )
Chore & Maintenance
[*]
[BREAKING ] Require Node.js 6+ for all packages (#7258 )
[jest-util]
[BREAKING ] Remove long-deprecated globals for fake timers (#7285 )
[*]
[BREAKING ] Upgrade to Micromatch 3 (#6650 )
[*]
[BREAKING ] Remove regenerator-runtime injection (#7595 )
[jest-worker]
Disable worker_threads
to avoid issues with libraries to ready for it (#7681 )
[docs]
Fix message property in custom matcher example to return a function instead of a constant. (#7426 )
[jest-circus]
Standardize file naming in jest-circus
(#7301 )
[docs]
Add synchronous test.each setup (#7150 )
[docs]
Add this.extend
to the Custom Matchers API reference (#7130 )
[docs]
Fix default value for coverageReporters
value in configuration docs (#7126 )
[docs]
Add link for jest-extended in expect docs (#7078 )
[jest-util]
Add ErrorWithStack class (#7067 )
[docs]
Document --runTestsByPath
CLI parameter (#7046 )
[docs]
Fix babel-core installation instructions (#6745 )
[docs]
Explain how to rewrite assertions to avoid large irrelevant diff (#6971 )
[examples]
add example using Babel 7 (#6983 )
[docs]
Replace shallow equality with referential identity in ExpectAPI.md
(#6991 )
[jest-changed-files]
Refactor to use execa
over child_process
(#6987 )
[*]
Bump dated dependencies (#6978 )
[scripts]
Don’t make empty sub-folders for ignored files in build folder (#7001 )
[docs]
Add missing export statement in puppeteer_environment.js
under docs/Puppeteer.md
(#7127 )
[docs]
Removed useless expect.assertions in TestingAsyncCode.md
(#7131 )
[docs]
Remove references to @providesModule
which isn't supported anymore (#7147 )
[docs]
Update setupFiles
documentation for clarity (#7187 )
[docs]
Change require.require*
to jest.require*
(#7210 )
[jest-circus]
Add readme.md (#7198 )
[jest-editor-support]
Remove from the repository (#7232 )
[jest-test-typescript-parser]
Remove from the repository (#7232 )
[tests]
Free tests from the dependency on value of FORCE_COLOR (#6585 )
[*]
Add babel plugin to make sure Jest is unaffected by fake Promise implementations (#7225 )
[docs]
Add correct default value for testUrl
config option (#7277 )
[docs]
Remove duplicate code in MockFunctions
(#7297 )
[*]
Add check for Facebook copyright headers on CI (#7370 )
[*]
Update Facebook copyright headers (#7589 )
[jest-haste-map]
Refactor dependencyExtractor
and tests (#7385 )
[docs]
Clearify conditional setting of NODE_ENV
(#7369 )
[docs]
Clarify conditional setting of NODE_ENV
(#7369 )
[*]
Standardize file names (#7316 , #7266 , #7238 , #7314 , #7467 , #7464 ), #7471 )
[docs]
Add testPathIgnorePatterns
in CLI documentation (#7440 )
[docs]
Removed misleading text about describe()
grouping together tests into a test suite (#7434 )
[diff-sequences]
Add performance benchmark to package (#7603 )
[*]
Replace as many Object.assign
with object spread as possible (#7627 )
[ci]
Initial support for Azure Pipelines (#7556 )
Performance
[jest-mock]
Improve getType
function performance. (#7159 )
You can’t perform that action at this time.