github.com/supabase/cli@v1.168.1/internal/unlink/unlink.go (about) 1 package unlink 2 3 import ( 4 "context" 5 "fmt" 6 "os" 7 8 "github.com/go-errors/errors" 9 "github.com/spf13/afero" 10 "github.com/supabase/cli/internal/utils" 11 "github.com/supabase/cli/internal/utils/credentials" 12 "github.com/supabase/cli/internal/utils/flags" 13 "github.com/zalando/go-keyring" 14 ) 15 16 func Run(ctx context.Context, fsys afero.Fs) error { 17 projectRef, err := flags.LoadProjectRef(fsys) 18 if err != nil { 19 return err 20 } 21 22 fmt.Fprintln(os.Stderr, "Unlinking project:", projectRef) 23 // Remove temp directory 24 if err := fsys.RemoveAll(utils.TempDir); err != nil { 25 return errors.Errorf("failed to remove temp directory: %w", err) 26 } 27 // Remove linked credentials 28 if err := credentials.Delete(projectRef); err != nil && 29 !errors.Is(err, credentials.ErrNotSupported) && 30 !errors.Is(err, keyring.ErrNotFound) { 31 return err 32 } 33 34 fmt.Fprintln(os.Stdout, "Finished "+utils.Aqua("supabase unlink")+".") 35 return nil 36 }