connorskees / grass

A Sass compiler written purely in Rust
https://docs.rs/grass/
MIT License
499 stars 38 forks source link

Question: Breakdown of unimplemented features? #18

Closed philip-peterson closed 4 years ago

philip-peterson commented 4 years ago

Hi there,

I saw there are a number of outstanding tests that aren't passing. As someone outside to the project, I would love to adopt the library and contribute, but I am wondering what the failing areas are, and what kind of work would be entailed to tackle the remaining parts of the test suite. Maybe the project can have some issues open for major areas of work to be done?

Thanks, Phil

connorskees commented 4 years ago

Hello! Thank you for your interest in this project.

That is a good idea! I think it might be best to instead create an "outstanding issues" megathread that lists all of the known compilation issues. Creating individual issues for all of them would be a lot!

To add context to the failing tests, roughly 1,600 of them come from @use, @forward, and the module system, which is currently only implemented in dart-sass. 80 come from incorrect error messages and a further 80 can be ignored as they result from a deficiency in the spec tests themselves.

That of course still leaves around 500-600 failing tests, but it is a lot less bleak!

philip-peterson commented 4 years ago

Great, looking forward to seeing the breakdown! Will look into the module system to see how complex it looks.

connorskees commented 4 years ago

@philip-peterson I've copied my personal list to https://github.com/connorskees/grass/issues/19.

pickfire commented 4 years ago

I think this could be closed.

connorskees commented 4 years ago

Unfortunately my computer restarted while I was writing a response here.

To briefly summarize what I had previously written

grass now works for the following frameworks (and presumably others),

uikit           --  https://github.com/uikit/uikit
bootstrap       --  https://github.com/twbs/bootstrap
bulma-scss      --  https://github.com/j1mc/bulma-scss
susy            --  https://github.com/oddbird/susy (tests)
bourbon         --  https://github.com/thoughtbot/bourbon
zurb foundation --  https://github.com/foundation/foundation-sites
sassline        --  https://github.com/jakegiltsoff/sassline
modularscale    --  https://github.com/modularscale/modularscale-sass
materialize     --  https://github.com/dogfalo/materialize

If you never use anything more complicated than what's inside these frameworks, there's a very good chance your Sass will compile!

A production-ready version of this library would compile all of these frameworks byte-for-byte to dart-sass.

Given this progress and the itemization in #19 of many of the known, smaller issues remaining, I am inclined to close this issue. Please feel free to reopen this one or create a new issue if you have any other questions.