11/* eslint node/no-unsupported-features/es-syntax: off -- not node */
2- import * as coreRules from "../../../../node_modules/eslint4b/dist/core-rules " ;
2+ import { Linter } from "eslint/lib/linter " ;
33// eslint-disable-next-line node/no-missing-import -- no build
44import plugin from "../../../../" ;
55
6+ const coreRules = Object . fromEntries ( new Linter ( ) . getRules ( ) ) ;
7+
68const CATEGORY_TITLES = {
79 recommended : "eslint-plugin-json-schema-validator" ,
8- "eslint-core-rules@Possible Errors" : "ESLint core rules(Possible Errors)" ,
9- "eslint-core-rules@Best Practices" : "ESLint core rules(Best Practices)" ,
10- "eslint-core-rules@Strict Mode" : "ESLint core rules(Strict Mode)" ,
11- "eslint-core-rules@Variables" : "ESLint core rules(Variables)" ,
12- "eslint-core-rules@Node.js and CommonJS" :
13- "ESLint core rules(Node.js and CommonJS)" ,
14- "eslint-core-rules@Stylistic Issues" : "ESLint core rules(Stylistic Issues)" ,
15- "eslint-core-rules@ECMAScript 6" : "ESLint core rules(ECMAScript 6)" ,
10+ "eslint-core-rules@problem" : "ESLint core rules(Possible Errors)" ,
11+ "eslint-core-rules@suggestion" : "ESLint core rules(Suggestions)" ,
12+ "eslint-core-rules@layout" : "ESLint core rules(Layout & Formatting)" ,
1613} ;
1714const CATEGORY_INDEX = {
1815 recommended : 2 ,
19- "eslint-core-rules@Possible Errors" : 6 ,
20- "eslint-core-rules@Best Practices" : 7 ,
21- "eslint-core-rules@Strict Mode" : 8 ,
22- "eslint-core-rules@Variables" : 9 ,
23- "eslint-core-rules@Node.js and CommonJS" : 10 ,
24- "eslint-core-rules@Stylistic Issues" : 11 ,
25- "eslint-core-rules@ECMAScript 6" : 12 ,
16+ "eslint-core-rules@problem" : 20 ,
17+ "eslint-core-rules@suggestion" : 21 ,
18+ "eslint-core-rules@layout" : 22 ,
2619} ;
2720const CATEGORY_CLASSES = {
2821 recommended : "eslint-plugin-json-schema-validator__category" ,
22+ "eslint-core-rules@problem" : "eslint-core-category" ,
23+ "eslint-core-rules@suggestion" : "eslint-core-category" ,
24+ "eslint-core-rules@layout" : "eslint-core-category" ,
2925} ;
3026
3127const allRules = [ ] ;
@@ -43,11 +39,12 @@ for (const k of Object.keys(plugin.rules)) {
4339 rule . meta . docs . categories . includes ( "recommended" ) ,
4440 } ) ;
4541}
42+
4643for ( const k of Object . keys ( coreRules ) ) {
4744 const rule = coreRules [ k ] ;
4845 allRules . push ( {
49- category : ` eslint-core-rules@ ${ rule . meta . docs . category } ` ,
50- fallbackTitle : `ESLint core rules( ${ rule . meta . docs . category } ) ` ,
46+ classes : " eslint-core-rule" ,
47+ category : `eslint- core- rules@ ${ rule . meta . type } ` ,
5148 ruleId : k ,
5249 url : rule . meta . docs . url ,
5350 initChecked : false , // rule.meta.docs.recommended,
@@ -104,3 +101,21 @@ export const DEFAULT_RULES_CONFIG = allRules.reduce((c, r) => {
104101} , { } ) ;
105102
106103export const rules = allRules ;
104+
105+ export function getRule ( ruleId ) {
106+ if ( ! ruleId ) {
107+ return { url : "" } ;
108+ }
109+ for ( const category of categories ) {
110+ for ( const rule of category . rules ) {
111+ if ( rule . ruleId === ruleId ) {
112+ return rule ;
113+ }
114+ }
115+ }
116+ return {
117+ ruleId,
118+ url : "" ,
119+ classes : "" ,
120+ } ;
121+ }
0 commit comments