github sass/dart-sass 1.27.0
Dart Sass 1.27.0

latest releases: 1.75.0, 1.74.1, sass_api/10.1.1...
3 years ago

To install Sass 1.27.0, download one of the packages below and add it to your PATH, or see the Sass website for full installation instructions.

Changes

  • Adds an overload to map.merge() that supports merging a nested map.

    map.merge($map1, $keys..., $map2): The $keys form a path to the nested map in $map1, into which $map2 gets merged.

    See the Sass documentation for more details.

  • Adds an overloaded map.set() function.

    map.set($map, $key, $value): Adds to or updates $map with the specified $key and $value.

    map.set($map, $keys..., $value): Adds to or updates a map that is nested within $map. The $keys form a path to the nested map in $map, into which $value is inserted.

    See the Sass documentation for more details.

  • Add support for nested maps to map.get(). For example, map.get((a: (b: (c: d))), a, b, c) would return d. See the documentation for more details.

  • Add support for nested maps in map.has-key. For example, map.has-key((a: (b: (c: d))), a, b, c) would return true. See the documentation for more details.

  • Add a map.deep-merge() function. This works like map.merge(), except that nested map values are also recursively merged. For example:

    map.deep-merge(
      (color: (primary: red, secondary: blue),
      (color: (secondary: teal)
    ) // => (color: (primary: red, secondary: teal))
    

    See the Sass documentation for more details.

  • Add a map.deep-remove() function. This allows you to remove keys from nested maps by passing multiple keys. For example:

    map.deep-remove(
      (color: (primary: red, secondary: blue)),
      color, primary
    ) // => (color: (secondary: blue))
    

    See the Sass documentation for more details.

  • Fix a bug where custom property values in plain CSS were being parsed as normal property values.

Dart API

  • Add a Value.tryMap() function which returns the Value as a SassMap if it's a valid map, or null otherwise. This allows function authors to safely retrieve maps even if they're internally stored as empty lists, without having to catch exceptions from Value.assertMap().

See the full changelog for changes in earlier releases.

Don't miss a new dart-sass release

NewReleases is sending notifications on new releases.