jest-runner-prettier
raw JSON → 1.0.0 verified Sat Apr 25 auth: no javascript
A Jest runner that formats files using Prettier. Current stable version is 1.0.0, released February 2022. It integrates Prettier into Jest as a custom runner, allowing you to check formatting as part of your test suite. Requires Jest >= 27.0.0 and Prettier >= 1.8. Ships TypeScript definitions. Key differentiator: provides a built-in Jest preset for easy configuration, supports all file types Prettier handles, and produces diff output on formatting failures. Suitable for CI pipelines to enforce consistent code style.
Common errors
error Cannot find module 'jest-runner-prettier' ↓
cause The package is not installed or not in node_modules.
fix
Run npm install --save-dev jest prettier jest-runner-prettier
error Cannot use import statement outside a module ↓
cause The package is ESM-only from v1.0.0, but project is configured as CommonJS.
fix
Set type: 'module' in package.json or use a CommonJS-compatible version (<1.0.0).
error Configuration error: Unknown runner "prettier" ↓
cause Jest cannot find the runner because the package is not installed or configured incorrectly.
fix
Ensure jest-runner-prettier is installed and listed in devDependencies.
Warnings
breaking v1.0.0 requires Jest >= 27 and Node >= 12. Also targets ES modules, breaking CJS usage. ↓
fix Upgrade Jest to at least 27, Node to >=12, and ensure your project supports ESM or use a bundler.
deprecated Version 0.3.x uses jest-diff v24, which may cause compatibility issues with Jest 27. ↓
fix Upgrade to v1.0.0 or later.
gotcha The package name in Jest runner config is 'prettier' not 'jest-runner-prettier'. ↓
fix Use runner: 'prettier' in Jest config.
Install
npm install jest-runner-prettier yarn add jest-runner-prettier pnpm add jest-runner-prettier Imports
- jest-runner-prettier wrong
const runner = require('jest-runner-prettier')correctimport 'jest-runner-prettier' - preset wrong
module.exports = { preset: 'jest-runner-prettier/preset' }correctmodule.exports = { preset: 'jest-runner-prettier' } - runner wrong
module.exports = { runner: 'jest-runner-prettier' }correctmodule.exports = { runner: 'prettier' }
Quickstart
npm install --save-dev jest prettier jest-runner-prettier
# jest.config.js
module.exports = {
preset: 'jest-runner-prettier',
};
# or manually:
// module.exports = {
// runner: 'prettier',
// moduleFileExtensions: ['js', 'ts', 'json', 'md'],
// testMatch: ['**/*.js', '**/*.ts', '**/*.json', '**/*.md'],
// };
# Run Jest
npx jest