eslint-config-nfl
Version:
NFL's ESLint config
37 lines (27 loc) • 999 B
JavaScript
/* eslint-disable mocha/handle-done-callback */
import fs from "fs";
import path from "path";
import test from "tape";
const files = {
base: require("../base")
};
fs.readdirSync(path.join(__dirname, "../rules")).forEach(name => {
if (name === "react.js") {
return;
}
files[name] = require(`../rules/${name}`);
});
Object.keys(files).forEach(name => {
const config = files[name];
test(`${name}: does not reference react`, t => {
t.plan(2);
// scan plugins for react and fail if it is found
const hasReactPlugin = Object.prototype.hasOwnProperty.call(config, "plugins") &&
config.plugins.indexOf("react") !== -1;
t.notOk(hasReactPlugin, "there is no react plugin");
// scan rules for react/ and fail if any exist
const reactRuleIds = Object.keys(config.rules)
.filter(ruleId => ruleId.indexOf("react/") === 0);
t.deepEquals(reactRuleIds, [], "there are no react/ rules");
});
});