jest-cli v25.1.0 Release Notes

Release Date: 2020-01-22 // about 4 years ago
  • Blog post: https://jestjs.io/blog/2020/01/21/jest-25

    ๐Ÿ”‹ Features

    • ๐Ÿ”Œ [babel-plugin-jest-hoist] Show codeframe on static hoisting issues (#8865)
    • ๐Ÿ”Œ [babel-plugin-jest-hoist] Add BigInt to WHITELISTED_IDENTIFIERS (#8382)
    • ๐Ÿ”Œ [babel-preset-jest] Add @babel/plugin-syntax-bigint (#8382)
    • ๐Ÿ‘ [expect] Add BigInt support to toBeGreaterThan, toBeGreaterThanOrEqual, toBeLessThan and toBeLessThanOrEqual (#8382)
    • [expect, jest-matcher-utils] Display change counts in annotation lines (#9035)
    • ๐Ÿ‘ [expect, jest-snapshot] Support custom inline snapshot matchers (#9278)
    • [jest-config] Throw the full error message and stack when a Jest preset is missing a dependency (#8924)
    • ๐Ÿ’ฅ [jest-config] [BREAKING] Set default display name color based on runner (#8689)
    • ๐Ÿ”€ [jest-config] Merge preset globals with project globals (#9027)
    • ๐Ÿ‘ [jest-config] Support .cjs config files (#9291)
    • ๐Ÿ’ฅ [jest-config] [BREAKING] Support .mjs config files (#9431)
    • 0๏ธโƒฃ [jest-core] Support reporters as default exports (#9161)
    • ๐Ÿ [jest-core] Support --findRelatedTests paths case insensitivity on Windows (#8900)
    • [jest-diff] Add options for colors and symbols (#8841)
    • ๐Ÿ’ฅ [jest-diff] [BREAKING] Export as ECMAScript module (#8873)
    • [jest-diff] Add includeChangeCounts and rename Indicator options (#8881)
    • [jest-diff] Add changeColor and patchColor options (#8911)
    • [jest-diff] Add trailingSpaceFormatter option and replace cyan with commonColor (#8927)
    • [jest-diff] Add firstOrLastEmptyLineReplacement option and export 3 diffLines functions (#8955)
    • [jest-environment] Add optional getVmContext next to runScript (#9252 & #9428)
    • [jest-environment-jsdom] Add fakeTimersLolex (#8925)
    • [jest-environment-node] Add fakeTimersLolex (#8925)
    • [jest-environment-node] Add queueMicrotask (#9140)
    • [jest-environment-node] Implement getVmContext (#9252 & #9428)
    • [@jest/fake-timers] Add Lolex as implementation of fake timers (#8897)
    • ๐Ÿ‘ [jest-get-type] Add BigInt support. (#8382)
    • ๐Ÿ‘ [jest-matcher-utils] Add BigInt support to ensureNumbers ensureActualIsNumber, ensureExpectedIsNumber (#8382)
    • [jest-matcher-utils] Ignore highlighting matched asymmetricMatcher in diffs (#9257)
    • [jest-reporters] Export utils for path formatting (#9162)
    • [jest-reporters] Provides global coverage thresholds as watermarks for istanbul (#9416)
    • ๐Ÿ‘ท [jest-runner] Warn if a worker had to be force exited (#8206)
    • ๐Ÿ’ฅ [jest-runtime] [BREAKING] Do not export ScriptTransformer - it can be imported from @jest/transform instead (#9256)
    • [jest-runtime] Use JestEnvironment.getVmContext and vm.compileFunction if available to avoid the module wrapper (#9252 & #9428)
    • [jest-snapshot] Display change counts in annotation lines (#8982)
    • ๐Ÿ’ฅ [jest-snapshot] [BREAKING] Improve report when the matcher has properties (#9104)
    • [jest-snapshot] Improve colors when snapshots are updatable (#9132)
    • [jest-snapshot] Ignore indentation for most serialized objects (#9203)
    • [jest-transform] Create createTranspilingRequire function for easy transpiling modules (#9194)
    • ๐Ÿ’ฅ [jest-transform] [BREAKING] Return transformed code as a string, do not wrap in vm.Script (#9253)
    • โœ… [@jest/test-result] Create method to create empty TestResult (#8867)
    • ๐Ÿ’ฅ [jest-worker] [BREAKING] Return a promise from end(), resolving with the information whether workers exited gracefully (#8206)
    • [jest-reporters] Transform file paths into hyperlinks (#8980)

    ๐Ÿ›  Fixes

    • [expect] Display expectedDiff more carefully in toBeCloseTo (#8389)
    • [expect] Avoid incorrect difference for subset when toMatchObject fails (#9005)
    • [expect] Consider all RegExp flags for equality (#9167)
    • ๐Ÿ’ฅ [expect] [BREAKING] Consider primitives different from wrappers instantiated with new (#9167)
    • โœ… [expect] Prevent maintaining RegExp state between multiple tests (#9289)
    • [expect] Fix subsetEquality false circular reference detection (#9322)
    • [jest-config] Use half of the available cores when watchAll mode is enabled (#9117)
    • [jest-config] Fix Jest multi project runner still cannot handle exactly one project (#8894)
    • [jest-console] Add missing console.group calls to NullConsole (#9024)
    • [jest-core] Don't include unref'd timers in --detectOpenHandles results (#8941)
    • ๐Ÿ‘ท [jest-core] Limit number of workers when creating haste maps in projects (#9259)
    • [jest-diff] Do not inverse format if line consists of one change (#8903)
    • 0๏ธโƒฃ [jest-diff] Rename some new options and change their default values (#9077)
    • [jest-environment-node] Fix TextEncoder.encode not referencing same global Uint8Array constructor (#9261)
    • [jest-fake-timers] getTimerCount will not include cancelled immediates (#8764)
    • ๐Ÿ‘ [jest-fake-timers] Support util.promisify on setTimeout (#9180)
    • [jest-jasmine2, jest-circus] Improve error message format for Node's assert.fail (#9262)
    • ๐Ÿ’ฅ [jest-leak-detector] [BREAKING] Use weak-napi instead of weak package (#8686)
    • ๐Ÿคก [jest-mock] Fix for mockReturnValue overriding mockImplementationOnce (#8398)
    • [jest-reporters] Make node-notifier an optional dependency (#8918)
    • [jest-reporters] Make all arguments to methods on BaseReporter optional (#9159)
    • [jest-resolve]: Set MODULE_NOT_FOUND as error code when module is not resolved from paths (#8487)
    • [jest-resolve-dependencies] Handle dynamic dependencies correctly even when using module maps (#9303)
    • ๐Ÿšš [jest-snapshot] Remove only the added newlines in multiline snapshots (#8859)
    • [jest-snapshot] Distinguish empty string from external snapshot not written (#8880)
    • ๐Ÿ’ฅ [jest-snapshot] [BREAKING] Distinguish empty string from internal snapshot not written (#8898)
    • ๐Ÿ’ฅ [jest-snapshot] [BREAKING] Remove report method and throw matcher errors (#9049)
    • [jest-snapshot] Omit irrelevant received properties when property matchers fail (#9198)
    • โœ… [jest-transform] Properly cache transformed files across tests (#8890)
    • โœ… [jest-transform] Don't fail the test suite when a generated source map is invalid (#9058)
    • ๐Ÿ’ฅ [jest-types] [BREAKING] Use less null | undefined in config types (#9200)
    • [jest-util] Allow querying process.domain (#9136)
    • [pretty-format] Correctly detect memoized elements (#9196)
    • [pretty-format] Fix pretty-format to respect displayName on forwardRef (#9422)

    ๐Ÿšง Chore & Maintenance

    • [*] [BREAKING] Drop support for Node 6 (#8455)
    • ๐Ÿ‘ท [*] Add Node 12 to CI (#8411)
    • [*] [BREAKING] Upgrade to Micromatch v4 (#8852)
    • ๐Ÿ’ฅ [babel-plugin-jest-hoist] [BREAKING] Use ESM exports (#8874)
    • ๐Ÿ“„ [docs] Add alias and optional boolean value to coverage CLI Reference (#8996)
    • โœ… [docs] Fix broken link pointing to legacy JS file in "Snapshot Testing".
    • ๐Ÿ“„ [docs] Add setupFilesAfterEnv and jest.setTimeout example (#8971)
    • โœ… [expect] Test that toStrictEqual is equivalent to Node's assert.deepStrictEqual (#9167)
    • ๐Ÿ’ฅ [jest] [BREAKING] Use ESM exports (#8874)
    • ๐Ÿ’ฅ [jest-cli] [BREAKING] Use ESM exports (#8874)
    • ๐Ÿ’ฅ [jest-cli] [BREAKING] Remove re-exports from @jest/core (#8874)
    • ๐Ÿšš [jest-diff] Remove the need to export splitLines0 function (#9151)
    • ๐Ÿ’ฅ [jest-environment-jsdom] [BREAKING] Upgrade JSDOM from v11 to v15 (#8851)
    • โฌ†๏ธ [jest-haste-map] Upgrade to fsevents@2 (#9215)
    • ๐Ÿ’ฅ [jest-reporters] [BREAKING] Upgrade Istanbul dependencies, which are used for code coverage (#9192)
    • ๐Ÿ’ฅ [jest-util] [BREAKING] Remove deprecated exports (#8863)
    • ๐Ÿ’ฅ [jest-validate] [BREAKING] Use ESM exports (#8874)
    • [jest-types] Mark InitialOptions as Partial (#8848)
    • ๐Ÿ”จ [jest-config] Refactor normalize to be more type safe (#8848)