New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

jest-webpack

Package Overview
Dependencies
Maintainers
2
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-webpack

Use webpack loader and plugins you want to build modules into individual files and test them with jest.

latest
Source
npmnpm
Version
0.5.1
Version published
Weekly downloads
982
19.9%
Maintainers
2
Weekly downloads
 
Created
Source

jest-webpack

Build Status Build status

A helper tool and webpack plugin to integrate jest and webpack.

Add it to your project as a developer dependency. And run it like webpack or webpack-dev-server from the command line or as a package.json script.

Install

npm install --save-dev jest-webpack

or with yarn

yarn add -D jest-webpack

Update package.json

Add it as a package.json script

{
  "name": "my-package",
  "scripts": {
    "test": "jest-webpack"

Run it

npm test

Run it with jest options

npm test -- --testPathPattern test-just-this-file

Status

jest-webpack currently works with a lot of jest options out of the bag since there is no special handling needed and they can just be passed to jest by the tool. You can see what is so far specifically tested so far in https://github.com/mzgoddard/jest-webpack/issues/3.

How it works?

jest-webpack uses a webpack plugin to add related plugins that are responsible for 4 operations.

  • The TestEntriesPlugin finds test files that jest will operate on and creates entry chunks for them.
  • The EntryReferencePlugin creates additional entries for any other files that are depended on by those test files. These entries return objects pointing to the various transformations of that file. If a css file is depended on by both css-loader and css-loader/locals for example, both of the outputs of those loaders will be in the same file. Files then depending on those outputs reference the entry chunk and use the exported member for their needed version of the original file.
  • The EmitChangedAssetsPlugin removes entry chunks that already exist in the destination folder. It also includes package.json for the tested project.
  • The RunJestWhenDonePlugin runs jest when webpack is done. It runs jest from the destination folder so jest uses the webpack transformed files. This lets jest determine what files changed and which runs to test again instead of testing all the files again.

This way of integrating jest and webpack is fairly transparent, requiring little modification to a webpack project. Used along with source-map-support, you can also get source maps.

Special Thanks

Thanks to Colch for letting me take over development of a jest-webpack integration as the jest-webpack npm package.

Keywords

jest

FAQs

Package last updated on 27 Jul 2018

Did you know?

Socket

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