URI: 
       dartsass: Import CSS without extension at compile time - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 2662faf61ff0240be1ee0d6c496b6b4a6ed55fb4
   DIR parent 271318ad787ee2442c6d553edffaa29e1d9a4cf7
  HTML Author: Joe Mooring <joe.mooring@veriphor.com>
       Date:   Thu, 23 Feb 2023 16:23:36 -0800
       
       dartsass: Import CSS without extension at compile time
       
       Applicable to Dart Sass only:
       
       - Sass imports with the .css extension indicate a plain CSS @import.
       - Sass imports without the .css extension are imported at compile time.
       
       Fixes #10592
       
       Diffstat:
         M resources/resource_transformers/to… |      69 +++++++++++++++++++++++++++++--
         M resources/resource_transformers/to… |       4 ++--
       
       2 files changed, 67 insertions(+), 6 deletions(-)
       ---
   DIR diff --git a/resources/resource_transformers/tocss/dartsass/integration_test.go b/resources/resource_transformers/tocss/dartsass/integration_test.go
       @@ -101,14 +101,75 @@ T1: {{ $r.Content | safeHTML }}
                        moo {
                          color: #fff;
                        }
       -                
       +
                        moo {
                          color: #fff;
                        }
       -                
       +
                        /* foo */`)
        }
        
       +// Issue 10592
       +func TestTransformImportMountedCSS(t *testing.T) {
       +        t.Parallel()
       +        if !dartsass.Supports() {
       +                t.Skip()
       +        }
       +
       +        files := `
       +-- assets/main.scss --
       +@import "import-this-file.css";
       +@import "foo/import-this-mounted-file.css";
       +@import "compile-this-file";
       +@import "foo/compile-this-mounted-file";
       +a {color: main-scss;}
       +-- assets/_compile-this-file.css --
       +a {color: compile-this-file-css;}
       +-- assets/_import-this-file.css --
       +a {color: import-this-file-css;}
       +-- foo/_compile-this-mounted-file.css --
       +a {color: compile-this-mounted-file-css;}
       +-- foo/_import-this-mounted-file.css --
       +a {color: import-this-mounted-file-css;}
       +-- layouts/index.html --
       +{{- $opts := dict "transpiler" "dartsass" }}
       +{{- with resources.Get "main.scss" | toCSS $opts }}{{ .Content | safeHTML }}{{ end }}
       +-- config.toml --
       +disableKinds = ['RSS','sitemap','taxonomy','term','page','section']
       +
       +[[module.mounts]]
       +source = 'assets'
       +target = 'assets'
       +
       +[[module.mounts]]
       +source = 'foo'
       +target = 'assets/foo'
       +        `
       +        b := hugolib.NewIntegrationTestBuilder(
       +                hugolib.IntegrationTestConfig{
       +                        T:           t,
       +                        TxtarString: files,
       +                        NeedsOsFS:   true,
       +                },
       +        ).Build()
       +
       +        b.AssertFileContent("public/index.html", `
       +                @import "import-this-file.css";
       +                @import "foo/import-this-mounted-file.css";
       +                a {
       +                        color: compile-this-file-css;
       +                }
       +
       +                a {
       +                        color: compile-this-mounted-file-css;
       +                }
       +
       +                a {
       +                        color: main-scss;
       +                }
       +        `)
       +}
       +
        func TestTransformThemeOverrides(t *testing.T) {
                t.Parallel()
                if !dartsass.Supports() {
       @@ -291,7 +352,7 @@ body {
                body {
                        background: url(vars.$image) no-repeat center/cover;
                        font-family: vars.$font;
       -          }          
       +          }
        }
        
        p {
       @@ -341,7 +402,7 @@ image = "images/hero.jpg"
        body {
                body {
                        background: url(vars.$image) no-repeat center/cover;
       -          }          
       +          }
        }
        
        p {
   DIR diff --git a/resources/resource_transformers/tocss/dartsass/transform.go b/resources/resource_transformers/tocss/dartsass/transform.go
       @@ -163,9 +163,9 @@ func (t importResolver) CanonicalizeURL(url string) (string, error) {
                if strings.Contains(name, ".") {
                        namePatterns = []string{"_%s", "%s"}
                } else if strings.HasPrefix(name, "_") {
       -                namePatterns = []string{"_%s.scss", "_%s.sass"}
       +                namePatterns = []string{"_%s.scss", "_%s.sass", "_%s.css"}
                } else {
       -                namePatterns = []string{"_%s.scss", "%s.scss", "_%s.sass", "%s.sass"}
       +                namePatterns = []string{"_%s.scss", "%s.scss", "_%s.sass", "%s.sass", "_%s.css", "%s.css"}
                }
        
                name = strings.TrimPrefix(name, "_")