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
+
1
6
## 1.91.0
2
7
3
8
* ** 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 {
1102
1102
var newMediaContexts = < ModifiableBox <SelectorList >, List <CssMediaQuery >> {};
1103
1103
var oldToNewSelectors = Map <SelectorList , Box <SelectorList >>.identity ();
1104
1104
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
+
1105
1110
_selectors.forEach ((simple, selectors) {
1106
1111
var newSelectorSet = < ModifiableBox <SelectorList >> {};
1107
1112
newSelectors[simple] = newSelectorSet;
1108
1113
1109
1114
for (var selector in selectors) {
1110
- var newSelector = ModifiableBox (selector.value);
1115
+ var newSelector =
1116
+ newBoxes.putIfAbsent (selector, () => ModifiableBox (selector.value));
1111
1117
newSelectorSet.add (newSelector);
1112
1118
oldToNewSelectors[selector.value] = newSelector.seal ();
1113
1119
Original file line number Diff line number Diff line change @@ -16,6 +16,8 @@ class Box<T> {
16
16
bool operator == (Object other) => other is Box <T > && other._inner == _inner;
17
17
18
18
int get hashCode => _inner.hashCode;
19
+
20
+ String toString () => "<box: $value >" ;
19
21
}
20
22
21
23
/// A mutable reference to a (presumably immutable) value.
@@ -31,4 +33,6 @@ class ModifiableBox<T> {
31
33
///
32
34
/// The underlying modifiable box may still be modified.
33
35
Box <T > seal () => Box ._(this );
36
+
37
+ String toString () => "<modifiable box: $value >" ;
34
38
}
Original file line number Diff line number Diff line change
1
+ ## 0.4.27-dev
2
+
3
+ * No user-visible changes.
4
+
1
5
## 0.4.26
2
6
3
7
* No user-visible changes.
Original file line number Diff line number Diff line change 1
1
{
2
2
"name" : " sass-parser" ,
3
- "version" : " 0.4.26 " ,
3
+ "version" : " 0.4.27-dev " ,
4
4
"description" : " A PostCSS-compatible wrapper of the official Sass parser" ,
5
5
"repository" : " sass/sass" ,
6
6
"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
+
1
5
## 15.9.0
2
6
3
7
* No user-visible changes.
Original file line number Diff line number Diff line change @@ -2,15 +2,15 @@ name: sass_api
2
2
# Note: Every time we add a new Sass AST node, we need to bump the *major*
3
3
# version because it's a breaking change for anyone who's implementing the
4
4
# visitor interface(s).
5
- version : 15.9.0
5
+ version : 15.9.1-dev
6
6
description : Additional APIs for Dart Sass.
7
7
homepage : https://github.com/sass/dart-sass
8
8
9
9
environment :
10
10
sdk : " >=3.6.0 <4.0.0"
11
11
12
12
dependencies :
13
- sass : 1.91.0
13
+ sass : 1.91.1
14
14
15
15
dev_dependencies :
16
16
dartdoc : ^8.0.14
Original file line number Diff line number Diff line change 1
1
name : sass
2
- version : 1.91.0
2
+ version : 1.91.1-dev
3
3
description : A Sass implementation in Dart.
4
4
homepage : https://github.com/sass/dart-sass
5
5
You can’t perform that action at this time.
0 commit comments