eslint-plugin-putout

26.1.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

Plugin

To use putout as ESLint plugin you can use in eslint.config.js

import putout from 'eslint-plugin-putout';

export default [
    rules: {
        'putout/putout': 'error',
    },
    plugins: {
        putout,
    },
];

Preset

Also you can import one of predefined preset:

  • βœ… recommended - all rules enabled;
  • βœ… safe - dangerous rules disabled;
  • βœ… safeAlign - dangerous rules disabled + add whitespaces on empty lines;

Here is how it can look like:

import {recommended} from 'eslint-plugin-putout';

export default recommended;

Or with defineConfig:

import {defineConfig} from 'eslint/config';
import putout from 'eslint-plugin-putout';

export default defineConfig({
    plugins: {
        putout,
    },
    extends: [
        "putout/recommended",
    ]
});

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:

import {safe} from 'eslint-plugin-putout';

export default safe;

Disabled ESLint rules:

Disabled 🐊Putout rules:

safeAlign

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

jsx

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

import {jsx} from 'eslint-plugin-putout;

export default jsx;

License

MIT

Package Sidebar

Install

npm i eslint-plugin-putout

Weekly Downloads

7,856

Version

26.1.0

License

MIT

Unpacked Size

69.5 kB

Total Files

45

Last publish

Collaborators

  • coderaiser