File tree Expand file tree Collapse file tree 8 files changed +28
-5
lines changed Expand file tree Collapse file tree 8 files changed +28
-5
lines changed Original file line number Diff line number Diff line change 1+ ## 1.91.1-dev
2+
3+ * Fix a bug where ` @extend ` rules loaded through a mixture of ` @import ` and
4+ ` @use ` rules could fail to apply correctly.
5+
16## 1.91.0
27
38* ** Potentially breaking change:** ` meta.inspect() ` (as well as other systems
Original file line number Diff line number Diff line change @@ -1102,12 +1102,18 @@ class ExtensionStore {
11021102 var newMediaContexts = < ModifiableBox <SelectorList >, List <CssMediaQuery >> {};
11031103 var oldToNewSelectors = Map <SelectorList , Box <SelectorList >>.identity ();
11041104
1105+ // A map from the old to the new selector boxes. This ensures that if a
1106+ // single box is referenced by multiple simple selectors, we only create a
1107+ // single new box for it in the cloned structure.
1108+ var newBoxes = < ModifiableBox <SelectorList >, ModifiableBox <SelectorList >> {};
1109+
11051110 _selectors.forEach ((simple, selectors) {
11061111 var newSelectorSet = < ModifiableBox <SelectorList >> {};
11071112 newSelectors[simple] = newSelectorSet;
11081113
11091114 for (var selector in selectors) {
1110- var newSelector = ModifiableBox (selector.value);
1115+ var newSelector =
1116+ newBoxes.putIfAbsent (selector, () => ModifiableBox (selector.value));
11111117 newSelectorSet.add (newSelector);
11121118 oldToNewSelectors[selector.value] = newSelector.seal ();
11131119
Original file line number Diff line number Diff line change @@ -16,6 +16,8 @@ class Box<T> {
1616 bool operator == (Object other) => other is Box <T > && other._inner == _inner;
1717
1818 int get hashCode => _inner.hashCode;
19+
20+ String toString () => "<box: $value >" ;
1921}
2022
2123/// A mutable reference to a (presumably immutable) value.
@@ -31,4 +33,6 @@ class ModifiableBox<T> {
3133 ///
3234 /// The underlying modifiable box may still be modified.
3335 Box <T > seal () => Box ._(this );
36+
37+ String toString () => "<modifiable box: $value >" ;
3438}
Original file line number Diff line number Diff line change 1+ ## 0.4.27-dev
2+
3+ * No user-visible changes.
4+
15## 0.4.26
26
37* No user-visible changes.
Original file line number Diff line number Diff line change 11{
22 "name" : " sass-parser" ,
3- "version" : " 0.4.26 " ,
3+ "version" : " 0.4.27-dev " ,
44 "description" : " A PostCSS-compatible wrapper of the official Sass parser" ,
55 "repository" : " sass/sass" ,
66 "author" : " Google Inc." ,
Original file line number Diff line number Diff line change 1+ ## 15.9.1-dev
2+
3+ * No user-visible changes.
4+
15## 15.9.0
26
37* No user-visible changes.
Original file line number Diff line number Diff line change @@ -2,15 +2,15 @@ name: sass_api
22# Note: Every time we add a new Sass AST node, we need to bump the *major*
33# version because it's a breaking change for anyone who's implementing the
44# visitor interface(s).
5- version : 15.9.0
5+ version : 15.9.1-dev
66description : Additional APIs for Dart Sass.
77homepage : https://github.com/sass/dart-sass
88
99environment :
1010 sdk : " >=3.6.0 <4.0.0"
1111
1212dependencies :
13- sass : 1.91.0
13+ sass : 1.91.1
1414
1515dev_dependencies :
1616 dartdoc : ^8.0.14
Original file line number Diff line number Diff line change 11name : sass
2- version : 1.91.0
2+ version : 1.91.1-dev
33description : A Sass implementation in Dart.
44homepage : https://github.com/sass/dart-sass
55
You can’t perform that action at this time.
0 commit comments