[horizon] SCSS compilers
The openstack dashboard uses scss for styling, and so far we have used a python scss library for compiling those files to css for use in the browser. However, that library (pyscss) had in recent years some problems, and is not developed or supported by the authors anymore. So it's time to switch to something with a better support. The django-compressor plugin that we use for handling the compilation of files allows us to use any command-line tool to do the compilation, so we can switch to an scss compiler that is supported and used by the wider community. However, there are several options we can choose from: sassc python-libsass pysassc ruby-sass ruby-sassc node-node-sass Each of those would introduce a non-python dependency on the dashboard. The question for the packagers and distro maintainer is which of those tools would be preferable in terms of support, packaging, and maintenance for the long term? Do you have opinions? Maybe there is another tool that would be even better that I didn't find?
On Tue, Sep 3, 2024 at 2:58 PM Radomir Dopieralski <openstack@dopieralski.pl> wrote:
The question for the packagers and distro maintainer is which of those tools would be preferable in terms of support, packaging, and maintenance for the long term? Do you have opinions? Maybe there is another tool that would be even better that I didn't find?
From reading https://sass-lang.com/documentation/#older-versions it seems like Dart Sass is the primary implementation right now. Should we introduce a dependency on Dart?
On 9/3/24 15:02, Radomir Dopieralski wrote:
On Tue, Sep 3, 2024 at 2:58 PM Radomir Dopieralski <openstack@dopieralski.pl <mailto:openstack@dopieralski.pl>> wrote:
The question for the packagers and distro maintainer is which of those tools would be preferable in terms of support, packaging, and maintenance for the long term? Do you have opinions? Maybe there is another tool that would be even better that I didn't find?
From reading https://sass-lang.com/documentation/#older-versions <https://sass-lang.com/documentation/#older-versions> it seems like Dart Sass is the primary implementation right now. Should we introduce a dependency on Dart?
Anything that's already in the distro would be fine: - node-node-sass - python3-libsass - pysassc - ruby-sass However, python3-libsass only has libsass1 as depends, which is probably preferable. libsass1 fits in 640K ! :) Cheers, Thomas Goirand (zigo)
I'm digging up this old thread, because we went ahead and implemented the switch to python3-libsass in Horizon (we opted to use an additional python3-django-libsass library that makes it easier to integrate with django). The patch is here https://review.opendev.org/c/openstack/horizon/+/934143 but it can't be merged until the patch adding those two libraries to global requirements is merged: https://review.opendev.org/c/openstack/requirements/+/934220 On Tue, Sep 3, 2024 at 4:41 PM Thomas Goirand <thomas@goirand.fr> wrote:
On 9/3/24 15:02, Radomir Dopieralski wrote:
On Tue, Sep 3, 2024 at 2:58 PM Radomir Dopieralski <openstack@dopieralski.pl <mailto:openstack@dopieralski.pl>> wrote:
The question for the packagers and distro maintainer is which of those tools would be preferable in terms of support, packaging, and maintenance for the long term? Do you have opinions? Maybe there is another tool that would be even better that I didn't find?
From reading https://sass-lang.com/documentation/#older-versions <https://sass-lang.com/documentation/#older-versions> it seems like Dart Sass is the primary implementation right now. Should we introduce a dependency on Dart?
Anything that's already in the distro would be fine: - node-node-sass - python3-libsass - pysassc - ruby-sass
However, python3-libsass only has libsass1 as depends, which is probably preferable. libsass1 fits in 640K ! :)
Cheers,
Thomas Goirand (zigo)
participants (2)
-
Radomir Dopieralski
-
Thomas Goirand