eslint-plugin-chai-expect-keywords v3.1.0
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-keywordsRequirements
For version 2.x:
- Node.js 6 or above
- ESLint 4.x - 8.x
For version 3.x:
- Node.js 18 or above
- ESLint 9.x or above
Rules
no-unsupported-keywords- Prevent using unsupported keywords in theexpect()chains
Options
allowKeywordsadds an array of additional keywords to the allowed listallowSinonChaiincludes sinon-chai keywords in the allowed listallowChaiAsPromisedincludes chai-as-promised keywords in the allowed list. (You may also find eslint-plugin-chai-as-promised of interest in ensuring thatreturnstatements (or itsnotifymethod) are present as expected bychai-as-promised.)allowChaiDOMincludes chai-dom keywords in the allowed listallowChaiExcludeincludes chai-exclude keywords in the allowed list
Configuration
Import the plugin into your eslint.config.js file:
import chaiExpectKeywords from 'eslint-plugin-chai-expect-keywords';Add a plugins section and specify chai-expect-keywords as a plugin:
"plugins": {
"chai-expect-keywords": chaiExpectKeywords
},Enable the rule:
"rules": {
"chai-expect-keywords/no-unsupported-keywords": "error"
}Or with options:
"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:
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:
export default [
chaiExpectKeywords.configs.recommended,License
eslint-plugin-chai-expect-keywords is licensed under the MIT License.