diff --git a/crates/swc_ecma_minifier/src/compress/optimize/mod.rs b/crates/swc_ecma_minifier/src/compress/optimize/mod.rs index e01277311384..820888ed1a3b 100644 --- a/crates/swc_ecma_minifier/src/compress/optimize/mod.rs +++ b/crates/swc_ecma_minifier/src/compress/optimize/mod.rs @@ -178,8 +178,8 @@ struct Ctx { impl Ctx { pub fn is_top_level_for_block_level_vars(self) -> bool { - if self.top_level { - return true; + if !self.top_level { + return false; } if self.in_fn_like || self.in_block { @@ -1663,6 +1663,7 @@ impl VisitMut for Optimizer<'_> { } } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_class_expr(&mut self, e: &mut ClassExpr) { if !self.options.keep_classnames { if e.ident.is_some() && !contains_eval(&e.class, true) { @@ -2255,6 +2256,7 @@ impl VisitMut for Optimizer<'_> { } } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_module_item(&mut self, s: &mut ModuleItem) { s.visit_mut_children_with(self); @@ -2269,8 +2271,14 @@ impl VisitMut for Optimizer<'_> { } } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_script(&mut self, s: &mut Script) { - s.visit_mut_children_with(self); + let ctx = Ctx { + top_level: true, + skip_standalone: true, + ..self.ctx + }; + s.visit_mut_children_with(&mut *self.with_ctx(ctx)); if self.vars.inline_with_multi_replacer(s) { self.changed = true; @@ -2279,6 +2287,7 @@ impl VisitMut for Optimizer<'_> { drop_invalid_stmts(&mut s.body); } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_module_items(&mut self, stmts: &mut Vec) { let ctx = Ctx { top_level: true, @@ -2701,6 +2710,7 @@ impl VisitMut for Optimizer<'_> { debug_assert_valid(s); } + #[cfg_attr(feature = "debug", tracing::instrument(skip_all))] fn visit_mut_stmts(&mut self, stmts: &mut Vec) { // Skip if `use asm` exists. if maybe_par!( diff --git a/crates/swc_ecma_minifier/src/option/mod.rs b/crates/swc_ecma_minifier/src/option/mod.rs index a315df2dfbc4..227a83317fce 100644 --- a/crates/swc_ecma_minifier/src/option/mod.rs +++ b/crates/swc_ecma_minifier/src/option/mod.rs @@ -352,7 +352,7 @@ impl CompressOptions { return true; } - self.top_level.map(|v| v.functions).unwrap_or(false) + self.top_level.map(|v| v.functions).unwrap_or(false) || self.module } } diff --git a/crates/swc_ecma_minifier/tests/compress.rs b/crates/swc_ecma_minifier/tests/compress.rs index ffcf028dea0e..ab9b17e9e785 100644 --- a/crates/swc_ecma_minifier/tests/compress.rs +++ b/crates/swc_ecma_minifier/tests/compress.rs @@ -31,7 +31,7 @@ use swc_ecma_minifier::{ optimize, option::{ terser::TerserCompressorOptions, CompressOptions, ExtraOptions, MangleOptions, - MinifyOptions, + MinifyOptions, TopLevelOptions, }, }; use swc_ecma_parser::{ @@ -150,7 +150,7 @@ fn run( HANDLER.set(handler, || { let disable_hygiene = mangle.is_some() || skip_hygiene; - let (_module, config) = parse_compressor_config(cm.clone(), config); + let (_module, mut config) = parse_compressor_config(cm.clone(), config); let fm = cm.load_file(input).expect("failed to load input.js"); let comments = SingleThreadedComments::default(); @@ -213,6 +213,14 @@ fn run( _ => return None, }; + if config.top_level.is_none() { + if program.is_module() { + config.top_level = Some(TopLevelOptions { functions: true }); + } else { + config.top_level = Some(TopLevelOptions { functions: false }); + } + } + let optimization_start = Instant::now(); let mut output = optimize( program, diff --git a/crates/swc_ecma_minifier/tests/fixture/issues/7402/output.js b/crates/swc_ecma_minifier/tests/fixture/issues/7402/output.js index 2c13a57a81b0..73d457df5536 100644 --- a/crates/swc_ecma_minifier/tests/fixture/issues/7402/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/issues/7402/output.js @@ -11,9 +11,8 @@ export const myFunc = function() { return mutate(temp), out[0] = 1 / temp[0], out[1] = 1 / temp[1], out[2] = 1 / temp[2], out; }; }(); -const out = [ +myFunc([ 1, 2, 3 -]; -myFunc(out); +]); diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/alias-outside.6e8773c7/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/alias-outside.6e8773c7/output.js index 3560605103d7..08f954a631a5 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/alias-outside.6e8773c7/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/alias-outside.6e8773c7/output.js @@ -1,6 +1,4 @@ import { m } from "../index.f66dda46.js"; -const value$1 = "it works", value = "it works"; -function AliasOutside() { +export default function() { return m`

Inside: ${"it works"}

Outside: ${"it works"}

`; } -export default AliasOutside; diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/class-fields.43d5f69c/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/class-fields.43d5f69c/output.js index 0ab8f297fb14..a17497694923 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/class-fields.43d5f69c/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/class-fields.43d5f69c/output.js @@ -1,5 +1,5 @@ import { _, m } from "../index.f66dda46.js"; -class ClassFields extends _ { +export default class extends _ { state = { value: 1 }; @@ -12,4 +12,3 @@ class ClassFields extends _ { return m`

State: ${this.state.value}

`; } } -export default ClassFields; diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/hoofd.module.6c5395cb/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/hoofd.module.6c5395cb/output.js index a361984afa72..86e7ead89788 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/hoofd.module.6c5395cb/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/hoofd.module.6c5395cb/output.js @@ -1,5 +1,5 @@ import { D, F, y, b as s } from "../index.f66dda46.js"; -var isServerSide = "undefined" == typeof document, META = "M", TITLE = "T", LINK = "L", TEMPLATE = "P", SCRIPT = "S", applyTitleTemplate = function(title, template) { +var lang, linkQueue, scriptQueue, titleQueue, titleTemplateQueue, metaQueue, currentTitleIndex, currentTitleTemplateIndex, currentMetaIndex, timeout, processQueue, isServerSide = "undefined" == typeof document, applyTitleTemplate = function(title, template) { return template ? template.replace(/%s/g, title || "") : title; }, changeOrCreateMetaTag = function(meta) { var result = document.head.querySelectorAll(meta.charset ? "meta[" + meta.keyword + "]" : "meta[" + meta.keyword + '="' + meta[meta.keyword] + '"]'); @@ -8,70 +8,67 @@ var isServerSide = "undefined" == typeof document, META = "M", TITLE = "T", LINK var metaTag = document.createElement("meta"); meta.charset ? metaTag.setAttribute(meta.keyword, meta.charset) : (metaTag.setAttribute(meta.keyword, meta[meta.keyword]), metaTag.setAttribute("content", meta.content)), document.head.appendChild(metaTag); } -}, createDispatcher = function() { - var timeout, lang, linkQueue = [], scriptQueue = [], titleQueue = [], titleTemplateQueue = [], metaQueue = [], currentTitleIndex = 0, currentTitleTemplateIndex = 0, currentMetaIndex = 0, processQueue = function() { - clearTimeout(timeout), timeout = setTimeout(function() { - timeout = null; - var visited = new Set(); - document.title = applyTitleTemplate(titleQueue[0], titleTemplateQueue[0]), metaQueue.forEach(function(meta) { - visited.has(meta.charset ? meta.keyword : meta[meta.keyword]) || (visited.add(meta.charset ? meta.keyword : meta[meta.keyword]), changeOrCreateMetaTag(meta)); - }), currentTitleIndex = currentTitleTemplateIndex = currentMetaIndex = 0; - }, 1000 / 60); - }; - return { - _setLang: function(l) { - lang = l; - }, - _addToQueue: function(type, payload) { - isServerSide || processQueue(), type === SCRIPT ? scriptQueue.push(payload) : type === TITLE ? titleQueue.splice(currentTitleIndex++, 0, payload) : type === TEMPLATE ? titleTemplateQueue.splice(currentTitleTemplateIndex++, 0, payload) : type === META ? metaQueue.splice(currentMetaIndex++, 0, payload) : linkQueue.push(payload); - }, - _removeFromQueue: function(type, payload) { - if (type === TITLE || type === TEMPLATE) { - var queue = type === TEMPLATE ? titleTemplateQueue : titleQueue, index = queue.indexOf(payload); - queue.splice(index, 1), 0 === index && (document.title = applyTitleTemplate(titleQueue[0] || "", titleTemplateQueue[0])); - } else { - var oldMeta = metaQueue[metaQueue.indexOf(payload)]; - if (oldMeta) { - metaQueue.splice(metaQueue.indexOf(payload), 1); - var newMeta = metaQueue.find(function(m) { - return m.keyword === oldMeta.keyword && (m.charset || m[m.keyword] === oldMeta[m.keyword]); - }); - if (newMeta) changeOrCreateMetaTag(newMeta); - else { - var result = document.head.querySelectorAll(oldMeta.charset ? "meta[" + oldMeta.keyword + "]" : "meta[" + oldMeta.keyword + '="' + oldMeta[oldMeta.keyword] + '"]'); - document.head.removeChild(result[0]); - } +}, defaultDispatcher = (linkQueue = [], scriptQueue = [], titleQueue = [], titleTemplateQueue = [], metaQueue = [], currentTitleIndex = 0, currentTitleTemplateIndex = 0, currentMetaIndex = 0, processQueue = function() { + clearTimeout(timeout), timeout = setTimeout(function() { + timeout = null; + var visited = new Set(); + document.title = applyTitleTemplate(titleQueue[0], titleTemplateQueue[0]), metaQueue.forEach(function(meta) { + visited.has(meta.charset ? meta.keyword : meta[meta.keyword]) || (visited.add(meta.charset ? meta.keyword : meta[meta.keyword]), changeOrCreateMetaTag(meta)); + }), currentTitleIndex = currentTitleTemplateIndex = currentMetaIndex = 0; + }, 1000 / 60); +}, { + _setLang: function(l) { + lang = l; + }, + _addToQueue: function(type, payload) { + isServerSide || processQueue(), "S" === type ? scriptQueue.push(payload) : "T" === type ? titleQueue.splice(currentTitleIndex++, 0, payload) : "P" === type ? titleTemplateQueue.splice(currentTitleTemplateIndex++, 0, payload) : "M" === type ? metaQueue.splice(currentMetaIndex++, 0, payload) : linkQueue.push(payload); + }, + _removeFromQueue: function(type, payload) { + if ("T" === type || "P" === type) { + var queue = "P" === type ? titleTemplateQueue : titleQueue, index = queue.indexOf(payload); + queue.splice(index, 1), 0 === index && (document.title = applyTitleTemplate(titleQueue[0] || "", titleTemplateQueue[0])); + } else { + var oldMeta = metaQueue[metaQueue.indexOf(payload)]; + if (oldMeta) { + metaQueue.splice(metaQueue.indexOf(payload), 1); + var newMeta = metaQueue.find(function(m) { + return m.keyword === oldMeta.keyword && (m.charset || m[m.keyword] === oldMeta[m.keyword]); + }); + if (newMeta) changeOrCreateMetaTag(newMeta); + else { + var result = document.head.querySelectorAll(oldMeta.charset ? "meta[" + oldMeta.keyword + "]" : "meta[" + oldMeta.keyword + '="' + oldMeta[oldMeta.keyword] + '"]'); + document.head.removeChild(result[0]); } } - }, - _change: function(type, prevPayload, payload) { - if (type === TITLE || type === TEMPLATE) { - var queue = type === TEMPLATE ? titleTemplateQueue : titleQueue; - queue[queue.indexOf(prevPayload)] = payload, 0 === queue.indexOf(payload) && (document.title = applyTitleTemplate(queue[queue.indexOf(payload)], titleTemplateQueue[0])); - } else changeOrCreateMetaTag(metaQueue[metaQueue.indexOf(prevPayload)] = payload); - }, - _reset: void 0, - toStatic: function() { - var title = applyTitleTemplate(titleQueue[titleQueue.length - 1], titleTemplateQueue[titleTemplateQueue.length - 1]), visited = new Set(), links = [].concat(linkQueue), scripts = [].concat(scriptQueue); - metaQueue.reverse(); - var metas = [].concat(metaQueue).filter(function(meta) { - if (!visited.has(meta.charset ? meta.keyword : meta[meta.keyword])) return visited.add(meta.charset ? meta.keyword : meta[meta.keyword]), !0; - }); - return titleQueue = [], titleTemplateQueue = [], metaQueue = [], linkQueue = [], scriptQueue = [], currentTitleIndex = currentTitleTemplateIndex = currentMetaIndex = 0, { - lang: lang, - title: title, - links: links, - scripts: scripts, - metas: metas.map(function(meta) { - var _ref; - return "charset" === meta.keyword ? { - charset: meta[meta.keyword] - } : ((_ref = {})[meta.keyword] = meta[meta.keyword], _ref.content = meta.content, _ref); - }) - }; } - }; -}, defaultDispatcher = createDispatcher(), DispatcherContext = D(defaultDispatcher), useLang = function(language) { + }, + _change: function(type, prevPayload, payload) { + if ("T" === type || "P" === type) { + var queue = "P" === type ? titleTemplateQueue : titleQueue; + queue[queue.indexOf(prevPayload)] = payload, 0 === queue.indexOf(payload) && (document.title = applyTitleTemplate(queue[queue.indexOf(payload)], titleTemplateQueue[0])); + } else changeOrCreateMetaTag(metaQueue[metaQueue.indexOf(prevPayload)] = payload); + }, + _reset: void 0, + toStatic: function() { + var title = applyTitleTemplate(titleQueue[titleQueue.length - 1], titleTemplateQueue[titleTemplateQueue.length - 1]), visited = new Set(), links = [].concat(linkQueue), scripts = [].concat(scriptQueue); + metaQueue.reverse(); + var metas = [].concat(metaQueue).filter(function(meta) { + if (!visited.has(meta.charset ? meta.keyword : meta[meta.keyword])) return visited.add(meta.charset ? meta.keyword : meta[meta.keyword]), !0; + }); + return titleQueue = [], titleTemplateQueue = [], metaQueue = [], linkQueue = [], scriptQueue = [], currentTitleIndex = currentTitleTemplateIndex = currentMetaIndex = 0, { + lang: lang, + title: title, + links: links, + scripts: scripts, + metas: metas.map(function(meta) { + var _ref; + return "charset" === meta.keyword ? { + charset: meta[meta.keyword] + } : ((_ref = {})[meta.keyword] = meta[meta.keyword], _ref.content = meta.content, _ref); + }) + }; + } +}), DispatcherContext = D(defaultDispatcher), useLang = function(language) { var dispatcher = F(DispatcherContext); isServerSide && dispatcher._setLang(language), y(function() { document.getElementsByTagName("html")[0].setAttribute("lang", language); @@ -80,7 +77,7 @@ var isServerSide = "undefined" == typeof document, META = "M", TITLE = "T", LINK ]); }, useLink = function(options) { var dispatcher = F(DispatcherContext), hasMounted = s(!1), node = s(), originalOptions = s(); - isServerSide && !hasMounted.current && dispatcher._addToQueue(LINK, options), y(function() { + isServerSide && !hasMounted.current && dispatcher._addToQueue("L", options), y(function() { hasMounted.current && Object.keys(options).forEach(function(key) { node.current.setAttribute(key, options[key]); }); @@ -108,21 +105,17 @@ var isServerSide = "undefined" == typeof document, META = "M", TITLE = "T", LINK }) : document.head.removeChild(node.current); }; }, []); -}; -function extractKeyword(meta) { - return meta.charset ? "charset" : meta.name ? "name" : meta.property ? "property" : "http-equiv"; -} -var useMeta = function(options) { +}, useMeta = function(options) { var dispatcher = F(DispatcherContext), hasMounted = s(!1), keyword = s(), metaObject = s({ - keyword: keyword.current = extractKeyword(options), + keyword: keyword.current = options.charset ? "charset" : options.name ? "name" : options.property ? "property" : "http-equiv", name: options.name, charset: options.charset, "http-equiv": options.httpEquiv, property: options.property, content: options.content }); - isServerSide && !hasMounted.current && dispatcher._addToQueue(META, metaObject.current), y(function() { - hasMounted.current && dispatcher._change(META, metaObject.current, metaObject.current = { + isServerSide && !hasMounted.current && dispatcher._addToQueue("M", metaObject.current), y(function() { + hasMounted.current && dispatcher._change("M", metaObject.current, metaObject.current = { keyword: keyword.current, name: options.name, charset: options.charset, @@ -133,20 +126,20 @@ var useMeta = function(options) { }, [ options.content ]), y(function() { - return dispatcher._addToQueue(META, metaObject.current), hasMounted.current = !0, function() { - hasMounted.current = !1, dispatcher._removeFromQueue(META, metaObject.current); + return dispatcher._addToQueue("M", metaObject.current), hasMounted.current = !0, function() { + hasMounted.current = !1, dispatcher._removeFromQueue("M", metaObject.current); }; }, []); }, useTitle = function(title, template) { var dispatcher = F(DispatcherContext), hasMounted = s(!1), prevTitle = s(); - isServerSide && !hasMounted.current && dispatcher._addToQueue(template ? TEMPLATE : TITLE, title), y(function() { - hasMounted.current && dispatcher._change(template ? TEMPLATE : TITLE, prevTitle.current, prevTitle.current = title); + isServerSide && !hasMounted.current && dispatcher._addToQueue(template ? "P" : "T", title), y(function() { + hasMounted.current && dispatcher._change(template ? "P" : "T", prevTitle.current, prevTitle.current = title); }, [ title, template ]), y(function() { - return hasMounted.current = !0, dispatcher._addToQueue(template ? TEMPLATE : TITLE, prevTitle.current = title), function() { - hasMounted.current = !1, dispatcher._removeFromQueue(template ? TEMPLATE : TITLE, prevTitle.current); + return hasMounted.current = !0, dispatcher._addToQueue(template ? "P" : "T", prevTitle.current = title), function() { + hasMounted.current = !1, dispatcher._removeFromQueue(template ? "P" : "T", prevTitle.current); }; }, [ template diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.5a544c41/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.5a544c41/output.js index 2ef7c81cc786..cb3b515e6867 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.5a544c41/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.5a544c41/output.js @@ -1,6 +1,5 @@ import { m } from "../index.f66dda46.js"; const jpg = "/assets/img.2dae108d.jpg"; -function Files() { +export default function() { return m`

Files

jpg: ${jpg}

`; } -export default Files; diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.bf24abaa/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.bf24abaa/output.js index cc328c54e951..0496423d20a6 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.bf24abaa/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.bf24abaa/output.js @@ -1,6 +1,5 @@ -import { s as style, m } from "../index.f66dda46.js"; +import { m } from "../index.f66dda46.js"; const process = { - browser: !0, env: { FOO: "bar", OVERRIDE: "11", @@ -8,7 +7,7 @@ const process = { FOO_LOCAL: "bar", NODE_ENV: "production" } -}, foo = 42; +}; function Environment() { return m`${Object.keys(process.env).sort().map((key)=>m``)}
Name ${42}Value
${key}${String(process.env[key])}
`; } diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.ddc4110d/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.ddc4110d/output.js index df7ca9b29f72..b236b72ab91c 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.ddc4110d/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/index.ddc4110d/output.js @@ -1,10 +1,6 @@ -import { s as style, y, m } from "../index.f66dda46.js"; -const styles = { - about: "about_migxty" -}; -function About({ query, title }) { +import { y, m } from "../index.f66dda46.js"; +export default function({ query, title }) { return y(()=>(console.log("Mounted About: ", title), ()=>{ console.log("Unmounting About: ", title); }), []), m`

${title || "About"}

My name is Jason.

${JSON.stringify(query)}
`; } -export default About; diff --git a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/prerender.93c6f601/output.js b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/prerender.93c6f601/output.js index 6717802cf135..27084468a85c 100644 --- a/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/prerender.93c6f601/output.js +++ b/crates/swc_ecma_minifier/tests/fixture/projects/wmr/archive-1/chunks/prerender.93c6f601/output.js @@ -1,10 +1,7 @@ import "../index.f66dda46.js"; import { t as toStatic } from "./hoofd.module.6c5395cb.js"; -function prerender$1(vnode, options) { - return import("../prerender.daa73035/input.js").then((m)=>m.default(vnode, options)); -} async function prerender(vnode) { - const res = await prerender$1(vnode), head = toStatic(), elements = new Set([ + const res = await import("../prerender.daa73035/input.js").then((m)=>m.default(vnode, void 0)), head = toStatic(), elements = new Set([ ...head.links.map((props)=>({ type: "link", props diff --git a/crates/swc_ecma_minifier/tests/terser/compress/drop_unused/issue_t161_top_retain_1/output.js b/crates/swc_ecma_minifier/tests/terser/compress/drop_unused/issue_t161_top_retain_1/output.js index 0aa2e2d9380a..7e9877a9bcab 100644 --- a/crates/swc_ecma_minifier/tests/terser/compress/drop_unused/issue_t161_top_retain_1/output.js +++ b/crates/swc_ecma_minifier/tests/terser/compress/drop_unused/issue_t161_top_retain_1/output.js @@ -1,9 +1,6 @@ function f() { return 2; } -console.log( - f(), - (function () { - return 3; - })() -); +console.log(f(), function() { + return 3; +}()); diff --git a/crates/swc_ecma_minifier/tests/terser/compress/export/issue_333/output.js b/crates/swc_ecma_minifier/tests/terser/compress/export/issue_333/output.js index 7029550fcc4b..f14b76029f1b 100644 --- a/crates/swc_ecma_minifier/tests/terser/compress/export/issue_333/output.js +++ b/crates/swc_ecma_minifier/tests/terser/compress/export/issue_333/output.js @@ -1,8 +1,7 @@ -function shortOut() { - return function () {}; -} -var setToString = shortOut(); -var _setToString = setToString; +var setToString; +var _setToString = function shortOut() { + return function() {}; +}(); export function baseRest() { return _setToString(); } diff --git a/crates/swc_html_minifier/tests/fixture/element/script-group/output.min.html b/crates/swc_html_minifier/tests/fixture/element/script-group/output.min.html index 6da26e2abce7..2079b3f2d013 100644 --- a/crates/swc_html_minifier/tests/fixture/element/script-group/output.min.html +++ b/crates/swc_html_minifier/tests/fixture/element/script-group/output.min.html @@ -27,11 +27,11 @@
breaker
- +
breaker
- +
breaker
@@ -51,22 +51,22 @@
breaker
- +
breaker
- +
breaker
- +
breaker
- +
breaker
breaker
- +
breaker
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 a37905daab87..aed08b4809f8 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 @@ -19,7 +19,7 @@
topLevel - module
- \ No newline at end of file + \ No newline at end of file