Commit Graph

1421 Commits

Author SHA1 Message Date
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
d9ebb5eff0
Fix Travis (#809)
Travis is using an older version of Ruby Gems which started having
trouble installing Bundler.

See rbenv/rbenv#1138
2019-08-30 13:46:17 -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
e8a50acf31
Build the Mac OS deployment on Mac OS (#794)
This allows it to build a native executable, rather than a script
snapshot. I don't know why we weren't doing this already.
2019-08-09 16:48:27 -07:00
Natalie Weizenbaum
057d891c27
Update the author declaration in the pubspec (#788) 2019-08-05 16:18:32 -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
51b446193b
Merge pull request #781 from sass/error-reporting
Clean up a few error messages
2019-07-25 22:25:02 +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
d408a5994e Add a missing trailing "." to an error message
Closes #775
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
Joshua Hall
1d8cec8477 Add Scoop to the list of install options (#772) 2019-07-25 08:10:33 +01:00
Natalie Weizenbaum
1425a43e17
Merge pull request #778 from sass/release
Release 1.22.8
2019-07-24 23:57:50 +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
c971615fbf
Remove an unused Parser.scanWhitespace() method (#770)
Closes #767
2019-07-18 21:50:41 +01: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
f7a1ee5df9
Merge pull request #763 from sass/todos
Fix a bunch of TODOs
2019-07-18 01:06:54 +01:00
Natalie Weizenbaum
0f8f7577a5 Don't create an intermediate stylesheet for @import if possible
We really only need this stylesheet when we're resolving imported
cross-module @extends, which doesn't come up very often.
2019-07-17 15:45:26 -07:00
Natalie Weizenbaum
c8770da29b Short-circuit combineCSS() if no upstream modules contain CSS 2019-07-17 15:45:00 -07:00
Natalie Weizenbaum
66c2c26a7e Use whereType() to avoid a cast 2019-07-17 15:45:00 -07:00
Natalie Weizenbaum
7b3a2adc12 Properly indicate the error location in the REPL
Previously, errors in variable assignment lines would be reported
incorrectly.
2019-07-17 15:45:00 -07:00
Natalie Weizenbaum
83cf390406 Delete a fixed TODO 2019-07-17 15:45:00 -07:00
Natalie Weizenbaum
2602aa6350
Merge pull request #764 from sass/denormalize-collections
Eagerly dash-normalize Sass identifiers
2019-07-17 23:28:55 +01:00
Natalie Weizenbaum
eec6ccc9d9 Update benchmarks 2019-07-16 19:50:25 -07:00
Natalie Weizenbaum
d6aa4c25e1 Stop benchmarking Ruby Sass
We already know it's way slower than any other implementation,
it's reached end-of-life, and it slows down the process of running
benchmarks significantly.
2019-07-16 19:42:38 -07: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
7f2055e775 Make colorsByName a normal map
There was no reason for this to be a normalized map, since color names
don't contain dashes or underscores.
2019-07-16 13:37:03 -07:00
Marcel Greter
d91e758889 Fix typo in silent comment error message (#761) 2019-07-16 00:44:32 +01:00
Natalie Weizenbaum
f2bc521082
Merge pull request #760 from sass/js-perf
Improve the JS performance for logic-heavy stylesheets
2019-07-15 22:43:13 +01:00
Natalie Weizenbaum
535030bb0f Release 1.22.5 2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
ed73c2c053 Update benchmarks for JS performance improvements
As expected, this substantially improves the JS performance in
logic-heavy benchmarks. I believe the other changes are just noise.
2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
58e9e74b37 Use list comprehensions in *Evaluate._evaluateArguments
As well as being arguably more readable, the toList() method was
running a type check that was showing up as a minor bottleneck in JS
profiles.
2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
a8e99e9152 Pass a dummy isValidKey callback to normalized map and set
The default implementation runs a type check, which was a performance
bottleneck when compiled to JS. There's no need for this type check in
practice, since we never pass a non-String value to the contains(),
containsKey(), or remove() methods (and if we do, it will throw a
TypeError in our tests).
2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
a841882724 Don't compile to JS in minified mode
The JS size doesn't really matter on the server side, and this makes
profiling the release-mode binary substantially easier, as well as
improving the quality of stack traces provided by downstream users.
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
a7172a2b1d
Update benchmarks (#759) 2019-07-12 01:53:36 +01:00
Natalie Weizenbaum
fb75fc39ce
Fix a Travis task that was broken by sass/sass-spec#1426 (#757) 2019-07-10 16:02:40 -07:00
Natalie Weizenbaum
525958951d
Merge pull request #750 from sass/function-fixes
Fix a bunch of small spec incompatibilities in built-in functions
2019-07-03 17:55:15 -07:00
Natalie Weizenbaum
2003f1c6ec Merge remote-tracking branch 'origin/master' into function-fixes 2019-07-03 16:56:54 -07:00
Natalie Weizenbaum
b7999e41ad
Fix a new lint (#752) 2019-07-03 16:56:33 -07:00
Natalie Weizenbaum
faa053733a Release 1.22.3 2019-07-03 15:31:56 -07: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