Commit Graph

175 Commits

Author SHA1 Message Date
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
12f53f5e1c
Release 1.15.3 (#561) 2019-01-04 15:32:45 -05:00
Natalie Weizenbaum
dbda396401
Compile to JS with -O4 (#555)
Closes #526
2019-01-03 10:47:12 -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
5d885e6905 Enforce non-whitespace formatting rules 2018-11-14 13:53:55 -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
bf71ca359d
Add support for interpolation in at-rule names (#509)
Closes #496
2018-11-01 14:31:46 -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
d9c836e9d0
Remove the unused convert dependency (#502)
Closes #501
2018-10-17 17:34:19 -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
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
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
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
15202c48dc
Simplify trimming for extend (#460)
We were previously trimming at bath the compound selector level and
the selector list level. This now only trims at the selector list
level.

The _trim() function also took a list of selector lists, on the
idea (from Ruby Sass) that it could avoid trimming selectors generated
from the same extension that were very unlikely to be redundant. In
practice, though, the fact that we weaved together selector lists at
the compound level meant that we didn't have meaningful
known-non-redundant lists like Ruby Sass did, so this wasn't useful.

This has no behavioral effect, although it does seem to improve
performance slightly for extend-heavy stylesheets.
2018-08-30 01:02:05 -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
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
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
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
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
b5c9ed41b9
Declare support for Dart 2 (#418) 2018-07-23 13:31:38 -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
c462b82102 Run snapshots in Dart 1 mode
Until dart-lang/sdk#33257 is fixed, this ensures that users get as
much performance as possible.
2018-06-27 15:51:16 -07:00
Natalie Weizenbaum
aa9aff8120
Release 1.7.2 (#386) 2018-06-27 12:56:23 -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