Commit Graph

637 Commits

Author SHA1 Message Date
Natalie Weizenbaum
a7ca1e0055 new SassString() defaults to quoted
We encourage API users to produce quoted strings when in doubt, so our
API should match that behavior.
2018-02-02 16:49:23 -08:00
Natalie Weizenbaum
163e99bff2 Be explicit about string quotes in new SassString() 2018-02-02 16:47:54 -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
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