0.0.4 • Published 3 years ago

eslint-plugin-padding v0.0.4

Weekly downloads
25
License
GPL-3.0-or-later
Repository
github
Last release
3 years ago

eslint-plugin-padding

This rule allows/disallows spacing between two given statements. Spacing generally helps readability. This rule is a generalized version of the eslint/padding-line-between-statements rule and can also be used to replace eslint/lines-between-class-members.

Syntax

{
    "padding/spacing": [
        "error",
        { "blankLine": LINEBREAK_TYPE, "prev": STATEMENT_TYPE, "next": STATEMENT_TYPE },
        { "blankLine": LINEBREAK_TYPE, "prev": STATEMENT_TYPE, "next": STATEMENT_TYPE },
        { "blankLine": LINEBREAK_TYPE, "prev": STATEMENT_TYPE, "next": STATEMENT_TYPE },
        { "blankLine": LINEBREAK_TYPE, "prev": STATEMENT_TYPE, "next": STATEMENT_TYPE },
        ...
    ]
}
  • LINEBREAK_TYPE is one of the following.

    • "any" just ignores the statement pair.
    • "never" disallows blank lines.
    • "always" requires one or more blank lines. Note it does not count lines that comments exist as blank lines. te it does not count lines that comments exist as blank lines.
  • STATEMENT_TYPE is one (or an array) of the following:

    1. A space-delimited list of keyword (e.g. "const", "export const", or "class")
    2. One of the following:

      • "*" is wildcard. This matches any statements.
      • "block-like" - block like statements. This matches statements that the last token is the closing brace of blocks; e.g. { }, if (a) { }, and while (a) { }. Also matches immediately invoked function expression statements.
      • "exports" - export statements of CommonJS; e.g. module.exports = 0, module.exports.foo = 1, and exports.foo = 2.
      • "require" - require statements of CommonJS; e.g. const foo = require("foo").
      • "directive" - directive prologues. This matches directives; e.g. "use strict".
      • "iife" - immediately invoked function expression statements. This matches calls on a function expression, optionally prefixed with a unary operator.
    • An object of the form

      {
        "type": NODE_TYPE | undefined,
        "keyword": KEYWORD | undefined,
        "inline": boolean | undefined
        "comment": boolean | 'line' | 'block' | undefined
      }

      where

      • NODE_TYPE is the name of an ESTree node type, e.g. "FunctionDeclaration". You can use an AST explorer to get the name of a particular node.
      • KEYWORD is one (or an array) of either (i) or (ii).
      • "inline" is a flag that denotes the node must span multiple lines (false) or a single line (true)
      • "comment" specifies the particular node has a comment before it. String options declare a specific type.

When Not To Use It

If you don't want to notify warnings about linebreaks, then it's safe to disable this rule.

Taken with ❤️ from ESLint core