summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-07-19 10:28:56 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2023-07-19 19:50:37 +0200
commit7ae62f4aa384a734faafe2a0918d7a6bc029f0b7 (patch)
tree2e877d6e39abf53eb9013bbc214882c03bc81bf8 /modules
parentf1a061e9ed6d9fffab5db9ae693e23ebe3b0cd19 (diff)
Create hugo_stats.json if it's mounted but does not exists
A common pattern for Tailwind 3 is to mount that file to get it on the server watch list. A common pattern is also to add hugo_stats.json to .gitignore. This has meant that the first time you start the server (no hugo_stats.json), it just doesn't work as expected. Fixes #11264
Diffstat (limited to 'modules')
-rw-r--r--modules/collect.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/modules/collect.go b/modules/collect.go
index 0c578b5db..e47563ab7 100644
--- a/modules/collect.go
+++ b/modules/collect.go
@@ -664,7 +664,21 @@ func (c *collector) normalizeMounts(owner *moduleAdapter, mounts []Mount) ([]Mou
// Verify that Source exists
_, err := c.fs.Stat(sourceDir)
if err != nil {
- continue
+ if strings.HasSuffix(sourceDir, files.FilenameHugoStatsJSON) {
+ // A common pattern for Tailwind 3 is to mount that file to get it on the server watch list.
+
+ // A common pattern is also to add hugo_stats.json to .gitignore.
+
+ // Create an empty file.
+ f, err := c.fs.Create(sourceDir)
+ if err != nil {
+ return nil, fmt.Errorf("%s: %q", errMsg, err)
+ }
+ f.Close()
+ } else {
+ continue
+ }
+
}
// Verify that target points to one of the predefined component dirs