Commit Graph

635 Commits

Author SHA1 Message Date
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
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
8d7964e9be Add a compressed output style and pipe it through to the executable 2018-01-21 13:15:55 -08:00
Natalie Weizenbaum
116bd3a8af
Fix a _minimumIndentation() edge case (#218) 2018-01-21 13:14:44 -08:00
Natalie Weizenbaum
67494e2b2a
Clean up _writeWithIndent() (#216)
This improves formatting and fixes a case where it crashed on trailing
whitespace.
2018-01-20 13:18:14 -08:00
Natalie Weizenbaum
da2ff6a06d
Fix analysis hints (#215) 2018-01-19 15:26:41 -08:00
Natalie Weizenbaum
123fe55017 Add SassString index helpers
We aren't using these in our own functions because, for
backwards-compatibility, these functions don't throw errors for
invalid indices.
2018-01-14 16:04:46 -08:00
Natalie Weizenbaum
c88912fc4c Refactor str-insert()
This makes the logic simpler and clearer.
2018-01-14 15:40:24 -08:00
Natalie Weizenbaum
9d207b13ec
SassNumber.assertIndexFor() -> Value.sassIndexToListIndex() (#211) 2018-01-14 13:38:43 -08:00
Natalie Weizenbaum
1e09cec5aa
Split Value and its subtypes into public and private interfaces (#210) 2018-01-13 01:30:42 -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
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