@@ -42,18 +42,38 @@ const allRules = Object.fromEntries(
42
42
] )
43
43
) ;
44
44
45
- module . exports . meta = {
46
- name : packageMetadata . name ,
47
- version : packageMetadata . version ,
48
- } ;
45
+ const plugin = {
46
+ meta : {
47
+ name : packageMetadata . name ,
48
+ version : packageMetadata . version ,
49
+ } ,
50
+ rules : allRules ,
51
+ configs : { } , // assigned later
52
+ }
49
53
50
- module . exports . rules = allRules ;
54
+ // eslintrc configs
55
+ Object . assign ( plugin . configs , Object . keys ( configFilters ) . reduce (
56
+ ( configs , configName ) => {
57
+ return Object . assign ( configs , {
58
+ [ `flat/${ configName } ` ] : {
59
+ plugins : [ 'eslint-plugin' ] ,
60
+ rules : Object . fromEntries (
61
+ Object . keys ( allRules )
62
+ . filter ( ( ruleName ) => configFilters [ configName ] ( allRules [ ruleName ] ) )
63
+ . map ( ( ruleName ) => [ `${ PLUGIN_NAME } /${ ruleName } ` , 'error' ] )
64
+ ) ,
65
+ } ,
66
+ } ) ;
67
+ } ,
68
+ { }
69
+ ) ) ;
51
70
52
- module . exports . configs = Object . keys ( configFilters ) . reduce (
71
+ // flat configs
72
+ Object . assign ( plugin . configs , Object . keys ( configFilters ) . reduce (
53
73
( configs , configName ) => {
54
74
return Object . assign ( configs , {
55
75
[ configName ] : {
56
- plugins : [ 'eslint-plugin' ] ,
76
+ plugins : { 'eslint-plugin' : plugin } ,
57
77
rules : Object . fromEntries (
58
78
Object . keys ( allRules )
59
79
. filter ( ( ruleName ) => configFilters [ configName ] ( allRules [ ruleName ] ) )
@@ -63,4 +83,6 @@ module.exports.configs = Object.keys(configFilters).reduce(
63
83
} ) ;
64
84
} ,
65
85
{ }
66
- ) ;
86
+ ) ) ;
87
+
88
+ module . exports = plugin ;
0 commit comments