mukan-ignite/ignite/pkg/xembed/xembed.go
Mukan Erkin Törük 26b204bd04
Some checks are pending
Docs Deploy / build_and_deploy (push) Waiting to run
Generate Docs / cli (push) Waiting to run
Generate Config Doc / cli (push) Waiting to run
Go formatting / go-formatting (push) Waiting to run
Check links / markdown-link-check (push) Waiting to run
Integration / pre-test (push) Waiting to run
Integration / test on (push) Blocked by required conditions
Integration / status (push) Blocked by required conditions
Lint / Lint Go code (push) Waiting to run
Test / test (ubuntu-latest) (push) Waiting to run
feat: fork Ignite CLI v29 as Mukan Ignite — remove cosmos-sdk restrictions
2026-05-11 03:31:37 +03:00

39 lines
816 B
Go

package xembed
import (
"embed"
"io/fs"
"path/filepath"
)
// FileList list all files into an embed.FS in a provider path.
func FileList(efs embed.FS, path string) ([]string, error) {
return fileList(efs, path, path)
}
func fileList(efs embed.FS, path, currentDir string) ([]string, error) {
dir, err := fs.ReadDir(efs, currentDir)
if err != nil {
return nil, err
}
files := make([]string, 0)
for _, f := range dir {
if !f.IsDir() {
relPath, err := filepath.Rel(path, filepath.Join(currentDir, f.Name()))
if err != nil {
return nil, err
}
files = append(files, relPath)
continue
}
newDir := filepath.Join(currentDir, f.Name())
dirFiles, err := fileList(efs, path, newDir)
if err != nil {
return nil, err
}
files = append(files, dirFiles...)
}
return files, nil
}