Allow to use Dart Sass instead of Node Sass #517
Merged
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.
This PR closes #422 by allowing
sass
(Dart Sass) as an alternative choice tonode-sass
.The
sass-loader
allows to set the implementation that should be used to process Sass files. It currently accepts eithersass
ornode-sass
(default):In theory this can already be used by setting the related option when calling
Encore.enableSassLoader()
, but Encore then throws an error asking you to installnode-sass
, even if you already havesass
installed.One way to prevent that could be to detect when
options.implementation
is set but in its next version thesass-loader
will automatically detect which implementation is installed and use it accordingly.So, instead of doing that, this PR allows to define alternative packages in our
feature.js
file, for instance:If neither
node-sass
orsass
is available, the error message will display both choices, and recommend the first one in theyarn add
advice:Note that for now using Dart Sass still requires the
implementation
option to be set:This shouldn't be a big issue since the default recommendation is still to use
node-sass
.