@@ -53,22 +53,66 @@ func CreateEslintConfig(configuration []domain.PatternConfiguration) string {
5353
5454 parametersString := ""
5555
56+ // Find default value for unnamedParam if needed
57+ defaultUnnamedParamValue := ""
58+ for _ , paramDef := range patternConfiguration .PatternDefinition .Parameters {
59+ if paramDef .Name == "unnamedParam" {
60+ defaultUnnamedParamValue = paramDef .Default
61+ break
62+ }
63+ }
64+
65+ // Process parameters
66+ foundUnnamedParam := false
5667 for _ , parameter := range patternConfiguration .Parameters {
5768 if parameter .Name == "unnamedParam" {
58- parametersString += quoteWhenIsNotJson (parameter .Value )
69+ foundUnnamedParam = true
70+ // If value is empty but we have a default, use the default
71+ if parameter .Value == "" && defaultUnnamedParamValue != "" {
72+ parametersString += quoteWhenIsNotJson (defaultUnnamedParamValue )
73+ } else if parameter .Value != "" {
74+ parametersString += quoteWhenIsNotJson (parameter .Value )
75+ }
5976 }
6077 }
6178
79+ // If we found an unnamed param with empty value but have a default, use it
80+ if foundUnnamedParam && parametersString == "" && defaultUnnamedParamValue != "" {
81+ parametersString += quoteWhenIsNotJson (defaultUnnamedParamValue )
82+ }
83+
6284 // build named parameters json object
6385 namedParametersString := ""
6486 for _ , parameter := range patternConfiguration .Parameters {
6587 if parameter .Name != "unnamedParam" {
88+ paramValue := parameter .Value
89+
90+ // If value is empty, look for default in pattern definition
91+ if paramValue == "" {
92+ for _ , paramDef := range patternConfiguration .PatternDefinition .Parameters {
93+ if paramDef .Name == parameter .Name && paramDef .Default != "" {
94+ paramValue = paramDef .Default
95+ break
96+ }
97+ }
98+ }
99+
100+ // Skip only if both value and default are empty
101+ if paramValue == "" {
102+ continue
103+ }
104+
66105 if len (namedParametersString ) == 0 {
67106 namedParametersString += "{"
68107 } else {
69108 namedParametersString += ", "
70109 }
71- namedParametersString += fmt .Sprintf ("\" %s\" : %s" , parameter .Name , quoteWhenIsNotJson (parameter .Value ))
110+
111+ if paramValue == "true" || paramValue == "false" {
112+ namedParametersString += fmt .Sprintf ("\" %s\" : %s" , parameter .Name , paramValue )
113+ } else {
114+ namedParametersString += fmt .Sprintf ("\" %s\" : %s" , parameter .Name , quoteWhenIsNotJson (paramValue ))
115+ }
72116 }
73117 }
74118 if len (namedParametersString ) > 0 {
@@ -84,7 +128,7 @@ func CreateEslintConfig(configuration []domain.PatternConfiguration) string {
84128 result += " "
85129
86130 if parametersString == "" {
87- result += fmt .Sprintf (`"%s": "error",` , rule )
131+ result += fmt .Sprintf (`"%s": [ "error"] ,` , rule )
88132 result += "\n "
89133 } else {
90134 result += fmt .Sprintf (`"%s": ["error", %s],` , rule , parametersString )
0 commit comments