From f8a795f524337486982689462bf6859deecdd863 Mon Sep 17 00:00:00 2001 From: cosmeak Date: Wed, 14 Jan 2026 09:58:06 +0100 Subject: [PATCH] fix: generator not creating directories before the file --- .gitignore | 1 + internal/generator/generator.go | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..89f9ac0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +out/ diff --git a/internal/generator/generator.go b/internal/generator/generator.go index da66f15..9d9e97b 100644 --- a/internal/generator/generator.go +++ b/internal/generator/generator.go @@ -3,6 +3,8 @@ package generator import ( "os" "path" + "path/filepath" + "strings" ) // todo: transform this to use concurrency @@ -13,7 +15,7 @@ func Generate(namespace string, features []Feature, outputDirectory string) erro return err } - path := path.Join(outputDirectory, namespace, file.Path) + path := path.Join(outputDirectory, namespace, strings.ReplaceAll(file.Path, "%namespace%",namespace)) if err := writeFile(path, file.Content); err != nil { return err } @@ -22,6 +24,10 @@ func Generate(namespace string, features []Feature, outputDirectory string) erro } func writeFile(path string, content []byte) error { + if err := os.MkdirAll(filepath.Dir(path), 0o755); err != nil { + return err + } + file, err := os.Create(path) if err != nil { return err -- 2.51.2