Commit Graph

58 Commits

Author SHA1 Message Date
Ed Rivas
cca9464b09
Add support for running in the browser (#1895)
Closes #25

Co-authored-by: Jonny Gerig Meyer <jonny@oddbird.net>
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-05-19 13:22:44 -07:00
なつき
4692841355
Fix printing usage when no args provided (#1963)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2023-05-16 13:48:17 -07:00
Natalie Weizenbaum
6d6d5ee5a4 Merge branch 'embedded-move' into embedded 2023-05-15 14:34:52 -07:00
Jennifer Thakar
8f8138dfab
Add --fatal-deprecations and --future-deprecations (#1820)
* Add fatal/futureDeprecations to Dart API

This adds a new `Deprecation` class that specifies an ID for each
deprecated feature along with what Dart Sass version deprecated it.

The compile functions allow you to pass a set of `fatalDeprecations`
that will cause an error instead of a warning. You can also pass a set
of `futureDeprecations`, which let you opt-in to deprecations (like
`@import`) early.

* Add future deprecation for `@import`

* Add flags

* Merge colorUnits and randomWithUnits

* Update changelogs and pubspecs

* Add tests

* Use isFuture instead of deprecatedIn == null
* Split warnForDeprecation from warn

* Add missing word to error message
2023-03-10 14:24:33 -08:00
Andreas Deininger
5eb66fc219
Fixes typos (#1879) 2023-02-03 14:47:13 -08:00
なつき
bec6b3da67
Do not throw ProtocolErrorType.PARAMS for custom functions and importers (#118) 2022-12-08 12:07:54 -08:00
なつき
1123943268 Add charset option 2022-06-29 22:01:33 -07:00
Natalie Weizenbaum
d17f70fd52
Revert "Abort sass if stdin is closed when watching (#1411)" (#1699)
This reverts commit c7ab426cb0.

See #1665, #1411
2022-05-20 15:04:21 -07:00
なつき
615f6ed70a
Treat null importer as noOp if url is not a file: url (#83) 2022-04-11 17:09:20 -07:00
Michael Crumm
c7ab426cb0
Abort sass if stdin is closed when watching (#1411)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2022-04-06 17:37:40 -07:00
Christophe Coevoet
5509f1c754
Implement support for sourceMapIncludeSources (#62) 2022-01-31 15:15:23 -08:00
Natalie Weizenbaum
21f0219157
Don't return a CompileFailure without a span (#60)
We weren't adding a span for a compile failure due to a path not being
found. There's no real source in this situation, so we just create an
empty span instead.
2021-12-29 17:18:10 -08:00
Natalie Weizenbaum
26127d8a00
Treat invalid function signatures as function errors (#58)
See sass/embedded-protocol#85
2021-12-29 15:00:16 -08:00
Natalie Weizenbaum
1cbb0c5417
Implement FileImporter (#57) 2021-12-15 23:40:10 +00:00
Natalie Weizenbaum
17f1e69a46
Report a better error message for an empty CompileRequest.Input.path (#56) 2021-12-14 23:43:35 +00:00
Natalie Weizenbaum
55cb4fd509
Track stack traces through rethrows (#1545)
This requires a lot of manual machinery when displaying stack traces
to the user, but it should make debugging errors (especially in JS)
much easier.

Works around dart-lang/sdk#10297 using expandos.
2021-11-05 06:05:50 +00:00
なつき
d2063513af
Implement --version flag for cli (#53)
Co-authored-by: Natalie Weizenbaum <nweiz@google.com>
2021-09-02 00:33:09 +00:00
Natalie Weizenbaum
c80320f777
Set CompileSuccess.loaded_urls (#50) 2021-07-23 21:41:39 +00:00
Natalie Weizenbaum
c919db73aa
Support CompileRequest.quiet_deps and .verbose (#48)
Closes #44
2021-06-16 13:36:56 -07:00
Natalie Weizenbaum
f0501ec114 Reformat 2021-06-14 12:50:29 -07:00
Natalie Weizenbaum
49ef4c1121 Use the new enum names in the latest protocol version 2021-05-24 16:56:53 -07:00
Natalie Weizenbaum
93bc86f97a
Support non-nullability (#40) 2021-05-17 20:57:37 -07:00
awjin
af0f25cb0e Fix broken tests 2021-04-14 17:15:09 -07:00
Natalie Weizenbaum
102d3cedc2 Make the IO interface align with the VM API 2021-04-14 17:15:09 -07:00
Natalie Weizenbaum
e85d9a7afc Fix automated migrator errors
This gets the project analyzer-clean, but the tests are still failing.
2021-04-14 17:15:08 -07:00
Natalie Weizenbaum
81d952dc7d Automated null-safety migration 2021-04-14 17:15:08 -07:00
Jennifer Thakar
dfbdae0d71 Prepare for null-safety migration 2021-04-14 17:15:08 -07:00
Natalie Weizenbaum
8fdb281e83 Make the first parameter to ImportCache() named, not mandatory
It was always valid to pass in `null`, this just makes it more clear.
2021-04-14 17:15:08 -07:00
Awjin Ahn
831e5e903e
Formatted alerts (#35) 2021-02-03 18:31:27 -08:00
Natalie Weizenbaum
2f4fb065d4
Handle CompileRequest.StringInput.importer (#22)
Partially addresses sass/embedded_protocol#37
2020-12-23 14:49:33 -08:00
Michael R Fairhurst
82b2779d5c
Remove unused dart:async imports (#1097)
* Remove unused dart:async imports

Since Dart 2.1, Future and Stream have been exported from dart:core

* Run grinder
2020-10-05 09:35:03 -07:00
Natalie Weizenbaum
5450c1c07b
Use cli_pkg to build and release executables (#924) 2020-01-24 13:05:04 -08:00
Awjin Ahn
0cddc095b9
Support latest protocol updates (#11)
* Remove support for InboundMessage.FunctionCallRequest

Context: https://github.com/sass/embedded-protocol/issues/28

* Remove support for CanonicalizeResponse.file

Context: https://github.com/sass/embedded-protocol/issues/25

* Stub CompileRequest.Importer.fileImporterId support
2019-12-23 15:43:16 -08:00
Natalie Weizenbaum
03805ce1ce
Add support for first-class function value types (#10) 2019-11-11 13:36:13 -08:00
Natalie Weizenbaum
6b34ffd7f3
Add the ability to invoke functions (#9)
This doesn't yet support first-class function values.
2019-11-08 15:25:42 -08:00
Natalie Weizenbaum
95bb3aceb6
Add support for importers (#8) 2019-11-07 16:03:47 -08:00
Natalie Weizenbaum
ec05600af2
Emit LogEvents (#6) 2019-11-05 13:51:08 -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
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
713d179c9e Use the new mechanism for distinguishing Node from web compilation 2018-04-03 16:56:59 -07:00
Natalie Weizenbaum
68bd26637a Build an NPM module. 2016-10-14 17:39:28 -07:00
Natalie Weizenbaum
3e10e24341 Even more API docs. 2016-10-09 20:57:28 -07:00
Natalie Weizenbaum
aa614bd0cc Print the version number. 2016-10-07 15:46:58 -07:00
Natalie Weizenbaum
3206281e15 Print usage by default. 2016-10-07 15:30:45 -07:00
Natalie Weizenbaum
d90b8e52ae Support compiling to node.js. 2016-10-07 15:05:56 -07:00
Natalie Weizenbaum
a6d2f3b035 Add a --color flag. 2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
f460ebb2a9 Parse functions -> constructors 2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
5d71ac78b9 Indented syntax parser. 2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
3a2b7ca9df Split the parser up.
There are now separate parsers for selectors and at-root queries, since
those are parsed independently of the main stylesheet. The Parser class
contains utilities that are useful across different parsers.
2016-09-30 12:41:41 -07:00
Natalie Weizenbaum
b2ffc1ba08 Support --trace. 2016-09-30 12:41:41 -07:00