eslint-plugin-putout

23.3.0Β β€’Β PublicΒ β€’Β Published

eslint-plugin-putout NPM version Coverage Status

ESLint plugin for 🐊Putout with built-in rules from @putout/eslint-config.

Installation

npm i putout eslint eslint-plugin-putout -D

☝️If you installed eslint globally (using the -g flag) then you must also install putout and eslint-plugin-putout globally.

Usage

Add putout to the plugins section of your .eslintrc.json configuration file. You can omit the eslint-plugin- prefix:

{
    "extends": ["plugin:putout/recommended"],
    "plugins": ["putout"]
}

Then configure the rules you want to use under the rules section.

{
    "rules": {
        "putout/add-newlines-between-types-in-union": "error",
        "putout/add-newlines-between-specifiers": "error",
        "putout/add-newline-before-return": "error",
        "putout/add-newline-before-function-call": "error",
        "putout/add-newline-after-function-call": "error",
        "putout/putout": "error",
        "putout/array-element-newline": "error",
        "putout/single-property-destructuring": "error",
        "putout/multiple-properties-destructuring": "error",
        "putout/long-properties-destructuring": "error",
        "putout/destructuring-as-function-argument": "error",
        "putout/align-spaces": "error",
        "putout/keyword-spacing": "error",
        "putout/newline-function-call-arguments": "error",
        "putout/function-declaration-paren-newline": "error",
        "putout/remove-newline-after-default-import": "error",
        "putout/remove-newline-between-declarations": "error",
        "putout/remove-newline-from-empty-object": "error",
        "putout/remove-empty-newline-before-first-specifier": "error",
        "putout/remove-empty-newline-after-last-specifier": "error",
        "putout/remove-empty-newline-after-last-element": "error",
        "putout/remove-empty-newline-after-import": "error",
        "putout/remove-empty-specifiers": "error",
        "putout/objects-braces-inside-array": "error",
        "putout/object-property-newline": "error",
        "putout/tape-add-newline-between-tests": "error",
        "putout/tape-add-newline-before-assertion": "error",
        "putout/tape-remove-newline-before-t-end": "error"
    }
}

Rules

🐊 Putout

πŸ“Ό Supertape

TypeScript

ESM

Formatting

Safe mode

When using 🐊Putout in IDE with --fix on save, or when you want to disable the most dangerous rules, use:

{
    "extends": ["plugin:putout/safe"],
    "plugins": ["putout"]
}

Disabled ESLint rules:

Disabled 🐊Putout rules:

safe+align

When you want to enable ability to align spaces on empty lines, while have all benefits of safe preset: use safe+align.

jsx

When you need to support jsx in files using js extension, use:

{
    "extends": [
        "plugin:putout/jsx"
    ],
    "plugins": [
        "putout"
    ]
}

esm

If you want to use ESM plugins of 🐊Putout you need to use esm preset:

{
    "extends": [
        "plugin:putout/esm"
    ],
    "plugins": [
        "putout"
    ]
}

Flat

The time is came for a FlatConfig. To use it with eslint-plugin-putout add to eslint.config.js:

const {recommended} = require('eslint-plugin-putout/config');

module.exports = [
    ...recommended,
    {},
];

safe and safeAlign supported as well.

License

MIT

Package Sidebar

Install

npm i eslint-plugin-putout

Weekly Downloads

8,506

Version

23.3.0

License

MIT

Unpacked Size

71.5 kB

Total Files

49

Last publish

Collaborators

  • coderaiser