securityos/node_modules/eslint-plugin-jest-dom/dist/index.js

49 lines
1.6 KiB
JavaScript

"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.rules = exports.generateRecommendedConfig = exports.generateAllRulesConfig = exports.configs = void 0;
var _requireindex = _interopRequireDefault(require("requireindex"));
/**
* @fileoverview lint rules for use with jest-dom
* @author Ben Monro
*/
//------------------------------------------------------------------------------
// Requirements
//------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Plugin Definition
//------------------------------------------------------------------------------
// import all rules in src/rules
const rules = (0, _requireindex.default)(`${__dirname}/rules`);
exports.rules = rules;
const generateRecommendedConfig = allRules => Object.entries(allRules).reduce((memo, [name, rule]) => ({
...memo,
...(rule.meta.docs.recommended ? {
[`jest-dom/${name}`]: "error"
} : {})
}), {});
exports.generateRecommendedConfig = generateRecommendedConfig;
const generateAllRulesConfig = allRules => Object.entries(allRules).reduce((memo, [name]) => ({
...memo,
...{
[`jest-dom/${name}`]: "error"
}
}), {});
exports.generateAllRulesConfig = generateAllRulesConfig;
const configs = {
recommended: {
plugins: ["jest-dom"],
rules: generateRecommendedConfig(rules)
},
all: {
plugins: ["jest-dom"],
rules: generateAllRulesConfig(rules)
}
};
exports.configs = configs;