Socket
Socket
Sign inDemoInstall

babel-plugin-jest-hoist

Package Overview
Dependencies
18
Maintainers
7
Versions
188
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    babel-plugin-jest-hoist

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](https://github.com/facebook/jest/tree/master/packages/babel-jes


Version published
Maintainers
7
Install size
3.61 MB
Created

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

Changelog

Source

26.0.0

Features

  • [jest-environment-jsdom] [BREAKING] Upgrade jsdom to v16 (#9606)
  • [@jest/fake-timers] Add possibility to use a modern implementation of fake timers, backed by @sinonjs/fake-timers (#7776)
  • [jest-runtime] Add createMockFromModule as an alias for genMockFromModule (#9962)

Fixes

  • [babel-jest] Handle null being passed to createTransformer (#9955)
  • [jest-circus, jest-console, jest-jasmine2, jest-reporters, jest-util, pretty-format] Fix time durating formatting and consolidate time formatting code (#9765)
  • [jest-circus] [BREAKING] Fail tests if a test takes a done callback and have return values (#9129)
  • [jest-circus] [BREAKING] Throw a proper error if a test / hook is defined asynchronously (#8096)
  • [jest-circus] Throw more descriptive error if hook is defined inside test (#9957)
  • [jest-circus] [BREAKING] Align execution order of tests to match jasmine's top to bottom order (#9965)
  • [jest-config, jest-resolve] [BREAKING] Remove support for browser field (#9943)
  • [jest-haste-map] Stop reporting files as changed when they are only accessed (#7347)
  • [jest-resolve] Show relative path from root dir for module not found errors (#9963)
  • [jest-runtime] Fix absolute path moduleNameMapper + jest.mock bug (#8727)

Chore & Maintenance

  • [*] [BREAKING] TypeScript definitions requires a minimum of TypeScript v3.8 (#9823)
  • [*] [BREAKING] Drop support for Node 8 (#9423)
  • [*] Upgrade to chalk@4 (#9752)
  • [*] Remove usage of realpath-native (#9952)
  • [docs] Fix example reference implementation to use Jest with Phabricator (#8662)
  • [docs] Added default compiler to transform (#8583)
  • [docs] Updated Testing Frameworks guide with React; make it generic (#9106)
  • [expect, jest-mock, pretty-format] [BREAKING] Remove build-es5 from package (#9945)
  • [@jest/fake-timers, @jest/environment] [BREAKING] Rename LolexFakeTimers to ModernFakeTimers (#9960)
  • [jest-haste-map] [BREAKING] removed providesModuleNodeModules (#8535)
  • [jest-runtime] [BREAKING] Remove long-deprecated require.requireActual and require.requireMock methods (#9854)

Readme

Source

babel-plugin-jest-hoist

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.

Installation

$ yarn add --dev babel-plugin-jest-hoist

Usage

module.exports = {
  plugins: ['jest-hoist'],
};

Via CLI

$ babel --plugins jest-hoist script.js

Via Node API

require('@babel/core').transform('code', {
  plugins: ['jest-hoist'],
});

FAQs

Last updated on 04 May 2020

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • 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