mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-22 20:42:58 +00:00
dartsass: Fix nilpointer on Close when Dart Sass isn't installed
Fixes #13076
This commit is contained in:
parent
8fcd3c1487
commit
8d017a60fb
2 changed files with 10 additions and 7 deletions
|
@ -70,7 +70,7 @@ hello:
|
|||
other: "Bonjour"
|
||||
-- layouts/index.html --
|
||||
{{ $options := dict "inlineImports" true }}
|
||||
{{ $styles := resources.Get "css/styles.css" | resources.PostCSS $options }}
|
||||
{{ $styles := resources.Get "css/styles.css" | css.PostCSS $options }}
|
||||
Styles RelPermalink: {{ $styles.RelPermalink }}
|
||||
{{ $cssContent := $styles.Content }}
|
||||
Styles Content: Len: {{ len $styles.Content }}|
|
||||
|
|
|
@ -44,7 +44,7 @@ const dartSassStdinPrefix = "hugostdin:"
|
|||
|
||||
func New(fs *filesystems.SourceFilesystem, rs *resources.Spec) (*Client, error) {
|
||||
if !Supports() {
|
||||
return &Client{dartSassNotAvailable: true}, nil
|
||||
return &Client{}, nil
|
||||
}
|
||||
|
||||
if hugo.DartSassBinaryName == "" {
|
||||
|
@ -89,22 +89,25 @@ func New(fs *filesystems.SourceFilesystem, rs *resources.Spec) (*Client, error)
|
|||
}
|
||||
|
||||
type Client struct {
|
||||
dartSassNotAvailable bool
|
||||
rs *resources.Spec
|
||||
sfs *filesystems.SourceFilesystem
|
||||
workFs afero.Fs
|
||||
|
||||
// This may be nil if Dart Sass is not available.
|
||||
transpiler *godartsass.Transpiler
|
||||
}
|
||||
|
||||
func (c *Client) ToCSS(res resources.ResourceTransformer, args map[string]any) (resource.Resource, error) {
|
||||
if c.dartSassNotAvailable {
|
||||
if c.transpiler == nil {
|
||||
return res.Transform(resources.NewFeatureNotAvailableTransformer(transformationName, args))
|
||||
}
|
||||
return res.Transform(&transform{c: c, optsm: args})
|
||||
}
|
||||
|
||||
func (c *Client) Close() error {
|
||||
if c.transpiler == nil {
|
||||
return nil
|
||||
}
|
||||
return c.transpiler.Close()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue