Natalie Weizenbaum
d4655f22bd
Fix an Importer-calling bug ( #338 )
...
We were resolving URLs relative to the canonical URL rather than the
original URL, which broke importers for which those were different,
like the package importer.
Closes #334
2018-05-30 17:47:37 -04:00
Jen Thakar
930f361026
Merge branch 'master' of git://github.com/sass/dart-sass into interactive
2018-05-29 21:33:53 -07:00
Jen Thakar
da44841498
Add TrackingLogger and uses it in --interactive
...
If a warning or debug message is emitted, and then the line errors,
a simpler error message is output instead of highlighting the bad
input in the original line.
2018-05-29 21:27:36 -07:00
Natalie Weizenbaum
ac8c01a595
Add an --update flag
...
Partially addresses #264
2018-05-28 16:58:09 -04:00
Natalie Weizenbaum
31c77fb1cc
Remove the workaround for dart-lang/sdk#30098
2018-05-28 15:23:47 -04:00
Jen Thakar
eb71e2d5a7
Fix logging and invalid options for --interactive
...
--interactive now uses the ExecutableOptions' logger, so it respects
the --quiet option.
An invalid option used with --interactive will now be output.
2018-05-26 22:49:13 -07:00
Jen Thakar
6351458f35
Merge branch 'master' of git://github.com/sass/dart-sass into interactive
2018-05-26 21:49:48 -07:00
Jen Thakar
590b2a02c5
Fix bugs in interactive mode
...
The REPL no longer crashes when syntax errors point after the end of
the input; it also ignores empty lines.
2018-05-26 21:37:18 -07:00
Natalie Weizenbaum
ad73a91f84
Match Node Sass's logic around source map file names ( #333 )
...
When sourceMap is a string and outFile is null, Node Sass determines
the source map filename from the input filename.
2018-05-24 19:16:14 -04:00
Natalie Weizenbaum
7c26959156
Node API: generate a source map even when outFile isn't set ( #331 )
...
Contrary to documentation, Node Sass generates a source map when
outFile is unset as long as sourceMap is a string.
2018-05-24 18:42:16 -04:00
Natalie Weizenbaum
a7118824b5
Fix source map path canonicalization
...
We need to canonicalize rather than normalize to ensure a consistent
output.
2018-05-24 17:21:19 -04:00
Natalie Weizenbaum
d17b3e73fe
Normalize source map paths before converting to URLs
...
This ensures that source map URLs are always consistent on Windows,
where the case may be different from run to run.
2018-05-24 12:21:28 -04:00
Natalie Weizenbaum
d68acf9ac2
Support compiling entire directories at once ( #324 )
...
Partially addresses #264
2018-05-22 23:06:33 +01:00
Natalie Weizenbaum
1450c241c6
Support input:output syntax for compiling multiple files at once
...
Partially addresses #264
2018-05-20 20:57:33 +01:00
Jen Thakar
6d86b5fbdf
Merge branch 'master' of git://github.com/sass/dart-sass into interactive
2018-05-08 10:23:33 -07:00
Jen Thakar
49198f55ed
Add proper error logging to --interactive
...
Errors are now logged w/o the Sass stack trace and with arrows
pointing to the piece of the input that caused the error.
The bad input will also be highlighted in red if color is enabled.
Adds tests for error logging, both with and without color.
2018-05-08 09:54:35 -07:00
Jen Thakar
125b64760b
Add usage error for invalid use of --interactive
2018-05-07 23:54:25 -07:00
Natalie Weizenbaum
b5fd1409ce
Fix relative imports through relative load paths in the Node API ( #315 )
...
Closes #314
2018-05-02 17:04:36 -07:00
Natalie Weizenbaum
5bf7773590
Track variable declarations for source maps
...
Closes #2
2018-04-25 17:50:24 -07:00
Natalie Weizenbaum
6a117905ab
Fix a crash when printing warnings through the Node API ( #311 )
...
Closes #307
2018-04-25 17:47:29 -07:00
Natalie Weizenbaum
234aa12e08
Add CLI source map support ( #309 )
...
Partially addresses #2
2018-04-25 16:12:37 -07:00
Natalie Weizenbaum
dc8d8a6166
Run Dart Sass in checked mode in tests ( #304 )
...
Also fix a checked mode error.
2018-04-23 21:20:38 -07:00
Natalie Weizenbaum
7a882bd3be
Fix a relative import bug in the JS API
...
Closes #284
2018-04-21 00:50:23 -07:00
Natalie Weizenbaum
11f38291f0
Clean up expectations in node_api_test
2018-04-21 00:49:51 -07:00
Natalie Weizenbaum
fd19bc85b6
Add a JavaScript API for source map generation ( #302 )
...
Partially addresses #2
2018-04-20 17:56:00 -07:00
Natalie Weizenbaum
9ea001598a
Add a Dart API for source map generation ( #299 )
...
Partially addresses #2
2018-04-19 16:51:20 -07:00
Natalie Weizenbaum
b23993ea66
Always emit units for non-length/angle 0 values ( #300 )
...
Closes #297
2018-04-19 15:20:17 -07:00
Jen Thakar
d262e28603
Add interactive SassScript REPL
2018-04-14 11:40:04 -07:00
Natalie Weizenbaum
a31251fdc9
Create a directory for CSS output if necessary ( #291 )
...
Closes #288
2018-04-12 16:40:53 -07:00
Natalie Weizenbaum
5cce76b6d4
Use constants from dart2_constants ( #282 )
2018-04-04 15:49:07 -07:00
Natalie Weizenbaum
880c91444e
Add support for "sass input.scss output.css" ( #275 )
...
Closes #274
2018-03-27 13:45:03 -07:00
Natalie Weizenbaum
6608a46d1e
Make errors subtypes of Error
2018-03-23 15:22:10 -07:00
Natalie Weizenbaum
0e5a707ab4
Support both data and path options for the Node API
2018-03-23 14:55:28 -07:00
Natalie Weizenbaum
7fd8f7d6c2
Add an --indented flag ( #253 )
...
Closes #105
2018-03-11 23:07:31 -07:00
Natalie Weizenbaum
b93fcdb5ed
Add a --quiet flag to the CLI
...
Partially addresses #105
2018-03-11 21:05:34 -07:00
Natalie Weizenbaum
4c6494c288
Add a Logger class to control how output is emitted
2018-03-11 21:05:34 -07:00
Natalie Weizenbaum
da32588af1
Add support for the --load-path flag ( #251 )
...
Partially addresses #105
2018-03-11 20:39:00 -07:00
Natalie Weizenbaum
07b02174e0
Represent DynamicImport.url as a String ( #250 )
...
This works around dart-lang/sdk#32490. We need to preserve the leading
"./" to match Node Sass's behavior.
Closes #246
2018-03-11 15:46:59 -07:00
Natalie Weizenbaum
b7d4384a5c
Preserve whitespace after and
in media queries in compressed mode ( #242 )
...
Closes #239
2018-03-02 14:15:38 -08:00
Jen Thakar
90e65c1a93
Fix bug in visitColor for compressed mode
...
If `value` is not a named color, `name.length` will error.
This checks that `name` is not null before checking the length.
2018-02-03 13:25:07 -08:00
Natalie Weizenbaum
163e99bff2
Be explicit about string quotes in new SassString()
2018-02-02 16:47:54 -08:00
Natalie Weizenbaum
f0e181bf2e
Don't run tests that require Dart 2 against stable
2018-02-01 18:21:34 -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
ac0ab00120
Emit compressed output
2018-01-21 13:15:55 -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
b1b9eca66a
Add tests for SassNumber.valueInRange() ( #212 )
2018-01-14 15:18:16 -08:00
Natalie Weizenbaum
9d207b13ec
SassNumber.assertIndexFor() -> Value.sassIndexToListIndex() ( #211 )
2018-01-14 13:38:43 -08:00
Natalie Weizenbaum
ce1cc18c0e
Add tests for Value subclasses
...
Now that these are an exposed part of the API, they need to be tested.
2018-01-13 00:34:54 -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
525386e13c
Add a missing @TestOn
2017-12-02 14:39:53 -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
0a67d3845f
Add a dev dependency on fibers from NPM
2017-12-01 14:36:37 -08:00
Natalie Weizenbaum
7178a91844
Make ensureNpmPackage() resilient to dependency overrides
2017-12-01 14:36:37 -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
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
530c4244d0
Refactor some Node API testing
2017-10-20 16:56:54 -07:00
Natalie Weizenbaum
a003e5c31f
Expose a Dart API for importers
...
Closes #172
2017-10-12 21:54:58 -07:00
Natalie Weizenbaum
164f532ea2
Remove unused arguments from cli_shared.dart ( #181 )
2017-10-12 12:03:57 -07:00
Sam Rawlins
97f678a770
Read Sass from stdin ( #137 )
...
See #105
2017-10-06 18:59:49 -07:00
Natalie Weizenbaum
10ef04bad6
Fix analysis hints
2017-07-14 18:51:55 -07:00
Natalie Weizenbaum
53a8c553de
Add tests.
2017-07-14 16:29:53 -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
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
48ba0e2128
Manually determine the operating system for paths
...
Works around dart-lang/sdk#30098 .
2017-07-06 23:52:43 -07:00
Natalie Weizenbaum
3b36c5a1fb
Reformat.
2017-07-06 23:23:04 -07:00
Natalie Weizenbaum
6ed530c895
Test the Node.js API.
...
Closes #150
2017-07-06 17:39:07 -07:00
Natalie Weizenbaum
6c0f87f0c8
Factor out logic to ensure that the NPM package is compiled
2017-07-06 14:40:45 -07:00
Natalie Weizenbaum
4db551e603
Stop using scheduled_test. ( #142 )
2017-05-25 14:23:48 -07:00
Luis Vargas
cfc3a15041
Support package: URLs as a Dart library ( #53 )
2017-02-03 01:08:06 -08:00
Natalie Weizenbaum
8b6548fc61
Add more CLI tests.
2016-12-02 17:39:28 -08:00
Natalie Weizenbaum
e59a172609
Run CLI tests on Travis.
2016-12-02 16:58:23 -08:00
Natalie Weizenbaum
224d9cdb47
Add CLI test files for Dart and Node.
...
More tests will be added in a future commit.
2016-12-02 16:09:20 -08:00