From 021a568f2004c45fa40d91b8e625117aaf1b2acd Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Tue, 28 Jun 2022 19:40:28 +0300 Subject: [PATCH] refactor: rebase --- crates/swc_html_minifier/src/lib.rs | 16 ++++------------ crates/swc_html_minifier/src/option.rs | 14 ++++++-------- .../output.min.html | 2 +- 3 files changed, 11 insertions(+), 21 deletions(-) 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