sveetch/boussole

sass-embedded

Closed this issue · 1 comments

Is your feature request related to a problem? Please describe.
Boussole stands on libsass (through libsass-python) that has been deprecated since years now in profit of dart-sass.

Sadly now Boussole is becoming to be obsolete, since more and more CSS framework tends to stand on dart-sass.

However, dart-sass pure js implementation is known to be dramatically slower than libsass or even node-sass.

Then the Sass team has developped sass-embedded which is something alike libsass in the terms that it allows other language to embed dart-sass in a package without relying directly on dart or node.

Describe the solution you'd like
Boussole could add a new compiler backend to use the sass-embedded with sass-embedded host in Python.

In resume, sass-embedded is somewhat an API (that is wrapper around dart-sass) that can be used through a host.

It seems sass-embedded system is almost efficient, still it would need some test on massive Sass project (with multiple main scss files to compile using some libraries) to check performance. If it leads to something around dart-sass pure js speed, this would be a no way. But if it leads to something like node-sass speed, it would be clearly something to adopt.

Then Libsass backend could live sometime as an alternative, depending its maintenance and elapsed time.

Problems

There is no sass-embedded Python host yet and i don't understand everything yet in embedded protocol to see where to start. Also i only know about two host implementation, the Node one and a Ruby one. It needs some R&D time.

Describe alternatives you've considered
If Boussole stills tied to libsass, it will just stop to be maintained in some years or before, since most frameworks won't compile with it.

I've started a laboratory attempt for R&D about implementing this: https://github.com/sveetch/flechette-insolente