Skip to content

Commit

Permalink
fix: use valid default options
Browse files Browse the repository at this point in the history
  • Loading branch information
alexander-akait committed Nov 17, 2022
1 parent 92af5f5 commit ac798b0
Show file tree
Hide file tree
Showing 7 changed files with 37 additions and 31 deletions.
8 changes: 7 additions & 1 deletion crates/swc_html_minifier/src/lib.rs
Expand Up @@ -1937,7 +1937,11 @@ impl Minifier<'_> {
match &self.options.minify_js {
MinifyJsOption::Bool(_) => JsOptions {
parser: JsParserOptions::default(),
minifier: swc_ecma_minifier::option::MinifyOptions::default(),
minifier: swc_ecma_minifier::option::MinifyOptions {
compress: Some(swc_ecma_minifier::option::CompressOptions::default()),
mangle: Some(swc_ecma_minifier::option::MangleOptions::default()),
..Default::default()
},
codegen: swc_ecma_codegen::Config::default(),
},
MinifyJsOption::Options(js_options) => *js_options.clone(),
Expand Down Expand Up @@ -2109,6 +2113,8 @@ impl Minifier<'_> {
es_config.allow_return_outside_function = !is_module && is_attribute;
}

println!("{:?}", options.minifier);

let comments = SingleThreadedComments::default();

let mut program = if is_module {
Expand Down
@@ -1,2 +1,2 @@
<!doctype html><html lang=en><title>Document</title><link rel=stylesheet href=test.css media="screen and (min-width:1024px)"><a rel="bar baz foo"></a>
<div onclick='javascript:alert("test")'></div>
<div onclick='t:alert("test")'></div>
Expand Up @@ -19,4 +19,4 @@

<tabbed-custom-element-exportparts></tabbed-custom-element-exportparts>

<script type=module>globalThis.customElements.define("tabbed-custom-element",class extends HTMLElement{constructor(){super();let template=document.getElementById("tabbed-custom-element").content,shadowRoot=this.attachShadow({mode:"open"});shadowRoot.appendChild(template.cloneNode(!0));let tabs=[];for(let elem of this.shadowRoot.children)elem.getAttribute("part")&&tabs.push(elem);tabs.forEach(tab=>{tab.addEventListener("click",e=>{tabs.forEach(tab=>{tab.part="tab"}),e.target.part="tab active"})})}}),globalThis.customElements.define("tabbed-custom-element-exportparts",class extends HTMLElement{constructor(){super();let template=document.getElementById("tabbed-custom-element-exportparts").content,shadowRoot=this.attachShadow({mode:"open"});shadowRoot.appendChild(template.cloneNode(!0))}})</script>
<script type=module>globalThis.customElements.define("tabbed-custom-element",class extends HTMLElement{constructor(){super();let e=document.getElementById("tabbed-custom-element").content,t=this.attachShadow({mode:"open"});t.appendChild(e.cloneNode(!0));let o=[];for(let n of this.shadowRoot.children)n.getAttribute("part")&&o.push(n);o.forEach(e=>{e.addEventListener("click",e=>{o.forEach(e=>{e.part="tab"}),e.target.part="tab active"})})}}),globalThis.customElements.define("tabbed-custom-element-exportparts",class extends HTMLElement{constructor(){super();let e=document.getElementById("tabbed-custom-element-exportparts").content,t=this.attachShadow({mode:"open"});t.appendChild(e.cloneNode(!0))}})</script>
@@ -1,60 +1,60 @@
<!doctype html><html lang=en><title>Document</title><div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>


<div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>


<div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>


<div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>


<div>breaker</div>
<script>var a="test";console.log(a)</script><script crossorigin=use-credentials>var b="test";console.log(b)</script>
<script>var o="test";console.log(o)</script><script crossorigin=use-credentials>var o="test";console.log(o)</script>


<div>breaker</div>
<script crossorigin=use-credentials>var a="test";console.log(a);var b="test";console.log(b)</script>
<script crossorigin=use-credentials>var o="test";console.log(o);var e="test";console.log(e)</script>


<div>breaker</div>
<script>(function test(){let test="1";console.log(test)})();let test="1";console.log(test)</script>
<script>(function o(){let o="1";console.log(o)})();let o="1";console.log(o)</script>


<div>breaker</div>
<script type=module>var a="test";console.log(a)</script><script>var b="test";console.log(b)</script>
<script type=module>var a="test";console.log(a)</script><script>var o="test";console.log(o)</script>


<div>breaker</div>
<script type=module>var a="test";console.log(a);var b="test";console.log(b)</script>


<div>breaker</div>
<script>var a="test";console.log(a)</script><script type=unknown>var b = "test";console.log(b)</script>
<script>var o="test";console.log(o)</script><script type=unknown>var b = "test";console.log(b)</script>


<div>breaker</div>
<script src=test.js></script><script>var b="test";console.log(b)</script>
<script src=test.js></script><script>var o="test";console.log(o)</script>

<div>breaker</div>


<div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>

<div>breaker</div>
<script>var a="test";console.log(a);var b="test";console.log(b)</script>
<script>var o="test";console.log(o);var e="test";console.log(e)</script>

<div>breaker</div>
<script type=module>var a="test";console.log(a);var a1="test";console.log(a1)</script>

<div>breaker</div>
<script type=module>var a="test";console.log(a)</script><script>var a="test";console.log(a)</script>
<script type=module>var a="test";console.log(a)</script><script>var o="test";console.log(o)</script>

<div>breaker</div>
<script type=module>var a="test";console.log(a);var a1="test";console.log(a1)</script>
Expand All @@ -63,31 +63,31 @@
<script type=module>var a="test";console.log(a);var a1="test";console.log(a1)</script>

<div>breaker</div>
<script>let a="test";console.log(a);let b="test";console.log(b);let a="test";console.log(a);let b="test";console.log(b)</script>
<script>let e="test";console.log(e);let l="test";console.log(l);let e="test";console.log(e);let l="test";console.log(l)</script>

<div>breaker</div>
<script type=module>let a="test";console.log(a);const b="test";console.log("test");let a1="test";console.log(a1);const b1="test";console.log("test")</script>

<div>breaker</div>
<script>let foo=[1,2,3];[()=>{console.log("test")},2,3][0]()</script>
<script>let e=[1,2,3];[()=>{console.log("test")},2,3][0]()</script>

<div>breaker</div>
<script type=module>let a="test";console.log(a),console.log(a),console.log(a);let a1="test";console.log(a1),console.log(a1),console.log(a1)</script>

<div>breaker</div>
<script>let a="test";console.log(a);console.log(a);console.log(a);let a="test";console.log(a);console.log(a);console.log(a)</script>
<script>let o="test";console.log(o);console.log(o);console.log(o);let o="test";console.log(o);console.log(o);console.log(o)</script>

<div>breaker</div>
<script>var a="test";console.log(a);console.log(a);console.log(a);var a="test";console.log(a);console.log(a);console.log(a)</script>
<script>var o="test";console.log(o);console.log(o);console.log(o);var o="test";console.log(o);console.log(o);console.log(o)</script>

<div>breaker</div>
<script>var a="test";console.log(a);console.log(a);console.log(a);var a="test";console.log(a);console.log(a);console.log(a);var a="test";console.log(a);console.log(a);console.log(a)</script>
<script>var o="test";console.log(o);console.log(o);console.log(o);var o="test";console.log(o);console.log(o);console.log(o);var o="test";console.log(o);console.log(o);console.log(o)</script>

<div>breaker</div>
<script type=module>var a="test";console.log(a),console.log(a),console.log(a);var a1="test";console.log(a1),console.log(a1),console.log(a1);var a2="test";console.log(a2),console.log(a2),console.log(a2)</script>

<div>breaker</div>
<script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script><script>var a="test";console.log(a);console.log(a);console.log(a)</script><script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script>
<script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script><script>var o="test";console.log(o);console.log(o);console.log(o)</script><script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script>

<div>breaker</div>
<script>var a="test";console.log(a);console.log(a);console.log(a)</script><script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script><script>var a="test";console.log(a);console.log(a);console.log(a)</script>
<script>var o="test";console.log(o);console.log(o);console.log(o)</script><script type=module>var a="test";console.log(a),console.log(a),console.log(a)</script><script>var o="test";console.log(o);console.log(o);console.log(o)</script>
Expand Up @@ -19,15 +19,15 @@

</script><script id=data type=application/json>{"foo":"bar"}</script><script>
broken broken
</script><script>var a=3,a=9</script><script type=module>import foo from"foo.js";let test=58800,test1="testtest"</script><script>let d=new Date;alert("Today's date is "+d)</script><script src=javascript.js>
</script><script>var a=3,a=9</script><script type=module>import t from"foo.js";let test=58800,test1="testtest"</script><script>let e=new Date;alert("Today's date is "+e)</script><script src=javascript.js>



</script><script src=javascript.js>

var q = "WRONG" ;

</script><script>let foo="testtest";alert("<!--");alert("<!-- foo -->");alert("-->");alert("testtest");function test(){var foo=1,bar=2;alert(foo+" "+bar)}</script><h2>Party coffee cake recipe</h2>
</script><script>let t="testtest";alert("<!--");alert("<!-- foo -->");alert("-->");alert("testtest");function e(){var t=1,e=2;alert(t+" "+e)}</script><h2>Party coffee cake recipe</h2>
<p>
<i>by Mary Stone, 2018-03-10</i>
</p>
Expand All @@ -42,7 +42,7 @@
<script>alert(1)</script>
</svg>
<svg viewBox="0 0 10 10">
<script>window.addEventListener("DOMContentLoaded",()=>{function getColor(){let R=Math.round(255*Math.random()).toString(16).padStart(2,"0"),G=Math.round(255*Math.random()).toString(16).padStart(2,"0"),B=Math.round(255*Math.random()).toString(16).padStart(2,"0");return`#${R}${G}${B}`}document.querySelector("circle").addEventListener("click",e=>{e.target.style.fill=getColor()})})</script>
<script>window.addEventListener("DOMContentLoaded",()=>{function t(){let t=Math.round(255*Math.random()).toString(16).padStart(2,"0"),n=Math.round(255*Math.random()).toString(16).padStart(2,"0"),r=Math.round(255*Math.random()).toString(16).padStart(2,"0");return`#${t}${n}${r}`}document.querySelector("circle").addEventListener("click",n=>{n.target.style.fill=t()})})</script>

<circle cx=5 cy=5 r=4 />
</svg>
Expand All @@ -54,10 +54,10 @@
alert('test')
</script>
</math>
<script blocking="a render">console.log("block")</script><script>(function(test){var test="test"+Math.random()+test,foo=1,bar=2+Math.random();alert(foo+" "+bar);console.log(Math.random())})("test");window.jQuery||document.write('<script src="jquery.js"><\/script>')</script>
<script blocking="a render">console.log("block")</script><script>(function(t){var t="test"+Math.random()+t,r=1,o=2+Math.random();alert(r+" "+o);console.log(Math.random())})("test");window.jQuery||document.write('<script src="jquery.js"><\/script>')</script>
<div>test</div>

<div>topLevel - script</div>
<script>var topLevel=function test(){let foo="bar";if(foo){foo+="baz"}console.log(foo)}</script>
<script>var o=function o(){let o="bar";if(o){o+="baz"}console.log(o)}</script>
<div>topLevel - module</div>
<script type=module>var topLevel=function(){let foo="bar";foo&&(foo+="baz"),console.log(foo)}</script>
<script type=module>var topLevel=function(){let o="bar";o&&(o+="baz"),console.log(o)}</script>
@@ -1 +1 @@
<!doctype html><meta charset=utf-8><title>element-details - web component using &lt;template> and &lt;slot></title><style>dl{margin-left:6px}dt{font-weight:700;color:#217ac0;font-size:110%;font-family:Consolas,"Liberation Mono",Courier}dd{margin-left:16px}</style><h1>element-details - web component using <code>&lt;template></code> and <code>&lt;slot></code></h1><template id=element-details-template-1> VALUE: !<slot>?</slot>! </template> <element-details> <span>test</span> <span>foo</span> </element-details> <script>customElements.define("element-details",class extends HTMLElement{constructor(){super();let template=document.getElementById("element-details-template-1").content;this.attachShadow({mode:"open"}).appendChild(template.cloneNode(true))}})</script>
<!doctype html><meta charset=utf-8><title>element-details - web component using &lt;template> and &lt;slot></title><style>dl{margin-left:6px}dt{font-weight:700;color:#217ac0;font-size:110%;font-family:Consolas,"Liberation Mono",Courier}dd{margin-left:16px}</style><h1>element-details - web component using <code>&lt;template></code> and <code>&lt;slot></code></h1><template id=element-details-template-1> VALUE: !<slot>?</slot>! </template> <element-details> <span>test</span> <span>foo</span> </element-details> <script>customElements.define("element-details",class extends HTMLElement{constructor(){super();let e=document.getElementById("element-details-template-1").content;this.attachShadow({mode:"open"}).appendChild(e.cloneNode(true))}})</script>
@@ -1 +1 @@
<!doctype html><meta charset=utf-8><title>element-details - web component using &lt;template> and &lt;slot></title><style>dl{margin-left:6px}dt{font-weight:700;color:#217ac0;font-size:110%;font-family:Consolas,"Liberation Mono",Courier}dd{margin-left:16px}</style><h1>element-details - web component using <code>&lt;template></code> and <code>&lt;slot></code></h1><template id=element-details-template-1> VALUE: <slot name=q>?</slot> </template><template id=element-details-template-2> VALUE:<slot name=q>?</slot> </template><template id=element-details-template-3><div>VALUE:</div><slot name=q>?</slot> </template> <element-details> <span slot=q>1</span> </element-details> <element-details> <span slot=q>2</span> </element-details> <element-details-more> <span slot=q>3</span> </element-details-more> <element-details-more> <span slot=q>4</span> </element-details-more> <script>customElements.define("element-details",class extends HTMLElement{constructor(){super();let template=document.getElementById("element-details-template-1").content;this.attachShadow({mode:"open"}).appendChild(template.cloneNode(true))}});customElements.define("element-details-more",class extends HTMLElement{constructor(){super();let template=document.getElementById("element-details-template-2").content;this.attachShadow({mode:"open"}).appendChild(template.cloneNode(true))}})</script>
<!doctype html><meta charset=utf-8><title>element-details - web component using &lt;template> and &lt;slot></title><style>dl{margin-left:6px}dt{font-weight:700;color:#217ac0;font-size:110%;font-family:Consolas,"Liberation Mono",Courier}dd{margin-left:16px}</style><h1>element-details - web component using <code>&lt;template></code> and <code>&lt;slot></code></h1><template id=element-details-template-1> VALUE: <slot name=q>?</slot> </template><template id=element-details-template-2> VALUE:<slot name=q>?</slot> </template><template id=element-details-template-3><div>VALUE:</div><slot name=q>?</slot> </template> <element-details> <span slot=q>1</span> </element-details> <element-details> <span slot=q>2</span> </element-details> <element-details-more> <span slot=q>3</span> </element-details-more> <element-details-more> <span slot=q>4</span> </element-details-more> <script>customElements.define("element-details",class extends HTMLElement{constructor(){super();let e=document.getElementById("element-details-template-1").content;this.attachShadow({mode:"open"}).appendChild(e.cloneNode(true))}});customElements.define("element-details-more",class extends HTMLElement{constructor(){super();let e=document.getElementById("element-details-template-2").content;this.attachShadow({mode:"open"}).appendChild(e.cloneNode(true))}})</script>

0 comments on commit ac798b0

Please sign in to comment.