eslint-plugin-putout 13.11.0 → 13.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -56,41 +56,55 @@ Then configure the rules you want to use under the rules section.
56
56
  "putout/remove-empty-newline-after-import": "error",
57
57
  "putout/remove-empty-specifiers": "error",
58
58
  "putout/objects-braces-inside-array": "error",
59
- "putout/object-init": "error"
59
+ "putout/object-init": "error",
60
+ "putout/tape-add-newline-between-tests": "error",
61
+ "putout/tape-add-newline-before-assertion": "error",
62
+ "putout/tape-remove-newline-before-t-end": "error"
60
63
  }
61
64
  }
62
65
  ```
63
66
 
64
67
  ## Rules
65
68
 
66
- - [Add newlines between types in union](/packages/eslint-plugin-putout/lib/add-newlines-between-types-in-union#readme)
67
- - [Add newline before function call](/packages/eslint-plugin-putout/lib/add-newline-before-function-call#readme)
68
- - [Add newline after function call](/packages/eslint-plugin-putout/lib/add-newline-after-function-call#readme)
69
- - [Align spaces](/packages/eslint-plugin-putout/lib/align-spaces#readme)
70
- - [Array element newline](/packages/eslint-plugin-putout/lib/array-element-newline#readme)
71
- - [Evaluate](/packages/eslint-plugin-putout/lib/evaluate#readme)
72
- - [Putout](lib/putout#readme)
73
- - [Single property destructuring](/packages/eslint-plugin-putout/lib/single-property-destructuring#readme)
74
- - [Multiple properties destructuring](/packages/eslint-plugin-putout/lib/multiple-properties-destructuring#readme)
75
- - [For-of multiple properties destructuring](/packages/eslint-plugin-putout/lib/for-of-multiple-properties-destructuring#readme)
76
- - [Long properties destructuring](/packages/eslint-plugin-putout/lib/long-properties-destructuring#readme)
77
- - [Destructuring as function argument](/packages/eslint-plugin-putout/lib/destructuring-as-function-argument#readme)
78
- - [Keyword spacing](/packages/eslint-plugin-putout/lib/keyword-spacing#readme)
79
- - [Newline function call arguments](/packages/eslint-plugin-putout/lib/newline-function-call-arguments#readme)
80
- - [Function declaration paren newline](/packages/eslint-plugin-putout/lib/function-declaration-paren-newline#readme)
81
- - [Remove newline after default import](/packages/eslint-plugin-putout/lib/remove-newline-after-default-import#readme)
82
- - [Remove newline from empty object](/packages/eslint-plugin-putout/lib/remove-newline-from-empty-object#readme)
83
- - [Remove empty newline before first specifier](/packages/eslint-plugin-putout/lib/remove-empty-newline-before-first-specifier#readme)
84
- - [Remove empty newline after last specifier](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-last-specifier#readme)
85
- - [Remove empty newline after last element](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-last-element#readme)
86
- - [Remove empty newline after import](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-import#readme)
87
- - [Remove empty specifiers](/packages/eslint-plugin-putout/lib/remove-empty-specifiers#readme)
88
- - [Objects braces inside array](/packages/eslint-plugin-putout/lib/objects-braces-inside-array#readme)
89
- - [Object init](/packages/eslint-plugin-putout/lib/object-init#readme)
90
- - [No unresolved](/packages/eslint-plugin-putout/lib/no-unresolved#readme)
91
- - [Tape: add newline before assertion]('/packages/eslint-plugin-putout/lib/tape-add-new-line-before-assertion#readme)
92
- - [Tape: add newline between tests]('/packages/eslint-plugin-putout/lib/tape-add-new-line-between-tests#readme)
93
- - [Tape: remove newline before t.end()]('/packages/eslint-plugin-putout/lib/tape-remove-newline-before-t-end#readme)
69
+ ### 🐊 [Putout](https://github.com/coderaiser/putout#readme)
70
+
71
+ - [Putout](/packages/eslint-plugin-putout/lib/putout#readme)
72
+ - [Evaluate](/packages/eslint-plugin-putout/lib/evaluate#readme)
73
+
74
+ ### 📼 [Supertape](https://github.com/coderaiser/supertape#readme)
75
+
76
+ - [add newline before assertion](/packages/eslint-plugin-putout/lib/tape-add-newline-before-assertion#readme)
77
+ - [add newline between tests](/packages/eslint-plugin-putout/lib/tape-add-newline-between-tests#readme)
78
+ - [remove newline before t.end()](/packages/eslint-plugin-putout/lib/tape-remove-newline-before-t-end#readme)
79
+
80
+ ### TypeScript
81
+
82
+ - [Add newlines between types in union](/packages/eslint-plugin-putout/lib/add-newlines-between-types-in-union#readme)
83
+
84
+ ### Formatting
85
+
86
+ - [Add newline before function call](/packages/eslint-plugin-putout/lib/add-newline-before-function-call#readme)
87
+ - [Add newline after function call](/packages/eslint-plugin-putout/lib/add-newline-after-function-call#readme)
88
+ - [Align spaces](/packages/eslint-plugin-putout/lib/align-spaces#readme)
89
+ - [Array element newline](/packages/eslint-plugin-putout/lib/array-element-newline#readme)
90
+ - [Single property destructuring](/packages/eslint-plugin-putout/lib/single-property-destructuring#readme)
91
+ - [Multiple properties destructuring](/packages/eslint-plugin-putout/lib/multiple-properties-destructuring#readme)
92
+ - [For-of multiple properties destructuring](/packages/eslint-plugin-putout/lib/for-of-multiple-properties-destructuring#readme)
93
+ - [Long properties destructuring](/packages/eslint-plugin-putout/lib/long-properties-destructuring#readme)
94
+ - [Destructuring as function argument](/packages/eslint-plugin-putout/lib/destructuring-as-function-argument#readme)
95
+ - [Keyword spacing](/packages/eslint-plugin-putout/lib/keyword-spacing#readme)
96
+ - [Newline function call arguments](/packages/eslint-plugin-putout/lib/newline-function-call-arguments#readme)
97
+ - ✅ [Function declaration paren newline](/packages/eslint-plugin-putout/lib/function-declaration-paren-newline#readme)
98
+ - ✅ [Remove newline after default import](/packages/eslint-plugin-putout/lib/remove-newline-after-default-import#readme)
99
+ - ✅ [Remove newline from empty object](/packages/eslint-plugin-putout/lib/remove-newline-from-empty-object#readme)
100
+ - ✅ [Remove empty newline before first specifier](/packages/eslint-plugin-putout/lib/remove-empty-newline-before-first-specifier#readme)
101
+ - ✅ [Remove empty newline after last specifier](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-last-specifier#readme)
102
+ - ✅ [Remove empty newline after last element](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-last-element#readme)
103
+ - ✅ [Remove empty newline after import](/packages/eslint-plugin-putout/lib/remove-empty-newline-after-import#readme)
104
+ - ✅ [Remove empty specifiers](/packages/eslint-plugin-putout/lib/remove-empty-specifiers#readme)
105
+ - ✅ [Objects braces inside array](/packages/eslint-plugin-putout/lib/objects-braces-inside-array#readme)
106
+ - ✅ [Object init](/packages/eslint-plugin-putout/lib/object-init#readme)
107
+ - ✅ [No unresolved](/packages/eslint-plugin-putout/lib/no-unresolved#readme)
94
108
 
95
109
  ### Safe mode
96
110
 
@@ -110,27 +124,28 @@ When using 🐊`Putout` in IDE with `--fix` on save, or when you want to disable
110
124
  Disabled `ESLint` rules:
111
125
 
112
126
  - [`no-useless-return`](https://eslint.org/docs/rules/no-useless-return#readme)
113
- - [`putout/remove-newline-from-empty-object`](https://eslint.org/docs/rules/no-useless-return#readme)
127
+ - [`putout/remove-newline-from-empty-object`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout/lib/remove-newline-from-empty-object#readme)
114
128
 
115
129
  Disabled 🐊`Putout` rules:
116
130
 
117
- - [`remove-empty`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-empty#readme);
118
- - [`nodejs/remove-process-exit`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-nodejs#remove-process-exit#readme);
119
- - [`remove-unused-variables`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-unused-variables#readme);
120
- - [`typescript/remove-unused-types`](https://github.com/coderaiser/putout/tree/v24.0.2/packages/plugin-typescript#remove-unused-types#readme);
121
- - [`remove-unused-for-of-variables`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-unused-for-of-variables#readme);
122
- - [`remove-unused-expressions`](https://github.com/coderaiser/putout/tree/v24.0.0/packages#readme);
123
- - [`remove-unreferenced-variables`](https://github.com/coderaiser/putout/tree/24.1.0/packages#readme);
124
- - [`remove-useless-return`](https://github.com/coderaiser/putout/tree/master/remove-useless-return#readme);
125
- - [`remove-useless-arguments`](https://github.com/coderaiser/putout/tree/master/remove-useless-arguments#readme);
126
- - [`remove-useless-spread`](https://github.com/coderaiser/putout/tree/master/remove-useless-spread/#readme#readme);
127
- - [`remove-useless-variables/rename`](https://github.com/coderaiser/putout/tree/master/remove-useless-arguments#rename#readme);
128
- - [`remove-skip`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-skip#readme);
129
- - [`remove-only`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-only#readme);
130
- - [`remove-console`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-console#readme);
131
- - [`remove-debugger`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-debugger#readme);
132
- - [`remove-unreachable-code`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/remove-unreachable-code#readme);
133
- - [`convert-for-to-for-of`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/convert-for-to-for-of#readme);
131
+ - 🐲[`remove-empty`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-empty#readme);
132
+ - 🐲[`nodejs/remove-process-exit`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-nodejs#remove-process-exit#readme);
133
+ - 🐲[`remove-unused-variables`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-unused-variables#readme);
134
+ - 🐲[`typescript/remove-unused-types`](https://github.com/coderaiser/putout/tree/v24.0.2/packages/plugin-typescript#remove-unused-types#readme);
135
+ - 🐲[`remove-unused-for-of-variables`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-unused-for-of-variables#readme);
136
+ - 🐲[`remove-unused-expressions`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-removeunused-expressions#readme);
137
+ - 🐲[`remove-unreferenced-variables`](https://github.com/coderaiser/putout/tree/24.1.0/packages/plugin-remove-unreferenced-variables#readme);
138
+ - 🐲[`remove-useless-arguments`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-arguments#readme);
139
+ - 🐲[`remove-useless-for-of`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-for-of#readme);
140
+ - 🐲[`remove-useless-return`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-return#readme);
141
+ - 🐲[`remove-useless-spread`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-spread/#readme#readme);
142
+ - 🐲[`remove-useless-variables/rename`](https://github.com/coderaiser/putout/tree/master/packages/plugin-remove-useless-arguments#rename#readme);
143
+ - 🐲[`remove-skip`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-tape#remove-skip);
144
+ - 🐲[`remove-only`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-tape#remove-only);
145
+ - 🐲[`remove-console`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-console#readme);
146
+ - 🐲[`remove-debugger`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-debugger#readme);
147
+ - 🐲[`remove-unreachable-code`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-remove-unreachable-code#readme);
148
+ - 🐲[`convert-for-to-for-of`](https://github.com/coderaiser/putout/tree/v24.0.0/packages/plugin-convert-for-to-for-of#readme);
134
149
 
135
150
  ### safe+align
136
151
 
@@ -1,14 +1,13 @@
1
- # evaluate expression (`evaluate`)
1
+ # evaluate
2
2
 
3
3
  Evaluate expression started with `__putout_evaluate: `.
4
4
  Provided code is processed with [`@putout/plugin-declare-undefined-variables`](https://github.com/coderaiser/putout/tree/master/packages/plugin-declare-undefined-variables). So next code:
5
5
 
6
6
  ```js
7
- import {join} from 'path';
8
7
  __putout_evaluate: join("hello", " ", "world");
9
8
  ```
10
9
 
11
- Converted to:
10
+ Is converted to:
12
11
 
13
12
  ```js
14
13
  const fn = (__filename, __dirname, require) => {
@@ -17,18 +16,16 @@ const fn = (__filename, __dirname, require) => {
17
16
  };
18
17
  ```
19
18
 
20
- ## Rule Details
19
+ When you want to evaluate expressions `source` of `ImportDeclaration`:
21
20
 
22
- This rule aims to evaluate expressions `source` of `ImportDeclaration`:
23
-
24
- Examples of **incorrect** code located in `hello.spec.js` for this rule:
21
+ ## Example of incorrect code
25
22
 
26
23
  ```js
27
24
  import {readFile} from '__putout_evaluate: `./` + basename(__filename).replace(`.spec.js`, `.js`)';
28
25
 
29
26
  ```
30
27
 
31
- Examples of **correct** code for this rule:
28
+ ## ✅ Example of correct code
32
29
 
33
30
  ```js
34
31
  import {readFile} from './hello.js';
@@ -1,8 +1,9 @@
1
1
  # function-declaration-paren-newline
2
2
 
3
3
  Remove newlines between parens in function declaration. Similar to `ESLint` rule [function-paren-newline](https://eslint.org/docs/rules/function-declaration-paren-newline), but forbids new lines in function declarations and expressions arguments.
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- ## ❌ Incorrect code example
6
+ ## ❌ Example of incorrect code
6
7
 
7
8
  ```js
8
9
  function f(
@@ -22,7 +23,7 @@ regexpTree.traverse(ast, {
22
23
  });
23
24
  ```
24
25
 
25
- ## ✅ Correct code example
26
+ ## ✅ Example of correct code
26
27
 
27
28
  ```js
28
29
  function f({a, b, c}) {}
package/lib/index.js CHANGED
@@ -115,9 +115,10 @@ const safe = {
115
115
  'remove-unused-expressions': 'off',
116
116
  'remove-unused-for-of-variables': 'off',
117
117
  'remove-unreachable-code': 'off',
118
- 'remove-useless-return': 'off',
118
+ 'remove-useless-for-of': 'off',
119
119
  'remove-useless-arguments': 'off',
120
120
  'remove-useless-variables/rename': 'off',
121
+ 'remove-useless-return': 'off',
121
122
  'remove-useless-spread': 'off',
122
123
  'remove-unreferenced-variables': 'off',
123
124
  'tape/remove-skip': 'off',
@@ -1,10 +1,9 @@
1
1
  # remove-empty-newline-after-last-element
2
2
 
3
- ## Rule Details
3
+ Remove empty newline after last element.
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- This rule aims to remove empty newline after last element.
6
-
7
- ## ❌ Incorrect code example
6
+ ## Example of incorrect code
8
7
 
9
8
  ```js
10
9
  push([
@@ -14,12 +13,11 @@ push([
14
13
  ]);
15
14
  ```
16
15
 
17
- ## ✅ Correct code example
16
+ ## ✅ Example of correct code
18
17
 
19
18
  ```js
20
19
  push([
21
20
  a,
22
21
  b,
23
-
24
22
  ]);
25
23
  ```
@@ -1,10 +1,9 @@
1
1
  # remove-empty-newline-after-last-specifier
2
2
 
3
- ## Rule Details
3
+ Remove empty newline after last specifier.
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- This rule aims to remove empty newline after last specifier.
6
-
7
- ## ❌ Incorrect code example
6
+ ## Example of incorrect code
8
7
 
9
8
  ```js
10
9
  import {
@@ -20,7 +19,7 @@ push({
20
19
  });
21
20
  ```
22
21
 
23
- ## ✅ Correct code example
22
+ ## ✅ Example of correct code
24
23
 
25
24
  ```js
26
25
  import {
@@ -1,10 +1,10 @@
1
1
  # remove-newline-after-default-import
2
2
 
3
- Fixes [`object-curly-newline`](https://eslint.org/docs/rules/object-curly-newline) + [`eslint-plugin-modules-newline`](https://github.com/gmsorrow/eslint-plugin-modules-newline).
4
-
5
3
  This rule aims to remove newline after default import, before opening curly brace (`{`).
4
+ Fixes [`object-curly-newline`](https://eslint.org/docs/rules/object-curly-newline) + [`eslint-plugin-modules-newline`](https://github.com/gmsorrow/eslint-plugin-modules-newline).
5
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
6
6
 
7
- ## ❌ Incorrect code example
7
+ ## ❌ Example of incorrect code
8
8
 
9
9
  ```js
10
10
  import x,
@@ -14,7 +14,7 @@ import x,
14
14
  } from 'y';
15
15
  ```
16
16
 
17
- ## ✅ Correct code example
17
+ ## ✅ Example of correct code
18
18
 
19
19
  ```js
20
20
  import x, {
@@ -1,12 +1,9 @@
1
- # Add newline before assertion (`add-newline-before-assertion`)
1
+ # add-newline-before-assertion
2
2
 
3
- Add newline before `t.equal()` etc, for [`supertape`](https://github.com/coderaiser/supertape).
3
+ Add newline before `t.equal()` etc, for 📼[`Supertape`](https://github.com/coderaiser/supertape).
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- ## Rule Details
6
-
7
- This rule aims to add newline before assertion.
8
-
9
- Examples of **incorrect** code for this rule:
6
+ ## Example of incorrect code
10
7
 
11
8
  ```js
12
9
  test('lint: do some check', (t) => {
@@ -18,7 +15,7 @@ test('lint: do some check', (t) => {
18
15
  });
19
16
  ```
20
17
 
21
- Examples of **correct** code for this rule:
18
+ ## ✅ Example of correct code
22
19
 
23
20
  ```js
24
21
  test('lint: do some check', (t) => {
@@ -1,12 +1,9 @@
1
- # Add newline between tests (`add-newline-between-tests`)
1
+ # add-newline-between-tests
2
2
 
3
- Add newline between tests, for [`supertape`](https://github.com/coderaiser/supertape).
3
+ Add newline between tests, for 📼[`Supertape`](https://github.com/coderaiser/supertape).
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- ## Rule Details
6
-
7
- This rule aims to add newline between tests.
8
-
9
- Examples of **incorrect** code for this rule:
6
+ ## Example of incorrect code
10
7
 
11
8
  ```js
12
9
  test('lint: do some check', (t) => {
@@ -23,7 +20,7 @@ test('lint: do some check', (t) => {
23
20
  });
24
21
  ```
25
22
 
26
- Examples of **correct** code for this rule:
23
+ ## ✅ Example of correct code
27
24
 
28
25
  ```js
29
26
  test('lint: do some check', (t) => {
@@ -1,12 +1,9 @@
1
- # Remove newline before `t.end()` (`remove-newline-before-t-end`)
1
+ # remove-newline-before-t-end
2
2
 
3
3
  Remove newline before `t.end()`, for [`supertape`](https://github.com/coderaiser/supertape).
4
+ Part of [`eslint-plugin-putout`](https://github.com/coderaiser/putout/tree/master/packages/eslint-plugin-putout#rules).
4
5
 
5
- ## Rule Details
6
-
7
- This rule aims to remove newline before `t.end()`.
8
-
9
- Examples of **incorrect** code for this rule:
6
+ ## Example of incorrect code
10
7
 
11
8
  ```js
12
9
  test('lint: do some check', (t) => {
@@ -18,7 +15,7 @@ test('lint: do some check', (t) => {
18
15
  });
19
16
  ```
20
17
 
21
- Examples of **correct** code for this rule:
18
+ ## ✅ Example of correct code
22
19
 
23
20
  ```js
24
21
  test('lint: do some check', (t) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "eslint-plugin-putout",
3
- "version": "13.11.0",
3
+ "version": "13.12.0",
4
4
  "type": "commonjs",
5
5
  "description": "eslint plugin for putout",
6
6
  "release": false,
@@ -49,15 +49,15 @@
49
49
  },
50
50
  "devDependencies": {
51
51
  "@babel/plugin-syntax-typescript": "^7.12.1",
52
- "@putout/test": "^4.3.0",
52
+ "@putout/test": "^5.0.0",
53
53
  "c8": "^7.5.0",
54
54
  "eslint": "^8.0.1",
55
55
  "eslint-plugin-eslint-plugin": "^3.2.0",
56
- "madrun": "^8.0.1",
56
+ "madrun": "^9.0.0",
57
57
  "mocha": "^9.0.1",
58
58
  "montag": "^1.0.0",
59
59
  "simport": "^1.2.0",
60
- "supertape": "^6.13.1",
60
+ "supertape": "^7.0.0",
61
61
  "try-to-catch": "^3.0.0"
62
62
  },
63
63
  "engines": {