From c22f1ccddcf4b2ff0abcaaa73730408d6335402b Mon Sep 17 00:00:00 2001 From: "alexander.akait" Date: Sun, 26 Jun 2022 22:19:24 +0300 Subject: [PATCH] refactor: code --- crates/swc_html_minifier/src/lib.rs | 15 +++++---------- crates/swc_html_minifier/src/option.rs | 6 +----- .../attribute/disabled-sort-classes/config.json | 2 +- .../disabled-sort-classes/output.min.html | 4 +--- .../fixture/attribute/headers/output.min.html | 4 +--- .../tests/fixture/attribute/link/output.min.html | 7 +------ .../tests/fixture/attribute/rel/output.min.html | 9 ++------- .../tests/fixture/element/iframe/output.min.html | 5 +---- .../tests/fixture/element/output/output.min.html | 6 ++---- .../tests/fixture/element/script/output.min.html | 5 +---- .../tests/fixture/element/style/output.min.html | 4 +--- 11 files changed, 17 insertions(+), 50 deletions(-) diff --git a/crates/swc_html_minifier/src/lib.rs b/crates/swc_html_minifier/src/lib.rs index 23e25e3441b8..b12dd772a511 100644 --- a/crates/swc_html_minifier/src/lib.rs +++ b/crates/swc_html_minifier/src/lib.rs @@ -323,6 +323,8 @@ struct Minifier { minify_json: bool, minify_js: bool, minify_css: bool, + + sort_space_separated_attribute_values: bool, } fn get_white_space(namespace: Namespace, tag_name: &str) -> WhiteSpace { @@ -333,9 +335,6 @@ fn get_white_space(namespace: Namespace, tag_name: &str) -> WhiteSpace { }, _ => WhiteSpace::Normal, } - preserve_comments: Option>, - minify_conditional_comments: bool, - sort_unordered_attribute_values: bool, } impl Minifier { @@ -1373,9 +1372,7 @@ impl Minifier { minify_js: self.minify_js, minify_json: self.minify_json, minify_css: self.minify_css, - preserve_comments: self.preserve_comments.clone(), - minify_conditional_comments: self.minify_conditional_comments, - sort_unordered_attribute_values: self.sort_unordered_attribute_values, + sort_space_separated_attribute_values: self.sort_space_separated_attribute_values, }, ); @@ -1544,7 +1541,7 @@ impl VisitMut for Minifier { { let mut values = value.split_whitespace().collect::>(); - if self.sort_unordered_attribute_values + if self.sort_space_separated_attribute_values && self.is_attribute_value_unordered_set( self.current_element.as_ref().unwrap(), &n.name, @@ -1843,9 +1840,7 @@ fn create_minifier(context_element: Option<&Element>, options: &MinifyOptions) - minify_json: options.minify_json, minify_css: options.minify_css, - 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 ec618c456d1c..0e7e1377e1ff 100644 --- a/crates/swc_html_minifier/src/option.rs +++ b/crates/swc_html_minifier/src/option.rs @@ -33,13 +33,9 @@ pub struct MinifyOptions { pub minify_json: bool, #[serde(default = "true_by_default")] pub minify_css: bool, - #[serde(default = "default_preserve_comments")] - pub preserve_comments: Option>, - #[serde(default = "true_by_default")] - pub minify_conditional_comments: bool, /// Sorting the values of `class`, `rel`, etc. of attributes #[serde(default = "true_by_default")] - pub sort_unordered_attribute_values: bool, + pub sort_space_separated_attribute_values: bool, } /// Implement default using serde. diff --git a/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/config.json b/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/config.json index 8f8a29ddb211..c5f920933712 100644 --- a/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/config.json +++ b/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/config.json @@ -1,3 +1,3 @@ { - "sortUnorderedAttributeValues": false + "sortSpaceSeparatedAttributeValues": false } \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/output.min.html b/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/output.min.html index a5ece15e1cb2..f2d19c943072 100644 --- a/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/attribute/disabled-sort-classes/output.min.html @@ -1,3 +1 @@ -Document -
- +Document
\ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/attribute/headers/output.min.html b/crates/swc_html_minifier/tests/fixture/attribute/headers/output.min.html index 27bb6f2f7946..34562677a317 100644 --- a/crates/swc_html_minifier/tests/fixture/attribute/headers/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/attribute/headers/output.min.html @@ -11,12 +11,10 @@ +45342323 Rosevn 56,4300 Sandnes,Norway - John Doe someone@example.com +45342323 Rosevn 56,4300 Sandnes,Norway - - + \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/attribute/link/output.min.html b/crates/swc_html_minifier/tests/fixture/attribute/link/output.min.html index 7f09aa3b3206..b97cb4407a19 100644 --- a/crates/swc_html_minifier/tests/fixture/attribute/link/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/attribute/link/output.min.html @@ -1,6 +1 @@ -Document
test
-Document -Document -Document -
test
- +Document
test
\ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/attribute/rel/output.min.html b/crates/swc_html_minifier/tests/fixture/attribute/rel/output.min.html index ade21ae3b1b4..86da69997e9a 100644 --- a/crates/swc_html_minifier/tests/fixture/attribute/rel/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/attribute/rel/output.min.html @@ -1,12 +1,7 @@ -DocumentLink -Link -Link -Document -Link +DocumentLink Link Link
-
- + \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/element/iframe/output.min.html b/crates/swc_html_minifier/tests/fixture/element/iframe/output.min.html index f5c5b89a0649..a13eb63c8ff9 100644 --- a/crates/swc_html_minifier/tests/fixture/element/iframe/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/element/iframe/output.min.html @@ -1,4 +1 @@ -Document -Document - - +Document \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/element/output/output.min.html b/crates/swc_html_minifier/tests/fixture/element/output/output.min.html index 1b56fdb3aa9b..395164dc12d5 100644 --- a/crates/swc_html_minifier/tests/fixture/element/output/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/element/output/output.min.html @@ -1,7 +1,5 @@ -Document -
+Document + = 60 -
- + \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/element/script/output.min.html b/crates/swc_html_minifier/tests/fixture/element/script/output.min.html index 38894c7d2b2d..e396a1bbb6ac 100644 --- a/crates/swc_html_minifier/tests/fixture/element/script/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/element/script/output.min.html @@ -54,7 +54,4 @@ alert('test') - - - - + \ No newline at end of file diff --git a/crates/swc_html_minifier/tests/fixture/element/style/output.min.html b/crates/swc_html_minifier/tests/fixture/element/style/output.min.html index 96f002382d5d..2fe67eadc5bf 100644 --- a/crates/swc_html_minifier/tests/fixture/element/style/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/element/style/output.min.html @@ -24,6 +24,4 @@ } - - - + \ No newline at end of file