Jen Thakar
9a1f322d7f
Remove space around combinators in compressed mode ( #494 )
...
Complex selectors like "a > b" will now be output as "a>b" in
compressed mode.
2018-10-11 18:03:09 -07:00
Natalie Weizenbaum
0595ac3e71
Fix an import-resolution bug ( #488 )
...
When a stylesheet is imported, the parsed stylesheet object is cached
based on its canonical URL. However, the stylesheet.span.sourceUrl was
based on the text of the import that was used to load that stylesheet.
The idea was to make the source URL in stack traces look nicer, but it
meant that relative URLs could be resolved based on the old importer's
URL before being sent to the new importer, which caused bugs.
Now stylesheet.span.sourceUrl is always the canonical URL of the
stylesheet, and thus safe to cache. We then use the import cache to
convert the canonical URL to a human-friendly URL at the point at
which we generate stack traces.
This also deprecates support for relative canonical URLs. The
semantics of these URLs were always unclear, and with the new change
in import internals the old behavior doesn't make much sense. It's
preserved for backwards-compatibility, but deprecated.
2018-10-11 15:06:26 -07:00
Natalie Weizenbaum
0620ccc19a
Fix @debug on stdin ( #493 )
2018-10-10 15:05:23 -07:00
Natalie Weizenbaum
04ada09a82
Get rid of the dart2 test tag ( #477 )
...
We're only ever running tests under Dart 2 now, so it's irrelevant
whether they're Dart 2-only.
2018-09-19 15:28:47 -04:00
Natalie Weizenbaum
1a5eb2a2e3
Fix embedding source maps with non-ASCII characters ( #471 )
...
Closes #457
2018-09-11 12:13:43 -07:00
Natalie Weizenbaum
ede9c81e0b
Properly adjust source maps when prepending encoding information ( #470 )
...
Closes #469
2018-09-10 15:38:30 -07:00
Natalie Weizenbaum
3346c7974a
Fix analysis hints ( #450 )
2018-08-15 12:43:55 -07:00
Natalie Weizenbaum
d1bb4a0d6d
Allow a BOM at the beginning of a document ( #441 )
...
This was only breaking in JS because apparently dart:io automatically
filters out BOMs.
Closes #437
2018-08-10 16:31:15 -07:00
Natalie Weizenbaum
0f7f9e69a7
Add support for plain CSS imports ( #436 )
...
Closes #424
2018-08-10 15:58:15 -07:00
Natalie Weizenbaum
8bffd52729
Don't hang after a syntax error in --watch ( #435 )
...
Closes #401
2018-08-03 15:38:16 -07:00
Natalie Weizenbaum
13b8ad6d4d
Format
2018-07-23 16:57:21 -07:00
Natalie Weizenbaum
e1750216ee
Don't crash when passing includePaths with importer
...
Closes #412
2018-07-23 16:20:06 -07:00
Natalie Weizenbaum
9bb272dcff
Support Node Sass's sass.types.Color(argb) constructor ( #398 )
...
Closes #397
2018-07-03 17:09:54 -07:00
Natalie Weizenbaum
96c46a242e
Add a --stop-on-error flag ( #391 )
...
Closes #264
2018-06-29 18:12:36 -07:00
Michael R Fairhurst
cd275705cd
Fix places awaiting void, for dart 2 ( #393 )
2018-06-29 13:20:26 -07:00
Natalie Weizenbaum
425305725b
Add a --poll option ( #390 )
...
Partially addresses #264 .
2018-06-28 18:20:28 -07:00
Natalie Weizenbaum
c462b82102
Run snapshots in Dart 1 mode
...
Until dart-lang/sdk#33257 is fixed, this ensures that users get as
much performance as possible.
2018-06-27 15:51:16 -07:00
Natalie Weizenbaum
ecc04665cf
Fix a couple more Grinder invocations ( #387 )
2018-06-27 14:32:44 -07:00
Natalie Weizenbaum
7e6f03fc18
Run the Dart CLI tests from app snapshots on CI ( #383 )
...
This substantially speeds up the test time, and once we re-enable Dart
2 support is should work around dart-lang/sdk#33257 .
2018-06-27 13:12:16 -07:00
Natalie Weizenbaum
39eeeb51ef
Add a missing _ignoreErrors() call in StylesheetGraph ( #377 )
...
We weren't ignoring errors when reloading a file, which meant that
syntax errors would get surfaced in the wrong place and cause a crash.
Closes #359
2018-06-26 20:10:46 -07:00
Natalie Weizenbaum
a87300a1e9
Use camel-case for grinder task names
...
This also causes Grinder to use hyphen-separated names for them on the
CLI, rather than underscore-separated.
2018-06-25 16:40:26 -07:00
Natalie Weizenbaum
87e568faa4
Fix a bug where we were setting the base URL of stylesheets wrong ( #370 )
...
Closes #369
2018-06-20 17:43:40 -07:00
Natalie Weizenbaum
6693a82f3b
Use the latest test_descriptor features to clean up tests ( #366 )
2018-06-19 17:50:49 -07:00
Natalie Weizenbaum
fdbccc8625
Ensure that source map comment URLs are relative to the CSS file ( #365 )
...
Closes #364
2018-06-19 17:50:37 -07:00
Natalie Weizenbaum
61eea4abd8
Format with the latest formatter version ( #363 )
2018-06-19 12:46:24 -07:00
Natalie Weizenbaum
c5071ef843
Stop using a deprecated API
2018-06-15 13:59:28 -07:00
Natalie Weizenbaum
c626bf5613
Remove casts that are now unnecessary
2018-06-15 13:59:28 -07:00
Natalie Weizenbaum
b949f9fe72
Use Dart 2 constants
2018-06-15 13:59:28 -07:00
Natalie Weizenbaum
7a2d724cc9
Use of() constructors instead of from()
2018-06-14 16:15:27 -07:00
Natalie Weizenbaum
6ad67a6f28
Remove the workaround for dart-lang/sdk#30098
...
This un-reverts pull request #320 from sass/remove-path-workaround,
which was reverted by commit 0fb5d25ee2
.
2018-06-14 16:15:27 -07:00
Natalie Weizenbaum
f074152f61
Add a tick in a test that's failing on Windows
2018-06-13 16:42:10 -07:00
Natalie Weizenbaum
0519163ae3
Use the standard tick helper rather than a custom sleep
2018-06-13 16:41:29 -07:00
Natalie Weizenbaum
5efa7bf48a
Normalize path separators in watch test expectations
2018-06-13 16:41:29 -07:00
Natalie Weizenbaum
6bbb961675
Add a --watch command
...
Partially addresses #264
2018-06-09 14:13:36 -04:00
Natalie Weizenbaum
3362273c29
Disallow --update and --watch with --interactive
2018-06-09 14:09:20 -04:00
Natalie Weizenbaum
594f936c54
Fix an edge-case bug
...
If a non-partial stylesheet is next to a partial with the same name,
canonicalizing the source URL would fail. We don't really need to
canonicalize that URL anyway, though, since it's only used for import
loops and such a loop will reload and rerun the entrypoint anyway.
2018-06-08 20:28:38 -04:00
Natalie Weizenbaum
0a21fb7063
Make sure --update surfaces failures properly
2018-06-08 20:28:38 -04:00
Natalie Weizenbaum
b9e1585cf6
Add a helper function for update tests ( #348 )
2018-06-07 09:54:18 -04:00
Natalie Weizenbaum
c26903e30e
Don't consider drive separators to be path-separating colons ( #342 )
...
Closes #340
2018-05-31 20:38:45 -04:00
Natalie Weizenbaum
0fb5d25ee2
Revert "Merge pull request #320 from sass/remove-path-workaround"
...
This reverts commit 08bfb46f16
, reversing
changes made to ad73a91f84
.
2018-05-31 14:37:21 -04:00
Natalie Weizenbaum
8435be5f4b
Style tweaks
2018-05-30 18:59:49 -04:00
Natalie Weizenbaum
1d7b0aa5ad
Merge branch 'master' into jathak-interactive
2018-05-30 18:41:15 -04:00
Natalie Weizenbaum
8e97e66426
Remove unused test/cli_shared.dart
...
[skip ci]
2018-05-30 18:37:55 -04:00
Natalie Weizenbaum
0c637b2e6a
Split CLI tests into multiple suites ( #337 )
2018-05-30 18:35:35 -04:00
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