diff --git a/envs/local.go b/envs/local.go index 2eee8089..b687f7c8 100644 --- a/envs/local.go +++ b/envs/local.go @@ -48,7 +48,7 @@ func NewLocal(path string, debug bool) (*Local, error) { return nil, errors.WithStack(err) } return &Local{ - Dir: path, + Dir: guessProjectDir(path), Debug: debug, }, nil } @@ -283,3 +283,20 @@ func (l *Local) webServer() Envs { return env } + +func guessProjectDir(dir string) string { + for { + f, err := os.Stat(filepath.Join(dir, ".git")) + if err == nil && f.IsDir() { + return dir + } + + upDir := filepath.Dir(dir) + if upDir == dir || upDir == "." { + break + } + dir = upDir + } + + return "" +}
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: