From 295c0911d2e70ea68d424aebf054204481fe7d99 Mon Sep 17 00:00:00 2001 From: Yancharuk Alexander Date: Sat, 19 Sep 2026 13:44:43 +0300 Subject: [PATCH] chore: Small cleanups --- internal/app/generate.go | 33 +++++++++++---------------------- internal/app/init.go | 15 +++++++-------- 2 files changed, 18 insertions(+), 30 deletions(-) diff --git a/internal/app/generate.go b/internal/app/generate.go index 11b8a86..9bd97ad 100644 --- a/internal/app/generate.go +++ b/internal/app/generate.go @@ -2,6 +2,7 @@ package app import ( "bytes" + "fmt" "os" "strings" "text/template" @@ -16,9 +17,6 @@ const ( // generate service code from templates. func generate(c *config.Conf) error { - var err error - var tt tps - vars := map[string]any{ "GoModule": c.ModuleName, "Name": c.Name, @@ -33,7 +31,7 @@ func generate(c *config.Conf) error { "upper": strings.ToUpper, } - tt, err = templates(c) + tt, err := templates(c) if err != nil { return err } @@ -52,7 +50,7 @@ func createDir(d string) error { return nil } - if err := os.MkdirAll(d, os.FileMode(dirStrictMode)); err != nil { + if err := os.MkdirAll(d, dirStrictMode); err != nil { return err } @@ -60,32 +58,23 @@ func createDir(d string) error { } func write(t tp, fn template.FuncMap, vars map[string]any) error { - var err error - var f *os.File - var tpl *template.Template - - if err = createDir(t.dir); err != nil { - return err - } - - tpl, err = template.New(t.file).Funcs(fn).Parse(t.src) - if err != nil { + if err := createDir(t.dir); err != nil { return err } - f, err = os.OpenFile(t.file, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.FileMode(fileStrictMode)) + tpl, err := template.New(t.file).Funcs(fn).Parse(t.src) if err != nil { return err } - defer func(f *os.File) { - _ = f.Close() - }(f) - // For atomic operation write to buffer at first. var buf bytes.Buffer if err = tpl.Execute(&buf, vars); err != nil { - return err + return fmt.Errorf("execute %s: %w", t.file, err) } - return os.WriteFile(t.file, buf.Bytes(), os.FileMode(fileStrictMode)) + if err = os.WriteFile(t.file, buf.Bytes(), fileStrictMode); err != nil { + return fmt.Errorf("write %s: %w", t.file, err) + } + + return nil } diff --git a/internal/app/init.go b/internal/app/init.go index 9786228..e8a5a0d 100644 --- a/internal/app/init.go +++ b/internal/app/init.go @@ -48,10 +48,9 @@ var ( ) func templates(c *config.Conf) (tps, error) { - var err error tt := make(tps) - tt, err = sources(tt, commonFS, "templates/common") + tt, err := sources(tt, commonFS, "templates/common") if err != nil { return nil, err } @@ -66,16 +65,16 @@ func templates(c *config.Conf) (tps, error) { return tt, nil } -func sources(tps tps, f embed.FS, trimPath string) (tps, error) { +func sources(tt tps, f embed.FS, trimPath string) (tps, error) { sfs, err := fs.Sub(f, trimPath) if err != nil { return nil, err } - return load(tps, sfs) + return load(tt, sfs) } -func load(tps tps, rfs fs.FS) (tps, error) { +func load(tt tps, rfs fs.FS) (tps, error) { err := fs.WalkDir(rfs, ".", func(p string, d fs.DirEntry, err error) error { if err != nil { return err @@ -90,7 +89,7 @@ func load(tps tps, rfs fs.FS) (tps, error) { return fmt.Errorf("read %s: %w", p, rErr) } - out := transformName(p) + out := filepath.FromSlash(transformName(p)) t := tp{ dir: filepath.Dir(out), @@ -98,7 +97,7 @@ func load(tps tps, rfs fs.FS) (tps, error) { src: string(b), } - tps[out] = t + tt[out] = t return nil }) @@ -106,5 +105,5 @@ func load(tps tps, rfs fs.FS) (tps, error) { return nil, err } - return tps, nil + return tt, nil }