Natalie Weizenbaum
016ab24ebd
Fix a bug with @media
query bubbling ( #1792 )
...
Closes #1791
2022-08-29 15:07:32 -07:00
Natalie Weizenbaum
98f326b507
Convert visitor classes to mixins ( #1784 )
...
Co-authored-by: Jennifer Thakar <jathak@google.com>
2022-08-19 15:17:58 -07:00
Natalie Weizenbaum
76953320aa
Update specificity calculation for selector pseudos ( #1781 )
...
This is very close to invisible to the user and actually making it
visible would require a complex and hard-to-read test, so I'm electing
to avoid testing it.
Closes #2528
2022-08-18 18:31:31 -07:00
Goodwine
c850501621
Allow a module loaded multiple times by the same configuration ( #1739 )
...
* Allow a module loaded multiple times by the same configuration
* use object references as opaque ID
Fixes #1716
2022-08-18 16:49:09 -07:00
Goodwine
3f98441316
Deprecate math.random() when $limit has units ( #1779 )
...
* Deprecate math.random() when $limit has units
* add changelog for random with units deprecation
* add link to sass-site/d/random-with-units
2022-08-17 19:24:51 -07:00
Goodwine
0b8a0f606d
Transform all enum-like classes to dart enums ( #1777 )
...
* Transform all enum-like classes to dart enums
Fixes #1746
* fix new linter warnings upon upgrading to 2.17 regarding "[new MyClass]" to "[MyClass.new]"
2022-08-17 15:00:13 -07:00
Natalie Weizenbaum
a987352219
Improve combinator superselector logic ( #1778 )
...
Closes #791
2022-08-15 18:20:56 -07:00
Natalie Weizenbaum
6fd25ae4a2
Improve error messages for incorrect units in color functions ( #1772 )
...
Closes #1745
2022-08-09 17:45:48 -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
bc8df44f6a
Cut a release ( #1755 )
...
Also include some code review changes that were meant for #1749
2022-07-22 14:30:03 -07: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
0d4c0d0365
Recategorize selectors as "AST" for Dartdoc ( #1752 )
...
This more closely matches the categorization of other AST nodes, which
aren't broken down into fine-grained categories.
This also adds the "Parsing" category to selector classes that have
`parse()` methods.
2022-07-22 13:27:48 -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
Natalie Weizenbaum
fd4c50c3d9
Expose selector APIs through sass_api ( #1741 )
2022-07-15 15:43:48 -07:00
なつき
b99ad4ba14
Add charset option to js-api ( #1732 )
2022-07-06 13:41:51 -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
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
Nicholas Behrens
1faf81cee4
Fix #417 preserve the location of trailing loud comments ( #849 )
...
See sass/sass-spec#1485
- Update lib/src/visitor/serialize.dart to stop using old-style int-based for loop.
- Extend FileSpan with a .contains(targetSpan) method
Co-authored-by: Nick Behrens <nbehrens@google.com>
Co-authored-by: Carlos Israel Ortiz García <goodwine@google.com>
Co-Authored-By: Natalie Weizenbaum <nweiz@google.com>
2022-06-02 18:46:12 -07:00
Christophe Coevoet
46c2c9b1a9
Remove unused methods ( #1702 )
...
Those protected methods have been removed from the StatementSearchVisitor
2022-05-25 20:03:24 +00: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
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
なつき
d0e4e6ca18
Set id on all OutboundMessage with id field ( #80 )
...
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2022-03-31 00:45:17 +00: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
Christophe Coevoet
85ca0b270f
Remove dead code in the stylesheet parser ( #1640 )
...
At that point, the scanner is still at the same position than the
previous check for children returning a nested declaration, so it is
impossible for it to be looking at children.
2022-03-23 13:48:14 -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
Jennifer Thakar
c66ea3f9a5
Fix CSS import bug ( #1633 )
2022-02-17 13:25:21 -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
53464a7979
Use the Sass shared Dart analysis options ( #67 )
2022-01-25 17:16:17 -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
720c358c06
Set LegacyResult.map to undefined rather than null ( #1592 )
2022-01-10 14:16:27 -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
5012b5c3da
Allow ImporterResponse.result to be null ( #59 )
2021-12-29 16:01:03 -08:00
Natalie Weizenbaum
26127d8a00
Treat invalid function signatures as function errors ( #58 )
...
See sass/embedded-protocol#85
2021-12-29 15:00:16 -08:00
Natalie Weizenbaum
1cbb0c5417
Implement FileImporter ( #57 )
2021-12-15 23:40:10 +00: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
Nate Bosch
6b35eb633e
Remove some dead code ( #1565 )
...
This change preserves behavior, though the current behavior has the
appearance of a bug so an author more familiar with the intention may
want to add a test.
There are no assignments to `first` so the conditional can be removed.
When building internally the analyze is surfacing a `dead_code`
diagnostic which needs to be ignored. Fixing the code will allow us to
remove the ignore.
I don't know why the diagnostic does not show up when analyzing using
the external analyzer.
https://github.com/dart-lang/sdk/issues/47837
2021-12-11 00:58:44 +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
e86897be97
Fix new analysis issues from Dart 2.15
2021-12-10 14:02:17 -08:00
Natalie Weizenbaum
79541905bc
Release a release candidate for the new JS API ( #1562 )
2021-11-30 23:32:09 +00:00
Natalie Weizenbaum
98a947056e
Add support for custom functions in the new JS API ( #1558 )
2021-11-30 22:46:39 +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
435e1b2f71
Merge pull request #1535 from sass/perf
...
Improve performance
2021-10-20 17:21:28 -07:00
Natalie Weizenbaum
2430ac6d20
Avoid creating zone variables inside _EvaluateVisitor
...
Instead, we create a single zone-scoped object that's visible for the
entire lifespan of the visitor, and which exposes evaluation internals
which can be updated as direct field modifications.
2021-10-20 16:36:52 -07:00
Natalie Weizenbaum
d13a38ed19
Cache relative import results as well as absolute ones
...
This dramatically improves the performance of a sample app using the
Carbon design system, and should generally improve apps that have a
lot of repeated @imports of library files. It's possible we can back
this out if it's not pulling its weight once we no longer support
@import.
2021-10-20 16:36:52 -07: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
Natalie Weizenbaum
0ce65fc796
Replace Susy with Carbon as a benchmark target
...
Neither of these support Node v16 yet, but Susy is unmaintained and
will never support it while Carbon will likely add support in the near
future.
2021-10-20 16:36:29 -07:00
Christophe Coevoet
6253da740b
Fix the parsing of scientific notation in keyframe selectors ( #1510 )
2021-10-20 13:15:10 -07:00
Natalie Weizenbaum
3916ff6a0c
Add support for the alertAscii flag ( #1524 )
...
See sass/sass#3056
2021-10-14 22:45:35 +00:00
Natalie Weizenbaum
1fbda21d98
Merge remote-tracking branch 'origin/main' into cli-pkg
2021-10-13 13:05:30 -07:00
Natalie Weizenbaum
aa81b12612
Automatically handle absolute URLs for FileImporters ( #1527 )
...
See sass/sass#3181
2021-10-13 02:39:39 +00:00
Natalie Weizenbaum
1e70242959
More gracefully handle unexpected errors in JS interop
2021-10-12 17:15:30 -07:00
Natalie Weizenbaum
2d56fe02df
Allow PRs to be linked to sass/sass PRs
2021-10-06 16:37:56 -07:00
Natalie Weizenbaum
4379462b42
Replace FileImporterResult with a plain URL
2021-10-06 12:13:21 -07:00
Christophe Coevoet
d667843a4d
Fix the parsing of supports function in static imports ( #1514 )
2021-10-06 10:18:55 -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
c9e2f96f88
Add support for the new importer API ( #1522 )
2021-10-05 23:53:57 +00: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
Christophe Coevoet
8bade1d071
Fix typos in doc ( #1480 )
2021-10-04 11:16:19 -07:00
Natalie Weizenbaum
31689a3637
Add basic compile functions for the new JS API ( #1503 )
2021-10-02 00:35:10 +00:00
Natalie Weizenbaum
53cbcdb58e
Add support for calculations ( #55 )
...
See sass/sass#818
2021-09-29 00:17:11 +00:00
Natalie Weizenbaum
ba38c09c68
Cordon the Node Sass API off into a legacy directory ( #1501 )
2021-09-23 01:48:06 +00: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
Jennifer Thakar
f06937e2df
Fix analysis errors ( #1470 )
2021-09-09 22:35:12 +00:00
Konstantin Scheglov
3112f80d49
Ignore HintCode.UNNECESSARY_TYPE_CHECK_TRUE ( #1457 )
2021-09-07 12:21:01 -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
なつき
d2063513af
Implement --version flag for cli ( #53 )
...
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2021-09-02 00:33:09 +00:00
Natalie Weizenbaum
4396693276
Support consuming Value.HwbColor and emitting Value.HslColor ( #54 )
2021-08-31 00:15:06 +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