Natalie Weizenbaum
43b69e60a0
Change CompileResult.includedFiles to CompileResult.includedUrls
...
Rather than constructing this explicitly to match Node Sass's API, we
construct it with canonical URLs and convert it into the format
expected by the Node Sass API (a mix of paths and URLs) in the
compatibility layer.
2021-07-13 18:08:18 -07:00
Jennifer Thakar
4f428ca5f5
Release 1.35.2 ( #1390 )
2021-07-07 12:14:26 -07:00
Natalie Weizenbaum
5a9dd9161b
Fix a variable-assignment bug ( #1372 )
...
Closes #1250
2021-06-22 15:10:32 -07:00
Natalie Weizenbaum
c919db73aa
Support CompileRequest.quiet_deps and .verbose ( #48 )
...
Closes #44
2021-06-16 13:36:56 -07:00
Natalie Weizenbaum
0f68d7a511
Fix quiet deps when loaded through an @import of a file without @use ( #1362 )
...
Closes #1360
2021-06-15 13:37:48 -07:00
Natalie Weizenbaum
7e371666f4
Add quietDeps and verbose to the JS API ( #1353 )
...
To support this, we now run Node-Sass-style relative loads outside of
the Node importer. This allows the evaluator to check whether a
relative load succeeded and use that to determine whether the
stylesheet counts as a dependency.
See sass/sass#3065
2021-06-14 17:41:56 -07:00
Natalie Weizenbaum
1c773f1cb1
Support VersionRequest and VersionResponse ( #46 )
...
Closes #33
2021-06-14 12:51:01 -07:00
Jennifer Thakar
754501145c
Fix a bug with implicit dependencies ( #1348 )
...
Encountered this while migrating internal code to math.div
2021-06-08 13:06:34 -07:00
Jennifer Thakar
af816d0941
Fix bug in --update with built-in modules ( #1338 )
...
Fixes #1335 .
2021-06-02 14:52:17 -07:00
Natalie Weizenbaum
fd1bfd293b
Fix the URL for the @-moz-document deprecation message ( #1339 )
...
Closes #1336
2021-06-01 18:07:46 -07:00
Natalie Weizenbaum
12c468004c
Implement CanonicalizeRequest.from_import ( #41 )
...
See sass/sass#3055
See webpack-contrib/sass-loader#905
See sass/embedded-protocol#61
2021-05-25 17:59:17 -07:00
Natalie Weizenbaum
16f181660c
Only omit 5 deprecation warnings per feature by default ( #1327 )
...
Closes #1323
2021-05-21 22:45:58 -07:00
Natalie Weizenbaum
d660bf12ef
Add an option to the CLI and Dart Sass to silence warnings from deps
...
Closes #672
2021-05-21 22:45:58 -07:00
Natalie Weizenbaum
7f982a1b3a
Only emit each warning once per source location ( #1322 )
2021-05-21 16:23:53 -07:00
Natalie Weizenbaum
ba805f1039
Release 1.33.0 ( #1316 )
2021-05-20 16:41:30 -07:00
Natalie Weizenbaum
93bc86f97a
Support non-nullability ( #40 )
2021-05-17 20:57:37 -07:00
Natalie Weizenbaum
8a344e343f
Add this.fromImport
for JS importers
...
See sass/sass#3055
See webpack-contrib/sass-loader#905
2021-05-13 17:40:31 -07:00
Jennifer Thakar
5d4950db36
Fix bug with null values in configuration ( #1305 )
...
Fixes #1281 .
2021-05-12 09:09:35 -07:00
Christophe Coevoet
be2d3e848a
Fix argument names in str-slice errors ( #1303 )
2021-05-05 17:02:14 -07:00
Awjin Ahn
30ede40732
Fix extending selectors across multiple modules. ( #1298 )
...
* Fix extending selectors across multiple modules.
Allows more than one module to extend the same upstream selector that,
in turn, extends a selector from its upstream module.
Properly skips creating an extra extension that was being counted as
unresolved when evaluating @extends.
See https://github.com/sass/sass-spec/pull/1635
Fixes https://github.com/sass/dart-sass/issues/1295
2021-04-28 14:19:12 -07:00
Natalie Weizenbaum
45c1333276
Properly reset variables in the loop in _peekIndentation() ( #1288 )
...
Closes #1287
2021-04-19 12:41:57 -07:00
Jennifer Thakar
1e14b3ec65
Add missing package_config dep ( #1286 )
2021-04-16 16:38:45 -07:00
Natalie Weizenbaum
16d6711eb1
Limit Chokidar's lower bound to 3.0.0 ( #1279 )
...
There's no reason we *should* have to do this, since we do declare
support for Chokidar 3.0.0 and npm *should* just install the latest
available version that matches the constraint. But in practice it
doesn't for some reason, so I guess we'll narrow the constraint to
work around that.
See #863
2021-04-15 15:49:49 -07:00
Natalie Weizenbaum
59b9dac236
Update the pubspec
2021-04-14 19:02:51 -07:00
Natalie Weizenbaum
81d952dc7d
Automated null-safety migration
2021-04-14 17:15:08 -07:00
Jennifer Thakar
247cb3d816
Update dependencies to null-safe versions
...
This also replaces package_resolver with package_config, since
package_resolver is archived and is incompatible with null-safe Dart
packages.
2021-04-12 17:31:09 -07:00
Lukasz Kolodziejczyk
84cae191bd
Allow the null safety release of args and watcher ( #1238 )
2021-02-25 13:45:14 -08:00
Awjin Ahn
84eff0a8ea
Release 1.0.0-beta.7 ( #36 )
2021-02-24 14:36:26 -08:00
Awjin Ahn
ad4a1692a8
Adds RenderOptions to the context of custom functions. ( #1236 )
2021-02-18 13:48:47 -08:00
Awjin Ahn
94d1fc407b
Update chokidar. ( #1235 )
2021-02-18 13:15:11 -08:00
lukaszkolodziejczyk
1df37b1ee9
Allow the null safety release of stream_transform ( #1223 )
2021-02-09 16:43:55 -08:00
Natalie Weizenbaum
cebf71b39e
Revert "Limit the version of source_span ( #1227 )" ( #1229 )
...
This reverts commit 8afc238db7
. The
upstream bug has been fixed and the fix has been published.
2021-02-05 17:32:17 -08:00
Awjin Ahn
4ea9fff2bb
Let last !default value of @forward...with be commaless. ( #1226 )
...
This advances the scanner to the next line even if the !default
identifier is not followed by a comma.
2021-02-04 14:18:19 -08:00
Natalie Weizenbaum
8afc238db7
Limit the version of source_span ( #1227 )
...
This is a workaround to get the build working again until
dart-lang/source_span#72 lands.
2021-02-04 13:01:43 -08:00
Natalie Weizenbaum
2682992bd4
Split SassNumber into separate subclasses based on units ( #1221 )
...
This allows us to use more efficient implementations in the common
case where numbers don't have complex units.
See #113
2021-02-02 17:37:56 -08:00
Mary
b4c6054cc6
Bump version
2021-01-25 13:33:34 -05:00
Natalie Weizenbaum
b0680836d4
Use GitHub Actions' bearer: token rather than a basic auth token ( #30 )
2021-01-20 16:32:18 -08:00
Christophe Coevoet
9005c6bed5
Remove useless dev dependency ( #1210 )
...
source_span is already a normal dependency of the package.
2021-01-20 11:21:20 -08:00
Natalie Weizenbaum
f93feaf592
Don't try to cast an error to JsError
...
Dart's runtime understanding of what a "JsError" is isn't sufficient
to make sense of everything that might be thrown by, for example, a
custom function with an error.
2021-01-15 16:14:20 -08:00
Christophe Coevoet
8128431b18
Use the dart cli in tasks ( #27 )
2021-01-13 13:44:41 -08:00
Natalie Weizenbaum
19555e9a7a
Release 1.32.4
2021-01-11 17:04:09 -08:00
Natalie Weizenbaum
66cb55c76f
Avoid throw/catch in Number.== ( #1188 )
...
Throwing and catching exceptions is expensive. Testing this on one
user's number-heavy codebase resulted in a 2x speed improvement.
2021-01-11 13:41:37 -08:00
Natalie Weizenbaum
01231e2f4c
Print the values of deprecated numbers passed to color functions ( #1184 )
...
See #1174
2021-01-06 15:17:53 -08:00
Natalie Weizenbaum
5f20d0a431
Release 1.0.0-beta.6
2021-01-06 13:54:16 -08:00
Natalie Weizenbaum
f24a2b9ca4
Avoid permissions errors in _realCasePath. ( #1181 )
...
This catches permissions errors and treats them as indicating that the
path component we have so far is canonical. This also improves the
efficiency of case matching by caching results for higher directories.
2021-01-06 12:49:45 -08:00
Natalie Weizenbaum
7ba7351148
Mark deprecation warnings as such
2020-12-28 14:44:00 -08:00
Natalie Weizenbaum
02c92aa7cd
Add support for clamp() as a special math function ( #1168 )
...
Closes #1146
See sass/sass#2860
2020-12-28 13:42:04 -08:00
Natalie Weizenbaum
bf623752fb
Avoid always downcasing file paths on Windows ( #1172 )
...
Closes #1169
2020-12-23 18:07:20 -08:00
Natalie Weizenbaum
3130888661
Delimit messages using varints, as per sass/embedded-protocol#38 ( #23 )
...
See sass/embedded-protocol#37
2020-12-22 16:06:16 -08:00
Natalie Weizenbaum
e51ec0455a
Re-enable fetching the latest test package version ( #1155 )
2020-11-23 14:40:44 -08:00
Kevin Choi
43f4607c78
Update cli_pkg ( #1153 )
...
This makes the main function (cli_pkg_main_0) return a Promise instead of void.
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2020-11-23 13:11:37 -08:00
Natalie Weizenbaum
b826bd361a
Add an upper bound to our test constraint
...
This works around dart-lang/test#1382 .
2020-11-19 14:53:46 -08:00
Natalie Weizenbaum
c0e6ba1b07
Fix a buggy interaction between @at-root and @keyframes ( #1135 )
2020-11-05 12:55:11 -08:00
Natalie Weizenbaum
939dca8e38
Support generalized @supports conditions ( #1134 )
...
Closes #894
See sass/sass#2780
2020-11-04 16:10:37 -08:00
Natalie Weizenbaum
908515065f
Merge branch 'master' into feature.hwb
2020-10-29 14:49:58 -07:00
Natalie Weizenbaum
4a0da21ed3
Fix a stack overflow when setting pkg.githubReleaseNotes ( #1130 )
2020-10-29 13:43:27 -07:00
Natalie Weizenbaum
093ff58673
Merge branch 'master' into feature.hwb
2020-10-28 16:22:18 -07:00
Natalie Weizenbaum
5c3f550a05
Revert "Temporarily disable deploying to Chocolatey ( #960 )" ( #1128 )
...
This reverts commit 01ed720e9c
. Now that
google/dart_cli_pkg#56 has landed, Chocolatey deployment should work
again.
2020-10-28 15:47:31 -07:00
Natalie Weizenbaum
290e55c2f1
Trim extends at the compound selector level ( #1124 )
...
This reverts a portion of #460 (15202c4
). It turns out that trimming
compound selector extends allows us to avoid exponential behavior in
certain recursive @extend cases.
See sass/dart-sass#1109
2020-10-28 15:11:22 -07:00
Natalie Weizenbaum
a9a3946fb4
Use node_interop rather than manually declaring Node APIs ( #1127 )
2020-10-28 15:00:05 -07:00
Natalie Weizenbaum
197c6dbbde
Emit a proper parse error for = with no RHS in a function ( #1071 )
...
Closes #1050
2020-10-27 15:47:48 -07:00
Natalie Weizenbaum
00914eca36
Remove the cli_pkg dependency override ( #1118 )
2020-10-23 14:25:03 -07:00
Natalie Weizenbaum
73ebf92e9f
Support the latest version of the analyzer package ( #1115 )
2020-10-14 14:10:46 -07:00
Natalie Weizenbaum
3bf67e96bc
Merge remote-tracking branch 'origin/master' into feature.hwb
2020-10-13 17:37:41 -07:00
Natalie Weizenbaum
ca39c834cd
Use cli_pkg 1.0.0-beta.10 ( #1114 )
2020-10-13 17:37:22 -07:00
Natalie Weizenbaum
b0f213c22f
Merge remote-tracking branch 'origin/master' into feature.hwb
2020-10-09 17:29:47 -07:00
Natalie Weizenbaum
2198aa7dab
Merge branch 'master' into feature.nested-maps
2020-10-05 17:31:41 -07:00
Natalie Weizenbaum
f843f96bc2
Produce a better error for positional arguments after named ( #1087 )
...
Closes #1086
2020-09-17 17:50:19 -07:00
Natalie Weizenbaum
1918674295
Support HWB colors in SassColor ( #1085 )
...
See sass/sass#2835
2020-09-17 16:18:12 -07:00
Natalie Weizenbaum
028b2f6a01
Add a map.deep-merge() function ( #1077 ) ( #1080 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 16:25:49 -07:00
Natalie Weizenbaum
015a76cf0b
Revert "Add a map.deep-merge() function ( #1077 ) ( #1080 )"
...
This reverts commit 315e86b442
.
Once again, this was supposed to go on feature.nested-maps.
2020-09-15 16:24:53 -07:00
Natalie Weizenbaum
315e86b442
Add a map.deep-merge() function ( #1077 ) ( #1080 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 16:23:01 -07:00
Natalie Weizenbaum
9503b57ac5
Revert "Add a map.deep-merge() function ( #1077 )"
...
This reverts commit bc7216a441
.
This was intended to land on a feature branch, not on master.
2020-09-15 15:17:55 -07:00
Natalie Weizenbaum
bc7216a441
Add a map.deep-merge() function ( #1077 )
...
This also adds a Value.tryMap() function, which was useful for
implementing this and may be more generally useful to users as well.
See sass/sass#2836
See sass/sass-spec#1560
2020-09-15 13:03:38 -07:00
Jennifer Thakar
9375ada8e6
Fix a selector parsing bug in indented syntax ( #1005 )
...
Fixes #1002 .
In the indented syntax, a selector list may continue onto another line
if the previous line ends with a comma. Previously, if there was a
comment after the comma, it wouldn't be recognized and the selector
would be broken in two (with the first selector having no properties).
This fixes the parser to ignore comments when looking for the comma at
the end of a line.
Also disables the formatting check to work around dart-lang/dart_style#940 .
2020-08-06 15:43:16 -07:00
Natalie Weizenbaum
2217c6ceba
Try building Windows releases on Windows ( #16 )
2020-07-23 17:31:00 -07:00
Natalie Weizenbaum
d37ef98a76
Regenerate the GitHub token again ( #15 )
...
I realized the problem: this repo uses travis-ci.com, not
travis-ci.org, but the Travis CLI defaults to encrypting using .com
credentials. This time I regenerated the token using --pro, which
should work.
2020-07-22 16:39:34 -07:00
Natalie Weizenbaum
2d2ad922db
Regenerate the GitHub token ( #14 )
...
The previous token didn't seem to be recognized. See
https://travis-ci.com/github/sass/dart-sass-embedded/jobs/364028782 .
It's unclear why it didn'twork, but I'm hoping regenerating fixes it.
2020-07-22 16:16:56 -07:00
Natalie Weizenbaum
25a8184a15
Bump the version to 1.0.0-beta.2
2020-07-21 16:27:57 -07:00
Natalie Weizenbaum
8b1eedab42
Depend on cli_pkg-beta.8
2020-07-20 13:34:33 -07:00
Natalie Weizenbaum
c1f1226db0
Release a beta version
2020-07-20 13:34:31 -07:00
Jennifer Thakar
6565b45a6c
Fix a null pointer bug ( #1041 )
...
Fixes #1038 .
2020-07-06 15:35:09 -07:00
Mary
9a89df2b64
Release 1.26.9 ( #1028 )
...
Co-authored-by: Jennifer Thakar <jathak@google.com>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2020-06-22 14:32:00 -07:00
Jennifer Thakar
7d6dae02a4
Always use absolute URLs in stdout source maps ( #1021 )
...
Fixes #1020 .
2020-06-04 17:03:06 -07:00
Jennifer Thakar
cf3ac21752
Fix pubspec and release 1.26.7 ( #1016 )
...
Pub was failing due to the `js` dependency being declared as a dev
dependency but being referenced in `lib`.
2020-05-28 16:46:28 -07:00
Jennifer Thakar
3ad267479d
Release 1.26.6 ( #1015 )
...
This also updates Travis to build the standalone Windows release on an
actual Windows machine.
2020-05-28 14:10:15 -07:00
Jennifer Thakar
7160b6426d
Add missing constants to JS API ( #990 )
...
Fixes #977 .
2020-04-24 16:11:46 -07:00
Natalie Weizenbaum
a7b0ad8e64
Release 1.26.5 ( #987 )
...
This needs a release because the release process for 1.26.4 was broken
by dart-lang/sdk#41259 .
2020-04-23 18:39:10 -07:00
Natalie Weizenbaum
bf35513a4c
Avoid adding duplicate modules when importing forwarded stylesheets ( #973 )
...
Avoid adding duplicate modules when importing forwarded stylesheets
In Google stylesheets that imported import-only stylesheets with many
forwards many of times, we were seeing Environment._globalModules grow
large enough that variable accesses were a problem. This addresses
that in several ways:
* Forwarded modules are now ignored if the module is already being
forwarded.
* Module equality is more intelligent, so that shadowed and forwarded
modules can be effectively de-duplicated.
* If a module would be fully shadowed by a later import *and* that
module has no CSS, we no longer add an empty ShadowedModule to the
module list.
2020-03-24 15:31:06 -07:00
georgpukk
4d78316cb7
Fix a check that prevents compiling .css files to themselves ( #968 )
...
Co-Authored-By: Natalie Weizenbaum <nweiz@google.com>
2020-03-11 14:48:00 -07:00
Natalie Weizenbaum
cb8a048e58
Refactor Extender._extendOrReplace() ( #965 )
...
This combines all targets into a single extender invocation, which is
more efficient and allows it to more aggressively do redundant
selector elimination.
2020-02-28 15:48:36 -08:00
Natalie Weizenbaum
a333059e71
Keep recompiling downstream dependencies after an error in --watch
...
Prior to this, the watcher handled all the logic around recompiling
stylesheets if an upstream file was deleted or added in a way that
could affect their import resolution. This left a gap where the
stylesheet graph wouldn't be aware that a newly-added file had become
upstream dependency of an existing downstream file, leading to
recompilation failures.
This commit fixes that by moving all that logic into the stylesheet
graph. The graph now has full and sole responsibility for providing a
consistent view of which stylesheets depend on one another even as the
shape of the graph changes, and the watcher is just a client of that
logic.
Closes #550
2020-02-24 20:18:03 -08:00
Natalie Weizenbaum
01ed720e9c
Temporarily disable deploying to Chocolatey ( #960 )
...
The cli_pkg Chocolatey deployment is still failing for unknown
reasons, and until I have time to debug it I want to get a full
release out.
2020-02-24 11:38:42 -08:00
Natalie Weizenbaum
4f8f509584
Cut a release ( #958 )
...
* Use cli_pkg's updated Chocolatey support
* Stop running Node tests on the Dart dev channel for now
See dart-lang/test#1184
2020-02-19 13:42:56 -08:00
Natalie Weizenbaum
0d0270cb12
Cut a release ( #957 )
2020-02-13 16:05:04 -08:00
Natalie Weizenbaum
7d8002ec9b
Cut a release
2020-02-07 17:04:13 -08:00
Natalie Weizenbaum
67c4e1bdea
Don't throw conflict errors for identical members ( #947 )
...
See sass/sass#2820
Closes #946
2020-02-07 15:17:05 -08:00
Natalie Weizenbaum
73ddae9c34
Bump the pubspec and add a CHANGELOG entry
...
Normally I'd just release this, but releasing is currently on hold
until a few cli_pkg bugs are fixed.
2020-02-07 01:00:41 -08:00
Natalie Weizenbaum
7457d2e9e7
Create a release to test cli_pkg infrastructure ( #940 )
2020-01-24 16:49:59 -08:00
Natalie Weizenbaum
5450c1c07b
Use cli_pkg to build and release executables ( #924 )
2020-01-24 13:05:04 -08:00
awjin
4c0c6b48e4
Merge branch 'master' into math-functions
2020-01-16 14:55:40 -08:00
Natalie Weizenbaum
99c58029d8
Bump the pubspec version
2020-01-15 17:20:58 -08:00
awjin
5f72acb14d
Revert "Revert "Adds built-in clamp() and hypot() ( #906 )""
...
This reverts commit 76280409bd
.
2020-01-15 14:44:13 -08:00
Natalie Weizenbaum
6118ded4b2
Don't upgrade source_span to avoid formatting changes
2020-01-15 11:42:06 -08:00
Natalie Weizenbaum
ed9052af3e
Delete source_span override
2020-01-14 19:49:31 -08:00
Natalie Weizenbaum
0c1370ce25
Allow errors to refer to multiple source spans at once
...
This makes error messages for issues like configuring a module after
it's loaded much clearer.
2020-01-10 22:31:48 -08:00
Natalie Weizenbaum
ca63b1ba7d
Don't try to resolve relative Node importer URLs for source maps ( #923 )
...
* Don't try to resolve relative Node importer URLs for source maps
Closes #922
* Reformat
2020-01-09 13:14:44 -08:00
Natalie Weizenbaum
e110961120
Pass the version variable to script snapshots at build time ( #920 )
...
Closes #914
See https://github.com/dart-lang/sdk/issues/36579#issuecomment-571386118
2020-01-07 13:53:30 -08:00
Jennifer Thakar
bfdf4b35a4
Fix import-only files for Node importers ( #919 )
2020-01-03 15:41:12 -08:00
Jennifer Thakar
79d9a73474
Cache separate canonical URLs for @use and @import ( #908 )
...
Fixes #899 .
The cache for canonical URLs is now keyed on *both* the rule URL and
whether that URL was canonicalized for an `@import` rule.
2020-01-02 15:25:02 -08:00
Natalie Weizenbaum
7113a729cd
Update dependency versions ( #918 )
2020-01-02 14:53:19 -08:00
Jennifer Thakar
76280409bd
Revert "Adds built-in clamp() and hypot() ( #906 )"
...
This reverts commit 24f84e2c88
.
2020-01-02 13:45:51 -08:00
Awjin Ahn
24f84e2c88
Adds built-in clamp() and hypot() ( #906 )
2019-12-26 12:40:08 -08:00
Natalie Weizenbaum
b3671c676b
Release 1.24.0 ( #905 )
2019-12-19 17:59:48 -08:00
Natalie Weizenbaum
2755a8186d
Avoid a path dependency
2019-12-18 17:49:54 -08:00
Natalie Weizenbaum
08d0b8d159
Move analysis options into a nested package
...
This allows other Sass team packages to re-use our analysis
configuration without having to copy it.
2019-12-18 15:37:25 -08:00
Natalie Weizenbaum
15be59be31
Make SassFormatException implement SourceSpanFormatException ( #891 )
2019-11-25 18:54:45 -08:00
Natalie Weizenbaum
aa76c8ab3b
Always create scopes for nested imports
2019-11-20 16:21:03 -08:00
Natalie Weizenbaum
aac599947d
Run the GitHub Windows release on the latest Dart version ( #886 )
2019-11-18 17:33:56 -08:00
Natalie Weizenbaum
e1e96338d8
Bump the version
2019-11-15 16:40:47 -08:00
Natalie Weizenbaum
0d782fbccf
Fix inline comments in the indented syntax ( #881 )
...
Closes #880
2019-11-15 15:45:11 -08:00
Awjin Ahn
3d1dab3563
Print call-site for @errors in mixins and functions ( #878 )
...
For any @errors encountered in mixins or functions, use the call-site
(instead of the @error rule) as the span printed in the error message.
Closes #474
See sass/sass-spec#1494
2019-11-13 17:56:35 -08:00
Natalie Weizenbaum
95bb3aceb6
Add support for importers ( #8 )
2019-11-07 16:03:47 -08:00
Nate Bosch
7b0faec321
Migrate to stream_transform extension methods
...
The non-extension implementation will be removed in the next version.
Bump the min SDK to 2.6.0 to reflect the fact that extension methods are
used.
2019-11-06 14:47:24 -08:00
Natalie Weizenbaum
3de78be2f0
Plug in the actual Sass compiler ( #5 )
...
This now supports real CompileRequest and CompileResponses, although
it's missing features like importers, custom functions, and source
maps.
2019-11-04 19:50:50 -08:00
Natalie Weizenbaum
44059573bb
Watch files through @forward rules ( #871 )
...
Closes #870
2019-11-04 13:32:27 -08:00
Natalie Weizenbaum
2b11aa1c21
Use cli_pkg to deploy to GitHub
2019-11-01 19:23:33 -07:00
Natalie Weizenbaum
7489d5796d
Add a very basic protocol dispatcher and a few tests
...
Currently this doesn't actually invoke the compiler, it just always
returns the expanded output for "a {b: c}".
2019-11-01 19:02:12 -07:00
Natalie Weizenbaum
3bf67e0011
Add a grinder task to generate protocol buffer libraries
2019-11-01 19:02:12 -07:00
Natalie Weizenbaum
be4ca60045
Propagate selector source specificity between modules
...
Closes #866
2019-10-30 15:11:25 -07:00
Natalie Weizenbaum
3392db0074
Don't compile .css files in directories to themselves ( #862 )
...
This also adds support for compiling .css files in directories *at
all*, which had previously only worked in --watch mode.
Closes #853
2019-10-29 23:48:21 +00:00
Natalie Weizenbaum
be35dbb7cc
Add a length-delimited StreamChannelTransformer ( #1 )
...
This implements the packet scheme that the embedded protocol uses when
communicating over stdin and stdout.
2019-10-29 21:05:18 +00:00
Natalie Weizenbaum
bb81bdd2c3
Release 1.23.1 ( #858 )
2019-10-22 20:58:14 +01:00
Jennifer Thakar
664260159e
Update changelog and bump pubspec version
2019-10-10 15:42:39 -07:00
Natalie Weizenbaum
5052350150
Bump the pubspec and add a changelog entry for @use
2019-10-01 14:54:54 -07:00
Natalie Weizenbaum
25fa4a772f
Release 1.22.12
2019-09-11 10:34:40 -07:00
Natalie Weizenbaum
35880d171f
Check fs.existsSync() before running fs.statSync() ( #812 )
...
This produces non-negligible speed improvements for Node users with
lots of imports.
2019-09-03 13:26:57 -07:00
Natalie Weizenbaum
fc8c987fc1
Fix a few @extend edge cases ( #797 )
2019-08-16 14:00:14 -07:00
Natalie Weizenbaum
0e5ed4a37d
Fix dash-insensitivity in get-function() ( #795 )
...
Closes #792
2019-08-14 12:20:47 -07:00
Natalie Weizenbaum
057d891c27
Update the author declaration in the pubspec ( #788 )
2019-08-05 16:18:32 -07:00
Natalie Weizenbaum
c8ac543d1e
Re-add support for Node Carbon ( #785 )
...
Apparently npm and Yarn won't avoid installing a package version that
declares incompatibility with them, so dropping compatibility for an
old version is actually a breaking change 😭 .
2019-07-29 22:32:53 +01:00
Natalie Weizenbaum
8d5e3d9a67
Include argument names when reporting range errors
...
Closes #771
2019-07-25 08:37:00 +01:00
Natalie Weizenbaum
b1707f61cd
Release 1.22.8
...
This doesn't contain any code changes relative to 1.22.7, but the JS
release will pick up mbullington/node_preamble.dart#16 .
2019-07-22 14:47:38 -07:00
Natalie Weizenbaum
ea4436b87d
Limit the Dart SDK constraint to ^2.4.0 ( #769 )
...
2.3.2 and earlier releases suffered from dart-lang/sdk#37027, which
causes them to fail to parse Dart Sass.
Closes #768
2019-07-18 21:49:36 +01:00
Natalie Weizenbaum
c794abd858
Eagerly dash-normalize Sass identifiers
...
This avoids using maps and sets with custom equality, which are
moderately inefficient relative to built-in maps and sets on both Node
and the Dart VM. In order to make error messages continue to use the
original identifiers where possible, this updates some of them to rely
more heavily on their associated source spans for context.
2019-07-16 19:42:38 -07:00
Natalie Weizenbaum
535030bb0f
Release 1.22.5
2019-07-15 21:59:54 +01:00
Natalie Weizenbaum
0e47e03305
Fix at-rules in nested imports ( #758 )
...
Closes #755
2019-07-12 01:55:30 +01:00
Natalie Weizenbaum
faa053733a
Release 1.22.3
2019-07-03 15:31:56 -07:00
Natalie Weizenbaum
60af5f6c25
Release 1.22.2 ( #745 )
...
The CHANGELOG entry from #727 got misplaced; that code hasn't been
released yet.
2019-07-01 13:31:13 -07:00
Natalie Weizenbaum
2cdbbebcaf
Declare support for Chokidar 3.0.0 ( #731 )
...
Closes #730
2019-06-26 16:06:22 -07:00
Natalie Weizenbaum
033533ae75
Avoid deprecated analyzer APIs ( #735 )
2019-06-26 14:53:37 -07:00
Natalie Weizenbaum
7955bab749
Mark the pubspec as a release version
2019-06-24 14:55:19 -07:00
Natalie Weizenbaum
4716349a0e
Add new module-system features for existing functions ( #720 )
2019-06-18 12:03:12 -07:00
Natalie Weizenbaum
a87631777b
Declare a "sass" executable in the pubspec ( #712 )
2019-06-06 21:19:09 +01:00
Natalie Weizenbaum
bea609d74b
Add a top-level warn() function for functions and importers ( #711 )
...
In addition to being useful for users of Sass, this will make it
possible for core Sass functions to produce warnings without needing
an explicit reference to the evaluator.
2019-06-06 19:42:44 +01:00
Natalie Weizenbaum
48c284b4ef
Properly mark secure variables so they're decrypted by Travis ( #697 )
2019-05-31 17:01:33 +01:00
Natalie Weizenbaum
0fe0208f6e
Remove exponent notation for integers on Node.js
...
Closes #688
2019-05-21 13:36:36 -07:00
Natalie Weizenbaum
5ed3bbc9c7
Update dependencies
2019-05-15 18:17:06 -07:00
Natalie Weizenbaum
4b7699291c
Compile release executables in native mode ( #679 )
2019-05-15 16:02:02 -07:00
Natalie Weizenbaum
60fc306ab4
Release 1.20.1
...
This doesn't have any code changes, but I want to verify that the new
deployment infrastructure works and the only way to do that is to
actually deploy.
2019-05-03 13:13:20 -07:00
Natalie Weizenbaum
34c068a189
Generate a CSS file describing an error when one occurs ( #659 )
...
Closes #657
2019-05-02 18:14:25 -07:00
Natalie Weizenbaum
407eefded1
Add support for attribute selector modifiers ( #658 )
...
Closes #656
2019-04-30 11:31:18 -07:00
Natalie Weizenbaum
37f0740307
Allow ! in url()s ( #650 )
...
Closes #646
2019-04-18 17:37:20 -07:00
Natalie Weizenbaum
413c949446
Make FilesystemImport._loadPath absolute ( #651 )
...
This avoids having the effective load path change when the process's
working directory changes.
2019-04-18 16:34:48 -07:00
Natalie Weizenbaum
3b3a43a8f9
Add a --charset flag and API option ( #644 )
...
The automatic @charset adding is useful in general, but there are
consistently cases where it trips up naïve downstream tools. This
option makes it easier for users to control when it occurs.
2019-04-08 14:49:08 -07:00
Natalie Weizenbaum
8c9412b520
Fix importing files relative to "package:" imports ( #638 )
...
The PackageImporter wasn't accepting paths relative to its
canonicalized outputs as inputs.
Closes #631
2019-04-03 13:57:52 -07:00
Natalie Weizenbaum
9999835df0
Add a sass.types.Error constructor to the JS API ( #627 )
...
Closes #590
2019-04-03 01:07:12 -07:00
Natalie Weizenbaum
bc5e3c4f8f
Properly parse CR, CR LF, and FF as newlines everywhere ( #626 )
...
Closes #623
2019-03-18 16:50:23 -07:00
Natalie Weizenbaum
13d0820c37
Release 1.17.3 ( #622 )
2019-03-15 12:50:48 -07:00
Natalie Weizenbaum
e84c8b1995
Don't put style rules inside empty @keyframes rules ( #613 )
...
Closes #611
2019-03-07 17:04:30 -08:00
Natalie Weizenbaum
0929aa5ce2
Update pub credentials ( #605 )
...
Pub recently started requiring more OAuth2 scopes than our old
credentials held.
2019-02-22 15:53:44 -08:00
Natalie Weizenbaum
149bf85b4d
Explicitly mark classes as sealed ( #602 )
2019-02-20 16:39:46 -08:00
Natalie Weizenbaum
26401fb135
Fix an attribute selector quoting bug ( #599 )
...
Closes #598
2019-02-20 13:38:21 -08:00
Natalie Weizenbaum
7ca989a4f7
Produce a better error for invalid function contents ( #587 )
...
Closes #584
2019-02-04 13:14:25 -08:00
Natalie Weizenbaum
e8ac314f56
Support dart-lang/source_span#25 ( #566 )
...
This adds a --no-unicode option to disable Unicode span rendering,
decouples repl highlighting from SourceSpan.highlight, and updates
tests to work with the new error highlighting.
It also tightly scopes source spans for statements with children.
Previously, source spans for these nodes extended all the way through
any whitespace that followed the node. This led to messy-looking
multiline span highlights with dart-lang/source_span#25 .
Now, StylesheetParser.children doesn't consume trailing whitespace.
Instead, we add a helper method StylesheetParser._withChildren that
parses children, creates the appropriate span, and then consumes the
trailing whitespace.
2019-01-28 20:42:32 -05:00
Natalie Weizenbaum
9fdf5612ea
Fix a performance bug in BinaryOperatorExpression.span ( #569 )
...
Previously, evaluator called BinaryOperationExpression.span for each
binary operation it evaluated, which in turn called spanForList() to
create a span covering both child expressions. spanForList() then
called .span for both the left and right child operations *twice*,
leading to exponential behavior.
This is now avoided in three complementary ways:
1. The evaluator avoids eagerly calling AstNode.span, instead keeping
the original AstNode until the span itself needs to be accessed.
This means that a span will only be accessed when an error actually
occurs, and then only one operation's span will be accessed.
2. BinaryOperationExpression.span now iterates through any child
operations before calling their .span methods, so it only performs
O(1) allocations.
3. spanForList() now only calls each AstNode.span once.
2019-01-17 18:04:14 -05:00
Natalie Weizenbaum
b0242767ee
Temporarily limit source_span to 1.4.x ( #570 )
...
Getting all the tests update and the output looking nice is proving
more difficult than expected, and I want to unblock other pull
requests for Dart Sass in the meantime.
2019-01-15 03:02:06 -05:00
Natalie Weizenbaum
e3ae4705f1
Release 1.16.0 ( #562 )
2019-01-09 19:18:45 -05:00
Natalie Weizenbaum
55ebe56d3c
Add support for new special number strings ( #556 )
...
See sass/sass#2584
2019-01-09 15:50:04 -05:00
Natalie Weizenbaum
12f53f5e1c
Release 1.15.3 ( #561 )
2019-01-04 15:32:45 -05:00
Natalie Weizenbaum
dbda396401
Compile to JS with -O4 ( #555 )
...
Closes #526
2019-01-03 10:47:12 -08:00
Natalie Weizenbaum
f3db1d6a66
Properly merge "all and" media queries ( #539 )
...
Closes #537
2018-12-10 13:13:19 -08:00
Natalie Weizenbaum
dad8491035
Make types.String.prototype.setValue() de-quote a string ( #535 )
...
Closes #513
2018-12-06 15:06:32 -08:00
Natalie Weizenbaum
aa52cf1474
Always add quotes to attribute selector values that begin with -- ( #529 )
...
Closes #527
2018-11-16 13:51:36 -08:00
Natalie Weizenbaum
5d885e6905
Enforce non-whitespace formatting rules
2018-11-14 13:53:55 -08:00
Natalie Weizenbaum
50efdabcce
Add support for CSS Color Level 4 rgb() and hsl() syntax
...
Closes #497
2018-11-12 16:33:54 -08:00
Natalie Weizenbaum
bf71ca359d
Add support for interpolation in at-rule names ( #509 )
...
Closes #496
2018-11-01 14:31:46 -07:00
Natalie Weizenbaum
6bdb49a9d5
Properly escape U+0009 CHARACTER TABULATION in unquoted strings ( #504 )
2018-10-18 18:50:03 -07:00
Natalie Weizenbaum
d9c836e9d0
Remove the unused convert dependency ( #502 )
...
Closes #501
2018-10-17 17:34:19 -07:00
Natalie Weizenbaum
a25bbb3fc7
Add a ParenthesizedExpression class ( #503 )
...
This allows us to accurately track the source spans for parenthesized
expressions, which in turn allows us to print accurate error
indications.
Adding a new class for this more accurately represents the structure
of the expression, but it also involves an extra allocation during
parsing and an extra level of nesting during evaluation which could
have a small but real performance impact.
We could alternatively add a package-internal setter for
Expression.span, and update the source span for parenthesized
expressions after they're initially parsed. However, this has its own
downsides: it adds complexity and mutability to the object model; and
many expression classes currently use lazily-generated spans, so
making them settable would require adding extra slots on those
classes.
I decided to go with the extra class because it only adds overhead
when parentheses are actually used in practice, as opposed to adding
overhead to every list/color/etc. The runtime overhead is also likely
to be mitigated if at any point we add a constant-folding step.
2018-10-17 16:52:32 -07:00
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
ff3cea5312
Properly parse escaped digits at the beginning of identifiers ( #486 )
...
See sass/sass#1542
Closes sass/dart-sass#485
2018-09-26 21:01:46 -04:00
Progracientist
a6164217df
Prettify URIs ( #481 )
...
Closes #464
2018-09-26 13:39:49 -04:00
Natalie Weizenbaum
89b86be5e8
Enable full alpha hex support ( #478 )
...
Closes #371
2018-09-19 16:03:32 -04:00
Natalie Weizenbaum
918a3fedf2
Pass --omit-implicit-checks to dart2js in release mode ( #473 )
...
Substantially addresses #113
2018-09-11 14:39:47 -07: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
edf3370cd9
Parse :nth-child() selectors with extra whitespace ( #467 )
...
As a side effect of the new parse, this also removes extra whitespace
from :nth-child() selectors.
Closes #465
2018-09-05 15:28:26 -07:00
Natalie Weizenbaum
048b17495e
Support browser hacks in plain CSS mode ( #468 )
...
Closes #466
2018-09-05 14:31:59 -07:00
Natalie Weizenbaum
9e5ef91f22
Add support for the single-equals operator in plain CSS ( #463 )
...
Closes #462
2018-08-31 18:15:23 -06:00
Natalie Weizenbaum
15202c48dc
Simplify trimming for extend ( #460 )
...
We were previously trimming at bath the compound selector level and
the selector list level. This now only trims at the selector list
level.
The _trim() function also took a list of selector lists, on the
idea (from Ruby Sass) that it could avoid trimming selectors generated
from the same extension that were very unlikely to be redundant. In
practice, though, the fact that we weaved together selector lists at
the compound level meant that we didn't have meaningful
known-non-redundant lists like Ruby Sass did, so this wasn't useful.
This has no behavioral effect, although it does seem to improve
performance slightly for extend-heavy stylesheets.
2018-08-30 01:02:05 -06:00
Natalie Weizenbaum
997e068499
Add support for extending selector lists ( #455 )
...
Closes #452
2018-08-17 13:32:10 -07:00
Natalie Weizenbaum
677d781c52
Fix a crash with nested media rules ( #454 )
...
Closes #453
2018-08-17 12:34:31 -07:00
Natalie Weizenbaum
c5dff3e841
Remove the source map comment from the JS blob we release ( #448 )
...
See bazelbuild/rules_sass#44
2018-08-15 13:28:02 -07:00
Natalie Weizenbaum
874ee0b076
Expose the SassException class publicly ( #446 )
2018-08-14 12:58:47 -07:00
Natalie Weizenbaum
0f7f9e69a7
Add support for plain CSS imports ( #436 )
...
Closes #424
2018-08-10 15:58:15 -07:00
Natalie Weizenbaum
534256a381
Merge branch '1.10.x' into master
2018-08-09 17:56:30 -07:00
Natalie Weizenbaum
511319a3b4
Declare support for test 1.0.0
...
Closes sass/homebrew-sass#10
2018-08-09 15:16:56 -07:00
Natalie Weizenbaum
89ce44aac4
Pass --no-preview-dart-2 to the Chocolatey script ( #434 )
...
I missed this in c462b82
.
Closes #433
2018-08-03 14:24:53 -07:00
Natalie Weizenbaum
5ee73e2ead
Release 1.10.2
...
This is just intended to trigger a new Chocolatey build.
Closes #413
2018-08-02 16:28:07 -07:00
Natalie Weizenbaum
313b939ed8
Add support for range-form media queries ( #423 )
...
See sass/sass#1864
2018-07-25 15:48:24 -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
b5c9ed41b9
Declare support for Dart 2 ( #418 )
2018-07-23 13:31:38 -07:00
Natalie Weizenbaum
45da11dad5
Preserve nested media queries when they can't be merged ( #410 )
...
See sass/sass#1831
2018-07-18 12:12:17 -07:00
Natalie Weizenbaum
f740e97e05
Fix a typo in an error message ( #411 )
2018-07-18 12:11:24 -07:00
Natalie Weizenbaum
02781130b8
Give the dummy Node.js FileSystemException a usable toString() ( #407 )
...
Closes #406
2018-07-12 19:26:21 -07:00
Jenny Messerly
6d3cd8dd06
Fix --watch option with node on Mac OS ( #402 )
...
Closes #399
2018-07-11 13:15:55 -07:00
Natalie Weizenbaum
df7c1030cf
Don't emit ANSI codes to Windows terminals that don't support them ( #403 )
...
These codes *could* be supported on all Windows terminals, but
dart-lang/sdk#28614 means that they won't actually be recognized.
Partially addresses #395
2018-07-10 15:59:16 -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
Natalie Weizenbaum
425305725b
Add a --poll option ( #390 )
...
Partially addresses #264 .
2018-06-28 18:20:28 -07:00
Natalie Weizenbaum
cd0211c2ab
Fix the Chocolatey version of the Dart SDK ( #389 )
...
Dev SDKs changed from 2.0.0.XX-dev to 2.0.0.XX-dev-Y.
2018-06-27 17:42:07 -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
aa9aff8120
Release 1.7.2 ( #386 )
2018-06-27 12:56:23 -07:00
Natalie Weizenbaum
e95d57ce25
Fix @-moz-document parsing and add deprecation warnings ( #379 )
...
Partially addresses #378
Closes #372
2018-06-26 17:11:25 -07:00
Natalie Weizenbaum
3b6730369b
Pin the version of Dart that gets published ( #382 )
...
This version was set separately than the version we test against, for
some reason.
Closes #380
2018-06-25 13:14:36 -07:00
Natalie Weizenbaum
023bf91745
Add deprecation warnings for hex alpha colors ( #367 )
...
Also support unambiguous hex alpha colors.
Closes #360
See sass/sass#2179
2018-06-21 17:47:06 -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
c97e36409d
Support the latest version of cli_repl ( #362 )
2018-06-19 13:44:52 -07:00
Natalie Weizenbaum
c5071ef843
Stop using a deprecated API
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
7e19b9e7d6
Update the pubspec and changelog
...
[skip ci]
2018-06-13 18:28:52 -07:00
Natalie Weizenbaum
0cb2bfa0a5
Debounce filesystem events on Node
2018-06-13 16:41:29 -07:00
Natalie Weizenbaum
1ddc7c0e3e
Copy the implementation of PathMap
...
This allows us to continue supporting Dart 1. The version of path that
added PathMap only supports Dart 2, so we can't depend on it until we
support Dart 2 as well.
2018-06-13 12:14:21 -07:00
Natalie Weizenbaum
6bbb961675
Add a --watch command
...
Partially addresses #264
2018-06-09 14:13:36 -04:00
Natalie Weizenbaum
a2c0f15d67
Make ExecutableOptions.sourcesToDestinations a PathMap
2018-06-09 14:09:20 -04:00
Natalie Weizenbaum
f5e9dcb688
Expand dependencies on archive and analyzer ( #351 )
2018-06-08 21:14:00 -04:00
Natalie Weizenbaum
e2266ded68
Produce better errors when expected tokens are missing ( #344 )
2018-06-01 20:56:12 -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
942d1e4099
Error out on ambiguous imports ( #339 )
...
Closes #335
2018-05-30 21:03:23 -04:00
Natalie Weizenbaum
c854e341fe
Make the current pubspec a dev version
...
[skip ci]
2018-05-30 19:27:53 -04:00
Natalie Weizenbaum
920a79b408
Pubspec and changelog
...
[skip ci]
2018-05-30 19:15:06 -04:00
Natalie Weizenbaum
1d7b0aa5ad
Merge branch 'master' into jathak-interactive
2018-05-30 18:41:15 -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