This repository was archived by the owner on Oct 19, 2022. It is now read-only.
Update dependency sass to v1.55.0 #14
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.34.1->1.55.0Release Notes
sass/dart-sass
v1.55.0Compare Source
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-11th. Previously, numbers were considered equal if theywere within
1e-11of one another, which led to some circumstances where$a == $band$b == $cbut$a != $b.Potentially breaking bug fix: Various functions in
sass:mathno longertreat 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 returns1000000000000instead ofInfinity.Emit a deprecation warning for
$a -$band$a +$b, since these look likethey could be unary operations but they're actually parsed as binary
operations. Either explicitly write
$a - $bor$a (-$b). Seehttps://sass-lang.com/d/strict-unary for more details.
Dart API
Add an optional
argumentNameparameter toSassScriptException()to make iteasier to throw exceptions associated with particular argument names.
Most APIs that previously returned
numnow returndouble. All APIscontinue to accept
num, although in Dart 2.0.0 these APIs will be changedto accept only
double.JS API
accessible by the JS API.
v1.54.9Compare Source
@mediaquery deprecation warnings.v1.54.8Compare Source
v1.54.7Compare Source
v1.54.6Compare Source
@mediaquery could be incorrectly omitted from astylesheet if it had multiple levels of nested
@mediaqueries within itand the inner queries were mergeable but the outer query was not.
v1.54.5Compare Source
Properly consider
a ~ cto be a superselector ofa ~ b ~ canda + b + c.Properly consider
b > cto be a superselector ofa > b > c, and similarlyfor other combinators.
Properly calculate specificity for selector pseudoclasses.
Deprecate use of
random()when$limithas units to make it explicit thatrandom()currently ignores units. A future version will no longer ignoreunits.
Don't throw an error when the same module is
@forwarded multiple timesthrough a configured module.
Embedded Sass
install, the
sass-embeddednpm package now declares optional dependencies onplatform-specific embedded compiler packages.
v1.54.4Compare Source
out-of-bounds to various color functions.
v1.54.3Compare Source
v1.54.2Compare Source
v1.54.1Compare Source
@extendandselector.unify(), ensure that:root,:scope,:host, and:host-contextonly appear at the beginningof complex selectors.
v1.54.0Compare Source
Deprecate selectors with leading or trailing combinators, or with multiple
combinators in a row. If they're included in style rules after nesting is
resolved, Sass will now produce a deprecation warning and, in most cases, omit
the selector. Leading and trailing combinators can still be freely used for
nesting purposes.
See https://sass-lang.com/d/bogus-combinators for more details.
Add partial support for new media query syntax from Media Queries Level 4. The
only exception are logical operations nested within parentheses, as these were
previously interpreted differently as SassScript expressions.
A parenthesized media condition that begins with
notor an openingparenthesis now produces a deprecation warning. In a future release, these
will be interpreted as plain CSS instead.
Deprecate passing non-
degunits tocolor.hwb()'s$hueargument.Fix a number of bugs when determining whether selectors with pseudo-elements
are superselectors.
Treat
*as a superselector of all selectors.Dart API
fakeFromImport()function for testing custom importersthat use
AsyncImporter.fromImport.JS API
Add a
charsetoption that controls whether or not Sass emits a@charset/BOM for non-ASCII stylesheets.Fix Sass npm package types for TS 4.7+ Node16 and NodeNext module resolution.
v1.53.0Compare Source
var()with an empty second argument, such asvar(--side, ).JS API
meta.load-css()would sometimes resolve relative URLsincorrectly when called from a mixin using the legacy JS API.
Embedded Sass
v1.52.3Compare Source
/* ... */) appear twice in a rowacross two different imports which themselves imported the same file each.
v1.52.2Compare Source
/* ... */) instead of pushingthe comment to the next line.
v1.52.1Compare Source
Command Line Interface
--watchmode would close immediately in TTY mode. This wascaused by our change to close
--watchwhen stdin was closed outside of TTYmode, which has been reverted for now while we work on a fix.
v1.52.0Compare Source
Add support for arbitrary modifiers at the end of plain CSS imports, in
addition to the existing
supports()and media queries. Sass now allows anysequence of identifiers of functions after the URL of an import for forwards
compatibility with future additions to the CSS spec.
Fix an issue where source locations tracked through variable references could
potentially become incorrect.
Fix a bug where a loud comment in the source can break the source map when
embedding the sources, when using the command-line interface or the legacy JS
API.
JS API
SassNumber.assertUnit()andSassNumber.assertNoUnits()now correctlyreturn the number called on when it passes the assertion.
v1.51.0Compare Source
Potentially breaking change: Change the order of maps returned by
map.deep-merge()to match those returned bymap.merge(). All keys thatappeared in the first map will now be listed first in the same order they
appeared in that map, followed by any new keys added from the second map.
Improve the string output of some AST nodes in error messages.
v1.50.1Compare Source
Embedded Sass
The JS embedded host and the embedded compiler will now properly avoid
resolving imports relative to the current working directory unless
'.'ispassed as a load path.
Fix a bug in the JS embedded host's implementation of the legacy JS API where
imports that began with
/could crash on Windows.v1.50.0Compare Source
@extendnow treats [:where()][:where()] the same as:is().Command Line Interface
--watchcommand to stoprunning.
Embedded Sass
Fix a bug where the JS embedded host crashed when invoking a legacy importer
after resolving a relative filesystem import.
Improve error messages when returning non-
Objectvalues from legacyimporters.
v1.49.11Compare Source
Embedded Sass
idfield for allOutboundMessages.v1.49.10Compare Source
Quiet deps mode now silences compiler warnings in mixins and functions that
are defined in dependencies even if they're invoked from application
stylesheets.
In expanded mode, Sass will now emit colors using
rgb(),rbga(),hsl(),and
hsla()function notation if they were defined using the correspondingnotation. As per our browser support policy, this change was only done once
95% of browsers were confirmed to support this output format, and so is not
considered a breaking change.
Note that this output format is intended for human readability and not for
interoperability with other tools. As always, Sass targets the CSS
specification, and any tool that consumes Sass's output should parse all
colors that are supported by the CSS spec.
Fix a bug in which a color written using the four- or eight-digit hex format
could be emitted as a hex color rather than a format with higher browser
compatibility.
Calculations are no longer simplified within supports declarations
v1.49.9Compare Source
Embedded Sass
list.
v1.49.8Compare Source
JS API
Node 17.
Embedded Sass
importers to the legacy API.
v1.49.7Compare Source
Embedded Sass
First stable release the
sass-embeddednpm package that contains the Node.jsEmbedded Host.
First stable release of the
sass_embeddedpub package that contains theEmbedded Dart Sass compiler.
v1.49.6Compare Source
v1.49.5Compare Source
v1.49.4Compare Source
v1.49.3Compare Source
v1.49.2Compare Source
v1.49.1Compare Source
Embedded Sass
idfield for allOutboundMessages.v1.49.0Compare Source
string.insertwith certain negative indices.JS API
sourceMapIncludeSourcesoption in the new JS API.TypeScript Declarations
LegacyPluginThis.options.linefeedwas typed to returnabbreviations when it actually returned literal linefeed characters.
v1.48.0Compare Source
JS API
setting
LegacyResult.maptoundefinedrather thannull.TypeScript Declarations
NULLconstant.v1.47.0Compare Source
JS API
TypeScript Declarations
TRUEandFALSEconstants.v1.46.0Compare Source
JS API
passing
undefinedrather thannulltoLogger.warn()for an unsetspan.TypeScript Declarations
Add a declaration for the
LegacyPluginThis.options.contextfield.Update the definition of
LegacyAsyncFunctionto include explicit definitionswith zero through six arguments before the
doneparameter. This makes itpossible for TypeScript users to pass in callbacks that take a specific number
of arguments, rather than having to declare a callback that takes an arbitrary
number.
Add a declaration for
types.Error, a legacy API class that can be returnedby asynchronous functions to signal asynchronous errors.
Add a
LegacyAsyncFunctionDonetype for thedonecallback that's passed toLegacyAsyncFunction.v1.45.2Compare Source
JS API
separatorparameter for
new SassArgumentList()to','rather thannull. Thismatches the API specification.
v1.45.1Compare Source
Potentially breaking bug fix: Properly parse custom properties in
@supportsconditions. Note that this means that SassScript expressions onthe right-hand side of custom property
@supportsqueries now need to beinterpolated, as per https://sass-lang.com/d/css-vars.
Potentially breaking bug fix: Fix a bug where
inspect()was notproperly printing nested, empty, bracketed lists.
v1.45.0Compare Source
JS API
This release includes an entirely new JavaScript API, designed to be more
idiomatic, performant, and usable. The old API will continue to be supported
until Dart Sass 2.0.0, but it is now considered deprecated and should be avoided
for new code.
The new API includes:
compile()andcompileAsync()functions that take Sass file paths andreturn the result of compiling them to CSS. The async function returns a
Promiserather than using a callback-based API.compileString()andcompileStringAsync()functions that take a string ofSass source and compiles it to CSS. As above, the async function returns a
Promise.A new importer API that more closely matches the Sass specification's logic
for resolving loads. This makes it much easier for Sass to cache information
across
@importand@userules, which substantially improves performancefor applications that rely heavily on repeated
@imports.A new custom function API, including much more usable JS representations of
Sass value types complete with type-assertion functions, easy map and list
lookups, and compatibility with the [
immutable][immutable] package. Unlike in thelegacy API, function callbacks now take one argument which contains an array
of Sass values (rather than taking a separate JS argument for each Sass
argument).
For full documentation of this API, please see the Sass website.
This release also adds TypeScript type definitions.
v1.44.0Compare Source
calc()as an alternative in/-as-division deprecation messages.Dart API
Add
SassNumber.convert()andSassNumber.convertValue(). These work likeSassNumber.coerce()andSassNumber.coerceValue(), except they don't treatunitless numbers as universally compatible.
Fix a bug where
SassNumber.coerceToMatch()andSassNumber.coerceValueToMatch()wouldn't coerce single-unit numbers tomatch unitless numbers.
v1.43.5Compare Source
Fix a bug where calculations with different operators were incorrectly
considered equal.
Properly parse attribute selectors with empty namespaces.
JS API
own debugging purposes.
v1.43.4Compare Source
JS API
loggeroption was ignored for therender()function.v1.43.3Compare Source
v1.43.2Compare Source
@userule is nota valid identifier.
v1.42.1Compare Source
being resolved correctly if there was a parenthesized interpolation elsewhere
in the file.
v1.42.0Compare Source
min()andmax()expressions are once again parsed as calculations as longas they contain only syntax that's allowed in calculation expressions. To
avoid the backwards-compatibility issues that were present in 1.40.0, they now
allow unitless numbers to be mixed with numbers with units just like the
global
min()andmax()functions. Similarly,+and-operations withinmin()andmax()functions allow unitless numbers to be mixed with numberswith units.
v1.41.1Compare Source
var()functions in calculations, because theycould potentially be replaced with sub-expressions that might need to be
parenthesized.
v1.41.0Compare Source
Calculation values can now be combined with strings using the
+operator.This was an error in 1.40.0, but this broke stylesheets that were relying on
$value + ""expressions to generically convert values to strings. (Note thatthe Sass team recommends the use of
"#{$value}"orinspect($value)forthat use-case.)
The
selector.unify()function now correctly returnsnullwhen one selectoris a
:hostor:host-contextand the other is a selector that's guaranteedto be within the current shadow DOM. The
@extendlogic has been updatedaccordingly as well.
Fix a bug where extra whitespace in
min(),max(),clamp(), andcalc()expressions could cause bogus parse errors.
Fix a bug where the right-hand operand of a
-in a calculation couldincorrectly be stripped of parentheses.
Dart API
SassCalculation.plus()now allowsSassStringarguments.v1.40.1Compare Source
Potentially breaking bug fix:
min()andmax()expressions outside ofcalculations now behave the same way they did in 1.39.2, returning unquoted
strings if they contain no Sass-specific features and calling the global
min()andmax()functions otherwise. Within calculations, they continue tobehave how they did in 1.40.0.
This fixes an unintended breaking change added in 1.40.0, wherein passing a
unitless number and a number without units to
min()ormax()now producesan error. Since this breakage affects a major Sass library, we're temporarily
reverting support for
min()andmax()calculations while we work ondesigning a longer-term fix.
v1.40.0Compare Source
Add support for first-class
calc()expressions (as well asclamp()andplain-CSS
min()andmax()). This means:calc()expressions will be parsed more thoroughly, and errors will behighlighted where they weren't before. This may break your stylesheets,
but only if they were already producing broken CSS.
calc()expressions will be simplified where possible, and may even returnnumbers if they can be simplified away entirely.
calc()expressions that can't be simplified to numbers return a new datatype known as "calculations".
Sass variables and functions can now be used in
calc()expressions.New functions
meta.calc-name()andmeta.calc-args()can now inspectcalculations.
Dart API
Add a new value type,
SassCalculation, that represents calculations.Add new
CalculationOperation,CalculationOperator, andCalculationInterpolationtypes to represent types of arguments that mayexist as part of a calculation.
Add a new
Value.assertCalculation()method.Add a new
Number.hasCompatibleUnits()method.v1.39.2Compare Source
@use ... withwould throw an error whenthat variable was defined in a module that also contained
@forward ... with.v1.39.1Compare Source
@at-rootdoes not work properly in nestedimports that contain
@userules. If the only@userules in the nestedimport are for built-in modules,
@at-rootshould now work properly.v1.39.0Compare Source
JS API
charsetoption that controls whether or not Sass emits a@charset/BOM for non-ASCII stylesheets.v1.38.2Compare Source
v1.38.1Compare Source
v1.38.0Compare Source
In expanded mode, emit characters in Unicode private-use areas as escape
sequences rather than literal characters.
Fix a bug where quotes would be omitted for an attribute selector whose value
was a single backslash.
Properly consider numbers that begin with
.as "plain CSS" for the purposesof parsing plain-CSS
min()andmax()functions.Allow
ifto be used as an unquoted string.Properly parse backslash escapes within
url()expressions.Fix a couple bugs where
@extends could be marked as unsatisfied whenmultiple identical
@extends extended selectors across@userules.Command Line Interface
in the output when an error occurs.
JS API
Don't crash when a Windows path is returned by a custom Node importer at the
same time as file contents.
Don't crash when an error occurs in a stylesheet loaded via a custom importer
with a custom URL scheme.
Dart API
SassArgumentList.keywordsWithoutMarkinggetter to access the keywordarguments of an argument list without marking them accessed.
v1.37.5Compare Source
v1.37.4Compare Source
v1.37.3Compare Source
v1.37.2Compare Source
v1.37.1Compare Source
v1.37.0Compare Source
Dart API
Potentially breaking bug fix:
SassNumber.asSlash,SassNumber.withSlash(), andSassNumber.withoutSlash()have been marked as@internal. They were never intended to be used outside thesasspackage.Potentially breaking bug fix:
SassExceptionhas been marked as@sealedto formally indicate that it's not intended to be extended outside of the
sasspackage.Add a
Value.withListContents()method that returns a new Sass list with thesame list separator and brackets as the current value, interpreted as a list.
v1.36.0Compare Source
Dart API
Added
compileToResult(),compileStringToResult(),compileToResultAsync(), andcompileStringToResultAsync()methods. Theseare intended to replace the existing
compile*()methods, which are nowdeprecated. Rather than returning a simple string, these return a
CompileResultobject, which will allow us to add additional informationabout the compilation without having to introduce further deprecations.
Instead of passing a
sourceMapscallback tocompile*(), passsourceMaps: truetocompile*ToResult()and accessCompileResult.sourceMap.The
CompileResultobject exposes aloadedUrlsobject which lists thecanonical URLs accessed during a compilation. This information was
previously unavailable except through the JS API.
v1.35.2Compare Source
Potentially breaking bug fix: Properly throw an error for Unicode ranges
that have too many
?s after hexadecimal digits, such asU+12345??.Potentially breaking bug fix: Fixed a bug where certain local variable
declarations nested within multiple
@ifstatements would incorrectlyoverride a global variable. It's unlikely that any real stylesheets were
relying on this bug, but if so they can simply add
!globalto the variabledeclaration to preserve the old behavior.
Potentially breaking bug fix: Fix a bug where imports of root-relative
URLs (those that begin with
/) in@importrules would be passed toboth Dart and JS importers as
file:URLs.Properly support selector lists for the
$extendeeargument toselector.extend()andselector.replace().Fix an edge case where
@extendwouldn't affect a selector within apseudo-selector such as
:is()that itself extended other selectors.Fix a race condition where
meta.load-css()could trigger an internal errorwhen running in asynchronous mode.
Dart API
@internalannotation to indicate whichValueAPIs are availablefor public use.
v1.35.1Compare Source
stylesheets loaded using
@import.v1.35.0Compare Source
Fix a couple bugs that could prevent some members from being found in certain
files that use a mix of imports and the module system.
Fix incorrect recommendation for migrating division expressions that reference
namespaced variables.
JS API
Add a
quietDepsoption which silences compiler warnings from stylesheetsloaded through importers and load paths.
Add a
verboseoption which causes the compiler to emit all deprecationwarnings, not just 5 per feature.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.