Socket
Socket
Sign inDemoInstall

babel-plugin-jest-hoist

Package Overview
Dependencies
21
Maintainers
6
Versions
189
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/main/packages/babel-jest)


Version published
Weekly downloads
24M
decreased by-2.78%
Maintainers
6
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

29.0.0

Features

  • [expect] [BREAKING] Differentiate between MatcherContext MatcherUtils and MatcherState types (#13141)
  • [jest-circus] Add support for test.failing.each (#13142)
  • [jest-config] [BREAKING] Make snapshotFormat default to escapeString: false and printBasicPrototype: false (#13036)
  • [jest-config] [BREAKING] Remove undocumented collectCoverageOnlyFrom option (#13156)
  • [jest-environment-jsdom] [BREAKING] Upgrade to jsdom@20 (#13037, #13058)
  • [@jest/globals] Add jest.Mocked, jest.MockedClass, jest.MockedFunction and jest.MockedObject utility types (#12727)
  • [jest-mock] [BREAKING] Refactor Mocked* utility types. MaybeMockedDeep and MaybeMocked became Mocked and MockedShallow respectively; only deep mocked variants of MockedClass, MockedFunction and MockedObject are exported (#13123, #13124)
  • [jest-mock] [BREAKING] Change the default jest.mocked helper’s behavior to deep mocked (#13125)
  • [jest-snapshot] [BREAKING] Let babel find config when updating inline snapshots (#13150)
  • [@jest/test-result, @jest/types] [BREAKING] Replace Bytes and Milliseconds types with number (#13155)
  • [jest-worker] Adds workerIdleMemoryLimit option which is used as a check for worker memory leaks >= Node 16.11.0 and recycles child workers as required (#13056, #13105, #13106, #13107)
  • [pretty-format] [BREAKING] Remove ConvertAnsi plugin in favour of jest-serializer-ansi-escapes (#13040)
  • [pretty-format] Allow to opt out from sorting object keys with compareKeys: null (#12443)

Fixes

  • [jest-config] Fix testing multiple projects with TypeScript config files (#13099)
  • [@jest/expect-utils] Fix deep equality of ImmutableJS Record (#13055)
  • [jest-haste-map] Increase the maximum possible file size that jest-haste-map can handle (#13094)
  • [jest-runtime] Properly support CJS re-exports from dual packages (#13170)
  • [jest-snapshot] Make prettierPath optional in SnapshotState (#13149)
  • [jest-snapshot] Fix parsing error from inline snapshot files with JSX (#12760)
  • [jest-worker] When a process runs out of memory worker exits correctly and doesn't spin indefinitely (#13054)

Chore & Maintenance

  • [*] [BREAKING] Drop support for Node v12 and v17 (#13033)
  • [docs] Fix webpack name (#13049)
  • [docs] Explicit how to set n for --bail (#13128)
  • [docs] Update Enzyme URL (#13166)
  • [jest-leak-detector] Remove support for weak-napi (#13035)
  • [jest-snapshot] [BREAKING] Require rootDir as argument to SnapshotState (#13150)

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 Aug 2022

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