diff options
author | Alex Lam S.L <alexlamsl@gmail.com> | 2021-05-26 15:25:07 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-26 22:25:07 +0800 |
commit | 362abe0ffb54c20bfc5a2d2d60c3ca2fe5ecd76e (patch) | |
tree | 8236e7ded88cdaba4d07d8e2e6cd111dbc2007e1 | |
parent | e3798d9a76704498819cc380166d62f2c8a9ff36 (diff) | |
download | tracifyjs-362abe0ffb54c20bfc5a2d2d60c3ca2fe5ecd76e.tar.gz tracifyjs-362abe0ffb54c20bfc5a2d2d60c3ca2fe5ecd76e.zip |
enhance `unused` (#4968)
-rw-r--r-- | lib/compress.js | 19 | ||||
-rw-r--r-- | test/compress/default-values.js | 7 |
2 files changed, 4 insertions, 22 deletions
diff --git a/lib/compress.js b/lib/compress.js index 4340c8cc..b89f4624 100644 --- a/lib/compress.js +++ b/lib/compress.js @@ -6890,25 +6890,10 @@ merge(Compressor.prototype, { node.value = node.value.transform(tt); var name = node.name.transform(trimmer); if (!name) { + if (node.name instanceof AST_Destructured) return null; var value = node.value.drop_side_effect_free(compressor); if (!value) return null; - name = node.name; - if (name instanceof AST_Destructured) { - name = name.clone(); - name[name instanceof AST_DestructuredArray ? "elements" : "properties"] = []; - if (!(value instanceof AST_Array || value.is_string(compressor) - || name instanceof AST_DestructuredObject - && (value instanceof AST_Object - || value.is_boolean(compressor) - || value.is_number(compressor)))) { - value = make_node(AST_Array, value, { - elements: [ value ], - }); - } - node.name = name; - } else { - log(name, "Side effects in default value of unused variable {name}"); - } + log(node.name, "Side effects in default value of unused variable {name}"); node.value = value; } return node; diff --git a/test/compress/default-values.js b/test/compress/default-values.js index 56fa5c95..c65ccd35 100644 --- a/test/compress/default-values.js +++ b/test/compress/default-values.js @@ -598,6 +598,7 @@ unused_var_1: { unused_var_2: { options = { + pure_getters: "strict", toplevel: true, unused: true, } @@ -609,11 +610,7 @@ unused_var_2: { }; } expect: { - var { - p: [] = [ console.log("FAIL") ], - } = { - p: [ console.log("PASS") ], - }; + console.log("PASS"); } expect_stdout: "PASS" node_version: ">=6" |