feat: 允许解析生成文件,更新配置以支持 .gen.go 文件

This commit is contained in:
Rogee
2025-09-23 15:34:04 +08:00
parent 439456b6ad
commit c7a753887d

View File

@@ -6,6 +6,8 @@ import (
"os" "os"
"path/filepath" "path/filepath"
"strings" "strings"
log "github.com/sirupsen/logrus"
) )
// ParserConfig represents the configuration for the parser // ParserConfig represents the configuration for the parser
@@ -77,7 +79,7 @@ func NewParserConfig() *ParserConfig {
StrictMode: false, StrictMode: false,
DefaultMode: "basic", DefaultMode: "basic",
AllowTestFiles: false, AllowTestFiles: false,
AllowGenFiles: false, AllowGenFiles: true,
MaxFileSize: 10 * 1024 * 1024, // 10MB MaxFileSize: 10 * 1024 * 1024, // 10MB
Concurrency: 1, Concurrency: 1,
CacheEnabled: true, CacheEnabled: true,
@@ -115,12 +117,9 @@ func (c *ParserContext) ShouldIncludeFile(filePath string) bool {
} }
// Skip generated files if not allowed, but allow routes.gen.go and services.gen.go since they may contain providers // Skip generated files if not allowed, but allow routes.gen.go and services.gen.go since they may contain providers
if !c.Config.AllowGenFiles { if !c.Config.AllowGenFiles && strings.HasSuffix(filePath, ".gen.go") {
return false return false
} }
// if !c.Config.AllowGenFiles && strings.HasSuffix(filePath, ".gen.go") && !strings.HasSuffix(filePath, "routes.gen.go") && !strings.HasSuffix(filePath, "services.gen.go") {
// return false
// }
// Check file size // Check file size
if info, err := os.Stat(filePath); err == nil { if info, err := os.Stat(filePath); err == nil {
@@ -132,6 +131,7 @@ func (c *ParserContext) ShouldIncludeFile(filePath string) bool {
// TODO: Implement include/exclude pattern matching // TODO: Implement include/exclude pattern matching
// For now, include all Go files that pass the basic checks // For now, include all Go files that pass the basic checks
log.Debugf("Including file in parsing: %s", filePath)
return true return true
} }