jest-watch-exec

Execute script when test passes in watch mode

Usage no npm install needed!

<script type="module">
  import jestWatchExec from 'https://cdn.skypack.dev/jest-watch-exec';
</script>

README

jest-watch-exec

NPM version NPM downloads

Circle CI Travis CI Codecov Coveralls Status

Greenkeeper Semantic Release

Visual Studio Code Wallaby.js

Execute commands on start or when the all tests pass.

Requires jest@23+.

Usage

To use jest-watch-exec, add it to the watchPlugins section of the Jest configuration:

{
  "jest": {
    "watchPlugins": [
      ["jest-watch-exec", { "on-start": "npm run build" }],
      // Will run test even if the script throws an error.
      ["jest-watch-exec", { "on-start": "npm run build", "on-start-ignore-error": true }],
      ["jest-watch-exec", { "on-start-script": "somescript.js" }],
      // Will run test even if the script throws an error.
      ["jest-watch-exec", { "on-start-script": "somescript.js", "on-start-ignore-error": true }],
      // Will run the `run(): boolean | Promise<boolean>` method exposed by the module
      ["jest-watch-exec", { "on-start-module": "modulescript.js" }],
      // Will run test even if the script returns:
      // - a falsy value,
      // a promise resolves to false,
      // or a rejected promise.
      ["jest-watch-exec", { "on-start-module": "modulescript.js", "on-start-ignore-error": true }],
      // execute script when there are passing tests.
      // will not execute if the tests are filtered.
      ["jest-watch-exec", { "on-pass": "npm run build" }],
      // 'exec-while-filtered' applies to 'on-pass'
      ["jest-watch-exec", { "on-pass": "npm run build", "exec-while-filtered": true }]
    ]
  }
}

Contribute

# after fork and clone
npm install

# begin making changes
git checkout -b <branch>
npm run watch

# after making change(s)
git commit -m "<commit message>"
git push

# create PR