aboutsummaryrefslogtreecommitdiffhomepage
path: root/hugofs
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <[email protected]>2020-09-09 22:31:43 +0200
committerBjørn Erik Pedersen <[email protected]>2020-09-13 20:55:29 +0200
commit85ba9bfffba9bfd0b095cb766f72700d4c211e31 (patch)
tree43b66efaafe4cb804234ca7273873ab949305799 /hugofs
parent9df60b62f9c4e36a269f0c6e9a69bee9dc691031 (diff)
downloadhugo-85ba9bfffba9bfd0b095cb766f72700d4c211e31.tar.gz
hugo-85ba9bfffba9bfd0b095cb766f72700d4c211e31.zip
Add "hugo mod npm pack"
This commit also introduces a convention where these common JS config files, including `package.hugo.json`, gets mounted into: ``` assets/_jsconfig ´`` These files mapped to their real filename will be added to the environment when running PostCSS, Babel etc., so you can do `process.env.HUGO_FILE_TAILWIND_CONFIG_JS` to resolve the real filename. But do note that `assets` is a composite/union filesystem, so if your config file is not meant to be overridden, name them something specific. This commit also adds adds `workDir/node_modules` to `NODE_PATH` and `HUGO_WORKDIR` to the env when running the JS tools above. Fixes #7644 Fixes #7656 Fixes #7675
Diffstat (limited to 'hugofs')
-rw-r--r--hugofs/files/classifier.go10
-rw-r--r--hugofs/rootmapping_fs.go3
-rw-r--r--hugofs/walk_test.go8
3 files changed, 10 insertions, 11 deletions
diff --git a/hugofs/files/classifier.go b/hugofs/files/classifier.go
index 5e26bbac0..35e416c8f 100644
--- a/hugofs/files/classifier.go
+++ b/hugofs/files/classifier.go
@@ -26,6 +26,13 @@ import (
"github.com/spf13/afero"
)
+const (
+ // The NPM package.json "template" file.
+ FilenamePackageHugoJSON = "package.hugo.json"
+ // The NPM package file.
+ FilenamePackageJSON = "package.json"
+)
+
var (
// This should be the only list of valid extensions for content files.
contentFileExtensions = []string{
@@ -163,9 +170,12 @@ const (
ComponentFolderI18n = "i18n"
FolderResources = "resources"
+ FolderJSConfig = "_jsconfig" // Mounted below /assets with postcss.config.js etc.
)
var (
+ JsConfigFolderMountPrefix = filepath.Join(ComponentFolderAssets, FolderJSConfig)
+
ComponentFolders = []string{
ComponentFolderArchetypes,
ComponentFolderStatic,
diff --git a/hugofs/rootmapping_fs.go b/hugofs/rootmapping_fs.go
index ea3ef003e..2c4f0df52 100644
--- a/hugofs/rootmapping_fs.go
+++ b/hugofs/rootmapping_fs.go
@@ -42,9 +42,6 @@ func NewRootMappingFs(fs afero.Fs, rms ...RootMapping) (*RootMappingFs, error) {
(&rm).clean()
fromBase := files.ResolveComponentFolder(rm.From)
- if fromBase == "" {
- panic("unrecognised component folder in" + rm.From)
- }
if len(rm.To) < 2 {
panic(fmt.Sprintf("invalid root mapping; from/to: %s/%s", rm.From, rm.To))
diff --git a/hugofs/walk_test.go b/hugofs/walk_test.go
index 0c08968c6..c38c6044f 100644
--- a/hugofs/walk_test.go
+++ b/hugofs/walk_test.go
@@ -21,8 +21,6 @@ import (
"strings"
"testing"
- "github.com/gohugoio/hugo/common/hugo"
-
"github.com/pkg/errors"
"github.com/gohugoio/hugo/htesting"
@@ -129,12 +127,6 @@ func TestWalkSymbolicLink(t *testing.T) {
})
t.Run("BasePath Fs", func(t *testing.T) {
- if hugo.GoMinorVersion() < 12 {
- // https://github.com/golang/go/issues/30520
- // This is fixed in Go 1.13 and in the latest Go 1.12
- t.Skip("skip this for Go <= 1.11 due to a bug in Go's stdlib")
-
- }
c := qt.New(t)
docsFs := afero.NewBasePathFs(fs, docsDir)