do not apply sass loader on existing loaders (#50308)

follow up for #50259

---------

Co-authored-by: Justin Ridgewell <justin@ridgewell.name>
This commit is contained in:
Tobias Koppers 2023-05-25 13:42:22 +02:00 committed by GitHub
parent 06f505c78b
commit 46369f5746
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -39,14 +39,19 @@ pub async fn maybe_add_sass_loader(
};
if let Some(rule) = rule {
// Without `as`, loader result would be JS code, so we don't want to apply
// sass-loader on that.
let Some(rename_as) = rule.rename_as.as_ref() else {
continue;
};
// Only when the result should run through the sass pipeline, we apply
// sass-loader.
if rename_as != "*" {
continue;
}
let mut loaders = rule.loaders.await?.clone_value();
loaders.push(loader);
rule.loaders = WebpackLoaderItemsVc::cell(loaders);
if let Some(rename_as) = rule.rename_as.as_mut() {
rename_as.push_str(rename);
} else {
rule.rename_as = Some(format!("*{rename}"));
}
} else {
rules.insert(
pattern.to_string(),