diff --git a/LICENSE b/LICENSE index 1f52d50..dac0891 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2024 gnoswap-labs +Copyright (c) 2024 gnolang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index caa5f76..bc6f9b7 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Advance Linter for go-like grammar languages. -![GitHub Workflow Status](https://img.shields.io/github/workflow/status/gnoswap-labs/tlin/CI?label=build) +![GitHub Workflow Status](https://img.shields.io/github/workflow/status/gnolang/tlin/CI?label=build) ![License](https://img.shields.io/badge/License-MIT-blue.svg) ## Introduction @@ -31,7 +31,7 @@ To install tlin CLI, follow these steps: 1. Clone the repository ```bash -git clone https://github.com/gnoswap-labs/tlin +git clone https://github.com/gnolang/tlin ``` 2. Move to the cloned directory diff --git a/cmd/tlin/main.go b/cmd/tlin/main.go index 1033e87..03c6ec8 100644 --- a/cmd/tlin/main.go +++ b/cmd/tlin/main.go @@ -13,12 +13,12 @@ import ( "strings" "time" - "github.com/gnoswap-labs/tlin/formatter" - "github.com/gnoswap-labs/tlin/internal" - "github.com/gnoswap-labs/tlin/internal/analysis/cfg" - "github.com/gnoswap-labs/tlin/internal/fixer" - tt "github.com/gnoswap-labs/tlin/internal/types" - "github.com/gnoswap-labs/tlin/lint" + "github.com/gnolang/tlin/formatter" + "github.com/gnolang/tlin/internal" + "github.com/gnolang/tlin/internal/analysis/cfg" + "github.com/gnolang/tlin/internal/fixer" + tt "github.com/gnolang/tlin/internal/types" + "github.com/gnolang/tlin/lint" "go.uber.org/zap" ) @@ -50,7 +50,7 @@ func main() { ctx, cancel := context.WithTimeout(context.Background(), config.Timeout) defer cancel() - engine, err := internal.NewEngine(".", nil) + engine, err := lint.New(".", nil) if err != nil { logger.Fatal("Failed to initialize lint engine", zap.Error(err)) } diff --git a/cmd/tlin/main_test.go b/cmd/tlin/main_test.go index 4ff29dc..402b0e0 100644 --- a/cmd/tlin/main_test.go +++ b/cmd/tlin/main_test.go @@ -14,7 +14,7 @@ import ( "testing" "time" - "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "go.uber.org/zap" diff --git a/formatter/builder.go b/formatter/builder.go index 8672d5d..05345f7 100644 --- a/formatter/builder.go +++ b/formatter/builder.go @@ -5,8 +5,8 @@ import ( "strings" "github.com/fatih/color" - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) // rule set diff --git a/formatter/cyclomatic_complexity.go b/formatter/cyclomatic_complexity.go index bc7e1ec..36778e6 100644 --- a/formatter/cyclomatic_complexity.go +++ b/formatter/cyclomatic_complexity.go @@ -4,8 +4,8 @@ import ( "fmt" "strings" - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type CyclomaticComplexityFormatter struct{} diff --git a/formatter/defers.go b/formatter/defers.go index c16e02c..5a21826 100644 --- a/formatter/defers.go +++ b/formatter/defers.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type DefersFormatter struct{} diff --git a/formatter/early_return.go b/formatter/early_return.go index cc28764..052fb29 100644 --- a/formatter/early_return.go +++ b/formatter/early_return.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type EarlyReturnOpportunityFormatter struct{} diff --git a/formatter/format_emit.go b/formatter/format_emit.go index f834a22..d0b8fe8 100644 --- a/formatter/format_emit.go +++ b/formatter/format_emit.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type EmitFormatFormatter struct{} diff --git a/formatter/formatter_test.go b/formatter/formatter_test.go index 2551b41..84579d5 100644 --- a/formatter/formatter_test.go +++ b/formatter/formatter_test.go @@ -4,8 +4,8 @@ import ( "go/token" "testing" - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" "github.com/stretchr/testify/assert" ) diff --git a/formatter/general.go b/formatter/general.go index d578d68..e28f71f 100644 --- a/formatter/general.go +++ b/formatter/general.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) // GeneralIssueFormatter is a formatter for general lint issues. diff --git a/formatter/missing_mod_pacakge.go b/formatter/missing_mod_pacakge.go index 14de322..d36b327 100644 --- a/formatter/missing_mod_pacakge.go +++ b/formatter/missing_mod_pacakge.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type MissingModPackageFormatter struct{} diff --git a/formatter/simplify_slice_expr.go b/formatter/simplify_slice_expr.go index 24ad60c..8b2961f 100644 --- a/formatter/simplify_slice_expr.go +++ b/formatter/simplify_slice_expr.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type SimplifySliceExpressionFormatter struct{} diff --git a/formatter/slice_bound.go b/formatter/slice_bound.go index b6a64f3..5872015 100644 --- a/formatter/slice_bound.go +++ b/formatter/slice_bound.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type SliceBoundsCheckFormatter struct{} diff --git a/formatter/unnecessary_type_conv.go b/formatter/unnecessary_type_conv.go index 49ded7a..b69df3f 100644 --- a/formatter/unnecessary_type_conv.go +++ b/formatter/unnecessary_type_conv.go @@ -1,8 +1,8 @@ package formatter import ( - "github.com/gnoswap-labs/tlin/internal" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + tt "github.com/gnolang/tlin/internal/types" ) type UnnecessaryTypeConversionFormatter struct{} diff --git a/go.mod b/go.mod index 0a863ee..0dc5407 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/gnoswap-labs/tlin +module github.com/gnolang/tlin go 1.22.2 diff --git a/internal/engine.go b/internal/engine.go index 101947e..8eaf75a 100644 --- a/internal/engine.go +++ b/internal/engine.go @@ -7,8 +7,8 @@ import ( "strings" "sync" - "github.com/gnoswap-labs/tlin/internal/lints" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/lints" + tt "github.com/gnolang/tlin/internal/types" ) // Engine manages the linting process. diff --git a/internal/engine_test.go b/internal/engine_test.go index 441b300..a4f9811 100644 --- a/internal/engine_test.go +++ b/internal/engine_test.go @@ -7,7 +7,7 @@ import ( "strings" "testing" - "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/fixer/fixer.go b/internal/fixer/fixer.go index aa9d67d..c52599c 100644 --- a/internal/fixer/fixer.go +++ b/internal/fixer/fixer.go @@ -10,7 +10,7 @@ import ( "sort" "strings" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) type Fixer struct { diff --git a/internal/fixer/fixer_test.go b/internal/fixer/fixer_test.go index 1a3af4e..d9d934e 100644 --- a/internal/fixer/fixer_test.go +++ b/internal/fixer/fixer_test.go @@ -6,7 +6,7 @@ import ( "path/filepath" "testing" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) diff --git a/internal/lints/cyclomatic_complexity.go b/internal/lints/cyclomatic_complexity.go index 426b958..0d5bd8b 100644 --- a/internal/lints/cyclomatic_complexity.go +++ b/internal/lints/cyclomatic_complexity.go @@ -7,7 +7,7 @@ import ( "go/token" "github.com/fzipp/gocyclo" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectHighCyclomaticComplexity(filename string, threshold int) ([]tt.Issue, error) { diff --git a/internal/lints/default_golangci.go b/internal/lints/default_golangci.go index a8d7014..0c4716d 100644 --- a/internal/lints/default_golangci.go +++ b/internal/lints/default_golangci.go @@ -8,7 +8,7 @@ import ( "go/token" "os/exec" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func ParseFile(filename string, content []byte) (*ast.File, *token.FileSet, error) { diff --git a/internal/lints/defers.go b/internal/lints/defers.go index 62dd9e3..f4903b8 100644 --- a/internal/lints/defers.go +++ b/internal/lints/defers.go @@ -4,7 +4,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) type DeferChecker struct { diff --git a/internal/lints/detect_cycles.go b/internal/lints/detect_cycles.go index c97d07e..bbc3539 100644 --- a/internal/lints/detect_cycles.go +++ b/internal/lints/detect_cycles.go @@ -5,7 +5,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectCycle(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/early_return.go b/internal/lints/early_return.go index e2e2d5b..ff677d8 100644 --- a/internal/lints/early_return.go +++ b/internal/lints/early_return.go @@ -9,8 +9,8 @@ import ( "os" "strings" - "github.com/gnoswap-labs/tlin/internal/branch" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/branch" + tt "github.com/gnolang/tlin/internal/types" ) // DetectEarlyReturnOpportunities detects if-else chains that can be simplified using early returns. diff --git a/internal/lints/format_emit.go b/internal/lints/format_emit.go index 0ae337f..754b8b5 100644 --- a/internal/lints/format_emit.go +++ b/internal/lints/format_emit.go @@ -5,7 +5,7 @@ import ( "go/token" "strings" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectEmitFormat(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/gno_analyzer.go b/internal/lints/gno_analyzer.go index 91a5e40..a9c8d4f 100644 --- a/internal/lints/gno_analyzer.go +++ b/internal/lints/gno_analyzer.go @@ -8,7 +8,7 @@ import ( "os" "strings" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) const ( diff --git a/internal/lints/loop_allocation.go b/internal/lints/loop_allocation.go index c1fe49e..b20c2a8 100644 --- a/internal/lints/loop_allocation.go +++ b/internal/lints/loop_allocation.go @@ -4,7 +4,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectLoopAllocation(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/missing_package_mod.go b/internal/lints/missing_package_mod.go index ece1039..7dddff1 100644 --- a/internal/lints/missing_package_mod.go +++ b/internal/lints/missing_package_mod.go @@ -9,7 +9,7 @@ import ( "path/filepath" "strings" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectMissingModPackage(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/repeated_regex_compilation.go b/internal/lints/repeated_regex_compilation.go index f356364..afb39df 100644 --- a/internal/lints/repeated_regex_compilation.go +++ b/internal/lints/repeated_regex_compilation.go @@ -4,7 +4,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" "golang.org/x/tools/go/analysis" "golang.org/x/tools/go/packages" ) diff --git a/internal/lints/simplify_slice_expr.go b/internal/lints/simplify_slice_expr.go index 5778400..87043c5 100644 --- a/internal/lints/simplify_slice_expr.go +++ b/internal/lints/simplify_slice_expr.go @@ -5,7 +5,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectUnnecessarySliceLength(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/slice_bound.go b/internal/lints/slice_bound.go index 592a25d..1d5199d 100644 --- a/internal/lints/slice_bound.go +++ b/internal/lints/slice_bound.go @@ -5,7 +5,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) // TODO: Make more precisely. diff --git a/internal/lints/unncessary_type_conversion.go b/internal/lints/unncessary_type_conversion.go index 8e56223..ede12ab 100644 --- a/internal/lints/unncessary_type_conversion.go +++ b/internal/lints/unncessary_type_conversion.go @@ -7,7 +7,7 @@ import ( "go/token" "go/types" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) func DetectUnnecessaryConversions(filename string, node *ast.File, fset *token.FileSet) ([]tt.Issue, error) { diff --git a/internal/lints/useless_break.go b/internal/lints/useless_break.go index e5e5be7..665f3d5 100644 --- a/internal/lints/useless_break.go +++ b/internal/lints/useless_break.go @@ -4,7 +4,7 @@ import ( "go/ast" "go/token" - tt "github.com/gnoswap-labs/tlin/internal/types" + tt "github.com/gnolang/tlin/internal/types" ) // DetectUselessBreak detects useless break statements in switch or select statements. diff --git a/internal/rule_set.go b/internal/rule_set.go index 6a0738b..b30f06b 100644 --- a/internal/rule_set.go +++ b/internal/rule_set.go @@ -4,8 +4,8 @@ import ( "go/ast" "go/token" - "github.com/gnoswap-labs/tlin/internal/lints" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/lints" + tt "github.com/gnolang/tlin/internal/types" ) /* diff --git a/lint/lint.go b/lint/lint.go index c18a965..95ff772 100644 --- a/lint/lint.go +++ b/lint/lint.go @@ -6,8 +6,9 @@ import ( "os" "path/filepath" - "github.com/gnoswap-labs/tlin/internal/lints" - tt "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal" + "github.com/gnolang/tlin/internal/lints" + tt "github.com/gnolang/tlin/internal/types" "go.uber.org/zap" ) @@ -17,6 +18,11 @@ type LintEngine interface { IgnoreRule(rule string) } +// export the function NewEngine to be used in other packages +func New(rootDir string, source []byte) (*internal.Engine, error) { + return internal.NewEngine(rootDir, source) +} + func ProcessSources(ctx context.Context, logger *zap.Logger, engine LintEngine, sources [][]byte, processor func(LintEngine, []byte) ([]tt.Issue, error)) ([]tt.Issue, error) { var allIssues []tt.Issue for i, source := range sources { diff --git a/lint/lint_test.go b/lint/lint_test.go index d393c2b..86d1081 100644 --- a/lint/lint_test.go +++ b/lint/lint_test.go @@ -7,7 +7,7 @@ import ( "path/filepath" "testing" - "github.com/gnoswap-labs/tlin/internal/types" + "github.com/gnolang/tlin/internal/types" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "go.uber.org/zap"