Skip to content

Commit

Permalink
chore: remove internal directory
Browse files Browse the repository at this point in the history
Signed-off-by: Brian McGee <[email protected]>
  • Loading branch information
brianmcgee committed Feb 15, 2024
1 parent 0fbae06 commit d4ab015
Show file tree
Hide file tree
Showing 18 changed files with 83 additions and 61 deletions.
4 changes: 2 additions & 2 deletions internal/cache/cache.go → cache/cache.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"os"
"time"

"git.numtide.com/numtide/treefmt/internal/walk"
"git.numtide.com/numtide/treefmt/format"
"git.numtide.com/numtide/treefmt/walk"

"git.numtide.com/numtide/treefmt/internal/format"
"github.com/charmbracelet/log"

"github.com/adrg/xdg"
Expand Down
2 changes: 1 addition & 1 deletion internal/cli/cli.go → cli/cli.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package cli

import (
"git.numtide.com/numtide/treefmt/internal/walk"
"git.numtide.com/numtide/treefmt/walk"
"github.com/alecthomas/kong"
"github.com/charmbracelet/log"
)
Expand Down
20 changes: 9 additions & 11 deletions internal/cli/format.go → cli/format.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,10 @@ import (
"syscall"
"time"

"git.numtide.com/numtide/treefmt/internal/walk"

"git.numtide.com/numtide/treefmt/internal/config"

"git.numtide.com/numtide/treefmt/internal/cache"
"git.numtide.com/numtide/treefmt/internal/format"
"git.numtide.com/numtide/treefmt/cache"
"git.numtide.com/numtide/treefmt/config"
format2 "git.numtide.com/numtide/treefmt/format"
"git.numtide.com/numtide/treefmt/walk"

"github.com/charmbracelet/log"
"golang.org/x/sync/errgroup"
Expand Down Expand Up @@ -47,7 +45,7 @@ func (f *Format) Run() error {
return fmt.Errorf("%w: failed to read config file", err)
}

globalExcludes, err := format.CompileGlobs(cfg.Global.Excludes)
globalExcludes, err := format2.CompileGlobs(cfg.Global.Excludes)

// create optional formatter filter set
formatterSet := make(map[string]bool)
Expand All @@ -68,7 +66,7 @@ func (f *Format) Run() error {
}
}

formatters := make(map[string]*format.Formatter)
formatters := make(map[string]*format2.Formatter)

// detect broken dependencies
for name, formatterCfg := range cfg.Formatters {
Expand Down Expand Up @@ -115,8 +113,8 @@ func (f *Format) Run() error {
continue
}

formatter, err := format.NewFormatter(name, formatterCfg, globalExcludes)
if errors.Is(err, format.ErrCommandNotFound) && Cli.AllowMissingFormatter {
formatter, err := format2.NewFormatter(name, formatterCfg, globalExcludes)
if errors.Is(err, format2.ErrCommandNotFound) && Cli.AllowMissingFormatter {
l.Debugf("formatter not found: %v", name)
continue
} else if err != nil {
Expand Down Expand Up @@ -147,7 +145,7 @@ func (f *Format) Run() error {
//
completedCh := make(chan string, 1024)

ctx = format.SetCompletedChannel(ctx, completedCh)
ctx = format2.SetCompletedChannel(ctx, completedCh)

//
eg, ctx := errgroup.WithContext(ctx)
Expand Down
105 changes: 64 additions & 41 deletions internal/cli/format_test.go → cli/format_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,15 @@ import (
"path/filepath"
"testing"

"git.numtide.com/numtide/treefmt/internal/config"
config2 "git.numtide.com/numtide/treefmt/config"
"git.numtide.com/numtide/treefmt/format"
"git.numtide.com/numtide/treefmt/test"

"git.numtide.com/numtide/treefmt/internal/test"
"github.com/go-git/go-billy/v5/osfs"
"github.com/go-git/go-git/v5"
"github.com/go-git/go-git/v5/plumbing/cache"
"github.com/go-git/go-git/v5/storage/filesystem"

"git.numtide.com/numtide/treefmt/internal/format"
"github.com/stretchr/testify/require"
)

Expand All @@ -26,8 +26,8 @@ func TestAllowMissingFormatter(t *testing.T) {
tempDir := t.TempDir()
configPath := tempDir + "/treefmt.toml"

test.WriteConfig(t, configPath, config.Config{
Formatters: map[string]*config.Formatter{
test.WriteConfig(t, configPath, config2.Config{
Formatters: map[string]*config2.Formatter{
"foo-fmt": {
Command: "foo-fmt",
},
Expand All @@ -47,8 +47,8 @@ func TestDependencyCycle(t *testing.T) {
tempDir := t.TempDir()
configPath := tempDir + "/treefmt.toml"

test.WriteConfig(t, configPath, config.Config{
Formatters: map[string]*config.Formatter{
test.WriteConfig(t, configPath, config2.Config{
Formatters: map[string]*config2.Formatter{
"a": {Command: "echo", Before: "b"},
"b": {Command: "echo", Before: "c"},
"c": {Command: "echo", Before: "a"},
Expand All @@ -68,8 +68,8 @@ func TestSpecifyingFormatters(t *testing.T) {
tempDir := test.TempExamples(t)
configPath := tempDir + "/treefmt.toml"

test.WriteConfig(t, configPath, config.Config{
Formatters: map[string]*config.Formatter{
test.WriteConfig(t, configPath, config2.Config{
Formatters: map[string]*config2.Formatter{
"elm": {
Command: "echo",
Includes: []string{"*.elm"},
Expand Down Expand Up @@ -117,8 +117,8 @@ func TestIncludesAndExcludes(t *testing.T) {
configPath := tempDir + "/echo.toml"

// test without any excludes
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand All @@ -129,23 +129,23 @@ func TestIncludesAndExcludes(t *testing.T) {
test.WriteConfig(t, configPath, cfg)
out, err := cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 29))
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))

// globally exclude nix files
cfg.Global.Excludes = []string{"*.nix"}

test.WriteConfig(t, configPath, cfg)
out, err = cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 28))
as.Contains(string(out), fmt.Sprintf("%d files changed", 29))

// add haskell files to the global exclude
cfg.Global.Excludes = []string{"*.nix", "*.hs"}

test.WriteConfig(t, configPath, cfg)
out, err = cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 22))
as.Contains(string(out), fmt.Sprintf("%d files changed", 23))

echo := cfg.Formatters["echo"]

Expand All @@ -155,15 +155,15 @@ func TestIncludesAndExcludes(t *testing.T) {
test.WriteConfig(t, configPath, cfg)
out, err = cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 20))
as.Contains(string(out), fmt.Sprintf("%d files changed", 21))

// remove go files from the echo formatter
echo.Excludes = []string{"*.py", "*.go"}

test.WriteConfig(t, configPath, cfg)
out, err = cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 19))
as.Contains(string(out), fmt.Sprintf("%d files changed", 20))

// adjust the includes for echo to only include elm files
echo.Includes = []string{"*.elm"}
Expand All @@ -189,8 +189,8 @@ func TestCache(t *testing.T) {
configPath := tempDir + "/echo.toml"

// test without any excludes
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand All @@ -201,11 +201,34 @@ func TestCache(t *testing.T) {
test.WriteConfig(t, configPath, cfg)
out, err := cmd(t, "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 29))
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))

out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), "0 files changed")

// clear cache
out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir, "-c")
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))

out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), "0 files changed")

// clear cache
out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir, "-c")
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))

out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir)
as.NoError(err)
as.Contains(string(out), "0 files changed")

// no cache
out, err = cmd(t, "--config-file", configPath, "--tree-root", tempDir, "--no-cache")
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))
}

func TestChangeWorkingDirectory(t *testing.T) {
Expand All @@ -224,8 +247,8 @@ func TestChangeWorkingDirectory(t *testing.T) {
configPath := tempDir + "/treefmt.toml"

// test without any excludes
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand All @@ -239,7 +262,7 @@ func TestChangeWorkingDirectory(t *testing.T) {
// this should fail if the working directory hasn't been changed first
out, err := cmd(t, "-C", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 29))
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))
}

func TestFailOnChange(t *testing.T) {
Expand All @@ -249,8 +272,8 @@ func TestFailOnChange(t *testing.T) {
configPath := tempDir + "/echo.toml"

// test without any excludes
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand Down Expand Up @@ -285,8 +308,8 @@ func TestBustCacheOnFormatterChange(t *testing.T) {
as.NoError(os.Setenv("PATH", binPath+":"+os.Getenv("PATH")))

// start with 2 formatters
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"python": {
Command: "black",
Includes: []string{"*.py"},
Expand Down Expand Up @@ -330,7 +353,7 @@ func TestBustCacheOnFormatterChange(t *testing.T) {
as.Contains(string(out), "0 files changed")

// add go formatter
cfg.Formatters["go"] = &config.Formatter{
cfg.Formatters["go"] = &config2.Formatter{
Command: "gofmt",
Options: []string{"-w"},
Includes: []string{"*.go"},
Expand Down Expand Up @@ -380,8 +403,8 @@ func TestGitWorktree(t *testing.T) {
configPath := filepath.Join(tempDir, "/treefmt.toml")

// basic config
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand Down Expand Up @@ -416,16 +439,16 @@ func TestGitWorktree(t *testing.T) {
// add everything to the worktree
as.NoError(wt.AddGlob("."))
as.NoError(err)
run(29)
run(30)

// remove python directory
as.NoError(wt.RemoveGlob("python/*"))
run(26)
run(27)

// walk with filesystem instead of git
out, err := cmd(t, "-c", "--config-file", configPath, "--tree-root", tempDir, "--walk", "filesystem")
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 55))
as.Contains(string(out), fmt.Sprintf("%d files changed", 57))
}

func TestOrderingFormatters(t *testing.T) {
Expand All @@ -435,8 +458,8 @@ func TestOrderingFormatters(t *testing.T) {
configPath := path.Join(tempDir, "treefmt.toml")

// missing child
test.WriteConfig(t, configPath, config.Config{
Formatters: map[string]*config.Formatter{
test.WriteConfig(t, configPath, config2.Config{
Formatters: map[string]*config2.Formatter{
"hs-a": {
Command: "echo",
Includes: []string{"*.hs"},
Expand All @@ -449,8 +472,8 @@ func TestOrderingFormatters(t *testing.T) {
as.ErrorContains(err, "formatter hs-a is before hs-b but config for hs-b was not found")

// multiple roots
test.WriteConfig(t, configPath, config.Config{
Formatters: map[string]*config.Formatter{
test.WriteConfig(t, configPath, config2.Config{
Formatters: map[string]*config2.Formatter{
"hs-a": {
Command: "echo",
Includes: []string{"*.hs"},
Expand Down Expand Up @@ -501,8 +524,8 @@ func TestPathsArg(t *testing.T) {
as.NoError(os.Chdir(tempDir))

// basic config
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand All @@ -514,7 +537,7 @@ func TestPathsArg(t *testing.T) {
// without any path args
out, err := cmd(t, "-C", tempDir)
as.NoError(err)
as.Contains(string(out), fmt.Sprintf("%d files changed", 29))
as.Contains(string(out), fmt.Sprintf("%d files changed", 30))

// specify some explicit paths
out, err = cmd(t, "-C", tempDir, "-c", "elm/elm.json", "haskell/Nested/Foo.hs")
Expand Down Expand Up @@ -545,8 +568,8 @@ func TestStdIn(t *testing.T) {
as.NoError(os.Chdir(tempDir))

// basic config
cfg := config.Config{
Formatters: map[string]*config.Formatter{
cfg := config2.Config{
Formatters: map[string]*config2.Formatter{
"echo": {
Command: "echo",
Includes: []string{"*"},
Expand Down
3 changes: 2 additions & 1 deletion internal/cli/helpers_test.go → cli/helpers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import (
"path/filepath"
"testing"

"git.numtide.com/numtide/treefmt/internal/test"
"git.numtide.com/numtide/treefmt/test"

"github.com/alecthomas/kong"
"github.com/stretchr/testify/require"
)
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion internal/config/config_test.go → config/config_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
func TestReadConfigFile(t *testing.T) {
as := require.New(t)

cfg, err := ReadFile("../../test/treefmt.toml")
cfg, err := ReadFile("../test/examples/treefmt.toml")
as.NoError(err, "failed to read config file")

as.NotNil(cfg)
Expand Down
File renamed without changes.
File renamed without changes.
2 changes: 1 addition & 1 deletion internal/format/formatter.go → format/formatter.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
"os/exec"
"time"

"git.numtide.com/numtide/treefmt/internal/config"
"git.numtide.com/numtide/treefmt/config"

"github.com/charmbracelet/log"
"github.com/gobwas/glob"
Expand Down
File renamed without changes.
Loading

0 comments on commit d4ab015

Please sign in to comment.