mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-29 22:29:56 +02:00
js: Let ESBuild handle all imports from node_modules
This commit fixes some issues where modules in /assets share the same name as in node_modules. This was not intended, and with this commit the node_modules-components should be isolated. If you want to redefine something inside node_modules, use the `defines` option. Fixes #7948
This commit is contained in:
committed by
GitHub
parent
5e03f644a4
commit
78f227b664
@@ -267,7 +267,7 @@ func (s SourceFilesystems) IsI18n(filename string) bool {
|
||||
// It will return an empty string if the filename is not a member of a static filesystem.
|
||||
func (s SourceFilesystems) MakeStaticPathRelative(filename string) string {
|
||||
for _, staticFs := range s.Static {
|
||||
rel := staticFs.MakePathRelative(filename)
|
||||
rel, _ := staticFs.MakePathRelative(filename)
|
||||
if rel != "" {
|
||||
return rel
|
||||
}
|
||||
@@ -276,8 +276,7 @@ func (s SourceFilesystems) MakeStaticPathRelative(filename string) string {
|
||||
}
|
||||
|
||||
// MakePathRelative creates a relative path from the given filename.
|
||||
// It will return an empty string if the filename is not a member of this filesystem.
|
||||
func (d *SourceFilesystem) MakePathRelative(filename string) string {
|
||||
func (d *SourceFilesystem) MakePathRelative(filename string) (string, bool) {
|
||||
|
||||
for _, dir := range d.Dirs {
|
||||
meta := dir.(hugofs.FileMetaInfo).Meta()
|
||||
@@ -288,10 +287,10 @@ func (d *SourceFilesystem) MakePathRelative(filename string) string {
|
||||
if mp := meta.Path(); mp != "" {
|
||||
rel = filepath.Join(mp, rel)
|
||||
}
|
||||
return strings.TrimPrefix(rel, filePathSeparator)
|
||||
return strings.TrimPrefix(rel, filePathSeparator), true
|
||||
}
|
||||
}
|
||||
return ""
|
||||
return "", false
|
||||
}
|
||||
|
||||
func (d *SourceFilesystem) RealFilename(rel string) string {
|
||||
|
@@ -394,9 +394,14 @@ func TestMakePathRelative(t *testing.T) {
|
||||
sfs := bfs.Static[""]
|
||||
c.Assert(sfs, qt.Not(qt.IsNil))
|
||||
|
||||
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "dist", "d1", "foo.txt")), qt.Equals, filepath.FromSlash("mydist/d1/foo.txt"))
|
||||
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "static", "d2", "foo.txt")), qt.Equals, filepath.FromSlash("d2/foo.txt"))
|
||||
c.Assert(sfs.MakePathRelative(filepath.Join(workDir, "dust", "d3", "foo.txt")), qt.Equals, filepath.FromSlash("foo/bar/d3/foo.txt"))
|
||||
makeRel := func(s string) string {
|
||||
r, _ := sfs.MakePathRelative(s)
|
||||
return r
|
||||
}
|
||||
|
||||
c.Assert(makeRel(filepath.Join(workDir, "dist", "d1", "foo.txt")), qt.Equals, filepath.FromSlash("mydist/d1/foo.txt"))
|
||||
c.Assert(makeRel(filepath.Join(workDir, "static", "d2", "foo.txt")), qt.Equals, filepath.FromSlash("d2/foo.txt"))
|
||||
c.Assert(makeRel(filepath.Join(workDir, "dust", "d3", "foo.txt")), qt.Equals, filepath.FromSlash("foo/bar/d3/foo.txt"))
|
||||
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user