in cli/util/file.go [27:49]
func WalkTerraformDirs(topLevelPath string) ([]string, error) {
var tfDirs []string
err := filepath.Walk(topLevelPath, func(path string, info fs.FileInfo, err error) error {
if err != nil {
return fmt.Errorf("failure in accessing the path %q: %w", path, err)
}
if info.IsDir() && (strings.HasPrefix(info.Name(), tfInternalDirPrefix) || skipDiscoverDirs[info.Name()]) {
return filepath.SkipDir
}
if !info.IsDir() && strings.HasSuffix(info.Name(), ".tf") {
tfDirs = append(tfDirs, filepath.Dir(path))
return filepath.SkipDir
}
return nil
})
if err != nil {
return nil, fmt.Errorf("error walking the path %q: %w", topLevelPath, err)
}
return tfDirs, nil
}