Update dependency sass to v1.62.1
This MR contains the following updates:
Package | Change | Age | Adoption | Passing | Confidence |
---|---|---|---|---|---|
sass | 1.54.6 -> 1.62.1 |
Release Notes
sass/dart-sass
v1.62.1
- Fix a bug where
:has(+ &)
and related constructs would drop the leading combinator.
v1.62.0
-
Deprecate the use of multiple
!global
or!default
flags on the same variable. This deprecation is namedduplicate-var-flags
. -
Allow special numbers like
var()
orcalc()
in the global functions:grayscale()
,invert()
,saturate()
, andopacity()
. These are also native CSSfilter
functions. This is in addition to number values which were already allowed. -
Fix a cosmetic bug where an outer rule could be duplicated after nesting was resolved, instead of re-using a shared rule.
v1.61.0
-
Potentially breaking change: Drop support for End-of-Life Node.js 12.
-
Fix remaining cases for the performance regression introduced in 1.59.0.
Embedded Sass
- The JS embedded host now loads files from the working directory when using the legacy API.
v1.60.0
-
Add support for the
pi
,e
,infinity
,-infinity
, andNaN
constants in calculations. These will be interpreted as the corresponding numbers. -
Add support for unknown constants in calculations. These will be interpreted as unquoted strings.
-
Serialize numbers with value
infinity
,-infinity
, andNaN
tocalc()
expressions rather than CSS-invalid identifiers. Numbers with complex units still can't be serialized.
v1.59.3
-
Fix a performance regression introduced in 1.59.0.
-
The NPM release of 1.59.0 dropped support for Node 12 without actually indicating so in its pubspec. This release temporarily adds back support so that the latest Sass version that declares it supports Node 12 actually does so. However, Node 12 is now end-of-life, so we will drop support for it properly in an upcoming release.
v1.59.2
- No user-visible changes.
v1.59.1
- No user-visible changes.
v1.59.0
Command Line Interface
-
Added a new
--fatal-deprecation
flag that lets you treat a deprecation warning as an error. You can pass an individual deprecation ID (e.g.slash-div
) or you can pass a Dart Sass version to treat all deprecations initially emitted in that version or earlier as errors. -
New
--future-deprecation
flag that lets you opt into warning for use of certain features that will be deprecated in the future. At the moment, the only option is--future-deprecation=import
, which will emit warnings for Sass@import
rules, which are not yet deprecated, but will be in the future.
Dart API
-
New
Deprecation
enum, which contains the different current and future deprecations used by the new CLI flags. -
The
compile
methods now take infatalDeprecations
andfutureDeprecations
parameters, which work similarly to the CLI flags.
v1.58.3
- No user-visible changes.
v1.58.2
Command Line Interface
-
Add a timestamp to messages printed in
--watch
mode. -
Print better
calc()
-based suggestions for/
-as-division expression that contain calculation-incompatible constructs like unary minus.
v1.58.1
- Emit a unitless hue when serializing
hsl()
colors. Thedeg
unit is incompatible with IE, and while that officially falls outside our compatibility policy, it's better to lean towards greater compatibility.
v1.58.0
-
Remove sourcemap comments from Sass sources. The generated sourcemap comment for the compiled CSS output remains unaffected.
-
Fix a bug in
@extend
logic where certain selectors with three or more combinators were incorrectly considered superselectors of similar selectors with fewer combinators, causing them to be incorrectly trimmed from the output. -
Produce a better error message for a number with a leading
+
or-
, a decimal point, but no digits. -
Produce a better error message for a nested property whose name starts with
--
. -
Fix a crash when a selector ends in an escaped backslash.
-
Add the relative length units from CSS Values 4 and CSS Contain 3 as known units to validate bad computation in
calc
.
Command Line Interface
- The
--watch
flag will now track loads through calls tometa.load-css()
as long as their URLs are literal strings without any interpolation.
v1.57.1
- No user-visible changes.
v1.57.0
- Add a
split($string, $separator, $limit: null)
function tosass:string
that splits a string into separate substrings based on a separator string.
JavaScript API
-
Potentially breaking bug fix: Custom functions in both the modern and legacy API now properly reject signatures with whitespace between the function name and parentheses.
-
Custom functions in the legacy API now allow signatures with whitespace before the function name, to match a bug in Node Sass.
Dart API
-
Potentially breaking bug fix:
Callable.fromSignature()
andAsyncCallable.fromSignature()
now reject signatures with whitespace between the function name and parentheses.
v1.56.2
Embedded Sass
- The embedded compiler now supports version 1.2.0 of the embedded protocol.
v1.56.1
Embedded Sass
- Importer results now validate that
contents
is actually a string and whethersourceMapUrl
is an absolute URL.
v1.56.0
-
Potentially breaking change: To match the CSS spec, SassScript expressions beginning with
not
or(
are no longer supported at the beginning of parenthesized sections of media queries. For example,@​media (width >= 500px) and (not (grid))
will now be emitted unchanged, instead of producing
@​media (width >= 500px) and (false)
See the Sass website for details.
-
Potentially breaking bug fix: Angle units like
rad
orturn
are now properly converted to equivalentdeg
values forhsl()
,hsla()
,adjust-hue()
,color.adjust()
, andcolor.change()
.See the Sass website for details.
-
Fix indentation for selectors that span multiple lines in a
@media
query. -
Emit a deprecation warning when passing
$alpha
values with units tocolor.adjust()
orcolor.change()
. This will be an error in Dart Sass 2.0.0.See the Sass website for details.
-
Emit a deprecation warning when passing a
$weight
value with no units or with units other than%
tocolor.mix()
. This will be an error in Dart Sass 2.0.0.See the Sass website for details.
-
Emit a deprecation warning when passing
$n
values with units tolist.nth()
orlist.set-nth()
. This will be an error in Dart Sass 2.0.0.See the Sass website for details.
-
Improve existing deprecation warnings to wrap
/
-as-division suggestions incalc()
expressions. -
Properly mark the warning for passing numbers with units to
random()
as a deprecation warning. -
Fix a bug where
@extend
could behave unpredicatably when used along withmeta.load-css()
and shared modules that contained no CSS themselves but loaded CSS from other modules.
Dart API
- Emit a deprecation warning when passing a
sassIndex
with units toValue.sassIndexToListIndex()
. This will be an error in Dart Sass 2.0.0.
JS API
-
Importer results now validate whether
contents
is actually a string type. -
Importer result argument errors are now rendered correctly.
v1.55.0
-
Potentially breaking bug fix: Sass numbers are now universally stored as 64-bit floating-point numbers, rather than sometimes being stored as integers. This will generally make arithmetic with very large numbers more reliable and more consistent across platforms, but it does mean that numbers between nine quadrillion and nine quintillion will no longer be represented with full accuracy when compiling Sass on the Dart VM.
-
Potentially breaking bug fix: Sass equality is now properly transitive. Two numbers are now considered equal (after doing unit conversions) if they round to the same
1e-11
th. Previously, numbers were considered equal if they were within1e-11
of one another, which led to some circumstances where$a == $b
and$b == $c
but$a != $b
.
-
Potentially breaking bug fix: Various functions in
sass:math
no longer treat floating-point numbers that are very close (but not identical) to integers as integers. Instead, these functions now follow the floating-point specification exactly. For example,math.pow(0.000000000001, -1)
now returns1000000000000
instead ofInfinity
. -
Emit a deprecation warning for
$a -$b
and$a +$b
, since these look like they could be unary operations but they're actually parsed as binary operations. Either explicitly write$a - $b
or$a (-$b)
. See https://sass-lang.com/d/strict-unary for more details.
Dart API
-
Add an optional
argumentName
parameter toSassScriptException()
to make it easier to throw exceptions associated with particular argument names. -
Most APIs that previously returned
num
now returndouble
. All APIs continue to acceptnum
, although in Dart 2.0.0 these APIs will be changed to accept onlydouble
.
JS API
- Fix a bug in which certain warning spans would not have their properties accessible by the JS API.
v1.54.9
- Fix an incorrect span in certain
@media
query deprecation warnings.
v1.54.8
- No user-visible changes.
v1.54.7
- Add support for 32-bit ARM releases on Linux.
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.