diff --git a/cmd/setup/cmd_repo.go b/cmd/setup/cmd_repo.go index b50ba06..f4b5a35 100644 --- a/cmd/setup/cmd_repo.go +++ b/cmd/setup/cmd_repo.go @@ -99,12 +99,12 @@ func detectProjectType(path string) string { if coreio.Local.IsFile(filepath.Join(path, "go.mod")) { return "go" } - if coreio.Local.IsFile(filepath.Join(path, "composer.json")) { - return "php" - } if coreio.Local.IsFile(filepath.Join(path, "package.json")) { return "node" } + if coreio.Local.IsFile(filepath.Join(path, "composer.json")) { + return "php" + } return "unknown" } diff --git a/cmd/setup/cmd_repo_test.go b/cmd/setup/cmd_repo_test.go index 8b971a6..ab2a493 100644 --- a/cmd/setup/cmd_repo_test.go +++ b/cmd/setup/cmd_repo_test.go @@ -20,3 +20,11 @@ func TestRunRepoSetup_CreatesCoreConfigs(t *testing.T) { require.NoErrorf(t, err, "expected %s to exist", path) } } + +func TestDetectProjectType_PrefersPackageOverComposer(t *testing.T) { + dir := t.TempDir() + require.NoError(t, os.WriteFile(filepath.Join(dir, "package.json"), []byte("{}\n"), 0o644)) + require.NoError(t, os.WriteFile(filepath.Join(dir, "composer.json"), []byte("{}\n"), 0o644)) + + require.Equal(t, "node", detectProjectType(dir)) +}