summaryrefslogtreecommitdiffstats
path: root/resources
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-09 10:58:18 +0200
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2021-06-14 17:00:32 +0200
commitd392893cd73dc00c927f342778f6dca9628d328e (patch)
treee2ea3eec09f36b7122ecdbc498c3c130e240e85c /resources
parenta886dd53b80322e1edf924f2ede4d4ea037c5baf (diff)
Misc config loading fixes
The main motivation behind this is simplicity and correctnes, but the new small config library is also faster: ``` BenchmarkDefaultConfigProvider/Viper-16 252418 4546 ns/op 2720 B/op 30 allocs/op BenchmarkDefaultConfigProvider/Custom-16 450756 2651 ns/op 1008 B/op 6 allocs/op ``` Fixes #8633 Fixes #8618 Fixes #8630 Updates #8591 Closes #6680 Closes #5192
Diffstat (limited to 'resources')
-rw-r--r--resources/page/pagemeta/page_frontmatter_test.go13
-rw-r--r--resources/page/pagination_test.go4
-rw-r--r--resources/page/testhelpers_test.go4
-rw-r--r--resources/resource_metadata.go2
-rw-r--r--resources/resource_transformers/htesting/testhelpers.go4
-rw-r--r--resources/resource_transformers/js/options.go7
-rw-r--r--resources/testhelpers_test.go6
7 files changed, 20 insertions, 20 deletions
diff --git a/resources/page/pagemeta/page_frontmatter_test.go b/resources/page/pagemeta/page_frontmatter_test.go
index 7c4c77a91..6e3833b0f 100644
--- a/resources/page/pagemeta/page_frontmatter_test.go
+++ b/resources/page/pagemeta/page_frontmatter_test.go
@@ -18,8 +18,9 @@ import (
"testing"
"time"
+ "github.com/gohugoio/hugo/config"
+
"github.com/gohugoio/hugo/resources/resource"
- "github.com/spf13/viper"
qt "github.com/frankban/quicktest"
)
@@ -72,7 +73,7 @@ func newTestFd() *FrontMatterDescriptor {
func TestFrontMatterNewConfig(t *testing.T) {
c := qt.New(t)
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("frontmatter", map[string]interface{}{
"date": []string{"publishDate", "LastMod"},
@@ -89,7 +90,7 @@ func TestFrontMatterNewConfig(t *testing.T) {
c.Assert(fc.publishDate, qt.DeepEquals, []string{"date"})
// Default
- cfg = viper.New()
+ cfg = config.New()
fc, err = newFrontmatterConfig(cfg)
c.Assert(err, qt.IsNil)
c.Assert(fc.date, qt.DeepEquals, []string{"date", "publishdate", "pubdate", "published", "lastmod", "modified"})
@@ -117,7 +118,7 @@ func TestFrontMatterDatesHandlers(t *testing.T) {
for _, handlerID := range []string{":filename", ":fileModTime", ":git"} {
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("frontmatter", map[string]interface{}{
"date": []string{handlerID, "date"},
@@ -157,7 +158,7 @@ func TestFrontMatterDatesCustomConfig(t *testing.T) {
c := qt.New(t)
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("frontmatter", map[string]interface{}{
"date": []string{"mydate"},
"lastmod": []string{"publishdate"},
@@ -204,7 +205,7 @@ func TestFrontMatterDatesDefaultKeyword(t *testing.T) {
c := qt.New(t)
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("frontmatter", map[string]interface{}{
"date": []string{"mydate", ":default"},
diff --git a/resources/page/pagination_test.go b/resources/page/pagination_test.go
index 8d4f857d7..07ad6233b 100644
--- a/resources/page/pagination_test.go
+++ b/resources/page/pagination_test.go
@@ -18,7 +18,7 @@ import (
"html/template"
"testing"
- "github.com/spf13/viper"
+ "github.com/gohugoio/hugo/config"
qt "github.com/frankban/quicktest"
"github.com/gohugoio/hugo/output"
@@ -196,7 +196,7 @@ func doTestPagerNoPages(t *testing.T, paginator *Paginator) {
func TestPaginationURLFactory(t *testing.T) {
t.Parallel()
c := qt.New(t)
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("paginatePath", "zoo")
for _, uglyURLs := range []bool{false, true} {
diff --git a/resources/page/testhelpers_test.go b/resources/page/testhelpers_test.go
index 187930461..1a0a6586a 100644
--- a/resources/page/testhelpers_test.go
+++ b/resources/page/testhelpers_test.go
@@ -29,7 +29,7 @@ import (
"github.com/bep/gitmap"
"github.com/gohugoio/hugo/helpers"
"github.com/gohugoio/hugo/resources/resource"
- "github.com/spf13/viper"
+
"github.com/gohugoio/hugo/navigation"
@@ -69,7 +69,7 @@ func newTestPageWithFile(filename string) *testPage {
}
func newTestPathSpec() *helpers.PathSpec {
- return newTestPathSpecFor(viper.New())
+ return newTestPathSpecFor(config.New())
}
func newTestPathSpecFor(cfg config.Provider) *helpers.PathSpec {
diff --git a/resources/resource_metadata.go b/resources/resource_metadata.go
index a0c232c67..0dd0945e3 100644
--- a/resources/resource_metadata.go
+++ b/resources/resource_metadata.go
@@ -130,7 +130,7 @@ func AssignMetadata(metadata []map[string]interface{}, resources ...resource.Res
if found {
m := maps.ToStringMap(params)
// Needed for case insensitive fetching of params values
- maps.ToLower(m)
+ maps.PrepareParams(m)
ma.updateParams(m)
}
}
diff --git a/resources/resource_transformers/htesting/testhelpers.go b/resources/resource_transformers/htesting/testhelpers.go
index 8eacf7da4..21333eccb 100644
--- a/resources/resource_transformers/htesting/testhelpers.go
+++ b/resources/resource_transformers/htesting/testhelpers.go
@@ -17,17 +17,17 @@ import (
"path/filepath"
"github.com/gohugoio/hugo/cache/filecache"
+ "github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/helpers"
"github.com/gohugoio/hugo/hugofs"
"github.com/gohugoio/hugo/media"
"github.com/gohugoio/hugo/output"
"github.com/gohugoio/hugo/resources"
"github.com/spf13/afero"
- "github.com/spf13/viper"
)
func NewTestResourceSpec() (*resources.Spec, error) {
- cfg := viper.New()
+ cfg := config.New()
cfg.Set("baseURL", "https://example.org")
cfg.Set("publishDir", "public")
diff --git a/resources/resource_transformers/js/options.go b/resources/resource_transformers/js/options.go
index ceed22f34..84f571f17 100644
--- a/resources/resource_transformers/js/options.go
+++ b/resources/resource_transformers/js/options.go
@@ -20,9 +20,9 @@ import (
"path/filepath"
"strings"
- "github.com/spf13/afero"
-
+ "github.com/gohugoio/hugo/common/maps"
"github.com/pkg/errors"
+ "github.com/spf13/afero"
"github.com/evanw/esbuild/pkg/api"
@@ -30,7 +30,6 @@ import (
"github.com/gohugoio/hugo/hugofs"
"github.com/gohugoio/hugo/media"
"github.com/mitchellh/mapstructure"
- "github.com/spf13/cast"
)
const (
@@ -348,7 +347,7 @@ func toBuildOptions(opts Options) (buildOptions api.BuildOptions, err error) {
var defines map[string]string
if opts.Defines != nil {
- defines = cast.ToStringMapString(opts.Defines)
+ defines = maps.ToStringMapString(opts.Defines)
}
// By default we only need to specify outDir and no outFile
diff --git a/resources/testhelpers_test.go b/resources/testhelpers_test.go
index 32e4213ea..12dc8efe8 100644
--- a/resources/testhelpers_test.go
+++ b/resources/testhelpers_test.go
@@ -10,6 +10,7 @@ import (
"strings"
"testing"
+ "github.com/gohugoio/hugo/config"
"github.com/gohugoio/hugo/langs"
"github.com/gohugoio/hugo/modules"
@@ -22,7 +23,6 @@ import (
"github.com/gohugoio/hugo/resources/page"
"github.com/gohugoio/hugo/resources/resource"
"github.com/spf13/afero"
- "github.com/spf13/viper"
)
type specDescriptor struct {
@@ -31,8 +31,8 @@ type specDescriptor struct {
fs afero.Fs
}
-func createTestCfg() *viper.Viper {
- cfg := viper.New()
+func createTestCfg() config.Provider {
+ cfg := config.New()
cfg.Set("resourceDir", "resources")
cfg.Set("contentDir", "content")
cfg.Set("dataDir", "data")