@@ -21,14 +21,14 @@ Enforce best practices for JavaScript promises.
21
21
22
22
You'll first need to install [ ESLint] ( http://eslint.org ) :
23
23
24
- ```
25
- $ npm install eslint --save-dev
24
+ ``` sh
25
+ npm install eslint --save-dev
26
26
```
27
27
28
28
Next, install ` eslint-plugin-promise ` :
29
29
30
- ```
31
- $ npm install eslint-plugin-promise --save-dev
30
+ ``` sh
31
+ npm install eslint-plugin-promise --save-dev
32
32
```
33
33
34
34
** Note:** If you installed ESLint globally (using the ` -g ` flag) then you must
@@ -76,32 +76,30 @@ or start with the recommended rule set:
76
76
77
77
## Rules
78
78
79
- | rule | description | recommended | fixable |
80
- | -------------------------------------------------------- | -------------------------------------------------------------------------------- | ----------- | -------- |
81
- | [ ` catch-or-return ` ] [ catch-or-return ] | Enforces the use of ` catch() ` on un-returned promises. | :bangbang : | |
82
- | [ ` no-return-wrap ` ] [ no-return-wrap ] | Avoid wrapping values in ` Promise.resolve ` or ` Promise.reject ` when not needed. | :bangbang : | |
83
- | [ ` param-names ` ] [ param-names ] | Enforce consistent param names and ordering when creating new promises. | :bangbang : | |
84
- | [ ` always-return ` ] [ always-return ] | Return inside each ` then() ` to create readable and reusable Promise chains. | :bangbang : | |
85
- | [ ` no-native ` ] [ no-native ] | In an ES5 environment, make sure to create a ` Promise ` constructor before using. | | |
86
- | [ ` no-nesting ` ] [ no-nesting ] | Avoid nested ` then() ` or ` catch() ` statements | :warning : | |
87
- | [ ` no-promise-in-callback ` ] [ no-promise-in-callback ] | Avoid using promises inside of callbacks | :warning : | |
88
- | [ ` no-callback-in-promise ` ] [ no-callback-in-promise ] | Avoid calling ` cb() ` inside of a ` then() ` (use [ nodeify] [ ] instead) | :warning : | |
89
- | [ ` avoid-new ` ] [ avoid-new ] | Avoid creating ` new ` promises outside of utility libs (use [ pify] [ ] instead) | | |
90
- | [ ` no-new-statics ` ] [ no-new-statics ] | Avoid calling ` new ` on a Promise static method | :bangbang : | :wrench : |
91
- | [ ` no-return-in-finally ` ] [ no-return-in-finally ] | Disallow return statements in ` finally() ` | :warning : | |
92
- | [ ` valid-params ` ] [ valid-params ] | Ensures the proper number of arguments are passed to Promise functions | :warning : | |
93
- | [ ` prefer-await-to-then ` ] [ prefer-await-to-then ] | Prefer ` await ` to ` then() ` /` catch() ` /` finally() ` for reading Promise values | :seven : | |
94
- | [ ` prefer-await-to-callbacks ` ] [ prefer-await-to-callbacks ] | Prefer async/await to the callback pattern | :seven : | |
95
- | [ ` no-multiple-resolved ` ] [ no-multiple-resolved ] | Disallow creating new promises with paths that resolve multiple times | | |
96
-
97
- ** Key**
98
-
99
- | icon | description |
100
- | ---------- | ----------------------------------------------- |
101
- | :bangbang : | Reports as error in recommended configuration |
102
- | :warning : | Reports as warning in recommended configuration |
103
- | :seven : | ES2017 Async Await rules |
104
- | :wrench : | Rule is fixable with ` eslint --fix ` |
79
+ <!-- begin auto-generated rules list -->
80
+
81
+ ✅ Enabled in the ` recommended ` configuration.\
82
+ 🔧 Automatically fixable by the [ ` --fix ` CLI option] ( https://eslint.org/docs/user-guide/command-line-interface#--fix ) .
83
+
84
+ | Name | Description | ✅ | 🔧 |
85
+ | :------------------------------------------------------------------- | :------------------------------------------------------------------------------------- | :- | :- |
86
+ | [ always-return] ( docs/rules/always-return.md ) | Require returning inside each ` then() ` to create readable and reusable Promise chains. | ✅ | |
87
+ | [ avoid-new] ( docs/rules/avoid-new.md ) | Disallow creating ` new ` promises outside of utility libs (use [ pify] [ ] instead). | | |
88
+ | [ catch-or-return] ( docs/rules/catch-or-return.md ) | Enforce the use of ` catch() ` on un-returned promises. | ✅ | |
89
+ | [ no-callback-in-promise] ( docs/rules/no-callback-in-promise.md ) | Disallow calling ` cb() ` inside of a ` then() ` (use [ nodeify] [ ] instead). | | |
90
+ | [ no-multiple-resolved] ( docs/rules/no-multiple-resolved.md ) | Disallow creating new promises with paths that resolve multiple times. | | |
91
+ | [ no-native] ( docs/rules/no-native.md ) | Require creating a ` Promise ` constructor before using it in an ES5 environment. | | |
92
+ | [ no-nesting] ( docs/rules/no-nesting.md ) | Disallow nested ` then() ` or ` catch() ` statements. | | |
93
+ | [ no-new-statics] ( docs/rules/no-new-statics.md ) | Disallow calling ` new ` on a Promise static method. | ✅ | 🔧 |
94
+ | [ no-promise-in-callback] ( docs/rules/no-promise-in-callback.md ) | Disallow using promises inside of callbacks. | | |
95
+ | [ no-return-in-finally] ( docs/rules/no-return-in-finally.md ) | Disallow return statements in ` finally() ` . | | |
96
+ | [ no-return-wrap] ( docs/rules/no-return-wrap.md ) | Disallow wrapping values in ` Promise.resolve ` or ` Promise.reject ` when not needed. | ✅ | |
97
+ | [ param-names] ( docs/rules/param-names.md ) | Enforce consistent param names and ordering when creating new promises. | ✅ | |
98
+ | [ prefer-await-to-callbacks] ( docs/rules/prefer-await-to-callbacks.md ) | Prefer async/await to the callback pattern. | | |
99
+ | [ prefer-await-to-then] ( docs/rules/prefer-await-to-then.md ) | Prefer ` await ` to ` then() ` /` catch() ` /` finally() ` for reading Promise values. | | |
100
+ | [ valid-params] ( docs/rules/valid-params.md ) | Enforces the proper number of arguments are passed to Promise functions. | | |
101
+
102
+ <!-- end auto-generated rules list -->
105
103
106
104
## Maintainers
107
105
@@ -114,21 +112,6 @@ or start with the recommended rule set:
114
112
- (c) MMXV jden
< mailto:[email protected] > - ISC license.
115
113
- (c) 2016 Jamund Ferguson
< mailto:[email protected] > - ISC license.
116
114
117
- [ catch-or-return ] : docs/rules/catch-or-return.md
118
- [ no-return-wrap ] : docs/rules/no-return-wrap.md
119
- [ param-names ] : docs/rules/param-names.md
120
- [ always-return ] : docs/rules/always-return.md
121
- [ no-native ] : docs/rules/no-native.md
122
- [ no-nesting ] : docs/rules/no-nesting.md
123
- [ no-promise-in-callback ] : docs/rules/no-promise-in-callback.md
124
- [ no-callback-in-promise ] : docs/rules/no-callback-in-promise.md
125
- [ avoid-new ] : docs/rules/avoid-new.md
126
- [ no-new-statics ] : docs/rules/no-new-statics.md
127
- [ no-return-in-finally ] : docs/rules/no-return-in-finally.md
128
- [ valid-params ] : docs/rules/valid-params.md
129
- [ prefer-await-to-then ] : docs/rules/prefer-await-to-then.md
130
- [ prefer-await-to-callbacks ] : docs/rules/prefer-await-to-callbacks.md
131
- [ no-multiple-resolved ] : docs/rules/no-multiple-resolved.md
132
115
[ nodeify ] : https://www.npmjs.com/package/nodeify
133
116
[ pify ] : https://www.npmjs.com/package/pify
134
117
[ @aaditmshah ] : https://github.com/aaditmshah
0 commit comments