Commit Graph

622 Commits

Author SHA1 Message Date
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
8988c3c7fa Expose an API for defining custom Dart functions 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
00cb5532a0 Run dartfmt 2018-01-05 16:48:39 -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
c8979f52f2 Annotate protected parser methods 2017-12-08 14:59:16 -08:00
Natalie Weizenbaum
7a4158dafb Fix some tests that were broken on Windows 2017-12-08 01:03:34 -08:00
Natalie Weizenbaum
6a1e6e6d12 Don't run ensureNpmPackage() on Windows under Node 2017-12-07 17:30:08 -08:00
Natalie Weizenbaum
8fd211d789 Clean up UTF-8 error handling in Dart 2017-12-02 16:37:57 -08:00
Natalie Weizenbaum
2cfb0daf4d Remove some outdated TODOs 2017-12-02 16:37:57 -08:00
Natalie Weizenbaum
3de531b9bc Don't create scopes when nothing is declared
This seems to provide a fairly minimal speed boost, but it's more than
nothing. It's also a pretty easy change now that we have
ParentStatement.
2017-12-02 16:08:17 -08:00
Natalie Weizenbaum
3de6680bcb Add an explicit IfClause class 2017-12-02 15:16:08 -08:00
Natalie Weizenbaum
ce1ea0d4a3 Add a ParentStatement class for Sass statements with children 2017-12-02 14:41:37 -08:00
Natalie Weizenbaum
aa5fd1d060 Add support for the fibers package to speed up render() 2017-12-02 12:39:28 -08:00
Natalie Weizenbaum
8272724f42 Add support for async importers to the JS render() function (#196)
Closes #9
2017-12-01 14:29:11 -08:00
Natalie Weizenbaum
0df3463213 Compile asynchronous code to synchronous (#194)
See #9
2017-12-01 14:29:11 -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
093d254580
Define core functions declaratively (#193)
This will make it easier to have separate synchronous and asynchronous
Environment classes.
2017-11-17 13:34:18 -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
136cfc2518
Clean up the BuiltInCallable API (#190) 2017-11-16 13:05:48 -08:00
Natalie Weizenbaum
40bcf98e0c Add exports to importer.dart
This matches the APIs of other sub-directories.
2017-11-03 14:42:05 -07:00
Natalie Weizenbaum
68719b8f5a
Merge pull request #186 from sass/node-importer
Add synchronous Node importer support
2017-11-03 14:02:04 -07:00
Natalie Weizenbaum
e0ae8c907c Add synchronous Node importer support
See #9
2017-11-03 12:28:56 -07:00
Natalie Weizenbaum
4e6e04faa5 Add tests for Node importers
These have been validated against node-sass itself, but they aren't
yet run supported by Dart Sass.
2017-11-02 18:12:47 -07:00
Natalie Weizenbaum
7463e88310 Fix an analysis hint (#184) 2017-10-13 20:21:37 -07:00
Natalie Weizenbaum
834c8f073c Fix a Windows test (#185)
Fix a Windows test

We needed to use the Node-compatible path library.
2017-10-13 15:44:15 -07:00
Natalie Weizenbaum
a003e5c31f Expose a Dart API for importers
Closes #172
2017-10-12 21:54:58 -07:00
Natalie Weizenbaum
ed1d6ef6b1 Add importer infrastructure
This isn't yet exposed by any public-facing API.
2017-10-12 21:54:58 -07:00
Sam Rawlins
97f678a770 Read Sass from stdin (#137)
See #105
2017-10-06 18:59:49 -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
10ef04bad6 Fix analysis hints 2017-07-14 18:51:55 -07:00
Natalie Weizenbaum
342e1b39b4 Gracefully handle IO errors. 2017-07-14 16:29:23 -07:00
Natalie Weizenbaum
7c133c73a3 Gracefully handle argument parse errors 2017-07-13 16:11:24 -07:00
Natalie Weizenbaum
9f85a4dc34 Default --color to true when using a terminal 2017-07-13 16:11:24 -07:00
Natalie Weizenbaum
1bbbf4f593 Remove a debugging print. 2017-07-12 18:00:19 -07:00
Natalie Weizenbaum
dfcbf78e7c Fully support the error value for the Node render() functions
Closes #109
2017-07-09 18:18:56 -07:00
Natalie Weizenbaum
c5bf54a41f Move exception-formatting logic into SassException
There was a bunch of custom formatting logic in the executable, which
made it difficult to work with exceptions programatically.
2017-07-09 18:18:56 -07:00
Natalie Weizenbaum
214a2af2e9 Fully support the return value for the Node render() functions (#165)
Closes #11
2017-07-09 14:52:14 -07:00
Natalie Weizenbaum
f1c23e7484 Rename "toCss" to "serialize"
This matches the filename and the name of the visitor.
2017-07-07 17:53:03 -07:00
Natalie Weizenbaum
7ed5ad1a05 Rename "perform" to "evaluate"
We were using these terms interchangeably, but we should be
consistent.
2017-07-07 17:53:03 -07:00
Natalie Weizenbaum
970755d82e Rename "render" to "compile"
"Render" is a strange term for compilation that kind of got copied
over from Haml and endured due to inertia.
2017-07-07 17:53:03 -07:00
Natalie Weizenbaum
2ff46cb149 Support outputStyle in the JS API (#163)
Closes #8
2017-07-07 16:39:58 -07:00
Natalie Weizenbaum
74cb974455 Support includePaths in the JS API (#162)
Closes #7
2017-07-07 14:50:12 -07:00
Natalie Weizenbaum
f41df9f7bd Add support indentedSyntax to the JS API (#161)
Partially addresses #7
2017-07-07 01:40:15 -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
91ebf98c7f Merge pull request #158 from sass/node-api-tests
Test the Node.js API.
2017-07-06 23:58:00 -07:00
Natalie Weizenbaum
48ba0e2128 Manually determine the operating system for paths
Works around dart-lang/sdk#30098.
2017-07-06 23:52:43 -07:00