Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies



Babel plugin to hoist `jest.disableAutomock`, `jest.enableAutomock`, `jest.unmock`, `jest.mock` calls above `import` statements. This plugin is automatically included when using [babel-jest](

Version published
Install size
12.4 kB

Package description

What is babel-plugin-jest-hoist?

The babel-plugin-jest-hoist npm package is designed to work with Jest, a popular JavaScript testing framework. It allows Jest to hoist `jest.mock`, `jest.unmock`, `jest.enableAutomock`, `jest.disableAutomock`, `jest.useFakeTimers`, `jest.useRealTimers`, `jest.setMock`, and `jest.clearAllMocks` calls to the top of the file. This is necessary because Jest needs to isolate modules for mocking before they are used in tests, and doing so manually can be error-prone and tedious.

What are babel-plugin-jest-hoist's main functionalities?

Hoisting jest.mock calls

Automatically hoists `jest.mock` calls to the top of the file, ensuring that modules are mocked before any other code execution.

"use strict";\njest.mock('moduleName');\nconsole.log('This is a test.');"

Hoisting jest.useFakeTimers calls

Automatically hoists `jest.useFakeTimers` calls to the top, allowing tests to use fake timers from the start.

"use strict";\njest.useFakeTimers();\nconsole.log('This is a test with fake timers.');"

Other packages similar to babel-plugin-jest-hoist



jest-cli 11.0.0, babel-jest 11.0.0 (pre-releases 0.9 to 0.10)

  • New implementation of node-haste and rewrite of internal module loading and resolution. Fixed both startup and runtime performance. #599
  • Jasmine 2 is now the default test runner. To keep using Jasmine 1, put testRunner: "jasmine1" into your configuration.
  • Added jest-util, jest-mock, jest-jasmine1, jest-jasmine2, jest-environment-node, jest-environment-jsdom packages.
  • Added babel-jest-preset and babel-jest as packages. babel-jest is now being auto-detected.
  • Added babel-plugin-jest-hoist which hoists jest.unmock, jest.mock and the new jest.enableAutomock and jest.disableAutomock API.
  • Improved babel-jest integration and react-native testing.
  • Improved code coverage reporting when using babel-jest.
  • Added the jest.mock('moduleName', moduleFactory) feature. jest.mock now gets hoisted by default. jest.doMock was added to explicitly mock a module without the hoisting feature of babel-jest.
  • Updated jsdom to 8.3.x.
  • Improved responsiveness of the system while using --watch.
  • Clear the terminal window when using --watch.
  • By default, --watch will now only runs tests related to changed files. --watch=all can be used to run all tests on file system changes.
  • Debounce --watch re-runs to not trigger test runs during a branch switch in version control.
  • Added jest.fn() and jest.fn(implementation) as convenient shortcuts for jest.genMockFunction() and jest.genMockFunction().mockImplementation().
  • Added an automock option to turn off automocking globally.
  • Added a "no tests found" message if no tests can be found.
  • Jest sets process.NODE_ENV to test unless otherwise specified.
  • Fixed moduleNameMapper config option when used with paths.
  • Fixed an error with Jasmine 2 and tests that throw 'string errors'.
  • Fixed issues with unmocking symlinked module names.
  • Fixed mocking of boolean values.
  • Fixed mocking of fields that start with an underscore ("private fields").
  • Fixed unmocking behavior with npm3.
  • Fixed and improved --onlyChanged option.
  • Fixed support for running Jest as a git submodule.
  • Improved verbose logger output
  • Fixed test runtime error reporting and stack traces.
  • Improved toBeCalled Jasmine 2 custom matcher messages.
  • Improved error reporting when a syntax error occurs.
  • Renamed HasteModuleLoader to Runtime.
  • Jest now properly reports pending tests disabled with xit and xdescribe.
  • Removed preprocessCachingDisabled config option.
  • Added a testEnvironment option to customize the sandbox environment.
  • Added support for @scoped/name npm packages.
  • Added an integration test runner for Jest that runs all tests for examples and packages.




Babel plugin to hoist jest.disableAutomock, jest.enableAutomock, jest.unmock, jest.mock calls above import statements. This plugin is automatically included when using babel-jest.


$ npm install babel-plugin-jest-hoist



  "plugins": ["jest-hoist"]


$ babel --plugins jest-hoist script.js

Via Node API

require("babel-core").transform("code", {
  plugins: ["jest-hoist"]


Last updated on 12 Apr 2016

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your 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