@@ -28,10 +28,28 @@ func CreateEslintConfig(configuration []domain.PatternConfiguration) string {
2828 for _ , patternConfiguration := range configuration {
2929 rule := strings .TrimPrefix (patternConfiguration .PatternDefinition .Id , "ESLint8_" )
3030
31- const tempstring = "TEMPORARYSTRING"
32- rule = strings .ReplaceAll (rule , "__" , tempstring )
33- rule = strings .ReplaceAll (rule , "_" , "/" )
34- rule = strings .ReplaceAll (rule , tempstring , "_" )
31+ // Handle plugin rules (those containing _)
32+ if strings .Contains (rule , "_" ) {
33+ parts := strings .Split (rule , "_" )
34+ if len (parts ) >= 2 {
35+ // First part is the plugin name, last part is the rule name
36+ plugin := parts [0 ]
37+ ruleName := parts [len (parts )- 1 ]
38+
39+ // Handle scoped packages
40+ if strings .HasPrefix (plugin , "@" ) {
41+ rule = fmt .Sprintf ("%s/%s" , plugin , ruleName )
42+ } else {
43+ // For non-scoped packages, add eslint-plugin- prefix
44+ rule = fmt .Sprintf ("%s/%s" , "eslint-plugin-" + plugin , ruleName )
45+ }
46+ }
47+ }
48+
49+ // Skip any rule that contains a plugin (contains "/")
50+ if strings .Contains (rule , "/" ) {
51+ continue
52+ }
3553
3654 parametersString := ""
3755
@@ -44,7 +62,6 @@ func CreateEslintConfig(configuration []domain.PatternConfiguration) string {
4462 // build named parameters json object
4563 namedParametersString := ""
4664 for _ , parameter := range patternConfiguration .Parameters {
47-
4865 if parameter .Name != "unnamedParam" {
4966 if len (namedParametersString ) == 0 {
5067 namedParametersString += "{"
0 commit comments