Commit Graph

888 Commits

Author SHA1 Message Date
Natalie Weizenbaum
92a2c67410 Merge branch 'master' into feature.use 2019-05-06 16:40:24 -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
57260a9fc1
Update color algorithm URLs (#664) 2019-05-02 16:16:33 -07:00
Natalie Weizenbaum
892f301d5a
Remove a debugging print (#655)
This never actually triggered because we always overrode the listener
before the directory was modified.
2019-05-02 13:07:57 -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
59800ad1f9
Don't recursively list directories in realCasePath() (#641)
We only need to list the path's immediate parent directory in order to
find its real case.

Closes #636
2019-04-04 12:18:02 -07:00
Natalie Weizenbaum
495c6f3163
Only claim "package:" URLs are unsupported on Node (#637)
Closes #630
2019-04-04 12:17:36 -07:00
Jennifer Thakar
c2c9cedb81 Extend RecursiveStatementVisitor for expressions (#639)
This adds `RecursiveAstVisitor`, which extends
`RecursiveStatementVisitor` to traverse expressions as well.
2019-04-03 14:37:27 -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
eddf36a07e Don't copy the selector in ModifiableStyleRule.copyWithoutChildren() 2019-04-03 01:03:40 -07:00
Natalie Weizenbaum
2d1047bb36 Only clone CSS if it actually uses @extends 2019-03-30 17:47:24 -07:00
Natalie Weizenbaum
d6f319f5b4 Clone CSS after importing it 2019-03-30 17:37:30 -07:00
Natalie Weizenbaum
11c95900c8 Add a Module.cloneCss() function
This will allow us to run extends on the same module multiple times
when it's @imported or loaded via load-file().
2019-03-30 17:05:57 -07:00
Natalie Weizenbaum
eae2077d6b More thoroughly document why we duplicate visitor logic 2019-03-29 16:26:36 -07:00
Natalie Weizenbaum
5603af3d19 Include CSS for modules used by imported files 2019-03-27 14:49:52 -07:00
Natalie Weizenbaum
9f9011d9cc Load @imported CSS into an entirely new stylesheet
This will allow us to inject CSS from modules @used by an imported
stylesheet between the importer's existing CSS and the importee's new
CSS.
2019-03-27 14:49:13 -07:00
Natalie Weizenbaum
511e525619 Add a ModifiableCssVisitor
This lets us traverse a modifiable CSS tree while preserving the fact
that it's modifiable.
2019-03-22 14:09:38 -07:00
Natalie Weizenbaum
14787d86e0 Add "Css" to the visit methods for CssVisitor
This allows the same class to implement StatementVisitor and
CssVisitor.
2019-03-22 13:58:51 -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
cf6801ab5b Fix a typo 2019-03-13 13:30:45 -07:00
Natalie Weizenbaum
f2a34408ec Verify mandatory extensions 2019-03-12 16:53:14 -07:00
Natalie Weizenbaum
0194728f29 Mostly add support for module-scoped @extend
Verifying that a mandatory extension actually matched a real style
rule doesn't work at all.
2019-03-12 16:53:14 -07:00
Natalie Weizenbaum
c80ae01ce0 Make CssStyleRule.originalSelector modifiable-only 2019-03-12 16:53:14 -07:00
Natalie Weizenbaum
132be045f0 Merge branch 'feature.use' into merge-master 2019-03-11 18:36:27 -07:00
Natalie Weizenbaum
c98cfd53b0
Emit CSS for used modules (#620) 2019-03-11 16:49:58 -07:00
Natalie Weizenbaum
e4245a7643 Merge branch 'master' into feature.use 2019-03-10 23:31:06 -07:00
Natalie Weizenbaum
a0e63ac704 Merge branch 'feature.use' into merge-use 2019-03-07 18:17:42 -08:00
Natalie Weizenbaum
b66e1bad28
Fix some documentation issues in AsyncEnvironment (#618)
See #610
2019-03-07 18:14:44 -08:00
Natalie Weizenbaum
62bce0c5b9
Properly stringify slash-separated numbers in operations (#612)
Closes #607
2019-03-07 18:14:12 -08: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
284f4ef7dd
Make .scss and .sass take precedence over .css in @use (#609)
See sass/language#68
2019-03-04 18:47:57 -08:00
Natalie Weizenbaum
b59b86304d Ensure that global variables are always module members
See sass/language#50
2019-02-22 18:03:24 -08:00
Natalie Weizenbaum
8ab9ce1141
Deprecate assignment to non-existent global variables (#601)
See #600
See sass/sass#2606
2019-02-21 15:16:52 -08:00
Natalie Weizenbaum
6d6974c50e Add the ability to refer to members from other modules 2019-02-21 00:30:04 -08:00
Natalie Weizenbaum
7a7aea95b3 Add a module class and a way to create it from an Environment 2019-02-21 00:30:04 -08:00
Natalie Weizenbaum
5d4db9eb17 Merge branch 'master' into 'feature.use' 2019-02-21 00:29:59 -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
Jennifer Thakar
b22ae51955 Fix bug in RecursiveStatementVisitor (#596)
The value of an `AtRule` can be null, so it should not be visited in that case.

Ran across this issue when I attempted to run the module migrator on a stylesheet containing `@font-face` (which has children, but no value).
2019-02-15 13:53:17 -08:00
Natalie Weizenbaum
776e2bfcc2 Disable @use parsing 2019-02-13 00:36:36 -08:00
Natalie Weizenbaum
4b10c22bd4 Add more explanatory error messages 2019-02-13 00:02:42 -08:00
Natalie Weizenbaum
6354cdd02a Don't parse private module member references 2019-02-11 17:17:31 -08:00
Natalie Weizenbaum
d757d99569 Add support for parsing @use 2019-02-11 17:17:31 -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
a81017275a
Produce a better error message for unclosed style rules (#586)
Closes #577
2019-02-01 17:21:15 -08:00
Natalie Weizenbaum
b102dc496a
Allow individual directories to be passed on the command-line (#581)
Closes #543
2019-02-01 14:59:58 -08:00