Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks



> DEPRECATED: Use `v8` APIs directly:


Version published
Weekly downloads
increased by2.54%

Weekly downloads





  • [babel-jest] Export createTransformer function (#12399)
  • [expect] Expose AsymmetricMatchers, MatcherFunction and MatcherFunctionWithState interfaces (#12363, #12376)
  • [jest-circus] Support error logging before retry (#12201)
  • [jest-circus, jest-jasmine2] Allowed classes and functions as describe and it/test names (#12484)
  • [jest-cli, jest-config] [BREAKING] Remove testURL config, use testEnvironmentOptions.url instead (#10797)
  • [jest-cli, jest-core] Add --shard parameter for distributed parallel test execution (#12546)
  • [jest-cli] [BREAKING] Remove undocumented --timers option (#12572)
  • [jest-config] [BREAKING] Stop shipping jest-environment-jsdom by default (#12354)
  • [jest-config] [BREAKING] Stop shipping jest-jasmine2 by default (#12355)
  • [jest-config, @jest/types] Add ci to GlobalConfig (#12378)
  • [jest-config] [BREAKING] Rename moduleLoader to runtime (#10817)
  • [jest-config] [BREAKING] Rename extraGlobals to sandboxInjectedGlobals (#10817)
  • [jest-config] [BREAKING] Throw an error instead of showing a warning if multiple configs are used (#12510)
  • [jest-config] [BREAKING] Do not normalize long deprecated configuration options preprocessorIgnorePatterns, scriptPreprocessor, setupTestFrameworkScriptFile and testPathDirs (#12701)
  • [jest-cli, jest-core] Add --ignoreProjects CLI argument to ignore test suites by project name (#12620)
  • [jest-core] Pass project config to globalSetup/globalTeardown function as second argument (#12440)
  • [jest-core] Stabilize test runners with event emitters (#12641)
  • [jest-core, jest-watcher] [BREAKING] Move TestWatcher class to jest-watcher package (#12652)
  • [jest-core] Allow using Summary Reporter as stand-alone reporter (#12687)
  • [jest-environment-jsdom] [BREAKING] Upgrade jsdom to 19.0.0 (#12290)
  • [jest-environment-jsdom] [BREAKING] Add default browser condition to exportConditions for jsdom environment (#11924)
  • [jest-environment-jsdom] [BREAKING] Pass global config to Jest environment constructor for jsdom environment (#12461)
  • [jest-environment-jsdom] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-environment-node] [BREAKING] Add default node and node-addon conditions to exportConditions for node environment (#11924)
  • [jest-environment-node] [BREAKING] Pass global config to Jest environment constructor for node environment (#12461)
  • [jest-environment-node] [BREAKING] Second argument context to constructor is mandatory (#12469)
  • [jest-environment-node] Add all available globals to test globals, not just explicit ones (#12642, #12696)
  • [@jest/expect] New module which extends expect with jest-snapshot matchers (#12404, #12410, #12418)
  • [@jest/expect-utils] New module exporting utils for expect (#12323)
  • [@jest/fake-timers] [BREAKING] Rename timers configuration option to fakeTimers (#12572)
  • [@jest/fake-timers] [BREAKING] Allow jest.useFakeTimers() and projectConfig.fakeTimers to take an options bag (#12572)
  • [jest-haste-map] [BREAKING] HasteMap.create now returns a promise (#12008)
  • [jest-haste-map] Add support for dependencyExtractor written in ESM (#12008)
  • [jest-mock] [BREAKING] Rename exported utility types ClassLike, FunctionLike, ConstructorLikeKeys, MethodLikeKeys, PropertyLikeKeys; remove exports of utility types ArgumentsOf, ArgsType, ConstructorArgumentsOf - TS builtin utility types ConstructorParameters and Parameters should be used instead (#12435, #12489)
  • [jest-mock] Improve isMockFunction to infer types of passed function (#12442)
  • [jest-mock] [BREAKING] Improve the usage of jest.fn generic type argument (#12489)
  • [jest-mock] Add support for auto-mocking async generator functions (#11080)
  • [jest-mock] Add contexts member to mock functions (#12601)
  • [@jest/reporters] Add GitHub Actions reporter (#11320, #12658)
  • [@jest/reporters] Pass reporterContext to custom reporter constructors as third argument (#12657)
  • [jest-resolve] [BREAKING] Add support for package.json exports (#11961, #12373)
  • [jest-resolve] Support package self-reference (#12682)
  • [jest-resolve, jest-runtime] Add support for data: URI import and mock (#12392)
  • [jest-resolve, jest-runtime] Add support for async resolver (#11540)
  • [jest-resolve] [BREAKING] Remove browser?: boolean from resolver options, conditions: ['browser'] should be used instead (#12707)
  • [jest-resolve] Expose JestResolver, AsyncResolver, SyncResolver, PackageFilter, PathFilter and PackageJSON types (#12707, (#12712)
  • [jest-runner] Allow setupFiles module to export an async function (#12042)
  • [jest-runner] Allow passing testEnvironmentOptions via docblocks (#12470)
  • [jest-runner] Expose CallbackTestRunner, EmittingTestRunner abstract classes and CallbackTestRunnerInterface, EmittingTestRunnerInterface to help typing third party runners (#12646, #12715)
  • [jest-runner] Lock version of source-map-support to 0.5.13 (#12720)
  • [jest-runtime] [BREAKING] Runtime.createHasteMap now returns a promise (#12008)
  • [jest-runtime] Calling jest.resetModules function will clear FS and transform cache (#12531)
  • [jest-runtime] [BREAKING] Remove Context type export, it must be imported from @jest/test-result (#12685)
  • [jest-runtime] Add import.meta.jest (#12698)
  • [@jest/schemas] New module for JSON schemas for Jest's config (#12384)
  • [@jest/source-map] Migrate from source-map to @jridgewell/trace-mapping (#12692)
  • [jest-transform] [BREAKING] Make it required for process() and processAsync() methods to always return structured data (#12638)
  • [jest-test-result] Add duration property to JSON test output (#12518)
  • [jest-watcher] [BREAKING] Make PatternPrompt class to take entityName as third constructor parameter instead of this._entityName (#12591)
  • [jest-worker] [BREAKING] Allow only absolute workerPath (#12343)
  • [jest-worker] [BREAKING] Default to advanced serialization when using child process workers (#10983)
  • [pretty-format] New maxWidth parameter (#12402)


  • [*] Use sha256 instead of md5 as hashing algortihm for compatibility with FIPS systems (#12722)
  • [babel-jest] [BREAKING] Pass rootDir as root in Babel's options (#12689)
  • [expect] Move typings of .not, .rejects and .resolves modifiers outside of Matchers interface (#12346)
  • [expect] Throw useful error if expect.extend is called with invalid matchers (#12488)
  • [expect] Fix iterableEquality ignores other properties (#8359)
  • [expect] Fix print for the closeTo matcher (#12626)
  • [jest-changed-files] Improve changedFilesWithAncestor pattern for Mercurial SCM (#12322)
  • [jest-circus, @jest/types] Disallow undefined value in TestContext type (#12507)
  • [jest-config] Correctly detect CI environment and update snapshots accordingly (#12378)
  • [jest-config] Pass moduleTypes to ts-node to enforce CJS when transpiling (#12397)
  • [jest-config] [BREAKING] Add mjs and cjs to default moduleFileExtensions config (#12578)
  • [jest-config, jest-haste-map] Allow searching for tests in node_modules by exposing retainAllFiles (#11084)
  • [jest-core] [BREAKING] Exit with status 1 if no tests are found with --findRelatedTests flag (#12487)
  • [jest-core] Do not report unref-ed subprocesses as open handles (#12705)
  • [jest-each] %# is not replaced with index of the test case (#12517)
  • [jest-each] Fixes error message with incorrect count of missing arguments (#12464)
  • [jest-environment-jsdom] Make jsdom accessible to extending environments again (#12232)
  • [jest-environment-jsdom] Log JSDOM errors more cleanly (#12386)
  • [jest-environment-node] Add MessageChannel, MessageEvent to globals (#12553)
  • [jest-environment-node] Add structuredClone to globals (#12631)
  • [@jest/expect-utils] [BREAKING] Fix false positives when looking for undefined prop (#8923)
  • [jest-haste-map] Don't use partial results if file crawl errors (#12420)
  • [jest-haste-map] Make watchman existence check lazy+async (#12675)
  • [jest-jasmine2, jest-types] [BREAKING] Move all jasmine specific types from @jest/types to its own package (#12125)
  • [jest-jasmine2] Do not set duration to 0 for skipped tests (#12518)
  • [jest-matcher-utils] Pass maxWidth to pretty-format to avoid printing every element in arrays by default (#12402)
  • [jest-mock] Fix function overloads for spyOn to allow more correct type inference in complex object (#12442)
  • [jest-mock] Handle overridden property (#12674)
  • [@jest/reporters] Notifications generated by the --notify flag are no longer persistent in GNOME Shell. (#11733)
  • [@jest/reporters] Move missing icon file which is needed for NotifyReporter class. (#12593)
  • [@jest/reporters] Update v8-to-istanbul (#12697)
  • [jest-resolver] Call custom resolver with core node.js modules (#12654)
  • [jest-runner] Correctly resolve source-map-support (#12706)
  • [jest-worker] Fix Farm execution results memory leak (#12497)

Chore & Maintenance

  • [*] [BREAKING] Drop support for Node v10 and v15 and target first LTS 16.13.0 (#12220)
  • [*] [BREAKING] Drop support for typescript@3.8, minimum version is now 4.3 (#11142, #12648)
  • [*] Bundle all .d.ts files into a single index.d.ts per module (#12345)
  • [*] Use globalThis instead of global (#12447)
  • [babel-jest] [BREAKING] Only export createTransformer (#12407)
  • [docs] Add note about not mixing done() with Promises (#11077)
  • [docs, examples] Update React examples to match with the new React guidelines for code examples (#12217)
  • [docs] Add clarity for module factory hoisting limitations (#12453)
  • [docs] Add more information about how code transformers work (#12407)
  • [docs] Add upgrading guide (#12633)
  • [expect] [BREAKING] Remove support for importing build/utils (#12323)
  • [expect] [BREAKING] Migrate to ESM (#12344)
  • [expect] [BREAKING] Snapshot matcher types are moved to @jest/expect (#12404)
  • [jest-cli] Update yargs to v17 (#12357)
  • [jest-config] [BREAKING] Remove getTestEnvironment export (#12353)
  • [jest-config] [BREAKING] Rename config option name to id (#11981)
  • [jest-create-cache-key-function] Added file with basic usage instructions (#12492)
  • [@jest/core] Use index.ts instead of jest.ts as main export (#12329)
  • [jest-environment-jsdom] [BREAKING] Migrate to ESM (#12340)
  • [jest-environment-node] [BREAKING] Migrate to ESM (#12340)
  • [jest-haste-map] Remove legacy isRegExpSupported (#12676)
  • [@jest/fake-timers] Update @sinonjs/fake_timers to v9 (#12357)
  • [jest-jasmine2, jest-runtime] [BREAKING] Use Symbol to pass jest.setTimeout value instead of jasmine specific logic (#12124)
  • [jest-phabricator] [BREAKING] Migrate to ESM (#12341)
  • [jest-resolve] [BREAKING] Make requireResolveFunction argument mandatory (#12353)
  • [jest-runner] [BREAKING] Remove some type exports from @jest/test-result (#12353)
  • [jest-runner] [BREAKING] Second argument to constructor (Context) is not optional (#12640)
  • [jest-serializer] [BREAKING] Deprecate package in favour of using v8 APIs directly (#12391)
  • [jest-snapshot] [BREAKING] Migrate to ESM (#12342)
  • [jest-transform] Update write-file-atomic to v4 (#12357)
  • [jest-types] [BREAKING] Remove Config.Glob and Config.Path (#12406)
  • [jest] Use index.ts instead of jest.ts as main export (#12329)


  • [jest-haste-map] [BREAKING] Default to node crawler over shelling out to find if watchman is not enabled (#12320)




DEPRECATED: Use v8 APIs directly:

Module for serializing and deserializing object into memory and disk. The Node core v8 implementations are used. This seriializer have the advantage of being able to serialize Map, Set, undefined, NaN, etc..


$ yarn add jest-serializer


Three kinds of API groups are exposed:

In-memory serialization: serialize and deserialize

This set of functions take or return a Buffer. All the process happens in memory. This is useful when willing to transfer over HTTP, TCP or via UNIX pipes.

import {deserialize, serialize} from 'jest-serializer';

const myObject = {
  foo: 'bar',
  baz: [0, true, '2', [], {}],

const buffer = serialize(myObject);
const myCopyObject = deserialize(buffer);

Synchronous persistent filesystem: readFileSync and writeFileSync

This set of functions allow to send to disk a serialization result and retrieve it back, in a synchronous way. It mimics the fs API so it looks familiar.

import {readFileSync, writeFileSync} from 'jest-serializer';

const myObject = {
  foo: 'bar',
  baz: [0, true, '2', [], {}],

const myFile = '/tmp/obj';

writeFileSync(myFile, myObject);
const myCopyObject = readFileSync(myFile);


Last updated on 25 Apr 2022

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.


Related posts

SocketSocket SOC 2 Logo


  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc