main
ts 41 lines 933 Bytes
Raw
1 /**
2 * Copyright (c) Meta Platforms, Inc. and affiliates.
3 *
4 * This source code is licensed under the MIT license found in the
5 * LICENSE file in the root directory of this source tree.
6 */
7
8 import {type Linter} from 'eslint';
9 import {
10 allRules,
11 mapErrorSeverityToESlint,
12 recommendedRules,
13 } from './rules/ReactCompilerRule';
14
15 const meta = {
16 name: 'eslint-plugin-react-compiler',
17 };
18
19 const configs = {
20 recommended: {
21 plugins: {
22 'react-compiler': {
23 rules: allRules,
24 },
25 },
26 rules: Object.fromEntries(
27 Object.entries(recommendedRules).map(([name, ruleConfig]) => {
28 return [
29 'react-compiler/' + name,
30 mapErrorSeverityToESlint(ruleConfig.severity),
31 ];
32 }),
33 ) as Record<string, Linter.StringSeverity>,
34 },
35 };
36
37 const rules = Object.fromEntries(
38 Object.entries(allRules).map(([name, {rule}]) => [name, rule]),
39 );
40
41 export {configs, rules, meta};