Skip to content

Commit d84b0d8

Browse files
committed
Merge remote-tracking branch 'origin/main' into merge-2
2 parents cca2e7e + b7c8f27 commit d84b0d8

79 files changed

Lines changed: 528 additions & 1941 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,26 @@ jobs:
1919
actions: read # Forwarded
2020
uses: ./.github/workflows/test.yml
2121

22+
dependabot_merge:
23+
name: Auto-merge Dependabot PR
24+
permissions:
25+
contents: write # Needed to merge PR
26+
pull-requests: write # Needed to merge PR
27+
runs-on: ubuntu-latest
28+
if: github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == 'sass/dart-sass'
29+
30+
steps:
31+
- id: metadata
32+
uses: dependabot/fetch-metadata@25dd0e34f4fe68f24cc83900b1fe3fe149efef98 # v3.1.0
33+
with:
34+
github-token: ${{ secrets.GITHUB_TOKEN }}
35+
36+
- if: steps.metadata.outputs.update-type != 'version-update:semver-major'
37+
run: gh pr merge --auto --merge "$PR_URL"
38+
env:
39+
PR_URL: ${{ github.event.pull_request.html_url }}
40+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
2242
double_check:
2343
name: Double-check
2444
runs-on: ubuntu-latest

.github/workflows/release.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,11 @@ jobs:
340340
GIT_AUTHOR_EMAIL: sass.bot.beep.boop@gmail.com
341341
GIT_COMMITTER_NAME: Sass Bot
342342
GIT_COMMITTER_EMAIL: sass.bot.beep.boop@gmail.com
343-
- run: git tag "$VERSION"
343+
- run: git tag -a "$VERSION" -m "$VERSION"
344344
env:
345+
GIT_AUTHOR_NAME: Sass Bot
346+
GIT_AUTHOR_EMAIL: sass.bot.beep.boop@gmail.com
347+
GIT_COMMITTER_NAME: Sass Bot
348+
GIT_COMMITTER_EMAIL: sass.bot.beep.boop@gmail.com
345349
VERSION: ${{ steps.version.outputs.version }}
346-
- run: git push
350+
- run: git push --follow-tags

.github/workflows/test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ jobs:
222222
steps:
223223
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
224224
with: {persist-credentials: false}
225-
- uses: browser-actions/setup-chrome@2e1d749697dd1612b833dba4a722266286fbefcd # v2
225+
- uses: browser-actions/setup-chrome@48ad923757ca74d66703209fe939badbdf80f2f4 # v2
226226
- uses: ./.github/util/initialize
227227
with:
228228
dart-sdk: ${{ matrix.dart_channel }}
@@ -326,7 +326,7 @@ jobs:
326326
steps:
327327
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
328328
with: {persist-credentials: false}
329-
- uses: browser-actions/setup-chrome@2e1d749697dd1612b833dba4a722266286fbefcd # v2
329+
- uses: browser-actions/setup-chrome@48ad923757ca74d66703209fe939badbdf80f2f4 # v2
330330
- uses: ./.github/util/initialize
331331
with:
332332
dart-sdk: ${{ matrix.dart_channel }}

CHANGELOG.md

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,39 @@
173173
spaces. You can pass the `space` parameter to explicitly convert to a new
174174
space.
175175

176+
## 1.104.1-dev
177+
178+
* Fix a bug in which an invalid selector at the end of an indented syntax
179+
stylesheet would cause the parser to crash instead of emitting a useful error
180+
message.
181+
182+
### Command Line Interface
183+
184+
* Many-to-many compilations no longer compile any files that appear in the
185+
output directory if the output directory is also within the source directory.
186+
This fixes a bug where `--watch` mode could enter an infinite loop recompiling
187+
the same CSS file over and over.
188+
189+
## 1.104.0
190+
191+
* **Potentially breaking compatibility fix:** Colors now convert the special
192+
values NaN and negative zero, as well as infinity and negative infinity for
193+
polar-hue channels, to 0 as per the CSS spec.
194+
195+
* The special value negative zero is now serialized as `-0` instead of `0` for
196+
greater compatibility when using it in CSS calculations.
197+
198+
## 1.103.1
199+
200+
* No user-visible changes.
201+
202+
## 1.103.0
203+
204+
* **Potentially breaking compatibility fix:** Colors now preserve "analogous
205+
sets" of missing channels during conversions, per the CSS spec. For example,
206+
`color.to-space(lch(50% none none), lab)` now returns `lab(50% none none)`
207+
instead of `lab(50% 0 0)`.
208+
176209
## 1.102.0
177210

178211
* Use the 2.4 gamma transfer function for rec2020, as specified by the latest

lib/src/ast/sass/argument_list.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import 'package:sass/src/utils.dart';
66
import 'package:source_span/source_span.dart';
77

8-
import '../../value/list.dart';
98
import '../../util/map.dart';
109
import 'expression.dart';
1110
import 'expression/list.dart';

lib/src/ast/sass/expression/binary_operation.dart

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@ import 'list.dart';
1414
/// A binary operator, as in `1 + 2` or `$this and $other`.
1515
///
1616
/// {@category AST}
17-
final class BinaryOperationExpression extends Expression {
17+
final class BinaryOperationExpression(
1818
/// The operator being invoked.
19-
final BinaryOperator operator;
19+
final BinaryOperator operator,
2020

2121
/// The left-hand operand.
22-
final Expression left;
22+
final Expression left,
2323

2424
/// The right-hand operand.
25-
final Expression right;
26-
25+
final Expression right,
26+
) extends Expression {
2727
@override
2828
FileSpan get span {
2929
// Avoid creating a bunch of intermediate spans for multiple binary
@@ -51,9 +51,6 @@ final class BinaryOperationExpression extends Expression {
5151
.span(left.span.end.offset, right.span.start.offset)
5252
.trim()
5353
: span;
54-
55-
new(this.operator, this.left, this.right);
56-
5754
@override
5855
T accept<T>(ExpressionVisitor<T> visitor) =>
5956
visitor.visitBinaryOperationExpression(this);

lib/src/ast/selector.dart

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,10 +61,7 @@ abstract base class Selector(@override final FileSpan span) implements AstNode {
6161
}
6262

6363
/// The visitor used to implement [Selector.isInvisible].
64-
final class const _IsInvisibleVisitor({
65-
/// Whether to consider selectors with bogus combinators invisible.
66-
required final bool includeBogus,
67-
}) with AnySelectorVisitor {
64+
final class const _IsInvisibleVisitor() with AnySelectorVisitor {
6865
@override
6966
bool visitSelectorList(SelectorList list) =>
7067
list.components.every(visitComplexSelector);

lib/src/ast/selector/complex.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,12 @@ import '../selector.dart';
2323
/// {@category AST}
2424
/// {@category Parsing}
2525
final class ComplexSelector(
26-
/// This selector's leading combinator, if it has one.
27-
final CssValue<Combinator>? leadingCombinator,
28-
2926
Iterable<ComplexSelectorComponent> components,
3027
super.span, {
3128

29+
/// This selector's leading combinator, if it has one.
30+
final CssValue<Combinator>? leadingCombinator,
31+
3232
/// Whether a line break should be emitted *before* this selector.
3333
///
3434
/// @nodoc

lib/src/async_environment.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -984,7 +984,7 @@ final class _EnvironmentModule._(
984984
@override
985985
final List<Module> upstream = _environment._allModules;
986986

987-
_EnvironmentModule factory(
987+
factory(
988988
AsyncEnvironment environment,
989989
CssStylesheet css,
990990
Map<Module, List<CssComment>> preModuleComments,

lib/src/callable/async_built_in.dart

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import 'dart:async';
77
import 'package:meta/meta.dart';
88

99
import '../ast/sass.dart';
10-
import '../deprecation.dart';
1110
import '../evaluation_context.dart';
1211
import '../value.dart';
1312
import 'async.dart';

0 commit comments

Comments
 (0)