Commit Graph

1192 Commits

Author SHA1 Message Date
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
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
632a041e1e Move expression logic from RecursiveStatementVisitor to RecursiveAstVisitor 2021-07-30 18:23:14 -07:00
Natalie Weizenbaum
b64200e906 Prepare the API for being exposed in a new package 2021-07-30 18:23:13 -07:00
Natalie Weizenbaum
2758ca114a Lazily determine whether a mixin contains a @content block
This avoids saddling the caller of `MixinRule()` with the
responsibility of correctly determining whether a content block
exists.
2021-07-30 18:00:59 -07:00
Natalie Weizenbaum
9f3133a179 Fix dartdoc errors
Also fix a couple places where our external API wasn't quite right.
2021-07-30 15:14:17 -07:00
Natalie Weizenbaum
a28c656049 Add dartdoc categories to Sass APIs 2021-07-30 14:29:51 -07:00
Natalie Weizenbaum
10ac0944e0 Resynchronize 2021-07-23 13:41:46 -07:00
Natalie Weizenbaum
5d65c11403 Code review changes 2021-07-23 13:37:49 -07:00
Natalie Weizenbaum
cbd1f6e4cd Merge remote-tracking branch 'origin/main' into compile-to-result 2021-07-23 13:35:50 -07:00
Rafer45
426277e3ed
Cast value correctly in putIfAbsentAsync (#1404)
* Cast value correctly in `putIfAbsentAsync`

Fixes https://github.com/sass/dart-sass/issues/1403

* Update pubspec.yaml

* Update CHANGELOG.md

Co-authored-by: Jennifer Thakar <jathak@google.com>
2021-07-19 14:13:06 -07:00
Natalie Weizenbaum
1565b9ceed Rename includedUrls to loadedUrls
This is more explicit, and matches the name in the embedded protocol.
2021-07-14 14:29:22 -07:00
Natalie Weizenbaum
43b69e60a0 Change CompileResult.includedFiles to CompileResult.includedUrls
Rather than constructing this explicitly to match Node Sass's API, we
construct it with canonical URLs and convert it into the format
expected by the Node Sass API (a mix of paths and URLs) in the
compatibility layer.
2021-07-13 18:08:18 -07:00
Natalie Weizenbaum
0e42a09fdb Remove CompileResult.sourceFiles
This was never used.
2021-07-13 17:02:50 -07:00
Jennifer Thakar
3942ac4104
Fix bug in RecursiveAstVisitor (#1389)
It looks like the body of `visitParenthesizedExpression` was accidentally removed when the type parameter was removed from this class.
2021-07-07 11:41:12 -07:00
Natalie Weizenbaum
a10d7c677d
Use @internal to cordon off internal-only Value APIs (#1379)
Lays the groundwork for #236

Note that we need to add a bunch of explicit @nodoc annotations to
work around dart-lang/dartdoc#2418 and dart-lang/dartdoc#2419.
2021-06-24 17:32:57 -07:00
Natalie Weizenbaum
268f22e147
Make required span parameters positional (#1380)
Required non-boolean parameters should pretty much always be
positional. These were still named from back when spans were nullable
in Sass.
2021-06-24 17:32:36 -07:00
Natalie Weizenbaum
655fcfc950
Properly support selector lists for selector.extend() (#1378)
Closes #1301
2021-06-24 14:50:16 -07:00
Natalie Weizenbaum
83343d7046
Fix a race condition in meta.load-css() (#1376)
We weren't properly awaiting a call to CssStylesheet.accept(), which
meant that it could try to continue doing work asynchronously in the
wrong context.

Closes #1318
2021-06-23 17:12:18 -07:00
Natalie Weizenbaum
713b7cc31e
Properly register pseudos' child selectors in ExtensionStore (#1374)
Closes #1297
2021-06-23 16:43:08 -07:00
Natalie Weizenbaum
19bd45e738
Error for Unicode ranges that have too many ?s after digits (#1373)
Closes #1280
2021-06-22 17:24:22 -07:00
Natalie Weizenbaum
629881212c
Fix root-relative @import URLs as passed to importers (#1371)
Closes #1137
2021-06-22 17:22:29 -07:00
Natalie Weizenbaum
5a9dd9161b
Fix a variable-assignment bug (#1372)
Closes #1250
2021-06-22 15:10:32 -07:00
Natalie Weizenbaum
0f68d7a511
Fix quiet deps when loaded through an @import of a file without @use (#1362)
Closes #1360
2021-06-15 13:37:48 -07:00
Natalie Weizenbaum
7e371666f4
Add quietDeps and verbose to the JS API (#1353)
To support this, we now run Node-Sass-style relative loads outside of
the Node importer. This allows the evaluator to check whether a
relative load succeeded and use that to determine whether the
stylesheet counts as a dependency.

See sass/sass#3065
2021-06-14 17:41:56 -07:00
Jennifer Thakar
a077094f24
Fix toString for namespaced variable (#1358) 2021-06-14 14:19:53 -07:00
Jennifer Thakar
f1d36a1860
Another implicit dependency fix (#1352) 2021-06-11 16:54:41 -07:00
Jennifer Thakar
754501145c
Fix a bug with implicit dependencies (#1348)
Encountered this while migrating internal code to math.div
2021-06-08 13:06:34 -07:00
Jennifer Thakar
af816d0941
Fix bug in --update with built-in modules (#1338)
Fixes #1335.
2021-06-02 14:52:17 -07:00
Christophe Coevoet
0db34159e5
Fix the allowed children for the for at-rule in declarations (#1340) 2021-06-02 14:22:34 -07:00
Natalie Weizenbaum
fd1bfd293b
Fix the URL for the @-moz-document deprecation message (#1339)
Closes #1336
2021-06-01 18:07:46 -07:00
Rafer45
b098adb289
Improve wording of comment (#1331)
Avoid a triple negative ("aren't unless non-null")
2021-05-24 14:19:38 -07:00
Natalie Weizenbaum
16f181660c Only omit 5 deprecation warnings per feature by default (#1327)
Closes #1323
2021-05-21 22:45:58 -07:00
Natalie Weizenbaum
d660bf12ef Add an option to the CLI and Dart Sass to silence warnings from deps
Closes #672
2021-05-21 22:45:58 -07:00
Natalie Weizenbaum
7f982a1b3a
Only emit each warning once per source location (#1322) 2021-05-21 16:23:53 -07:00
Jennifer Thakar
efe680e74b
Make :is() behave like :matches() (#1315) 2021-05-20 14:13:10 -07:00
Natalie Weizenbaum
f33b934fe4
Fix some edge cases when serializing edge-case numbers (#1312)
Also pin static analysis to Dart 2.12 to work around dart-lang/sdk#45488.
2021-05-19 17:29:16 -07:00
Natalie Weizenbaum
47920ad032
Merge branch 'master' into slash-separator 2021-05-17 14:13:03 -07:00
Natalie Weizenbaum
818d0d1e44 Fix context.options.context 2021-05-13 19:19:08 -07:00
Natalie Weizenbaum
136bd285b3 Add AsyncImporter.fromImport for Dart importers 2021-05-13 18:06:43 -07:00
Natalie Weizenbaum
8a344e343f Add this.fromImport for JS importers
See sass/sass#3055
See webpack-contrib/sass-loader#905
2021-05-13 17:40:31 -07:00
Natalie Weizenbaum
114b460d7c Merge remote-tracking branch 'origin/master' into slash-separator 2021-05-13 16:43:52 -07:00
Natalie Weizenbaum
5a0242a090 Code review 2021-05-13 16:43:15 -07:00
Natalie Weizenbaum
68c4d6556e Make number arguments to built-in functions slash-free
See sass/sass#3050
2021-05-12 13:21:31 -07:00
Natalie Weizenbaum
be1a414f07 Deprecate /-as-division and add replacements
Partially addresses #663
2021-05-12 13:21:28 -07:00
Jennifer Thakar
5d4950db36
Fix bug with null values in configuration (#1305)
Fixes #1281.
2021-05-12 09:09:35 -07:00