Commit Graph

627 Commits

Author SHA1 Message Date
Natalie Weizenbaum
f3093e90ba Use a self-hosted runner to release a native Mac OS ARM64 runner 2022-08-03 17:41:07 -07:00
Natalie Weizenbaum
126f0a6223
Release 1.54.2 (#1770)
This allows us to cut another release which will include
sass/dart-sass-embedded#103.
2022-08-03 16:30:09 -07:00
Natalie Weizenbaum
42d6fbb3ed
Ensure that selectors like :root always unify to the beginning (#1759)
Closes #1811
2022-08-02 23:37:08 +00:00
Natalie Weizenbaum
d159d83ea8
Fix superselector bugs for pseudo-elements and universal selectors (#1753)
Closes #790
Closes sass/sass#2728
2022-07-22 13:55:46 -07:00
Natalie Weizenbaum
eeedebcee5
Add partial support for Media Queries Level 4 (#1749)
See sass/sass#2538
See #1728
2022-07-22 13:34:07 -07:00
Natalie Weizenbaum
3e7c9dd702
Expose inImportRule() as the test-only fakeFromImport() function (#1750) 2022-07-21 17:04:35 -07:00
Natalie Weizenbaum
1bd774485d
Deprecate passing non-deg units to hwb()'s $hue argument (#1747)
This was overlooked in #1175, because the spec said that `hwb()`
should already be throwing an error if non-`deg` units were passed.
However, Dart Sass didn't implement the spec correctly and these units
were in fact not being checked at all.

See #1174
2022-07-18 17:57:45 -07:00
Natalie Weizenbaum
4b53c163d7
Deprecate bogus combinators (#1740)
See sass/sass#3340
See sass/dart-sass#1727
2022-07-18 16:16:10 -07:00
なつき
b99ad4ba14
Add charset option to js-api (#1732) 2022-07-06 13:41:51 -07:00
Goodwine
2299632ddf
Fix sass types for TS 4.7+ Node16/NodeNext module resolution (#1736)
Fixes #1714
2022-06-30 16:05:41 -07:00
Natalie Weizenbaum
c5e1f0b6ab
Add support for var() with an empty fallback argument (#1723)
Closes sass/sass#3245
2022-06-21 15:07:59 -07:00
Natalie Weizenbaum
8705c06b2b
Fix a buggy interaction between meta.load-css and the legacy JS API (#1722)
Closes #1627
2022-06-17 14:38:41 -07:00
Natalie Weizenbaum
4d6b7628ef
Add a changelog entry for sass/embedded-host-node#117 (#1719) 2022-06-14 18:46:50 -07:00
Goodwine
ae6275e5e2
fix serializing loud comment crash when importing the same file twice in a row (#1713)
* fix serializing loud comment crash when importing the same file twice
2022-06-08 16:48:36 -07:00
Goodwine
44c2966b8a
Add changelog for PR #849 about preserving trailing loud comment location (#1709) 2022-06-02 19:18:04 -07:00
Natalie Weizenbaum
d17f70fd52
Revert "Abort sass if stdin is closed when watching (#1411)" (#1699)
This reverts commit c7ab426cb0.

See #1665, #1411
2022-05-20 15:04:21 -07:00
Natalie Weizenbaum
fa0d2fb55a
Add support for arbitrary modifiers after @import (#1695)
See sass/sass#3285
2022-05-19 16:53:30 -07:00
Jennifer Thakar
b19b3b141d
Fix assertUnit and assertNoUnits (#1686)
Fixes #1685.
2022-05-10 15:27:47 -07:00
Christophe Coevoet
1e211d640a
Escape the source map URL before using it in a CSS comment (#1676)
The URL must not be allowed to terminate the comment.
2022-04-27 09:54:52 -07:00
Christophe Coevoet
7004d49f98
Fix the tracking of variable nodes for scopes (#1681)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2022-04-26 14:59:21 -07:00
Natalie Weizenbaum
0c24114bad
Update the order of maps returned by map.deep-merge() (#1680)
Closes sass/sass#3092
2022-04-25 19:20:54 -07:00
Christophe Coevoet
6eed6eb62a
Fix the string representations of the Sass AST (#1682)
* Fix the string representations of the Sass AST

Those are used when providing recommendations in warnings or errors, so
it is better if they produce valid code.

* Add changelog

Co-authored-by: Jennifer Thakar <jathak@google.com>
2022-04-25 16:53:08 -07:00
Natalie Weizenbaum
fbd450b182
Cut a release (#1671) 2022-04-18 17:47:56 -07:00
Natalie Weizenbaum
3dbb552d3b
Add a changelog entry for sass/dart-sass-embedded#83 and sass/embedded-host-node#128 (#1668) 2022-04-12 14:29:47 -07:00
Jennifer Thakar
039f2adeed
Add support for :where() (#1662) 2022-04-06 19:19:59 -07:00
Michael Crumm
c7ab426cb0
Abort sass if stdin is closed when watching (#1411)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2022-04-06 17:37:40 -07:00
Natalie Weizenbaum
db852764bd
Update the changelog for sass/embedded-host-node#120 (#1663) 2022-04-06 13:32:52 -07:00
Natalie Weizenbaum
d7d3f8faa2
Cut a release (#1659)
This adds changelog entries for sass/dart-sass-embedded#80 and
sass/embedded-host-node#118.
2022-04-01 15:37:47 -07:00
Jennifer Thakar
6652001f19
Stop simplifying calculations in supports (#1653)
Fixes #1652.

Also releases 1.49.10
2022-03-30 15:14:46 -07:00
Natalie Weizenbaum
33f18c4b54
Preserve rgb/rgba/hsl/hsla formats in expanded mode (#1651)
This also fixes a bug where four- and eight-digit hex numbers weren't
being translated to more compatible formats.

Closes #1634
2022-03-17 15:44:38 -07:00
Natalie Weizenbaum
3abcc20595
Silence compiler warnings in dependency callables with --quiet-deps (#1650)
Closes #1560
2022-03-14 15:52:13 -07:00
Natalie Weizenbaum
2baa2f6f9d
Add a changelog entry for sass/embedded-host-node#114 (#1638) 2022-02-24 12:24:55 -08:00
Jennifer Thakar
c66ea3f9a5
Fix CSS import bug (#1633) 2022-02-17 13:25:21 -08:00
Natalie Weizenbaum
4181d0d4bf
Add a CHANGELOG entry for sass/embedded-host-node#113 (#1629) 2022-02-17 13:03:58 -08:00
Awjin Ahn
864d526715
Allow Node 17 to pass extra args to inspect. (#1631) 2022-02-16 16:38:56 -08:00
Natalie Weizenbaum
e3bf3eb3a3
Release a new version to trigger an Embedded Sass release (#1620) 2022-02-01 13:54:18 -08:00
Natalie Weizenbaum
408eddb1ac
Release a new version to trigger an Embedded Sass release (#1619) 2022-02-01 13:02:00 -08:00
Natalie Weizenbaum
0070b0ebaa
Update the embedded compiler changelog on release (#1618) 2022-02-01 12:21:57 -08:00
Natalie Weizenbaum
a5b38e21ba
Don't release the embedded compiler until sass_api has released (#1617) 2022-01-31 17:31:11 -08:00
Natalie Weizenbaum
75c09a010e
Install Dart in the "Release Embedded Compiler" step (#1616) 2022-01-31 16:52:16 -08:00
Natalie Weizenbaum
d7d3f49b5b
Use | rather than > in ci.yml (#1615)
The `|` character preserves newlines where `>` does not.
2022-01-31 16:30:51 -08:00
Natalie Weizenbaum
44a68a3005
Cut a release (#1614)
This should trigger the release of the embedded Sass compiler and
Node.js host as well.
2022-01-31 15:45:25 -08:00
Awjin Ahn
5a12ef508f
Drop support for non-LTS Node (< 12). (#1612) 2022-01-26 17:07:18 -08:00
Natalie Weizenbaum
13099d497a
Cut a release (#1600)
This also adds a CHANGELOG entry for the TS declaration fix for
LegacyPluginThis.options.linefeed.
2022-01-18 14:35:51 -08:00
Christophe Coevoet
f055db0797
Implement the sourceMapIncludeSources JS option (#1583) 2022-01-14 16:38:26 -08:00
Jennifer Thakar
e1fcbaaf36
Fix string.insert with negative indices (#1598) 2022-01-13 16:40:02 -08:00
Natalie Weizenbaum
8fd0ffdb4b
Cut a release with a TS definition for NULL (#1596)
See sass/sass#3243
2022-01-12 18:37:06 -08:00
Natalie Weizenbaum
720c358c06
Set LegacyResult.map to undefined rather than null (#1592) 2022-01-10 14:16:27 -08:00
Natalie Weizenbaum
54fd309079
Cut a release with TS definitions for TRUE/FALSE (#1591)
See sass/sass#3241
2022-01-07 15:12:42 -08:00
Natalie Weizenbaum
f9dff2ecff
Mention TypeScript type updates in the CHANGELOG (#1589) 2022-01-05 16:39:55 -08:00
Natalie Weizenbaum
6bf9853330
Pass undefined span instead of null to Logger.warn() in JS (#1586) 2022-01-05 15:59:15 -08:00
Natalie Weizenbaum
169178af6c
Fix the default separator for new SassArgumentList in the JS API (#1580) 2021-12-30 16:04:00 -08:00
Natalie Weizenbaum
f7669d5a99
Properly parse custom property values in @supports conditions (#1570)
Closes sass/sass#3216
2021-12-11 00:59:08 +00:00
Awjin Ahn
1798a7c275
Let inspect() print nested, empty, bracketed lists. (#1547)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2021-12-10 23:01:16 +00:00
Natalie Weizenbaum
f31d154037 Release 1.45.0 2021-12-10 13:35:00 -08:00
Natalie Weizenbaum
fcdaa4e3f4
Add TypeScript type declarations to the npm package (#1563)
Closes #13
2021-12-02 23:01:14 +00:00
Natalie Weizenbaum
79541905bc
Release a release candidate for the new JS API (#1562) 2021-11-30 23:32:09 +00:00
Christophe Coevoet
3e231f784b
Improve the deprecation message for /-as-division (#1561)
This also changes the string representation of ParenthesizedExpression
to fix the recommendations involving them (otherwise the calc
recommendation would be an invalid one).

Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2021-11-30 01:43:08 +00:00
Natalie Weizenbaum
97c51d6285
Add support for the JS API value types (#1552) 2021-11-30 00:10:47 +00:00
Paul Golmann
926781b782
Add support for css empty namespace attribute selector (#1554)
Closes sass/sass#3199
2021-11-24 23:20:33 +00:00
Christophe Coevoet
681bbb2a0d
Fix equality checks for CalculationOperation (#1556) 2021-11-16 13:05:29 -08:00
Natalie Weizenbaum
55cb4fd509
Track stack traces through rethrows (#1545)
This requires a lot of manual machinery when displaying stack traces
to the user, but it should make debugging errors (especially in JS)
much easier.

Works around dart-lang/sdk#10297 using expandos.
2021-11-05 06:05:50 +00:00
Natalie Weizenbaum
756fcd3911
Fix the logger option for render() (#1538)
Closes #1533
2021-10-26 21:06:40 +00:00
Natalie Weizenbaum
6069708a83 Cache hash codes for Sass strings and numbers
These values are often stored in maps, so caching their hash codes
seems to be net valuable.
2021-10-20 16:36:52 -07:00
Christophe Coevoet
6641459fa2
Improve the error message for invalid default namespaces (#1513) 2021-10-06 10:16:35 -07:00
Jennifer Thakar
4f67c4dd30
Fix RecursiveAstVisitor (#1525)
`visitCalculationExpression` is now properly implemented.

This also adds concrete test classes that extend `RecursiveAstVisitor`
and `RecursiveStatementVisitor` to ensure similar issues are avoided in
the future whenever new AST nodes are added.
2021-10-05 18:36:45 -07:00
Natalie Weizenbaum
4b0f008760
Add support for the new JS logger API (#1515)
See sass/sass#2979
2021-10-05 20:57:44 +00:00
Natalie Weizenbaum
fb180ff9f5 Update to the latest linter package and fix lints 2021-10-05 13:21:19 -07:00
Natalie Weizenbaum
8d5d586e7c
Fix interpolation lookahead for calculations (#1500)
Closes #1499
2021-09-22 07:12:16 +00:00
Natalie Weizenbaum
825fa5c7df
Add back support for min/max calculations (#1485)
See sass/sass#3142
See sass/sass#3150
2021-09-20 23:58:47 +00:00
Natalie Weizenbaum
52ef3c6ef1
Preserve parentheses around var() functions in calculations (#1489)
See sass/sass#3153
See sass/sass#3154
2021-09-16 21:58:19 +00:00
Natalie Weizenbaum
30cc9dcbfb
Allow extra whitespace in min, max, and calculations (#1483)
Closes sass/dart-sass#1444
2021-09-14 23:03:06 +00:00
Natalie Weizenbaum
7de7ab405d
Fix a parenthesizing bug in calculations (#1482)
See sass/sass#3147
See sass/sass#3148
2021-09-14 22:42:28 +00:00
Natalie Weizenbaum
5e4bc45574
Allow the + operator for calculations and strings (#1481)
See sass/sass#3142
See sass/sass#3146
2021-09-14 22:25:08 +00:00
Natalie Weizenbaum
fe46cbba1e
Improve unification of :host and :host-context (#1471)
See sass/sass#3134
2021-09-14 21:53:01 +00:00
Natalie Weizenbaum
cbdcd58676
Emergency fix: Temporarily drop support for min/max calculations (#1477)
See sass/sass#3142
See sass/sass-spec#1702
2021-09-14 08:45:05 +00:00
Natalie Weizenbaum
bb0867270c
Add support for first-class calc() (#1452)
See sass/sass#818
2021-09-13 23:16:40 +00:00
Natalie Weizenbaum
33dab9ff7e
Fix the leftover-configuration check for @forward ... with (#1472)
This check was previously checking whether *any* variables were left
in this configuration, which could include variables that were adopted
from outer configurations. This threw invalid errors when that outer
configuration would have been satisfied by another variable (or
forward) later in the file.

Closes sass/sass#1460
2021-09-09 23:51:26 +00:00
Jennifer Thakar
1672178f64
Fix @at-root bug for common case of built-in use (#1469)
`@at-root` should now work properly in a nested import as long as the
only `@use` or `@forward` rules present are for built-in modules.

This is a partial but not complete fix for #1347. It's a bit hacky to
special case built-in modules here, but since they represent the only
real legitimate case for using this combination of features, it lets us
fix the bug for this case and avoid the bordering-on-infeasible work of
fixing this for user-defined modules.
2021-09-09 16:00:05 -07:00
Adam Hooper
ad886d97d6
Expose charset option in Node API [closes #567] (#1446)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2021-09-02 00:48:11 +00:00
Natalie Weizenbaum
1615bb17d0
Add SassApiColor to the "Value" dartdoc category (#1455) 2021-08-31 00:14:14 +00:00
Natalie Weizenbaum
57ea9f1a90
Expose getters indicating which color fields a color has calculated (#1453)
These getters are only available through the sass_api package. This
will allow the Sass embedded compiler to more explicitly send the
color information it has on hand.
2021-08-28 07:37:39 +00:00
Jennifer Thakar
d419df7d9c
Add shared interfaces for various AST nodes (#1445)
Fixes #1401 and #1414.

Adds `Dependency`, `SassDeclaration`, and `SassReference` interfaces,
which expose some getters that multiple AST nodes have in common with a
single type.

These also add getters for common subspans (URL, name, and namespace) to
the interfaces.
2021-08-23 16:33:36 -07:00
Natalie Weizenbaum
67db39c352
Add a SassArgumentList.keywordsWithoutMarking getter (#1427)
This is necessary to properly forward argument list keywords to the
embedded compiler.

See sass/embedded-protocol#27
2021-08-16 23:59:03 +00:00
Natalie Weizenbaum
390deed540
Merge pull request #1438 from sass/extend-bugs
Fix a couple bugs with @extend
2021-08-16 22:01:32 +00:00
Natalie Weizenbaum
2a03907e95
Emit escape sequences for private-use characters in expanded mode (#1430) 2021-08-16 21:52:35 +00:00
Natalie Weizenbaum
707db69de8 Fix a couple bugs with @extend
We weren't properly merging multiple @extend rules that were added to
an upstream module at the same time, so some of them weren't being
marked as satisfied.

Closes #1393
2021-08-11 18:41:50 -07:00
Natalie Weizenbaum
e0e132e0fe
Allow numbers with leading . in plain-CSS min/max (#1432)
Closes #1394
2021-08-11 22:27:58 +00:00
Natalie Weizenbaum
d29acb0974
Don't try to force custom URL schemes to file paths in the Node API (#1434)
When an error occurred in a stylesheet loaded by a custom importer
with a custom URL scheme, the Node error wrapper tried to convert that
URL into a path and ended up crashing.

Closes #1138
2021-08-11 21:03:14 +00:00
Natalie Weizenbaum
3eca26584d
Fix a single-backslash attribute selector (#1428)
Closes #1423
2021-08-11 01:52:17 +00:00
Natalie Weizenbaum
5f4994e487
Fix backslash-escapes in url()s (#1429)
Closes #1399
2021-08-11 00:02:23 +00:00
Natalie Weizenbaum
54d16c0ac4
Allow if to be used as an unquoted string (#1431)
Closes #1405
2021-08-10 23:34:36 +00:00
Natalie Weizenbaum
2beec3696c
Strip CRLFs from error comments (#1433)
Closes #1392
2021-08-10 22:59:35 +00:00
Natalie Weizenbaum
682cbbf6c0 Add a header to changelog 2021-08-09 17:04:53 -07:00
Natalie Weizenbaum
4fd0472f2e Fix a crash in the Node importer
When a path was returned at the same time as a file's contents, it was
interpreted as a URL without first being translated to one. This
crashed for absolute Windows paths.

Closes #1410
2021-08-09 16:47:45 -07:00
Natalie Weizenbaum
c07f46175b
Add a tag to the correct repo with the correct authentication (#1420) 2021-08-04 01:26:34 +00:00
Natalie Weizenbaum
1157d3c327
Manually resolve symlinks before deploying sub-packages (#1419) 2021-08-03 23:26:27 +00:00
Natalie Weizenbaum
667e9f40e6
Fix an unmodifiable map modification in the sass_api deploy (#1418) 2021-08-03 20:33:54 +00:00
Natalie Weizenbaum
2a0b6d05ef
Fix publishing errors for sass_api (#1417)
This needs a LICENSE of its own and it can't have dependency_overrides
when publishing.
2021-08-02 23:58:34 +00:00
Natalie Weizenbaum
3af6562497
Try cutting a release of sass_api (#1416) 2021-08-02 21:45:46 +00:00