From 13ad8408fc6b645b12898fb8053388fc4848dfbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Fri, 17 Sep 2021 17:16:34 +0200 Subject: [PATCH] commands: Make the error handling for the mod commands more lenient So it at least is possible to do a `hugo mod clean --all` if the cache is in a funky state. --- commands/commandeer.go | 5 ++++- commands/mod.go | 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/commands/commandeer.go b/commands/commandeer.go index 349838a7..7706360a 100644 --- a/commands/commandeer.go +++ b/commands/commandeer.go @@ -323,8 +323,11 @@ func (c *commandeer) loadConfig() error { // We should improve the error handling here, // but with hugo mod init and similar there is a chicken and egg situation // with modules already configured in config.toml, so ignore those errors. - if c.mustHaveConfigFile || !moduleNotFoundRe.MatchString(err.Error()) { + if c.mustHaveConfigFile || (c.failOnInitErr && !moduleNotFoundRe.MatchString(err.Error())) { return err + } else { + // Just make it a warning. + c.logger.Warnln(err) } } else if c.mustHaveConfigFile && len(configFiles) == 0 { return hugolib.ErrNoConfigFile diff --git a/commands/mod.go b/commands/mod.go index 0f8239a4..eb6b1a44 100644 --- a/commands/mod.go +++ b/commands/mod.go @@ -71,11 +71,12 @@ Also note that if you configure a positive maxAge for the "modules" file cache, if all { com, err := c.initConfig(false) - if err != nil && !moduleNotFoundRe.MatchString(err.Error()) { + if err != nil && com == nil { return err } - _, err = com.hugo().FileCaches.ModulesCache().Prune(true) + count, err := com.hugo().FileCaches.ModulesCache().Prune(true) + com.logger.Printf("Deleted %d files from module cache.", count) return err } return c.withModsClient(true, func(c *modules.Client) error {