123456789101112131415161718192021222324252627282930313233343536373839 |
- 'use strict';
- const fromEntries = require('object.fromentries');
- const entries = require('object.entries');
- const allRules = require('../lib/rules');
- function filterRules(rules, predicate) {
- return fromEntries(entries(rules).filter((entry) => predicate(entry[1])));
- }
- function configureAsError(rules) {
- return fromEntries(Object.keys(rules).map((key) => [`react/${key}`, 2]));
- }
- const activeRules = filterRules(allRules, (rule) => !rule.meta.deprecated);
- const activeRulesConfig = configureAsError(activeRules);
- const deprecatedRules = filterRules(allRules, (rule) => rule.meta.deprecated);
- module.exports = {
- plugins: {
- react: {
- deprecatedRules,
- rules: allRules,
- },
- },
- rules: activeRulesConfig,
- languageOptions: {
- parserOptions: {
- ecmaFeatures: {
- jsx: true,
- },
- },
- },
- };
- // this is so the `languageOptions` property won't be warned in the new config system
- Object.defineProperty(module.exports, 'languageOptions', { enumerable: false });
|