/jest-runner-eslint

An experimental ESLint runner for Jest

Primary LanguageJavaScript

jest-runner-eslint

Build Status npm version

An experimental ESLint runner for Jest

runner-eslint

Usage

Install

Install jest(it needs Jest 21+) and jest-runner-eslint

yarn add --dev jest jest-runner-eslint

# or with NPM

npm install --save-dev jest jest-runner-eslint

Add it to your Jest config

In your package.json

{
  "jest": {
    "runner": "jest-runner-eslint"
  }
}

Or in jest.config.js

module.exports = {
  runner: 'jest-runner-eslint',
}

Run Jest

yarn jest

Options

This project uses cosmiconfig, so you can provide config via:

  • a jest-runner-eslint property in your package.json
  • a jest-runner-eslint.config.js JS file
  • a .jest-runner-eslintrc JSON file

In package.json

{
  "jest-runner-eslint": {
    "cliOptions": {
      // Options here
    }
  }
}

or in jest-runner-eslint.config.js

module.exports = {
  cliOptions: {
    // Options here
  }
}

cliOptions

jest-runner-eslint maps a lot of ESLint CLI arguments to config options. For example --fix is cliOptions.fix

option default example
cacheLocation .eslintcache "cacheLocation": "/path/to/cache"
config null "config": "/path/to/config"
env null "env": "mocha" or "env": ["mocha", "other"]
ext [".js"] "ext": ".jsx" or "ext": [".jsx", ".ts"]
fix false "fix": true
global [] "global": "it" or "global": ["it", "describe"]
ignorePath null "ignorePath": "/path/to/ignore"
noEslintrc false "noEslintrc": true
noIgnore false "noIgnore": true
noInlineConfig false "noInlineConfig": true
parser espree "parser": "flow"
parserOptions {} "parserOptions": { "myOption": true }
plugin [] "plugin": "prettier" or "plugin": ["pettier", "other"]
rule null "rule": "'quotes: [2, double]'" or "rule": ["quotes: [2, double]", "no-console: 2"]
rulesdir [] "rulesdir": "/path/to/rules/dir" or "env": ["/path/to/rules/dir", "/path/to/other"]