Registry / devops / eslint-plugin-putout

eslint-plugin-putout

JSON →
library31.1.2jsnpmunverified

ESLint plugin for 🐊Putout, a code transformation tool. Current stable version is 31.1.2, released as part of the putout monorepo. The plugin provides ESLint rules that mirror Putout's linting capabilities, including formatting rules like array-element-newline, single-property-destructuring, and tape-specific rules for test files. It requires eslint >=10 and putout >=42. Key differentiator is seamless integration of Putout's code transformations into ESLint workflows, allowing users to leverage both tools in a unified configuration. Release cadence is high (multiple versions per week).

npm install eslint-plugin-putout
INSTALL
IMPORT
SIG · ESLINT-PLUGIN-PUTO
E
eslint-plugin-putout
devopsjavascriptv31.1.2
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

default
import putout from 'eslint-plugin-putout'
Plugin object used in eslint.config.js under plugins field
recommended
import { recommended } from 'eslint-plugin-putout'
Recommended preset (flat config) - ESM-only
safe
import { safe } from 'eslint-plugin-putout'
const { safe } = require('eslint-plugin-putout')
Safe preset - ESM-only; require not supported

Demonstrates importing plugin and presets, configuring putout rule with options, and enabling formatting rules in flat config.

// eslint.config.js import putout from 'eslint-plugin-putout'; import { recommended } from 'eslint-plugin-putout'; import process from 'process'; export default [ ...recommended, { plugins: { putout }, rules: { 'putout/putout': ['error', { fix: true, ignores: ['*.d.ts'], regex: /\.(js|mjs)$/ }], 'putout/array-element-newline': 'error', 'putout/tape-add-newline-between-tests': 'error' } } ];
Debug
Known issues
breakingRequires eslint >=10 and putout >=42. Older versions incompatible.
fix
Update dependencies: npm i eslint@^10 putout@^42 eslint-plugin-putout@^31 -D
affects: <31.0.0
breakingESM-only package. require() will fail with ERR_REQUIRE_ESM.
fix
Use import syntax only; if using CommonJS, consider dynamic import.
affects: >=31.0.0
deprecatedConfig presets like recommended and safe are now flat config only; old .eslintrc style presets removed.
fix
Use flat config format (eslint.config.js) with import.
affects: >=31.0.0
gotchaThe 'putout' rule internally uses Putout's engine; may conflict with other ESLint formatting rules.
fix
Disable conflicting rules (e.g., 'indent', 'max-len') if using putout/putout with fix:true.
affects: *
gotchaPlugin must be imported as default export, not named exports like { rules }.
fix
Use 'import putout from "eslint-plugin-putout"' not 'import { putout } from "eslint-plugin-putout"'.
affects: *
Errors
Common errors & fixes
Cannot find module 'eslint-plugin-putout'
Package not installed or wrong import path.
fix
npm i eslint-plugin-putout -D (ensure it's in package.json)
ESLint: Failed to load plugin 'putout': Cannot find module 'putout'
putout peer dependency missing.
fix
npm i putout -D
TypeError: (0 , eslint_plugin_putout__WEBPACK_IMPORTED_MODULE_0__.default) is not a function
Using named import instead of default import for the plugin object.
fix
Use "import putout from 'eslint-plugin-putout'" instead of "import { putout } from 'eslint-plugin-putout'".
Error: Plugin 'putout' requires eslint >=10
Outdated eslint version.
fix
Update eslint to >=10: npm i eslint@^10 -D
Upgrade
Version history
31.1.2latest on npm
Audit
Dependencies
eslintrequiredpeer dependency required for ESLint plugin functionality
putoutrequiredpeer dependency required for Putout core functionality
Agent activity
2 hits · last 30 days
node
2
Resources
eslint-plugin-putout — npm install eslint-plugin-putout · libregistry