Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mathematic-inc/eslint-plugin-padding
An ESLint plugin regarding any and all spacing between statements.
https://github.com/mathematic-inc/eslint-plugin-padding
eslint eslint-plugin padding spacing
Last synced: 27 days ago
JSON representation
An ESLint plugin regarding any and all spacing between statements.
- Host: GitHub
- URL: https://github.com/mathematic-inc/eslint-plugin-padding
- Owner: mathematic-inc
- License: gpl-3.0
- Created: 2020-12-14T10:29:03.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2020-12-23T16:30:42.000Z (about 4 years ago)
- Last Synced: 2024-05-19T05:05:01.779Z (7 months ago)
- Topics: eslint, eslint-plugin, padding, spacing
- Language: TypeScript
- Homepage:
- Size: 262 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-eslint - padding - Allows/disallows padding between statements. (Plugins / Style)
README
# `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`](https://eslint.org/docs/rules/padding-line-between-statements)
rule and can also be used to replace
[eslint/lines-between-class-members](https://eslint.org/docs/rules/lines-between-class-members).### Syntax
```json
{
"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```json
{
"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`](https://astexplorer.net) 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](https://eslint.org/docs/rules/padding-line-between-statements#require-or-disallow-padding-lines-between-statements-padding-line-between-statements)