Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gavinaiken/eslint-plugin-chai-expect-keywords
https://github.com/gavinaiken/eslint-plugin-chai-expect-keywords
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/gavinaiken/eslint-plugin-chai-expect-keywords
- Owner: gavinaiken
- License: mit
- Created: 2018-02-02T12:27:47.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-07-28T14:42:37.000Z (3 months ago)
- Last Synced: 2024-07-29T15:03:57.418Z (3 months ago)
- Language: JavaScript
- Size: 33.2 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-eslint - permitted keywords
README
# eslint-plugin-chai-expect-keywords
ESLint plugin that checks for unsupported keywords in chai.js `expect()`
assertions. Chai allows you to chain words to make readable assertions,
but unfortunately you can include keywords that chai knows nothing about,
and it will not fail the test. This eslint plugin helps you catch any
such unsupported chains.# Installation
```
npm install eslint-plugin-chai-expect-keywords
```# Requirements
For version 2.x:
- Node.js 6 or above
- ESLint 4.x - 8.xFor version 3.x:
- Node.js 18 or above
- ESLint 9.x or above# Rules
- `no-unsupported-keywords` - Prevent using unsupported keywords in the
`expect()` chains# Options
- `allowKeywords` adds an array of additional keywords to the allowed list
- `allowSinonChai` includes [sinon-chai](http://chaijs.com/plugins/sinon-chai/)
keywords in the allowed list
- `allowChaiAsPromised` includes [chai-as-promised](https://github.com/domenic/chai-as-promised)
keywords in the allowed list. (You may also find [eslint-plugin-chai-as-promised](https://github.com/fintechstudios/eslint-plugin-chai-as-promised) of interest in ensuring
that `return` statements (or its `notify` method) are present as expected
by `chai-as-promised`.)
- `allowChaiDOM` includes [chai-dom](https://github.com/nathanboktae/chai-dom)
keywords in the allowed list
- `allowChaiExclude` includes [chai-exclude](https://github.com/mesaugat/chai-exclude)
keywords in the allowed list# Configuration
Import the plugin into your `eslint.config.js` file:
```js
import chaiExpectKeywords from 'eslint-plugin-chai-expect-keywords';
```Add a `plugins` section and specify `chai-expect-keywords` as a plugin:
```js
"plugins": {
"chai-expect-keywords": chaiExpectKeywords
},
```Enable the rule:
```js
"rules": {
"chai-expect-keywords/no-unsupported-keywords": "error"
}
```Or with options:
```js
"rules": {
"chai-expect-keywords/no-unsupported-keywords": [ "error", {
"allowKeywords": ["length"],
"allowSinonChai": true,
"allowChaiAsPromised": true,
"allowChaiDOM": true,
"allowChaiExclude": true
} ]
}
```If you want the rule enabled with all its boolean options set to true, you can
avoid the steps of adding to `plugins` and `rules` and just include the all config in:```js
import js from '@eslint/js';
import chaiExpectKeywords from 'eslint-plugin-chai-expect-keywords';export default [
js.configs.recommended,
chaiExpectKeywords.configs.all,```
Or if you want the rule only with no booleans set, use the "recommended" config:
```js
export default [
chaiExpectKeywords.configs.recommended,
```# License
`eslint-plugin-chai-expect-keywords` is licensed under the [MIT License](http://www.opensource.org/licenses/mit-license.php).