diff --git a/crates/swc_html_minifier/src/lib.rs b/crates/swc_html_minifier/src/lib.rs
index 27ca530e8b1d..f64873216cee 100644
--- a/crates/swc_html_minifier/src/lib.rs
+++ b/crates/swc_html_minifier/src/lib.rs
@@ -1775,17 +1775,12 @@ impl VisitMut for Minifier {
}
}
- if &*n.name == "class" {
+ if self.sort_space_separated_attribute_values
+ && self.is_attribute_value_unordered_set(current_element, &n.name)
+ {
let mut values = value.split_whitespace().collect::>();
- if self.sort_space_separated_attribute_values
- && self.is_attribute_value_unordered_set(
- self.current_element.as_ref().unwrap(),
- &n.name,
- )
- {
- values.sort_unstable();
- }
+ values.sort_unstable();
value = values.join(" ");
} else if self.is_event_handler_attribute(&n.name) {
@@ -2070,9 +2065,6 @@ fn create_minifier(context_element: Option<&Element>, options: &MinifyOptions) -
minify_css: options.minify_css,
minify_additional_attributes: options.minify_additional_attributes.clone(),
minify_additional_scripts_content: options.minify_additional_scripts_content.clone(),
- preserve_comments: options.preserve_comments.clone(),
- minify_conditional_comments: options.minify_conditional_comments,
- sort_unordered_attribute_values: options.sort_unordered_attribute_values,
sort_space_separated_attribute_values: options.sort_space_separated_attribute_values,
}
diff --git a/crates/swc_html_minifier/src/option.rs b/crates/swc_html_minifier/src/option.rs
index 5198b46c18a2..2994a9c34f79 100644
--- a/crates/swc_html_minifier/src/option.rs
+++ b/crates/swc_html_minifier/src/option.rs
@@ -49,14 +49,6 @@ pub struct MinifyOptions {
pub minify_json: bool,
#[serde(default = "true_by_default")]
pub minify_css: bool,
- /// Allow to compress value of custom attributes,
- /// i.e. ``
- ///
- /// The first item is tag_name
- /// The second is attribute name
- /// The third is type of minifier
- #[serde(default)]
- pub minify_additional_attributes: Option>,
// Allow to compress value of custom script elements,
// i.e. ``
//
@@ -65,6 +57,12 @@ pub struct MinifyOptions {
// The third is type of minifier
#[serde(default)]
pub minify_additional_scripts_content: Option>,
+ /// Allow to compress value of custom attributes,
+ /// i.e. ``
+ ///
+ /// The first item is tag_name
+ /// The second is attribute name
+ /// The third is type of minifier
pub minify_additional_attributes: Option>,
/// Sorting the values of `class`, `rel`, etc. of attributes
#[serde(default = "true_by_default")]
diff --git a/crates/swc_html_minifier/tests/fixture/attribute/disabled-normalize_attributes/output.min.html b/crates/swc_html_minifier/tests/fixture/attribute/disabled-normalize_attributes/output.min.html
index 53871d1dbf80..b4c123c2b3cb 100644
--- a/crates/swc_html_minifier/tests/fixture/attribute/disabled-normalize_attributes/output.min.html
+++ b/crates/swc_html_minifier/tests/fixture/attribute/disabled-normalize_attributes/output.min.html
@@ -1,2 +1,2 @@
-Document
+Document
\ No newline at end of file