summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--commands/config.go5
-rw-r--r--modules/module.go13
2 files changed, 18 insertions, 0 deletions
diff --git a/commands/config.go b/commands/config.go
index 56692651c..2b2920cdd 100644
--- a/commands/config.go
+++ b/commands/config.go
@@ -21,6 +21,7 @@ import (
"regexp"
"sort"
"strings"
+ "time"
"github.com/gohugoio/hugo/common/maps"
@@ -146,6 +147,7 @@ func (m *modMounts) MarshalJSON() ([]byte, error) {
return json.Marshal(&struct {
Path string `json:"path"`
Version string `json:"version"`
+ Time *time.Time `json:"time"`
Owner string `json:"owner"`
Dir string `json:"dir"`
Meta map[string]interface{} `json:"meta"`
@@ -155,6 +157,7 @@ func (m *modMounts) MarshalJSON() ([]byte, error) {
}{
Path: m.m.Path(),
Version: m.m.Version(),
+ Time: m.m.Time(),
Owner: ownerPath,
Dir: m.m.Dir(),
Meta: config.Params,
@@ -166,12 +169,14 @@ func (m *modMounts) MarshalJSON() ([]byte, error) {
return json.Marshal(&struct {
Path string `json:"path"`
Version string `json:"version"`
+ Time *time.Time `json:"time"`
Owner string `json:"owner"`
Dir string `json:"dir"`
Mounts []modMount `json:"mounts"`
}{
Path: m.m.Path(),
Version: m.m.Version(),
+ Time: m.m.Time(),
Owner: ownerPath,
Dir: m.m.Dir(),
Mounts: mounts,
diff --git a/modules/module.go b/modules/module.go
index c3343c820..a6feaab73 100644
--- a/modules/module.go
+++ b/modules/module.go
@@ -17,6 +17,8 @@
package modules
import (
+ "time"
+
"github.com/gohugoio/hugo/config"
)
@@ -65,6 +67,9 @@ type Module interface {
// The module version.
Version() string
+ // Time version was created.
+ Time() *time.Time
+
// Whether this module's dir is a watch candidate.
Watch() bool
}
@@ -154,6 +159,14 @@ func (m *moduleAdapter) Version() string {
return m.gomod.Version
}
+func (m *moduleAdapter) Time() *time.Time {
+ if !m.IsGoMod() || m.gomod.Time == nil {
+ return nil
+ }
+
+ return m.gomod.Time
+}
+
func (m *moduleAdapter) Watch() bool {
if m.Owner() == nil {
// Main project