Socket
Socket
Sign inDemoInstall

babel-plugin-jest-hoist

Package Overview
Dependencies
5
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
Weekly downloads
24M
increased by7.56%
Maintainers
7
Install size
2.09 MB
Created
Weekly downloads
 

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

25.2.0

Features

  • [jest-config] Support ESM config files with .js extension (#9573).
  • [jest-runtime] Override module.createRequire to return a Jest-compatible require function (#9469)
  • [jest-haste-map] [BREAKING] Remove mapper option (#9581)
  • [*] Support array of paths for moduleNameMapper aliases (#9465)
  • [jest-reporters] Adds ability to pass options to the istanbul-reporter through coverageReporters (#9572)
  • [jest-runtime] Require stack when a module cannot be resolved (#9681)
  • [jest-transform] writeCacheFile no longer calls fsync (#9695)

Fixes

  • [expect] Handle readonly properties correctly (#9575)
  • [jest-cli] Set coverageProvider correctly when provided in config (#9562)
  • [jest-cli] Allow specifying .cjs and .mjs config files by --config CLI option (#9578)
  • [jest-cli] Update yargs to fix CLI flag overriding (#9519)
  • [jest-config] Treat setupFilesAfterEnv like setupFiles when normalizing configs against presets (#9495)
  • [jest-config] Support .mjs config files on Windows as well (#9558)
  • [jest-config] Verify rootDir and all roots are directories (#9569)
  • [jest-config] Ensure pattern of replacePosixSep is a string (#9546)
  • [jest-haste-map] Fix crash on unix based systems without find (#9579)
  • [jest-jasmine2] Fix --testNamePattern matching with concurrent tests (#9090)
  • [jest-matcher-utils] Fix diff highlight of symbol-keyed object. (#9499)
  • [@jest/reporters] Notifications should be fire&forget rather than having a timeout (#9567)
  • [jest-resolve] Fix module identity preservation with symlinks and browser field resolution (#9511)
  • [jest-resolve] Do not confuse directories with files (#8912)
  • [jest-resolve] moduleNameMapper should take precedence over Node core modules (#9563)
  • [jest-runtime] Reset isolateModules if it fails (#9541)
  • [jest-runtime] Yarn PnP errors displayed to the user (#9681)
  • [jest-snapshot] Downgrade semver to v6 to support node 8 (#9451)
  • [jest-snapshot] Properly indent new snapshots in the presences of existing ones (#9523)
  • [jest-transform] Correct sourcemap behavior for transformed and instrumented code (#9460)
  • [jest-transform] Allow instrumentation of transformed files with weird file extensions (#9589)
  • [@jest/types] Make ConfigGlobals an interface to allow for declaration merging. (#9570)
  • [pretty-format] Export OldPlugin type (#9491)

Chore & Maintenance

  • [docs] Warn about unexpected behavior / bug of node-notifier when using the notify options.
  • [docs] Grammatical corrections to Async docs page. (#9679)
  • [jest-resolver] Use resolve package to implement custom module resolution (#9520)
  • [jest-runtime] Move execution of setupFiles to jest-runner (#9596)
  • [jest-runtime] Update anchor link in helpers (#9616)
  • [@jest/reporters] Remove unused dependencies and type exports (#9462)
  • [website] Update pictures of reports when matchers fail (#9214)

Performance

  • [jest-haste-map] Reduce number of lstat calls in node crawler (#9514)

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 25 Mar 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