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-eslintIn your package.json
{
  "jest": {
    "runner": "jest-runner-eslint",
    "displayName": "lint",
    "testMatch": ["<rootDir>/src/**/*.js"]
  }
}Or in jest.config.js
module.exports = {
  runner: 'jest-runner-eslint',
  displayName: 'lint',
  testMatch: ['<rootDir>/src/**/*.js'],
};Please update testMatch to match your project folder structure
It is recommended to use the projects configuration option to run multiple Jest runners simultaneously.
If you are using Jest <22.0.5, you can use multiple Jest configuration files and supply the paths to those files in the projects option. For example:
// jest-test.config.js
module.exports = {
  // your Jest test options
  displayName: 'test',
};
// jest-eslint.config.js
module.exports = {
  // your jest-runner-eslint options
  runner: 'jest-runner-eslint',
  displayName: 'lint',
  testMatch: ['<rootDir>/src/**/*.js'],
};In your package.json:
{
  "jest": {
    "projects": [
      "<rootDir>/jest-test.config.js",
      "<rootDir>/jest-eslint.config.js"
    ]
  }
}Or in jest.config.js:
module.exports = {
  projects: [
    '<rootDir>/jest-test.config.js',
    '<rootDir>/jest-eslint.config.js',
  ],
};If you are using Jest >=22.0.5, you can supply an array of project configuration objects instead. In your package.json:
{
  "jest": {
    "projects": [
      {
        "displayName": "test"
      },
      {
        "runner": "jest-runner-eslint",
        "displayName": "lint",
        "testMatch": ["<rootDir>/src/**/*.js"]
      }
    ]
  }
}Or in jest.config.js:
module.exports = {
  projects: [
    {
      displayName: 'test',
    },
    {
      runner: 'jest-runner-eslint',
      displayName: 'lint',
      testMatch: ['<rootDir>/src/**/*.js'],
    },
  ],
};yarn jestjest-runner-eslint comes with a watch plugin that allows you to toggle the --fix value while in watch mode without having to update your configuration.
To use this watch plugin simply add this to your Jest configuration.
{
  watchPlugins: ['jest-runner-eslint/watch-fix'],
}After this run Jest in watch mode and you will see the following line in your watch usage menu
 › Press F to override ESLint --fix.
This project uses cosmiconfig, so you can provide config via:
- a 
jest-runner-eslintproperty in yourpackage.json - a 
jest-runner-eslint.config.jsJS file - a 
.jest-runner-eslintrcJSON file 
In package.json
{
  "jest-runner-eslint": {
    "cliOptions": {
      // Options here
    }
  }
}or in jest-runner-eslint.config.js
module.exports = {
  cliOptions: {
    // Options here
  },
};jest-runner-eslint maps a lot of ESLint CLI arguments to config options. For example --fix is cliOptions.fix
| option | default | example | 
|---|---|---|
| cache | false | 
"cache": true | 
| 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 | 
| fixDryRun | false | 
"fixDryRun": true | 
| format | null | 
"format": "codeframe" | 
| global | [] | 
"global": "it" or "global": ["it", "describe"] | 
| ignorePath | null | 
"ignorePath": "/path/to/ignore" | 
| ignorePattern | [] | 
"ignorePattern": ["/path/to/ignore/*"] | 
| maxWarnings | -1 | 
"maxWarnings": 0 | 
| 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": ["prettier", "other"] | 
| quiet | false | 
"quiet": true | 
| resolvePluginsRelativeTo | undefined | 
"resolvePluginsRelativeTo": "./eslint-config" | 
| reportUnusedDisableDirectives | false | 
"reportUnusedDisableDirectives": true | 
| rules | {} | 
"rules": {"quotes": [2, "double"]} or "rules": {"quotes": [2, "double"], "no-console": 2} | 
| rulesdir | [] | 
"rulesdir": "/path/to/rules/dir" or "rulesdir": ["/path/to/rules/dir", "/path/to/other"] | 
  
