Commit Graph

289 Commits

Author SHA1 Message Date
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
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
c97e36409d
Support the latest version of cli_repl (#362) 2018-06-19 13:44:52 -07:00
Natalie Weizenbaum
b949f9fe72 Use Dart 2 constants 2018-06-15 13:59:28 -07:00
Natalie Weizenbaum
7e19b9e7d6 Update the pubspec and changelog
[skip ci]
2018-06-13 18:28:52 -07: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
e2266ded68
Produce better errors when expected tokens are missing (#344) 2018-06-01 20:56:12 -04:00
Natalie Weizenbaum
224dc91792
Forbid empty custom properties (#343) 2018-05-31 20:39:33 -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
942d1e4099
Error out on ambiguous imports (#339)
Closes #335
2018-05-30 21:03:23 -04:00
Natalie Weizenbaum
920a79b408 Pubspec and changelog
[skip ci]
2018-05-30 19:15:06 -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
Natalie Weizenbaum
ac8c01a595 Add an --update flag
Partially addresses #264
2018-05-28 16:58:09 -04:00
Natalie Weizenbaum
17d3c1ae63 Add Importer.modificationTime() 2018-05-28 16:57:56 -04:00
Natalie Weizenbaum
8007892075
Improve handling of invalid semicolons in the indented syntax (#330)
This improves the error message and fixes a bug where semicolons were
allowed after declarations.
2018-05-24 19:15:56 -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
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
Natalie Weizenbaum
2d72f1cdca
Add support for @elseif (#317)
Closes #316
2018-05-03 17:12:40 -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
6a117905ab
Fix a crash when printing warnings through the Node API (#311)
Closes #307
2018-04-25 17:47:29 -07:00
Natalie Weizenbaum
50b820aed3 Add CHANGELOG entries for source map CLI support
See #2

[skip ci]
2018-04-25 17:10:02 -07:00
Natalie Weizenbaum
a1f56d783d Add a CHANGELOG entry for mbullington/node_preamble.dart#6
This doesn't actually require any changes in Dart Sass itself, but it
was producing behavior that was visible to our users (#301) so it
makes sense to include it in the CHANGELOG for the version that will
include the fix.

[skip ci]
2018-04-25 17:06:37 -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
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
Natalie Weizenbaum
6fd0f6d6e3
Improve the error message for extending compound selectors. (#294)
Closes #286
2018-04-14 16:02:53 -07:00
Natalie Weizenbaum
2e42c749a0
Properly parse #{$var} -#{$var} (#292)
Closes #290
2018-04-12 17:41:21 -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
dd61b8cf1d Merge tag '1.1.0'
This will be released as 1.1.1, since 1.1.0 accidentally didn't
include 880c914.
2018-03-27 14:20:45 -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
d316fe19b9 Use $0 rather than $BASH_SOURCE for POSIX-compatibility
Closes #276
2018-03-27 13:35:45 -07:00
Natalie Weizenbaum
7b2dfef289 Release 1.0.0 2018-03-26 12:49:52 -07:00
Natalie Weizenbaum
74cfe29814
Remove the deprecated render() function (#270) 2018-03-26 12:45:43 -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
4c293f3ca7
Allow "!" in custom property values (#266)
Closes #260
2018-03-22 17:07:19 -07:00
Natalie Weizenbaum
2dae4f61f3 Release 1.0.0-rc.1 2018-03-16 16:23:57 -07:00
Natalie Weizenbaum
0cc3777b46
Fix media query merging (#258)
Closes #244
2018-03-16 16:22:56 -07:00
Natalie Weizenbaum
65229499b3
Name the standalone executable sass rather than dart-sass (#257) 2018-03-16 14:38:46 -07:00
Natalie Weizenbaum
9d3c8cdc1e
Allow mod 0 (#255)
Closes #254
2018-03-16 13:39:21 -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
John Harvey
e63b8e1b40 Add support for _index files (#220)
See sass/sass#690
2018-03-09 14:46:46 -08:00
Natalie Weizenbaum
aba4ab1421
Properly parse multi-line selectors in the indented syntax (#243)
Closes #235
Closes #237
2018-03-02 17:49:57 -08: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
Natalie Weizenbaum
7d89ad0c1c
Properly handle hard tabs in the indented syntax (#241)
Closes #87
2018-03-01 18:59:58 -08:00
Natalie Weizenbaum
5c750cf7fb Preserve empty lines in indented loud comments 2018-02-23 17:56:54 -08:00
Natalie Weizenbaum
b404e32c46 Fix /* formatting to match Ruby Sass 2018-02-23 17:56:52 -08:00
Natalie Weizenbaum
7454a1b57f Don't add */ for indented syntax loud comments that already have it 2018-02-23 17:01:32 -08:00
Natalie Weizenbaum
bacc380d5b Don't deadlock on /* comments in the indented syntax
Closes #238
2018-02-23 16:29:23 -08:00
Natalie Weizenbaum
25d90e5525 Release 1.0.0-beta.5.2 2018-02-03 17:03:05 -08:00
Natalie Weizenbaum
4db5d49048 Pubspec and CHANGELOG 2018-02-03 13:25:07 -08:00
Natalie Weizenbaum
a6a32a0827
Merge pull request #223 from sass/node-functions
Add support for the Node Sass custom function API
2018-02-02 14:21:57 -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
2f5069e6a8 Add a changelog entry 2018-01-29 14:30:34 -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
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
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
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
9c241eafb9 Add a changelog entry for asynchronous importers 2017-12-01 14:30:31 -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
2cb325a3df
Fix a crash when extending :not(...) into :not(:not(...)) (#192)
Closes #191
2017-11-16 16:25:19 -08:00
Natalie Weizenbaum
cede973af2 Add a CHANGELOG entry for Node Sass importers 2017-11-03 14:55:30 -07:00
Natalie Weizenbaum
a003e5c31f Expose a Dart API for importers
Closes #172
2017-10-12 21:54:58 -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
9f85a4dc34 Default --color to true when using a terminal 2017-07-13 16:11:24 -07:00
Natalie Weizenbaum
a1c0f41180 Add changelog entries. 2017-07-09 18:31:05 -07:00
Natalie Weizenbaum
74cb974455 Support includePaths in the JS API (#162)
Closes #7
2017-07-07 14:50:12 -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
b5157905f4 Emit transparent colors in rgba format (#157)
Closes #1782
2017-07-06 17:49:03 -07:00
Natalie Weizenbaum
5d574f9923 Add support for ::slotted() (#156)
See sass/sass#2266
2017-07-05 16:00:20 -07:00
Sam Rawlins
7d92f2c1ad Support lineFeed in the Node API (#153) 2017-06-15 15:19:26 -07:00
Natalie Weizenbaum
bd912aee4f Release 1.0.0-beta.1. 2017-06-05 12:50:47 -07:00
Natalie Weizenbaum
e032de83fb Allow \ before a selector in the indented syntax. (#152)
See sass/sass-spec#1136
2017-06-02 18:04:21 -07:00
Natalie Weizenbaum
59e782e4dc Fix rounding behavior. (#147) 2017-05-29 17:07:21 -07:00
Natalie Weizenbaum
0ae7372d75 Allow compound extendees in selector functions. 2017-05-28 16:00:37 -07:00
Natalie Weizenbaum
b4d1d95889 Don't use partially-extended selectors as parents. 2017-05-28 15:54:18 -07:00
Natalie Weizenbaum
c63e62abe9 Add changelog entries. 2017-05-27 17:47:34 -07:00
Natalie Weizenbaum
61da3ec6b7 Disallow all top-level declarations and extend. (#141)
We were previously allowing declarations and extend in control
directives at the top level of documents, as long as those documents
were only ever imported in a nested context.
2017-05-25 12:18:57 -07:00
Natalie Weizenbaum
b3a00edec1 Properly parse unary operators after commas.
Closes #138
2017-05-18 18:13:33 -07:00
Natalie Weizenbaum
a4a2a26464 Allow /***/ in selectors.
Closes #135
2017-05-18 17:56:20 -07:00
Natalie Weizenbaum
372ef02aa6 Fix a string inspection crash.
This was being triggered for parse errors, because we inspect the
selector expression when we generate the error.

Closes #134
2017-05-18 17:39:47 -07:00
Natalie Weizenbaum
e840bd0927 Support "url" as an identifier name.
Closes #132
2017-05-18 17:38:54 -07:00
Natalie Weizenbaum
0556665f64 Fix @supports (not ...). (#125) 2017-05-18 17:05:58 -07:00
Natalie Weizenbaum
7182ea2fad Merge branch 'master' into fixes 2017-02-22 20:50:16 -08:00
Natalie Weizenbaum
716157f4bc Drop support for the reference combinator. (#123) 2017-02-22 20:48:56 -08:00
Natalie Weizenbaum
2f53f85053 Fix another extend edge-case. 2017-02-16 18:41:11 -08:00
Natalie Weizenbaum
7fe9dd8735 Fix hacky combinator unification. 2017-02-16 18:31:06 -08:00
Natalie Weizenbaum
4bc2770333 Compile JS with --minify. 2017-02-16 17:37:31 -08:00
Natalie Weizenbaum
f00c6c8c5d Compile JS with --trust-type-annotations. 2017-02-16 17:05:01 -08:00
Natalie Weizenbaum
18f4c1b801 Merge pull request #117 from sass/fixes
Fix more bugs.
2017-02-08 14:25:24 -08:00
Natalie Weizenbaum
89a7888a0e Properly isolate callable environments. 2017-02-04 14:16:29 -08:00
Natalie Weizenbaum
5e4d260c2a Fix a @content bug. 2017-02-04 12:39:23 -08:00
Natalie Weizenbaum
231a85be38 Improve Node file load speed. (#110) 2017-02-04 12:20:34 -08:00
Natalie Weizenbaum
79261fee8e Add boolean short-circuiting. 2017-02-03 17:37:54 -08:00
Natalie Weizenbaum
b32e5f96ce Fix a multi-combinator extend edge case. 2017-02-03 16:49:55 -08:00
Natalie Weizenbaum
73be343be5 Fix a selector pseudo superselector edge case. 2017-02-03 16:15:15 -08:00
Natalie Weizenbaum
d9ef7d00c4 Move a changelog entry into 1.0.0-alpha.9. 2017-02-03 14:23:29 -08:00
Natalie Weizenbaum
e1c0c95f3a Merge remote-tracking branch 'origin/master' into fixes 2017-02-02 14:48:15 -08:00
Natalie Weizenbaum
35d1af51d1 Update namespace extend per sass/sass#2229. (#106) 2017-01-26 20:12:22 -08:00
Natalie Weizenbaum
c26615386b Reject unknown named parameters. 2017-01-26 20:09:45 -08:00
Natalie Weizenbaum
45cfed063f Support slash-separated plain CSS arguments. 2017-01-26 20:09:06 -08:00
Natalie Weizenbaum
4b614166ca Fix numbers divided by colors. 2017-01-26 20:08:49 -08:00
Natalie Weizenbaum
56e41b3ad0 Fix some slash division edge cases. 2017-01-15 16:09:27 -08:00
Natalie Weizenbaum
ad622039bd Support backslash CRLF in quoted strings. 2017-01-15 15:53:19 -08:00
Natalie Weizenbaum
31cc3fc521 Add a span to call()'s rest arguments. 2017-01-15 15:24:35 -08:00
Natalie Weizenbaum
0000c4a7e9 Detect import loops. 2017-01-15 15:15:46 -08:00
Natalie Weizenbaum
6a4eafe915 Fix attribute selectors with single-char values. 2017-01-15 14:45:05 -08:00
Natalie Weizenbaum
84d6c07707 Fix not(). 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
6192dfd1b0 Fix division in @each. 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
9f25689654 Don't emit loud comments in functions. 2017-01-15 14:00:25 -08:00
Natalie Weizenbaum
04570bf828 Warn about named colors in interpolation. 2017-01-15 12:30:50 -08:00
Natalie Weizenbaum
4c95be3e5b Allow whitespace in indented mixin declarations. 2017-01-14 23:01:29 -08:00
Natalie Weizenbaum
2d28194e4c Fix %. 2017-01-14 22:54:13 -08:00
Natalie Weizenbaum
ca4d411362 Fix str-slice() again. 2017-01-14 22:39:28 -08:00
Natalie Weizenbaum
566c06df0e Fix unitless-to-unit number equality. 2017-01-14 22:17:57 -08:00
Natalie Weizenbaum
37f43417bc Handle a placeholder in a compound selector. 2017-01-14 21:40:56 -08:00
Natalie Weizenbaum
c50563e0b4 Handle placeholders in selector pseudos. 2017-01-14 21:30:37 -08:00
Natalie Weizenbaum
146d24e28e Fix split media queries. 2017-01-14 20:09:34 -08:00
Natalie Weizenbaum
015bb0d79f Support &1. 2017-01-14 18:27:50 -08:00
Natalie Weizenbaum
247ab93eec Fix plain import parsing. 2017-01-14 17:53:39 -08:00
Natalie Weizenbaum
6b2d9e519c Support --$variable. 2017-01-14 17:38:57 -08:00
Natalie Weizenbaum
6bc4fb1c34 Test a unit-parsing edge case on Dart Sass. 2017-01-14 17:06:05 -08:00
Natalie Weizenbaum
c415dd068d Fix the $weight parameter for invert(). 2017-01-14 16:54:19 -08:00
Natalie Weizenbaum
d491ab5916 Fix selector error handling. 2017-01-14 15:30:44 -08:00
Natalie Weizenbaum
28efbe1df3 Fix type-of() with a function. 2017-01-14 15:14:57 -08:00
Natalie Weizenbaum
05acf01e58 Forbid more illegal function names. 2017-01-14 15:08:55 -08:00
Natalie Weizenbaum
eab36eafe5 Fix @import with supports(). 2017-01-14 14:56:33 -08:00
Natalie Weizenbaum
9031a7f554 Fix variable scoping in @at-root. 2017-01-14 14:20:44 -08:00
Natalie Weizenbaum
989ffcb53c Forbid & after compound. 2017-01-14 13:43:40 -08:00
Natalie Weizenbaum
dbdd4d72d5 Support & in @at-root. 2017-01-14 13:39:00 -08:00
Natalie Weizenbaum
016fe59d1f Forbid extending across media queries. 2017-01-13 01:53:04 -08:00
Natalie Weizenbaum
c507afe46e Fix whitespace after "...". 2017-01-08 23:29:07 -08:00
Natalie Weizenbaum
d8a299845d Support nested ; and ! in custom property values. 2017-01-08 22:59:58 -08:00
Natalie Weizenbaum
3c7daa3499 Support interpolation in loud comments. 2017-01-08 22:47:05 -08:00
Natalie Weizenbaum
7136b98b09 Support content-exists(). 2017-01-08 22:05:23 -08:00
Natalie Weizenbaum
bf771689f3 Fix SassMap.asList's return type. 2017-01-08 21:39:30 -08:00