Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
node-sass
package has been deprecated and superseded by thesass
package.The
node-sass
package used a C library vianode-gyp
, which itselfrequires Python to wrangle the compilation. The version of
node-sass
we were using was old and thus relied on an old version of
node-gyp
,which only supported <= Python 3.8.
This caused problems with Homebrew builds with embedded assets, as
Python 3.9 is used there, so
node-gyp
would error out.While it's theoretically possible to upgrade
node-sass
to a newerversion to transitively get a newer
node-gyp
that will not bail onPython 3.9, that did NOT work out of the box, and the recommended
solution for the problem was...switch to
sass
, which does not haveany native code requirements and is actively supported.
As part of this, the
sass
compiler emitted warnings on deprecateddivision outside of
calc()
, so those have all been updated to avoidproducing a bunch of noise in the build log.
I did a visual pass after this change and didn't see any differences
in styling in Chrome on macOS.
tl;dr: This will dramatically simplify producing Homebrew builds with
embedded assets by sidestepping the need for a Python/
node-gyp
build chain just for bundling the UI assets.