Natalie Weizenbaum
939dca8e38
Support generalized @supports conditions ( #1134 )
...
Closes #894
See sass/sass#2780
2020-11-04 16:10:37 -08:00
Natalie Weizenbaum
908515065f
Merge branch 'master' into feature.hwb
2020-10-29 14:49:58 -07:00
Natalie Weizenbaum
4a0da21ed3
Fix a stack overflow when setting pkg.githubReleaseNotes ( #1130 )
2020-10-29 13:43:27 -07:00
Natalie Weizenbaum
093ff58673
Merge branch 'master' into feature.hwb
2020-10-28 16:22:18 -07:00
Natalie Weizenbaum
290e55c2f1
Trim extends at the compound selector level ( #1124 )
...
This reverts a portion of #460 (15202c4
). It turns out that trimming
compound selector extends allows us to avoid exponential behavior in
certain recursive @extend cases.
See sass/dart-sass#1109
2020-10-28 15:11:22 -07:00
Natalie Weizenbaum
300197caf9
Don't crash when using Infinity or NaN as a key in a map ( #1073 )
...
Closes #3126
2020-10-27 16:38:47 -07:00
Natalie Weizenbaum
c4f95d4310
Fix the argument name for meta.load-css() ( #1072 )
...
Closes #1054
2020-10-27 15:54:14 -07:00
Natalie Weizenbaum
197c6dbbde
Emit a proper parse error for = with no RHS in a function ( #1071 )
...
Closes #1050
2020-10-27 15:47:48 -07:00
Jennifer Thakar
6c679e13d4
Support HWB in adjust, change, and scale ( #1111 )
...
This adds `$whiteness` and `$blackness` parameters to the `adjust`,
`change`, and `scale` functions in the color module.
In doing so, I generalized the logic for all three functions into a
single `_updateComponents` helper since they all shared a lot of similar
logic for validating their parameters.
2020-10-14 19:45:35 -07:00
Natalie Weizenbaum
7ba5128423
Add color.whiteness() and color.blackness() functions ( #1110 )
...
See sass/sass#2834
See #1089
2020-10-14 16:15:46 -07:00
Natalie Weizenbaum
b0f213c22f
Merge remote-tracking branch 'origin/master' into feature.hwb
2020-10-09 17:29:47 -07:00
Natalie Weizenbaum
f981227cc0
Merge branch 'master' into fix-type-check
2020-10-07 15:07:12 -07:00
Natalie Weizenbaum
1ceaec71ff
Fix custom property parsing in plain CSS
...
Closes #1104
2020-10-07 14:49:16 -07:00
Natalie Weizenbaum
c14cb73b08
Merge branch 'master' into feature.nested-maps
2020-10-05 17:59:59 -07:00
Natalie Weizenbaum
ec0bab5538
Fix a bug with nested properties beneath Sass-syntax custom props ( #1096 )
...
Closes #1095
2020-10-05 17:58:53 -07:00
Natalie Weizenbaum
2198aa7dab
Merge branch 'master' into feature.nested-maps
2020-10-05 17:31:41 -07:00
Jennifer Thakar
56d979d04d
Add a map.deep-remove() function ( #1091 )
2020-09-22 16:11:48 -07:00
Awjin Ahn
45703ab597
Adds nested map support to map-merge. ( #1083 )
2020-09-18 12:18:27 -07:00
Natalie Weizenbaum
f843f96bc2
Produce a better error for positional arguments after named ( #1087 )
...
Closes #1086
2020-09-17 17:50:19 -07:00
Natalie Weizenbaum
1918674295
Support HWB colors in SassColor ( #1085 )
...
See sass/sass#2835
2020-09-17 16:18:12 -07:00
Awjin Ahn
5b7471664d
Add a map.set() function ( #1078 )
2020-09-16 15:47:35 -07:00
Jennifer Thakar
f5e3a5a669
Add support for nested maps to has-key ( #1075 )
2020-09-16 14:41:23 -07:00
Jennifer Thakar
6b66241e95
Add support for nested maps to map-get ( #1076 )
2020-09-16 13:23:52 -07:00
Natalie Weizenbaum
028b2f6a01
Add a map.deep-merge() function ( #1077 ) ( #1080 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 16:25:49 -07:00
Natalie Weizenbaum
015a76cf0b
Revert "Add a map.deep-merge() function ( #1077 ) ( #1080 )"
...
This reverts commit 315e86b442
.
Once again, this was supposed to go on feature.nested-maps.
2020-09-15 16:24:53 -07:00
Natalie Weizenbaum
315e86b442
Add a map.deep-merge() function ( #1077 ) ( #1080 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 16:23:01 -07:00
Natalie Weizenbaum
9503b57ac5
Revert "Add a map.deep-merge() function ( #1077 )"
...
This reverts commit bc7216a441
.
This was intended to land on a feature branch, not on master.
2020-09-15 15:17:55 -07:00
Natalie Weizenbaum
bc7216a441
Add a map.deep-merge() function ( #1077 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 13:03:38 -07:00
Natalie Weizenbaum
a06295426d
Throw a proper error when the same built-in module is @used twice ( #1070 )
...
Closes #1047
2020-09-04 12:26:29 -07:00
Natalie Weizenbaum
1dff9a7ce4
Don't crash when writing Infinity in JS mode ( #1069 )
...
Closes #1031
2020-09-04 12:25:42 -07:00
Natalie Weizenbaum
4c0bc7f4f5
Throw an error if the first error to selector.nest() contains & ( #1068 )
...
Closes #966
2020-09-03 16:00:14 -07:00
Christophe Coevoet
fca32e8deb
Use HTTPS links in the changelog ( #1061 )
...
This also update the URL to the canonical one rather than relying on the redirection.
2020-08-24 09:29:21 -07:00
Natalie Weizenbaum
9f640625e9
Improve the error messages for syntax errors ( #1055 )
...
* Produce a useful error for "@else i<EOF>"
* Produce a useful error for out-of-range hex escapes
Closes #1029 , #1049 , #1030
2020-08-10 13:55:13 -07:00
Jennifer Thakar
9375ada8e6
Fix a selector parsing bug in indented syntax ( #1005 )
...
Fixes #1002 .
In the indented syntax, a selector list may continue onto another line
if the previous line ends with a comma. Previously, if there was a
comment after the comma, it wouldn't be recognized and the selector
would be broken in two (with the first selector having no properties).
This fixes the parser to ignore comments when looking for the comma at
the end of a line.
Also disables the formatting check to work around dart-lang/dart_style#940 .
2020-08-06 15:43:16 -07:00
Jennifer Thakar
6565b45a6c
Fix a null pointer bug ( #1041 )
...
Fixes #1038 .
2020-07-06 15:35:09 -07:00
Mary
9a89df2b64
Release 1.26.9 ( #1028 )
...
Co-authored-by: Jennifer Thakar <jathak@google.com>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2020-06-22 14:32:00 -07:00
Jennifer Thakar
7d6dae02a4
Always use absolute URLs in stdout source maps ( #1021 )
...
Fixes #1020 .
2020-06-04 17:03:06 -07:00
Jennifer Thakar
cf3ac21752
Fix pubspec and release 1.26.7 ( #1016 )
...
Pub was failing due to the `js` dependency being declared as a dev
dependency but being referenced in `lib`.
2020-05-28 16:46:28 -07:00
Jennifer Thakar
fba0ea37a1
Properly handle escaped @else
( #1014 )
...
Fixes #1011 .
This also fixes a bug where `@else` was parsed case-insensitively
(unlike all other Sass at-rules, which must be lowercase).
2020-05-28 11:48:24 -07:00
awjin
21a1c58b20
Don't read file
if Node importer returns file
and contents
.
...
Instead, use `contents` with `file` as the canonical url.
Closes https://github.com/sass/dart-sass/issues/975 .
2020-04-24 17:38:30 -07:00
Jennifer Thakar
7160b6426d
Add missing constants to JS API ( #990 )
...
Fixes #977 .
2020-04-24 16:11:46 -07:00
Natalie Weizenbaum
a7b0ad8e64
Release 1.26.5 ( #987 )
...
This needs a release because the release process for 1.26.4 was broken
by dart-lang/sdk#41259 .
2020-04-23 18:39:10 -07:00
Natalie Weizenbaum
bf35513a4c
Avoid adding duplicate modules when importing forwarded stylesheets ( #973 )
...
Avoid adding duplicate modules when importing forwarded stylesheets
In Google stylesheets that imported import-only stylesheets with many
forwards many of times, we were seeing Environment._globalModules grow
large enough that variable accesses were a problem. This addresses
that in several ways:
* Forwarded modules are now ignored if the module is already being
forwarded.
* Module equality is more intelligent, so that shadowed and forwarded
modules can be effectively de-duplicated.
* If a module would be fully shadowed by a later import *and* that
module has no CSS, we no longer add an empty ShadowedModule to the
module list.
2020-03-24 15:31:06 -07:00
georgpukk
4d78316cb7
Fix a check that prevents compiling .css files to themselves ( #968 )
...
Co-Authored-By: Natalie Weizenbaum <nweiz@google.com>
2020-03-11 14:48:00 -07:00
Natalie Weizenbaum
cb8a048e58
Refactor Extender._extendOrReplace() ( #965 )
...
This combines all targets into a single extender invocation, which is
more efficient and allows it to more aggressively do redundant
selector elimination.
2020-02-28 15:48:36 -08:00
Natalie Weizenbaum
a333059e71
Keep recompiling downstream dependencies after an error in --watch
...
Prior to this, the watcher handled all the logic around recompiling
stylesheets if an upstream file was deleted or added in a way that
could affect their import resolution. This left a gap where the
stylesheet graph wouldn't be aware that a newly-added file had become
upstream dependency of an existing downstream file, leading to
recompilation failures.
This commit fixes that by moving all that logic into the stylesheet
graph. The graph now has full and sole responsibility for providing a
consistent view of which stylesheets depend on one another even as the
shape of the graph changes, and the watcher is just a client of that
logic.
Closes #550
2020-02-24 20:18:03 -08:00
Natalie Weizenbaum
01ed720e9c
Temporarily disable deploying to Chocolatey ( #960 )
...
The cli_pkg Chocolatey deployment is still failing for unknown
reasons, and until I have time to debug it I want to get a full
release out.
2020-02-24 11:38:42 -08:00
Natalie Weizenbaum
4f8f509584
Cut a release ( #958 )
...
* Use cli_pkg's updated Chocolatey support
* Stop running Node tests on the Dart dev channel for now
See dart-lang/test#1184
2020-02-19 13:42:56 -08:00
Natalie Weizenbaum
0d0270cb12
Cut a release ( #957 )
2020-02-13 16:05:04 -08:00
Natalie Weizenbaum
6d388248b6
Eagerly initialize Environment._globalModules ( #952 )
...
We had been lazily initializing this to be more efficient when no
global modules were used, but this meant that the object wasn't shared
with closures created for mixins and functions that were created when
it was still `null`, so later imported forwards weren't visible to
those members.
2020-02-13 15:23:53 -08:00
Natalie Weizenbaum
0a2142dc86
Don't include leading underscores in implicit namespaces ( #955 )
...
Closes #934
See sass/sass#2800
2020-02-12 12:52:53 -08:00
Natalie Weizenbaum
7d8002ec9b
Cut a release
2020-02-07 17:04:13 -08:00
Natalie Weizenbaum
67c4e1bdea
Don't throw conflict errors for identical members ( #947 )
...
See sass/sass#2820
Closes #946
2020-02-07 15:17:05 -08:00
Natalie Weizenbaum
73ddae9c34
Bump the pubspec and add a CHANGELOG entry
...
Normally I'd just release this, but releasing is currently on hold
until a few cli_pkg bugs are fixed.
2020-02-07 01:00:41 -08:00
Natalie Weizenbaum
7457d2e9e7
Create a release to test cli_pkg infrastructure ( #940 )
2020-01-24 16:49:59 -08:00
Natalie Weizenbaum
eeeac1d689
Give JavaScript value objects useful constructor.name values ( #936 )
...
Closes #810
2020-01-17 14:46:10 -08:00
awjin
4c0c6b48e4
Merge branch 'master' into math-functions
2020-01-16 14:55:40 -08:00
Awjin Ahn
75cab86448
Add trigonometric math functions. ( #921 )
...
See https://github.com/sass/sass-spec/pull/1504
2020-01-15 14:44:13 -08:00
Awjin Ahn
3cbaec11b2
Add exponential math functions. ( #909 )
2020-01-15 14:44:13 -08:00
awjin
d487d761bd
Revert "Revert "Add built-in variables e and pi. ( #907 )""
...
This reverts commit 3c64addbf3
.
2020-01-15 14:44:13 -08:00
awjin
5f72acb14d
Revert "Revert "Adds built-in clamp() and hypot() ( #906 )""
...
This reverts commit 76280409bd
.
2020-01-15 14:44:13 -08:00
Natalie Weizenbaum
0c1370ce25
Allow errors to refer to multiple source spans at once
...
This makes error messages for issues like configuring a module after
it's loaded much clearer.
2020-01-10 22:31:48 -08:00
Natalie Weizenbaum
ca63b1ba7d
Don't try to resolve relative Node importer URLs for source maps ( #923 )
...
* Don't try to resolve relative Node importer URLs for source maps
Closes #922
* Reformat
2020-01-09 13:14:44 -08:00
Natalie Weizenbaum
e110961120
Pass the version variable to script snapshots at build time ( #920 )
...
Closes #914
See https://github.com/dart-lang/sdk/issues/36579#issuecomment-571386118
2020-01-07 13:53:30 -08:00
Jennifer Thakar
bfdf4b35a4
Fix import-only files for Node importers ( #919 )
2020-01-03 15:41:12 -08:00
Jennifer Thakar
79d9a73474
Cache separate canonical URLs for @use and @import ( #908 )
...
Fixes #899 .
The cache for canonical URLs is now keyed on *both* the rule URL and
whether that URL was canonicalized for an `@import` rule.
2020-01-02 15:25:02 -08:00
Jennifer Thakar
76280409bd
Revert "Adds built-in clamp() and hypot() ( #906 )"
...
This reverts commit 24f84e2c88
.
2020-01-02 13:45:51 -08:00
Jennifer Thakar
3c64addbf3
Revert "Add built-in variables e and pi. ( #907 )"
...
This reverts commit 2cb69e70ab
.
2020-01-02 13:45:49 -08:00
Awjin Ahn
2cb69e70ab
Add built-in variables e and pi. ( #907 )
2019-12-26 16:31:33 -08:00
Awjin Ahn
24f84e2c88
Adds built-in clamp() and hypot() ( #906 )
2019-12-26 12:40:08 -08:00
Natalie Weizenbaum
de3f3208e9
Support @forward ... with
...
See sass/sass#2744
Closes #846
2019-11-27 16:03:43 -08:00
Jennifer Thakar
8270dc1664
Support configuring modules through imports ( #885 )
...
Fixes #882
See sass/sass-spec#1497
2019-11-26 09:46:51 -08:00
Natalie Weizenbaum
15be59be31
Make SassFormatException implement SourceSpanFormatException ( #891 )
2019-11-25 18:54:45 -08:00
Natalie Weizenbaum
731bd441ca
Don't produce name conflict errors due to imports
...
Closes #888
2019-11-20 16:25:48 -08:00
Natalie Weizenbaum
aa76c8ab3b
Always create scopes for nested imports
2019-11-20 16:21:03 -08:00
Natalie Weizenbaum
aac599947d
Run the GitHub Windows release on the latest Dart version ( #886 )
2019-11-18 17:33:56 -08:00
Natalie Weizenbaum
e1e96338d8
Bump the version
2019-11-15 16:40:47 -08:00
Natalie Weizenbaum
0d782fbccf
Fix inline comments in the indented syntax ( #881 )
...
Closes #880
2019-11-15 15:45:11 -08:00
Awjin Ahn
07b5c84b7d
Fix arity in overloaded function argument error ( #883 )
...
When overloaded functions receive an incorrect number of positional
arguments, determine which overload has the most similar number of
arguments, and then correctly display that number in the error.
Closes #520
sass/sass-spec#1496
2019-11-15 14:26:11 -08:00
Awjin Ahn
3d1dab3563
Print call-site for @errors in mixins and functions ( #878 )
...
For any @errors encountered in mixins or functions, use the call-site
(instead of the @error rule) as the span printed in the error message.
Closes #474
See sass/sass-spec#1494
2019-11-13 17:56:35 -08:00
Natalie Weizenbaum
44059573bb
Watch files through @forward rules ( #871 )
...
Closes #870
2019-11-04 13:32:27 -08:00
Natalie Weizenbaum
be4ca60045
Propagate selector source specificity between modules
...
Closes #866
2019-10-30 15:11:25 -07:00
Natalie Weizenbaum
3392db0074
Don't compile .css files in directories to themselves ( #862 )
...
This also adds support for compiling .css files in directories *at
all*, which had previously only worked in --watch mode.
Closes #853
2019-10-29 23:48:21 +00:00
Natalie Weizenbaum
1b17ab76cf
Reset the forwarded config to empty for @use and meta.load-module() ( #855 )
...
In #827 I made configuration never be null, but this turns out to be
overkill: we still need a way for _loadModule() and _execute() to
distinguish between "use the existing configuration" (for @forward)
and "use no configuration" (for an unconfigured @use or
meta.load-module()). We now use null as a sentinel value there, while
still ensuring that _configuration is non-nullable.
Closes #854
2019-10-22 01:35:11 +01:00
Natalie Weizenbaum
73de08b817
Only generate and update selectors, not rules, in Extender ( #856 )
...
We switched to *updating* selectors a while ago so that cloned rules
would continue to see updates in their selectors, but we were still
generating and tracking rules in the Extender. This caused skew
between what rules the extender knew about and what rules actually
existed in situations where rules were copied (such as when resolving
nested media queries).
There's no principled reason the extender needs to know about style
rules at all, so now it just tracks modifiable wrappers of selectors.
These are re-used even when style rules are cloned, so they're safe
from the skew problem.
Closes #843
2019-10-21 21:07:51 +01:00
Natalie Weizenbaum
6b8c168779
Improve error messages for color functions that aren't in sass:color ( #844 )
2019-10-14 17:56:13 -07:00
Natalie Weizenbaum
e68592f8f3
Allow saturate() in plain CSS files ( #845 )
...
Closes #840
2019-10-14 11:47:16 -07:00
Jennifer Thakar
664260159e
Update changelog and bump pubspec version
2019-10-10 15:42:39 -07:00
Natalie Weizenbaum
87c9223b66
Fix broken CHANGELOG links ( #836 )
2019-10-02 11:19:51 -07:00
Natalie Weizenbaum
5052350150
Bump the pubspec and add a changelog entry for @use
2019-10-01 14:54:54 -07:00
Natalie Weizenbaum
d901bcb00c
Properly handle some CSS identifier edge cases ( #816 )
...
See sass/sass#2738
Closes #815
2019-09-06 16:54:54 -07:00
Natalie Weizenbaum
aea990d4fc
Properly watch .css files for changes ( #814 )
...
Closes #806
2019-09-03 16:42:21 -07:00
Natalie Weizenbaum
4ccddf8b13
Dash-normalize user-defined functions ( #813 )
...
Closes #811
2019-09-03 16:00:07 -07:00
Natalie Weizenbaum
35880d171f
Check fs.existsSync() before running fs.statSync() ( #812 )
...
This produces non-negligible speed improvements for Node users with
lots of imports.
2019-09-03 13:26:57 -07:00
Natalie Weizenbaum
a89c67b563
Fix unquoted plain-CSS imports ( #800 )
...
Closes #799
2019-08-28 14:09:35 -07:00
Natalie Weizenbaum
fc8c987fc1
Fix a few @extend edge cases ( #797 )
2019-08-16 14:00:14 -07:00
Natalie Weizenbaum
0e5ed4a37d
Fix dash-insensitivity in get-function() ( #795 )
...
Closes #792
2019-08-14 12:20:47 -07:00
Natalie Weizenbaum
c8ac543d1e
Re-add support for Node Carbon ( #785 )
...
Apparently npm and Yarn won't avoid installing a package version that
declares incompatibility with them, so dropping compatibility for an
old version is actually a breaking change 😭 .
2019-07-29 22:32:53 +01:00
Natalie Weizenbaum
d840b84b59
Clarify the error for the wrong number of positional arguments
...
Closes #776
2019-07-25 08:37:01 +01:00
Natalie Weizenbaum
382af499e0
Avoid double "Error:" headers when reporting selector parse errors
...
Closes #774
2019-07-25 08:37:01 +01:00
Natalie Weizenbaum
44b542fcef
Include argument names when reporting selector parse errors
2019-07-25 08:37:01 +01:00
Natalie Weizenbaum
8d5e3d9a67
Include argument names when reporting range errors
...
Closes #771
2019-07-25 08:37:00 +01:00
Natalie Weizenbaum
d0f471ca9d
Drop support for Node 8.x
...
url.pathToFileURL, which wasn't supported until Node 10.x, is now used
in node_preamble.
2019-07-22 16:51:15 -07:00
Natalie Weizenbaum
b1707f61cd
Release 1.22.8
...
This doesn't contain any code changes relative to 1.22.7, but the JS
release will pick up mbullington/node_preamble.dart#16 .
2019-07-22 14:47:38 -07:00
Natalie Weizenbaum
ea4436b87d
Limit the Dart SDK constraint to ^2.4.0 ( #769 )
...
2.3.2 and earlier releases suffered from dart-lang/sdk#37027, which
causes them to fail to parse Dart Sass.
Closes #768
2019-07-18 21:49:36 +01:00
Natalie Weizenbaum
c794abd858
Eagerly dash-normalize Sass identifiers
...
This avoids using maps and sets with custom equality, which are
moderately inefficient relative to built-in maps and sets on both Node
and the Dart VM. In order to make error messages continue to use the
original identifiers where possible, this updates some of them to rely
more heavily on their associated source spans for context.
2019-07-16 19:42:38 -07:00
Natalie Weizenbaum
535030bb0f
Release 1.22.5
2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
0e47e03305
Fix at-rules in nested imports ( #758 )
...
Closes #755
2019-07-12 01:55:30 +01:00
Natalie Weizenbaum
d3e288ccf2
Support map-remove() with a named $key argument
...
Closes #742
2019-07-03 15:31:56 -07:00
Natalie Weizenbaum
eff8c37457
Fix a deadlock in zip()
...
Closes #739
2019-07-03 15:31:56 -07:00
Natalie Weizenbaum
5ff434da6a
Fix join() and append() $separator error messages
...
Closes #738
2019-07-03 15:31:56 -07:00
Natalie Weizenbaum
47e0cfc8c8
Empty maps have undecided separators
...
Closes #737
2019-07-03 15:31:56 -07:00
Natalie Weizenbaum
821b5e2521
Fix str-insert() with $index: -1
...
Closes #733
2019-07-02 17:25:46 -07:00
Natalie Weizenbaum
40df8e3bc1
Fix str-slice() with astral plane characters
...
Closes #732
2019-07-02 17:25:46 -07:00
Natalie Weizenbaum
2105a138c0
Clamp $alpha in adjust-color() with HSL args
...
Closes #708
2019-07-02 17:25:45 -07:00
Natalie Weizenbaum
7bfba04b79
Throw an error for plain-CSS invert() with $weight
...
Closes #705
2019-07-02 17:25:36 -07:00
Natalie Weizenbaum
d5adb4621e
Fix invert() with $weight: 50%
...
Closes #704
2019-07-02 17:25:25 -07:00
Natalie Weizenbaum
9838caff6f
Improve errors for alpha() with the wrong number of arguments
...
Closes #700
2019-07-02 17:25:14 -07:00
Natalie Weizenbaum
ed06a41afc
Fix the argument name for a single-argument saturate() function
...
Closes #699
2019-07-02 16:10:28 -07:00
Natalie Weizenbaum
60af5f6c25
Release 1.22.2 ( #745 )
...
The CHANGELOG entry from #727 got misplaced; that code hasn't been
released yet.
2019-07-01 13:31:13 -07:00
Natalie Weizenbaum
532358d7fa
Merge pull request #727 from sass/static-require
...
Require dependencies in the preamble rather than through JS-interop
2019-06-28 14:32:18 -07:00
Natalie Weizenbaum
2cdbbebcaf
Declare support for Chokidar 3.0.0 ( #731 )
...
Closes #730
2019-06-26 16:06:22 -07:00
Natalie Weizenbaum
174ef128a2
Merge remote-tracking branch 'origin/feature.use' into merge-use
2019-06-24 14:12:05 -07:00
Natalie Weizenbaum
494e208067
Require dependencies in the preamble rather than through JS-interop
...
Closes #726
2019-06-19 19:41:16 +01:00
Natalie Weizenbaum
a46e779675
Clarify !global deprecation warnings
...
Closes #723
2019-06-18 17:39:29 -07:00
Natalie Weizenbaum
e4b18b5231
Produce better stack traces for syntax errors loaded via import/use ( #722 )
...
We now wrap _withStackFrame() around wider sections of code, including
_loadStylesheet() which handles parse errors, so that the @use/@import
stack frames are available.
2019-06-18 17:26:46 -07:00
Natalie Weizenbaum
4716349a0e
Add new module-system features for existing functions ( #720 )
2019-06-18 12:03:12 -07:00
Natalie Weizenbaum
a87631777b
Declare a "sass" executable in the pubspec ( #712 )
2019-06-06 21:19:09 +01:00
Natalie Weizenbaum
bea609d74b
Add a top-level warn() function for functions and importers ( #711 )
...
In addition to being useful for users of Sass, this will make it
possible for core Sass functions to produce warnings without needing
an explicit reference to the evaluator.
2019-06-06 19:42:44 +01:00
Natalie Weizenbaum
48c284b4ef
Properly mark secure variables so they're decrypted by Travis ( #697 )
2019-05-31 17:01:33 +01:00
Natalie Weizenbaum
2836780339
Merge pull request #689 from sass/exponent
...
Fix some number serialization bugs
2019-05-24 15:09:37 -07:00
Natalie Weizenbaum
0fe0208f6e
Remove exponent notation for integers on Node.js
...
Closes #688
2019-05-21 13:36:36 -07:00
Natalie Weizenbaum
fb383de20e
Fix a bug in SerializeVisitor._writeDecimal
...
This function didn't expect a number ending in ".0", because they're
normally filtered out by fuzzyAsInt(). However, they can make it
through for very large doubles.
2019-05-20 15:50:45 -07:00
Natalie Weizenbaum
768da7088c
Resolve imports using custom imports before load paths ( #687 )
...
Closes #681
2019-05-20 15:34:57 -07:00
Natalie Weizenbaum
4b7699291c
Compile release executables in native mode ( #679 )
2019-05-15 16:02:02 -07:00
Natalie Weizenbaum
60fc306ab4
Release 1.20.1
...
This doesn't have any code changes, but I want to verify that the new
deployment infrastructure works and the only way to do that is to
actually deploy.
2019-05-03 13:13:20 -07:00
Natalie Weizenbaum
34c068a189
Generate a CSS file describing an error when one occurs ( #659 )
...
Closes #657
2019-05-02 18:14:25 -07:00
Natalie Weizenbaum
407eefded1
Add support for attribute selector modifiers ( #658 )
...
Closes #656
2019-04-30 11:31:18 -07:00
Natalie Weizenbaum
37f0740307
Allow ! in url()s ( #650 )
...
Closes #646
2019-04-18 17:37:20 -07:00
Natalie Weizenbaum
413c949446
Make FilesystemImport._loadPath absolute ( #651 )
...
This avoids having the effective load path change when the process's
working directory changes.
2019-04-18 16:34:48 -07:00
Natalie Weizenbaum
3b3a43a8f9
Add a --charset flag and API option ( #644 )
...
The automatic @charset adding is useful in general, but there are
consistently cases where it trips up naïve downstream tools. This
option makes it easier for users to control when it occurs.
2019-04-08 14:49:08 -07:00
Natalie Weizenbaum
59800ad1f9
Don't recursively list directories in realCasePath() ( #641 )
...
We only need to list the path's immediate parent directory in order to
find its real case.
Closes #636
2019-04-04 12:18:02 -07:00
Natalie Weizenbaum
495c6f3163
Only claim "package:" URLs are unsupported on Node ( #637 )
...
Closes #630
2019-04-04 12:17:36 -07:00
Natalie Weizenbaum
8c9412b520
Fix importing files relative to "package:" imports ( #638 )
...
The PackageImporter wasn't accepting paths relative to its
canonicalized outputs as inputs.
Closes #631
2019-04-03 13:57:52 -07:00
Natalie Weizenbaum
9999835df0
Add a sass.types.Error constructor to the JS API ( #627 )
...
Closes #590
2019-04-03 01:07:12 -07:00
Natalie Weizenbaum
bc5e3c4f8f
Properly parse CR, CR LF, and FF as newlines everywhere ( #626 )
...
Closes #623
2019-03-18 16:50:23 -07:00
Natalie Weizenbaum
62bce0c5b9
Properly stringify slash-separated numbers in operations ( #612 )
...
Closes #607
2019-03-07 18:14:12 -08:00
Natalie Weizenbaum
e84c8b1995
Don't put style rules inside empty @keyframes rules ( #613 )
...
Closes #611
2019-03-07 17:04:30 -08:00
Natalie Weizenbaum
8ab9ce1141
Deprecate assignment to non-existent global variables ( #601 )
...
See #600
See sass/sass#2606
2019-02-21 15:16:52 -08:00
Natalie Weizenbaum
149bf85b4d
Explicitly mark classes as sealed ( #602 )
2019-02-20 16:39:46 -08:00
Natalie Weizenbaum
26401fb135
Fix an attribute selector quoting bug ( #599 )
...
Closes #598
2019-02-20 13:38:21 -08:00
Natalie Weizenbaum
7ca989a4f7
Produce a better error for invalid function contents ( #587 )
...
Closes #584
2019-02-04 13:14:25 -08:00
Natalie Weizenbaum
a81017275a
Produce a better error message for unclosed style rules ( #586 )
...
Closes #577
2019-02-01 17:21:15 -08:00
Natalie Weizenbaum
b102dc496a
Allow individual directories to be passed on the command-line ( #581 )
...
Closes #543
2019-02-01 14:59:58 -08:00
Natalie Weizenbaum
cd3b82e2be
Fix a check for adjusting parse errors ( #582 )
2019-02-01 14:55:34 -08:00
Natalie Weizenbaum
e8ac314f56
Support dart-lang/source_span#25 ( #566 )
...
This adds a --no-unicode option to disable Unicode span rendering,
decouples repl highlighting from SourceSpan.highlight, and updates
tests to work with the new error highlighting.
It also tightly scopes source spans for statements with children.
Previously, source spans for these nodes extended all the way through
any whitespace that followed the node. This led to messy-looking
multiline span highlights with dart-lang/source_span#25 .
Now, StylesheetParser.children doesn't consume trailing whitespace.
Instead, we add a helper method StylesheetParser._withChildren that
parses children, creates the appropriate span, and then consumes the
trailing whitespace.
2019-01-28 20:42:32 -05:00
Natalie Weizenbaum
9fdf5612ea
Fix a performance bug in BinaryOperatorExpression.span ( #569 )
...
Previously, evaluator called BinaryOperationExpression.span for each
binary operation it evaluated, which in turn called spanForList() to
create a span covering both child expressions. spanForList() then
called .span for both the left and right child operations *twice*,
leading to exponential behavior.
This is now avoided in three complementary ways:
1. The evaluator avoids eagerly calling AstNode.span, instead keeping
the original AstNode until the span itself needs to be accessed.
This means that a span will only be accessed when an error actually
occurs, and then only one operation's span will be accessed.
2. BinaryOperationExpression.span now iterates through any child
operations before calling their .span methods, so it only performs
O(1) allocations.
3. spanForList() now only calls each AstNode.span once.
2019-01-17 18:04:14 -05:00
Natalie Weizenbaum
55ebe56d3c
Add support for new special number strings ( #556 )
...
See sass/sass#2584
2019-01-09 15:50:04 -05:00
Natalie Weizenbaum
32be730b6e
Emit tab characters as \9 ( #553 )
...
Closes #552
2019-01-04 14:20:28 -05:00
Natalie Weizenbaum
18c0cbdaea
Match Node Sass's this.includePaths behavior for importers ( #551 )
...
On Windows, paths are separated with a semicolon rather than a colon.
Closes #549
2019-01-03 10:48:20 -08:00
Natalie Weizenbaum
759b587364
Don't omit units in numbers in compressed mode ( #545 )
...
See https://github.com/sass/sass/issues/649#issuecomment-447033060
2019-01-03 10:47:54 -08:00
Natalie Weizenbaum
06b9fbd812
Merge branch 'master' into windows-path-separator
2018-12-26 14:17:45 -08:00
Natalie Weizenbaum
23968148d0
Properly use ImportResult.sourceMapUrl for source map URLs
...
This also uses data: URLs to refer to stylesheets from stdin in source
maps.
2018-12-20 16:22:43 -08:00
Natalie Weizenbaum
519bfa3d6b
Match Node Sass's this.includePaths behavior for importers
...
On Windows, paths are separated with a semicolon rather than a colon.
Closes #549
2018-12-17 15:30:17 -08:00
Natalie Weizenbaum
94fd7e6e50
Match Ruby Sass's number behavior ( #544 )
...
This introduces two changes:
1. It changes the epsilon within which two numbers are considered
equal to be an order of magnitude smaller than the numeric
precision. Ruby Sass has always done this, and Dart Sass should
have but did not until now.
2. It parses the component of a number after the decimal point using
double.parse() to avoid accumulating floating point errors.
2018-12-13 15:27:08 -08:00
Natalie Weizenbaum
f3db1d6a66
Properly merge "all and" media queries ( #539 )
...
Closes #537
2018-12-10 13:13:19 -08:00
Natalie Weizenbaum
dad8491035
Make types.String.prototype.setValue() de-quote a string ( #535 )
...
Closes #513
2018-12-06 15:06:32 -08:00
Natalie Weizenbaum
aa52cf1474
Always add quotes to attribute selector values that begin with -- ( #529 )
...
Closes #527
2018-11-16 13:51:36 -08:00
Natalie Weizenbaum
50efdabcce
Add support for CSS Color Level 4 rgb() and hsl() syntax
...
Closes #497
2018-11-12 16:33:54 -08:00
Natalie Weizenbaum
13006e9902
Clamp saturation and lightness rather than throwing errors ( #521 )
...
This matches Ruby Sass's behavior.
2018-11-12 14:25:40 -08:00
Natalie Weizenbaum
4520b8b53b
Don't trim escaped whitespace ( #523 )
...
Related to sass/ruby-sass#96
2018-11-08 11:54:59 -08:00
Natalie Weizenbaum
1206761da4
Add support for passing arguments to @content blocks ( #518 )
...
Closes #498
2018-11-05 16:53:43 -08:00
Natalie Weizenbaum
77563be056
Add support for SASS_PATH ( #514 )
...
Closes #512
2018-11-05 15:24:14 -08:00
Natalie Weizenbaum
bf71ca359d
Add support for interpolation in at-rule names ( #509 )
...
Closes #496
2018-11-01 14:31:46 -07:00
Natalie Weizenbaum
9e18b7e95b
Always include the error location in JS error messages ( #511 )
...
Always include the error location in JS error messages
I was trying to match Node Sass's behavior by having Error.formatted
property have more detail than Error.message, but our errors rely on
source snippets for context so this just ended up making them
confusing.
2018-10-31 18:13:04 -07:00
Natalie Weizenbaum
6bdb49a9d5
Properly escape U+0009 CHARACTER TABULATION in unquoted strings ( #504 )
2018-10-18 18:50:03 -07:00
Natalie Weizenbaum
a25bbb3fc7
Add a ParenthesizedExpression class ( #503 )
...
This allows us to accurately track the source spans for parenthesized
expressions, which in turn allows us to print accurate error
indications.
Adding a new class for this more accurately represents the structure
of the expression, but it also involves an extra allocation during
parsing and an extra level of nesting during evaluation which could
have a small but real performance impact.
We could alternatively add a package-internal setter for
Expression.span, and update the source span for parenthesized
expressions after they're initially parsed. However, this has its own
downsides: it adds complexity and mutability to the object model; and
many expression classes currently use lazily-generated spans, so
making them settable would require adding extra slots on those
classes.
I decided to go with the extra class because it only adds overhead
when parentheses are actually used in practice, as opposed to adding
overhead to every list/color/etc. The runtime overhead is also likely
to be mitigated if at any point we add a constant-folding step.
2018-10-17 16:52:32 -07:00
Natalie Weizenbaum
453d89bad5
Treat :before et al a pseudo-elements ( #495 )
...
Closes #484
2018-10-12 14:35:49 -07:00
Jen Thakar
9a1f322d7f
Remove space around combinators in compressed mode ( #494 )
...
Complex selectors like "a > b" will now be output as "a>b" in
compressed mode.
2018-10-11 18:03:09 -07:00
Natalie Weizenbaum
0595ac3e71
Fix an import-resolution bug ( #488 )
...
When a stylesheet is imported, the parsed stylesheet object is cached
based on its canonical URL. However, the stylesheet.span.sourceUrl was
based on the text of the import that was used to load that stylesheet.
The idea was to make the source URL in stack traces look nicer, but it
meant that relative URLs could be resolved based on the old importer's
URL before being sent to the new importer, which caused bugs.
Now stylesheet.span.sourceUrl is always the canonical URL of the
stylesheet, and thus safe to cache. We then use the import cache to
convert the canonical URL to a human-friendly URL at the point at
which we generate stack traces.
This also deprecates support for relative canonical URLs. The
semantics of these URLs were always unclear, and with the new change
in import internals the old behavior doesn't make much sense. It's
preserved for backwards-compatibility, but deprecated.
2018-10-11 15:06:26 -07:00
Natalie Weizenbaum
123bc1ff68
Properly escape U+001F INFORMATION SEPARATOR ONE in unquoted strings ( #487 )
...
See sass/sass-spec#1288
2018-10-10 15:49:43 -07:00
Natalie Weizenbaum
0620ccc19a
Fix @debug on stdin ( #493 )
2018-10-10 15:05:23 -07:00
Natalie Weizenbaum
ff3cea5312
Properly parse escaped digits at the beginning of identifiers ( #486 )
...
See sass/sass#1542
Closes sass/dart-sass#485
2018-09-26 21:01:46 -04:00
Natalie Weizenbaum
b3c9e7b00f
Fix a parsing bug involving nested content blocks ( #483 )
...
Closes #482
2018-09-26 14:32:55 -04:00
Progracientist
a6164217df
Prettify URIs ( #481 )
...
Closes #464
2018-09-26 13:39:49 -04:00
Natalie Weizenbaum
89b86be5e8
Enable full alpha hex support ( #478 )
...
Closes #371
2018-09-19 16:03:32 -04:00
Natalie Weizenbaum
918a3fedf2
Pass --omit-implicit-checks to dart2js in release mode ( #473 )
...
Substantially addresses #113
2018-09-11 14:39:47 -07:00
Natalie Weizenbaum
1a5eb2a2e3
Fix embedding source maps with non-ASCII characters ( #471 )
...
Closes #457
2018-09-11 12:13:43 -07:00
Natalie Weizenbaum
ede9c81e0b
Properly adjust source maps when prepending encoding information ( #470 )
...
Closes #469
2018-09-10 15:38:30 -07:00
Natalie Weizenbaum
edf3370cd9
Parse :nth-child() selectors with extra whitespace ( #467 )
...
As a side effect of the new parse, this also removes extra whitespace
from :nth-child() selectors.
Closes #465
2018-09-05 15:28:26 -07:00
Natalie Weizenbaum
048b17495e
Support browser hacks in plain CSS mode ( #468 )
...
Closes #466
2018-09-05 14:31:59 -07:00
Natalie Weizenbaum
9e5ef91f22
Add support for the single-equals operator in plain CSS ( #463 )
...
Closes #462
2018-08-31 18:15:23 -06:00
Natalie Weizenbaum
997e068499
Add support for extending selector lists ( #455 )
...
Closes #452
2018-08-17 13:32:10 -07:00
Natalie Weizenbaum
677d781c52
Fix a crash with nested media rules ( #454 )
...
Closes #453
2018-08-17 12:34:31 -07:00
Natalie Weizenbaum
c5dff3e841
Remove the source map comment from the JS blob we release ( #448 )
...
See bazelbuild/rules_sass#44
2018-08-15 13:28:02 -07:00
Natalie Weizenbaum
874ee0b076
Expose the SassException class publicly ( #446 )
2018-08-14 12:58:47 -07:00
Natalie Weizenbaum
d1bb4a0d6d
Allow a BOM at the beginning of a document ( #441 )
...
This was only breaking in JS because apparently dart:io automatically
filters out BOMs.
Closes #437
2018-08-10 16:31:15 -07:00
Natalie Weizenbaum
0f7f9e69a7
Add support for plain CSS imports ( #436 )
...
Closes #424
2018-08-10 15:58:15 -07:00
Natalie Weizenbaum
534256a381
Merge branch '1.10.x' into master
2018-08-09 17:56:30 -07:00
Natalie Weizenbaum
511319a3b4
Declare support for test 1.0.0
...
Closes sass/homebrew-sass#10
2018-08-09 15:16:56 -07:00
Natalie Weizenbaum
98fa94e3e7
Merge branch '1.10.x'
2018-08-03 15:42:23 -07:00
Natalie Weizenbaum
8bffd52729
Don't hang after a syntax error in --watch ( #435 )
...
Closes #401
2018-08-03 15:38:16 -07:00
Natalie Weizenbaum
89ce44aac4
Pass --no-preview-dart-2 to the Chocolatey script ( #434 )
...
I missed this in c462b82
.
Closes #433
2018-08-03 14:24:53 -07:00
Natalie Weizenbaum
3b2f20d71b
Add support for plain CSS min() and max() ( #428 )
...
See sass/sass#2378
Closes #426
2018-08-03 12:50:56 -07:00
Natalie Weizenbaum
d00b30a1af
Merge tag '1.10.2'
2018-08-02 17:11:55 -07:00
Natalie Weizenbaum
5ee73e2ead
Release 1.10.2
...
This is just intended to trigger a new Chocolatey build.
Closes #413
2018-08-02 16:28:07 -07:00
Natalie Weizenbaum
468e3b0270
Normalize escapes in identifiers ( #427 )
...
Closes #425
See sass/sass#1542
2018-07-26 16:21:02 -07:00
Natalie Weizenbaum
313b939ed8
Add support for range-form media queries ( #423 )
...
See sass/sass#1864
2018-07-25 15:48:24 -07:00
Natalie Weizenbaum
e1750216ee
Don't crash when passing includePaths with importer
...
Closes #412
2018-07-23 16:20:06 -07:00
Natalie Weizenbaum
45da11dad5
Preserve nested media queries when they can't be merged ( #410 )
...
See sass/sass#1831
2018-07-18 12:12:17 -07:00
Natalie Weizenbaum
f740e97e05
Fix a typo in an error message ( #411 )
2018-07-18 12:11:24 -07:00
Natalie Weizenbaum
02781130b8
Give the dummy Node.js FileSystemException a usable toString() ( #407 )
...
Closes #406
2018-07-12 19:26:21 -07:00
Jenny Messerly
6d3cd8dd06
Fix --watch option with node on Mac OS ( #402 )
...
Closes #399
2018-07-11 13:15:55 -07:00
Natalie Weizenbaum
df7c1030cf
Don't emit ANSI codes to Windows terminals that don't support them ( #403 )
...
These codes *could* be supported on all Windows terminals, but
dart-lang/sdk#28614 means that they won't actually be recognized.
Partially addresses #395
2018-07-10 15:59:16 -07:00
Natalie Weizenbaum
9bb272dcff
Support Node Sass's sass.types.Color(argb) constructor ( #398 )
...
Closes #397
2018-07-03 17:09:54 -07:00
Natalie Weizenbaum
96c46a242e
Add a --stop-on-error flag ( #391 )
...
Closes #264
2018-06-29 18:12:36 -07:00
Natalie Weizenbaum
425305725b
Add a --poll option ( #390 )
...
Partially addresses #264 .
2018-06-28 18:20:28 -07:00
Natalie Weizenbaum
cd0211c2ab
Fix the Chocolatey version of the Dart SDK ( #389 )
...
Dev SDKs changed from 2.0.0.XX-dev to 2.0.0.XX-dev-Y.
2018-06-27 17:42:07 -07:00
Natalie Weizenbaum
39eeeb51ef
Add a missing _ignoreErrors() call in StylesheetGraph ( #377 )
...
We weren't ignoring errors when reloading a file, which meant that
syntax errors would get surfaced in the wrong place and cause a crash.
Closes #359
2018-06-26 20:10:46 -07:00
Natalie Weizenbaum
e95d57ce25
Fix @-moz-document parsing and add deprecation warnings ( #379 )
...
Partially addresses #378
Closes #372
2018-06-26 17:11:25 -07:00
Natalie Weizenbaum
3b6730369b
Pin the version of Dart that gets published ( #382 )
...
This version was set separately than the version we test against, for
some reason.
Closes #380
2018-06-25 13:14:36 -07:00
Natalie Weizenbaum
023bf91745
Add deprecation warnings for hex alpha colors ( #367 )
...
Also support unambiguous hex alpha colors.
Closes #360
See sass/sass#2179
2018-06-21 17:47:06 -07:00
Natalie Weizenbaum
87e568faa4
Fix a bug where we were setting the base URL of stylesheets wrong ( #370 )
...
Closes #369
2018-06-20 17:43:40 -07:00
Natalie Weizenbaum
fdbccc8625
Ensure that source map comment URLs are relative to the CSS file ( #365 )
...
Closes #364
2018-06-19 17:50:37 -07:00
Natalie Weizenbaum
c97e36409d
Support the latest version of cli_repl ( #362 )
2018-06-19 13:44:52 -07:00
Natalie Weizenbaum
b949f9fe72
Use Dart 2 constants
2018-06-15 13:59:28 -07:00
Natalie Weizenbaum
7e19b9e7d6
Update the pubspec and changelog
...
[skip ci]
2018-06-13 18:28:52 -07:00
Natalie Weizenbaum
594f936c54
Fix an edge-case bug
...
If a non-partial stylesheet is next to a partial with the same name,
canonicalizing the source URL would fail. We don't really need to
canonicalize that URL anyway, though, since it's only used for import
loops and such a loop will reload and rerun the entrypoint anyway.
2018-06-08 20:28:38 -04:00
Natalie Weizenbaum
0a21fb7063
Make sure --update surfaces failures properly
2018-06-08 20:28:38 -04:00
Natalie Weizenbaum
e2266ded68
Produce better errors when expected tokens are missing ( #344 )
2018-06-01 20:56:12 -04:00
Natalie Weizenbaum
224dc91792
Forbid empty custom properties ( #343 )
2018-05-31 20:39:33 -04:00
Natalie Weizenbaum
c26903e30e
Don't consider drive separators to be path-separating colons ( #342 )
...
Closes #340
2018-05-31 20:38:45 -04:00
Natalie Weizenbaum
942d1e4099
Error out on ambiguous imports ( #339 )
...
Closes #335
2018-05-30 21:03:23 -04:00
Natalie Weizenbaum
920a79b408
Pubspec and changelog
...
[skip ci]
2018-05-30 19:15:06 -04:00
Natalie Weizenbaum
d4655f22bd
Fix an Importer-calling bug ( #338 )
...
We were resolving URLs relative to the canonical URL rather than the
original URL, which broke importers for which those were different,
like the package importer.
Closes #334
2018-05-30 17:47:37 -04:00
Natalie Weizenbaum
ac8c01a595
Add an --update flag
...
Partially addresses #264
2018-05-28 16:58:09 -04:00
Natalie Weizenbaum
17d3c1ae63
Add Importer.modificationTime()
2018-05-28 16:57:56 -04:00
Natalie Weizenbaum
8007892075
Improve handling of invalid semicolons in the indented syntax ( #330 )
...
This improves the error message and fixes a bug where semicolons were
allowed after declarations.
2018-05-24 19:15:56 -04:00
Natalie Weizenbaum
7c26959156
Node API: generate a source map even when outFile isn't set ( #331 )
...
Contrary to documentation, Node Sass generates a source map when
outFile is unset as long as sourceMap is a string.
2018-05-24 18:42:16 -04:00
Natalie Weizenbaum
d68acf9ac2
Support compiling entire directories at once ( #324 )
...
Partially addresses #264
2018-05-22 23:06:33 +01:00
Natalie Weizenbaum
1450c241c6
Support input:output syntax for compiling multiple files at once
...
Partially addresses #264
2018-05-20 20:57:33 +01:00
Natalie Weizenbaum
2d72f1cdca
Add support for @elseif ( #317 )
...
Closes #316
2018-05-03 17:12:40 -07:00
Natalie Weizenbaum
b5fd1409ce
Fix relative imports through relative load paths in the Node API ( #315 )
...
Closes #314
2018-05-02 17:04:36 -07:00
Natalie Weizenbaum
6a117905ab
Fix a crash when printing warnings through the Node API ( #311 )
...
Closes #307
2018-04-25 17:47:29 -07:00
Natalie Weizenbaum
50b820aed3
Add CHANGELOG entries for source map CLI support
...
See #2
[skip ci]
2018-04-25 17:10:02 -07:00
Natalie Weizenbaum
a1f56d783d
Add a CHANGELOG entry for mbullington/node_preamble.dart#6
...
This doesn't actually require any changes in Dart Sass itself, but it
was producing behavior that was visible to our users (#301 ) so it
makes sense to include it in the CHANGELOG for the version that will
include the fix.
[skip ci]
2018-04-25 17:06:37 -07:00
Natalie Weizenbaum
7a882bd3be
Fix a relative import bug in the JS API
...
Closes #284
2018-04-21 00:50:23 -07:00
Natalie Weizenbaum
fd19bc85b6
Add a JavaScript API for source map generation ( #302 )
...
Partially addresses #2
2018-04-20 17:56:00 -07:00
Natalie Weizenbaum
9ea001598a
Add a Dart API for source map generation ( #299 )
...
Partially addresses #2
2018-04-19 16:51:20 -07:00
Natalie Weizenbaum
b23993ea66
Always emit units for non-length/angle 0 values ( #300 )
...
Closes #297
2018-04-19 15:20:17 -07:00
Natalie Weizenbaum
6fd0f6d6e3
Improve the error message for extending compound selectors. ( #294 )
...
Closes #286
2018-04-14 16:02:53 -07:00
Natalie Weizenbaum
2e42c749a0
Properly parse #{$var} -#{$var} ( #292 )
...
Closes #290
2018-04-12 17:41:21 -07:00
Natalie Weizenbaum
a31251fdc9
Create a directory for CSS output if necessary ( #291 )
...
Closes #288
2018-04-12 16:40:53 -07:00
Natalie Weizenbaum
5cce76b6d4
Use constants from dart2_constants ( #282 )
2018-04-04 15:49:07 -07:00
Natalie Weizenbaum
dd61b8cf1d
Merge tag '1.1.0'
...
This will be released as 1.1.1, since 1.1.0 accidentally didn't
include 880c914
.
2018-03-27 14:20:45 -07:00
Natalie Weizenbaum
880c91444e
Add support for "sass input.scss output.css" ( #275 )
...
Closes #274
2018-03-27 13:45:03 -07:00
Natalie Weizenbaum
d316fe19b9
Use $0 rather than $BASH_SOURCE for POSIX-compatibility
...
Closes #276
2018-03-27 13:35:45 -07:00
Natalie Weizenbaum
7b2dfef289
Release 1.0.0
2018-03-26 12:49:52 -07:00
Natalie Weizenbaum
74cfe29814
Remove the deprecated render() function ( #270 )
2018-03-26 12:45:43 -07:00
Natalie Weizenbaum
6608a46d1e
Make errors subtypes of Error
2018-03-23 15:22:10 -07:00
Natalie Weizenbaum
0e5a707ab4
Support both data and path options for the Node API
2018-03-23 14:55:28 -07:00
Natalie Weizenbaum
4c293f3ca7
Allow "!" in custom property values ( #266 )
...
Closes #260
2018-03-22 17:07:19 -07:00
Natalie Weizenbaum
2dae4f61f3
Release 1.0.0-rc.1
2018-03-16 16:23:57 -07:00
Natalie Weizenbaum
0cc3777b46
Fix media query merging ( #258 )
...
Closes #244
2018-03-16 16:22:56 -07:00
Natalie Weizenbaum
65229499b3
Name the standalone executable sass rather than dart-sass ( #257 )
2018-03-16 14:38:46 -07:00
Natalie Weizenbaum
9d3c8cdc1e
Allow mod 0 ( #255 )
...
Closes #254
2018-03-16 13:39:21 -07:00
Natalie Weizenbaum
7fd8f7d6c2
Add an --indented flag ( #253 )
...
Closes #105
2018-03-11 23:07:31 -07:00
Natalie Weizenbaum
b93fcdb5ed
Add a --quiet flag to the CLI
...
Partially addresses #105
2018-03-11 21:05:34 -07:00
Natalie Weizenbaum
4c6494c288
Add a Logger class to control how output is emitted
2018-03-11 21:05:34 -07:00
Natalie Weizenbaum
da32588af1
Add support for the --load-path flag ( #251 )
...
Partially addresses #105
2018-03-11 20:39:00 -07:00
Natalie Weizenbaum
07b02174e0
Represent DynamicImport.url as a String ( #250 )
...
This works around dart-lang/sdk#32490. We need to preserve the leading
"./" to match Node Sass's behavior.
Closes #246
2018-03-11 15:46:59 -07:00
John Harvey
e63b8e1b40
Add support for _index files ( #220 )
...
See sass/sass#690
2018-03-09 14:46:46 -08:00
Natalie Weizenbaum
aba4ab1421
Properly parse multi-line selectors in the indented syntax ( #243 )
...
Closes #235
Closes #237
2018-03-02 17:49:57 -08:00
Natalie Weizenbaum
b7d4384a5c
Preserve whitespace after and
in media queries in compressed mode ( #242 )
...
Closes #239
2018-03-02 14:15:38 -08:00
Natalie Weizenbaum
7d89ad0c1c
Properly handle hard tabs in the indented syntax ( #241 )
...
Closes #87
2018-03-01 18:59:58 -08:00
Natalie Weizenbaum
5c750cf7fb
Preserve empty lines in indented loud comments
2018-02-23 17:56:54 -08:00
Natalie Weizenbaum
b404e32c46
Fix /* formatting to match Ruby Sass
2018-02-23 17:56:52 -08:00
Natalie Weizenbaum
7454a1b57f
Don't add */ for indented syntax loud comments that already have it
2018-02-23 17:01:32 -08:00
Natalie Weizenbaum
bacc380d5b
Don't deadlock on /* comments in the indented syntax
...
Closes #238
2018-02-23 16:29:23 -08:00
Natalie Weizenbaum
25d90e5525
Release 1.0.0-beta.5.2
2018-02-03 17:03:05 -08:00
Natalie Weizenbaum
4db5d49048
Pubspec and CHANGELOG
2018-02-03 13:25:07 -08:00
Natalie Weizenbaum
a6a32a0827
Merge pull request #223 from sass/node-functions
...
Add support for the Node Sass custom function API
2018-02-02 14:21:57 -08:00
Natalie Weizenbaum
5a1bfaebbf
Add support for the Node Sass custom function API
...
Closes #10
Closes #12
2018-01-30 11:14:42 -08:00
Natalie Weizenbaum
2f5069e6a8
Add a changelog entry
2018-01-29 14:30:34 -08:00
Natalie Weizenbaum
9240f372aa
Fix a unit division bug
2018-01-23 12:51:33 -08:00
Natalie Weizenbaum
921e1fa204
Fix a unit optimization bug
2018-01-23 12:45:25 -08:00
Natalie Weizenbaum
ac0ab00120
Emit compressed output
2018-01-21 13:15:55 -08:00
Natalie Weizenbaum
e5af175b55
Fix a couple number hashing bugs
2018-01-13 00:34:54 -08:00
Natalie Weizenbaum
b5a838c9c5
Improve callable and value documentation
...
This documentation now targets external users, since these are part of
the public API.
2018-01-13 00:34:54 -08:00
Natalie Weizenbaum
aa3c765b10
Allow var() in place of multiple arguments to color functions ( #208 )
...
See sass/sass#2440
2018-01-12 11:43:36 -08:00
Natalie Weizenbaum
75776ca062
Emit a warning for && ( #207 )
...
See sass/sass#2429
2018-01-03 19:12:53 -08:00
Natalie Weizenbaum
c49e037e34
Fix round() for negative numbers ( #205 )
...
See sass/sass#2409
2017-12-15 15:11:32 -08:00
Natalie Weizenbaum
fa29248955
Support unquoted imports in the indented syntax
...
Closes #202
2017-12-08 15:38:08 -08:00
Natalie Weizenbaum
9c241eafb9
Add a changelog entry for asynchronous importers
2017-12-01 14:30:31 -08:00
Natalie Weizenbaum
74400dc4a4
Add asynchronous versions of several evaluation-related libraries
...
This allows us to support asynchronous importers and, eventually,
functions without breaking synchronous support. The copies were made
manually, but the eventual plan is to auto-generate the synchronous
versions by stripping all asynchrony from the async versions.
See #9
2017-12-01 14:29:11 -08:00
Natalie Weizenbaum
2cb325a3df
Fix a crash when extending :not(...) into :not(:not(...)) ( #192 )
...
Closes #191
2017-11-16 16:25:19 -08:00
Natalie Weizenbaum
cede973af2
Add a CHANGELOG entry for Node Sass importers
2017-11-03 14:55:30 -07:00
Natalie Weizenbaum
a003e5c31f
Expose a Dart API for importers
...
Closes #172
2017-10-12 21:54:58 -07:00
Natalie Weizenbaum
35f879abde
Don't crash on a fully-interpolated CSS variable name ( #177 )
...
Closes #176
2017-10-04 15:20:15 -07:00
Natalie Weizenbaum
dbeefd939f
Properly parse numbers with exponents ( #173 )
2017-09-29 15:31:21 -07:00
Natalie Weizenbaum
9f85a4dc34
Default --color to true when using a terminal
2017-07-13 16:11:24 -07:00
Natalie Weizenbaum
a1c0f41180
Add changelog entries.
2017-07-09 18:31:05 -07:00
Natalie Weizenbaum
74cb974455
Support includePaths in the JS API ( #162 )
...
Closes #7
2017-07-07 14:50:12 -07:00
Natalie Weizenbaum
8f836df66c
Add support for the data option to the JS API ( #159 )
...
Also add renderString to the Dart API.
Partially addresses #7
2017-07-07 00:57:10 -07:00
Natalie Weizenbaum
b5157905f4
Emit transparent colors in rgba format ( #157 )
...
Closes #1782
2017-07-06 17:49:03 -07:00
Natalie Weizenbaum
5d574f9923
Add support for ::slotted() ( #156 )
...
See sass/sass#2266
2017-07-05 16:00:20 -07:00
Sam Rawlins
7d92f2c1ad
Support lineFeed in the Node API ( #153 )
2017-06-15 15:19:26 -07:00
Natalie Weizenbaum
bd912aee4f
Release 1.0.0-beta.1.
2017-06-05 12:50:47 -07:00
Natalie Weizenbaum
e032de83fb
Allow \ before a selector in the indented syntax. ( #152 )
...
See sass/sass-spec#1136
2017-06-02 18:04:21 -07:00
Natalie Weizenbaum
59e782e4dc
Fix rounding behavior. ( #147 )
2017-05-29 17:07:21 -07:00
Natalie Weizenbaum
0ae7372d75
Allow compound extendees in selector functions.
2017-05-28 16:00:37 -07:00
Natalie Weizenbaum
b4d1d95889
Don't use partially-extended selectors as parents.
2017-05-28 15:54:18 -07:00
Natalie Weizenbaum
c63e62abe9
Add changelog entries.
2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
61da3ec6b7
Disallow all top-level declarations and extend. ( #141 )
...
We were previously allowing declarations and extend in control
directives at the top level of documents, as long as those documents
were only ever imported in a nested context.
2017-05-25 12:18:57 -07:00
Natalie Weizenbaum
b3a00edec1
Properly parse unary operators after commas.
...
Closes #138
2017-05-18 18:13:33 -07:00
Natalie Weizenbaum
a4a2a26464
Allow /***/ in selectors.
...
Closes #135
2017-05-18 17:56:20 -07:00
Natalie Weizenbaum
372ef02aa6
Fix a string inspection crash.
...
This was being triggered for parse errors, because we inspect the
selector expression when we generate the error.
Closes #134
2017-05-18 17:39:47 -07:00
Natalie Weizenbaum
e840bd0927
Support "url" as an identifier name.
...
Closes #132
2017-05-18 17:38:54 -07:00
Natalie Weizenbaum
0556665f64
Fix @supports (not ...). ( #125 )
2017-05-18 17:05:58 -07:00
Natalie Weizenbaum
7182ea2fad
Merge branch 'master' into fixes
2017-02-22 20:50:16 -08:00
Natalie Weizenbaum
716157f4bc
Drop support for the reference combinator. ( #123 )
2017-02-22 20:48:56 -08:00
Natalie Weizenbaum
2f53f85053
Fix another extend edge-case.
2017-02-16 18:41:11 -08:00
Natalie Weizenbaum
7fe9dd8735
Fix hacky combinator unification.
2017-02-16 18:31:06 -08:00
Natalie Weizenbaum
4bc2770333
Compile JS with --minify.
2017-02-16 17:37:31 -08:00
Natalie Weizenbaum
f00c6c8c5d
Compile JS with --trust-type-annotations.
2017-02-16 17:05:01 -08:00
Natalie Weizenbaum
18f4c1b801
Merge pull request #117 from sass/fixes
...
Fix more bugs.
2017-02-08 14:25:24 -08:00
Natalie Weizenbaum
89a7888a0e
Properly isolate callable environments.
2017-02-04 14:16:29 -08:00
Natalie Weizenbaum
5e4d260c2a
Fix a @content bug.
2017-02-04 12:39:23 -08:00
Natalie Weizenbaum
231a85be38
Improve Node file load speed. ( #110 )
2017-02-04 12:20:34 -08:00
Natalie Weizenbaum
79261fee8e
Add boolean short-circuiting.
2017-02-03 17:37:54 -08:00
Natalie Weizenbaum
b32e5f96ce
Fix a multi-combinator extend edge case.
2017-02-03 16:49:55 -08:00
Natalie Weizenbaum
73be343be5
Fix a selector pseudo superselector edge case.
2017-02-03 16:15:15 -08:00
Natalie Weizenbaum
d9ef7d00c4
Move a changelog entry into 1.0.0-alpha.9.
2017-02-03 14:23:29 -08:00
Natalie Weizenbaum
e1c0c95f3a
Merge remote-tracking branch 'origin/master' into fixes
2017-02-02 14:48:15 -08:00
Natalie Weizenbaum
35d1af51d1
Update namespace extend per sass/sass#2229. ( #106 )
2017-01-26 20:12:22 -08:00
Natalie Weizenbaum
c26615386b
Reject unknown named parameters.
2017-01-26 20:09:45 -08:00
Natalie Weizenbaum
45cfed063f
Support slash-separated plain CSS arguments.
2017-01-26 20:09:06 -08:00
Natalie Weizenbaum
4b614166ca
Fix numbers divided by colors.
2017-01-26 20:08:49 -08:00
Natalie Weizenbaum
56e41b3ad0
Fix some slash division edge cases.
2017-01-15 16:09:27 -08:00
Natalie Weizenbaum
ad622039bd
Support backslash CRLF in quoted strings.
2017-01-15 15:53:19 -08:00
Natalie Weizenbaum
31cc3fc521
Add a span to call()'s rest arguments.
2017-01-15 15:24:35 -08:00
Natalie Weizenbaum
0000c4a7e9
Detect import loops.
2017-01-15 15:15:46 -08:00
Natalie Weizenbaum
6a4eafe915
Fix attribute selectors with single-char values.
2017-01-15 14:45:05 -08:00
Natalie Weizenbaum
84d6c07707
Fix not().
2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
6192dfd1b0
Fix division in @each.
2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
9f25689654
Don't emit loud comments in functions.
2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
04570bf828
Warn about named colors in interpolation.
2017-01-15 12:30:50 -08:00
Natalie Weizenbaum
4c95be3e5b
Allow whitespace in indented mixin declarations.
2017-01-14 23:01:29 -08:00
Natalie Weizenbaum
2d28194e4c
Fix %.
2017-01-14 22:54:13 -08:00
Natalie Weizenbaum
ca4d411362
Fix str-slice() again.
2017-01-14 22:39:28 -08:00