
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
jest-runner-eslint
Advanced tools
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
In 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 jest
--fix in watch modejest-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:
jest-runner-eslint property in your package.jsonjest-runner-eslint.config.js JS file.jest-runner-eslintrc JSON fileIn 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"] |
FAQs
An ESLint runner for Jest
We found that jest-runner-eslint demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
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.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.