Skip to content

Commit

Permalink
modules: Improve console output on hugo mod init
Browse files Browse the repository at this point in the history
Replace some of the stderr output from the Go command to match the Hugo commands needed:

```
go: creating new go.mod: module github.com/bep/foo
hugo: to add module requirements and sums:
hugo mod tidy
```

See #11458
  • Loading branch information
bep committed Sep 19, 2024
1 parent e363964 commit 22a9f3f
Showing 1 changed file with 19 additions and 1 deletion.
20 changes: 19 additions & 1 deletion modules/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -633,7 +633,7 @@ func (c *Client) runGo(

argsv := collections.StringSliceToInterfaceSlice(args)
argsv = append(argsv, hexec.WithEnviron(c.environ))
argsv = append(argsv, hexec.WithStderr(io.MultiWriter(stderr, os.Stderr)))
argsv = append(argsv, hexec.WithStderr(goOutputReplacerWriter{w: io.MultiWriter(stderr, os.Stderr)}))
argsv = append(argsv, hexec.WithStdout(stdout))
argsv = append(argsv, hexec.WithDir(c.ccfg.WorkingDir))
argsv = append(argsv, hexec.WithContext(ctx))
Expand Down Expand Up @@ -679,6 +679,24 @@ If you then run 'hugo mod graph' it should resolve itself to the most recent ver
return nil
}

var goOutputReplacer = strings.NewReplacer(
"go: to add module requirements and sums:", "hugo: to add module requirements and sums:",
"go mod tidy", "hugo mod tidy",
)

type goOutputReplacerWriter struct {
w io.Writer
}

func (w goOutputReplacerWriter) Write(p []byte) (n int, err error) {
s := goOutputReplacer.Replace(string(p))
_, err = w.w.Write([]byte(s))
if err != nil {
return 0, err
}
return len(p), nil
}

func (c *Client) tidy(mods Modules, goModOnly bool) error {
isGoMod := make(map[string]bool)
for _, m := range mods {
Expand Down

0 comments on commit 22a9f3f

Please sign in to comment.