summaryrefslogtreecommitdiffstats
path: root/resources/resource_transformers/tocss/dartsass/transform.go
diff options
context:
space:
mode:
Diffstat (limited to 'resources/resource_transformers/tocss/dartsass/transform.go')
-rw-r--r--resources/resource_transformers/tocss/dartsass/transform.go17
1 files changed, 10 insertions, 7 deletions
diff --git a/resources/resource_transformers/tocss/dartsass/transform.go b/resources/resource_transformers/tocss/dartsass/transform.go
index 57d9feadb..aaf9d4bf8 100644
--- a/resources/resource_transformers/tocss/dartsass/transform.go
+++ b/resources/resource_transformers/tocss/dartsass/transform.go
@@ -39,7 +39,8 @@ import (
const (
// See https://github.com/sass/dart-sass-embedded/issues/24
- stdinPlaceholder = "HUGOSTDIN"
+ // Note: This prefix must be all lower case.
+ stdinPrefix = "hugostdin:"
dartSassEmbeddedBinaryName = "dart-sass-embedded"
)
@@ -75,9 +76,14 @@ func (t *transform) Transform(ctx *resources.ResourceTransformationCtx) error {
}
baseDir := path.Dir(ctx.SourcePath)
+ filename := stdinPrefix
+
+ if ctx.SourcePath != "" {
+ filename += t.c.sfs.RealFilename(ctx.SourcePath)
+ }
args := godartsass.Args{
- URL: stdinPlaceholder,
+ URL: filename,
IncludePaths: t.c.sfs.RealDirs(baseDir),
ImportResolver: importResolver{
baseDir: baseDir,
@@ -106,11 +112,8 @@ func (t *transform) Transform(ctx *resources.ResourceTransformationCtx) error {
start := sassErr.Span.Start
context := strings.TrimSpace(sassErr.Span.Context)
filename, _ := urlToFilename(sassErr.Span.Url)
- if filename == stdinPlaceholder {
- if ctx.SourcePath == "" {
- return sassErr
- }
- filename = t.c.sfs.RealFilename(ctx.SourcePath)
+ if strings.HasPrefix(filename, stdinPrefix) {
+ filename = filename[len(stdinPrefix):]
}
offsetMatcher := func(m herrors.LineMatcher) bool {