Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

mathematic-inc/eslint-plugin-padding

Open more actions menu

Repository files navigation

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

About

An ESLint plugin regarding any and all spacing between statements.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.