So it at least is possible to do a `hugo mod clean --all` if the cache is in a funky state.
// 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
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 {