diff --git a/CHANGELOG.md b/CHANGELOG.md index a91d35f8daa..180f9341f36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,12 @@ - **(es/transforms)** Setup parallel benchmark (#5974) ([8066d8f](https://github.com/swc-project/swc/commit/8066d8f60ece891a555a4c24d63feee85c27da92)) +### Performance + + + +- **(es/minifier)** Optimize `MultiReplacer` (#5977) ([e37bb55](https://github.com/swc-project/swc/commit/e37bb551015b68b108569015a03dc00477f621ee)) + ### Testing diff --git a/Cargo.lock b/Cargo.lock index 2d39a268952..0c1baba46ce 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -168,7 +168,7 @@ dependencies = [ [[package]] name = "binding_macros" -version = "0.17.11" +version = "0.17.12" dependencies = [ "anyhow", "console_error_panic_hook", @@ -742,7 +742,7 @@ dependencies = [ [[package]] name = "dbg-swc" -version = "0.56.15" +version = "0.56.16" dependencies = [ "anyhow", "clap 3.1.0", @@ -2957,7 +2957,7 @@ dependencies = [ [[package]] name = "swc" -version = "0.229.11" +version = "0.229.12" dependencies = [ "ahash", "ansi_term", @@ -3028,7 +3028,7 @@ dependencies = [ [[package]] name = "swc_bundler" -version = "0.190.11" +version = "0.190.12" dependencies = [ "ahash", "anyhow", @@ -3145,7 +3145,7 @@ dependencies = [ [[package]] name = "swc_core" -version = "0.27.12" +version = "0.27.13" dependencies = [ "binding_macros", "once_cell", @@ -3464,7 +3464,7 @@ dependencies = [ [[package]] name = "swc_ecma_minifier" -version = "0.157.11" +version = "0.157.12" dependencies = [ "ahash", "ansi_term", @@ -3890,7 +3890,7 @@ dependencies = [ [[package]] name = "swc_ecmascript" -version = "0.203.11" +version = "0.203.12" dependencies = [ "swc_ecma_ast", "swc_ecma_codegen", @@ -3938,7 +3938,7 @@ dependencies = [ [[package]] name = "swc_estree_compat" -version = "0.151.11" +version = "0.151.12" dependencies = [ "ahash", "anyhow", @@ -3986,7 +3986,7 @@ dependencies = [ [[package]] name = "swc_html" -version = "0.78.12" +version = "0.78.13" dependencies = [ "swc_html_ast", "swc_html_codegen", @@ -4038,7 +4038,7 @@ dependencies = [ [[package]] name = "swc_html_minifier" -version = "0.75.12" +version = "0.75.13" dependencies = [ "criterion", "once_cell", @@ -4123,7 +4123,7 @@ dependencies = [ [[package]] name = "swc_node_bundler" -version = "0.15.11" +version = "0.15.12" dependencies = [ "anyhow", "dashmap", diff --git a/crates/binding_macros/Cargo.toml b/crates/binding_macros/Cargo.toml index daa403b1cc9..25f95b05221 100644 --- a/crates/binding_macros/Cargo.toml +++ b/crates/binding_macros/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "Apache-2.0" name = "binding_macros" repository = "https://github.com/swc-project/swc.git" -version = "0.17.11" +version = "0.17.12" [lib] bench = false @@ -30,7 +30,7 @@ binding_wasm = [ [dependencies] # Common deps for the SWC imports -swc = { optional = true, version = "0.229.11", path = "../swc" } +swc = { optional = true, version = "0.229.12", path = "../swc" } swc_common = { optional = true, version = "0.29.1", path = "../swc_common" } swc_ecma_ast = { optional = true, version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_transforms = { optional = true, version = "0.196.6", path = "../swc_ecma_transforms" } diff --git a/crates/dbg-swc/Cargo.toml b/crates/dbg-swc/Cargo.toml index def96dadae6..54c6c61e32d 100644 --- a/crates/dbg-swc/Cargo.toml +++ b/crates/dbg-swc/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "Apache-2.0" name = "dbg-swc" repository = "https://github.com/kdy1/dbg-swc.git" -version = "0.56.15" +version = "0.56.16" [[bin]] bench = false @@ -27,7 +27,7 @@ swc_common = { version = "0.29.1", features = [ ], path = "../swc_common" } swc_ecma_ast = { version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_codegen = { version = "0.127.2", path = "../swc_ecma_codegen" } -swc_ecma_minifier = { version = "0.157.11", path = "../swc_ecma_minifier", features = [ +swc_ecma_minifier = { version = "0.157.12", path = "../swc_ecma_minifier", features = [ "concurrent", ] } swc_ecma_parser = { version = "0.122.2", path = "../swc_ecma_parser" } diff --git a/crates/swc/Cargo.toml b/crates/swc/Cargo.toml index a66b9e5fbed..62d9d450a1c 100644 --- a/crates/swc/Cargo.toml +++ b/crates/swc/Cargo.toml @@ -9,7 +9,7 @@ include = ["Cargo.toml", "src/**/*.rs"] license = "Apache-2.0" name = "swc" repository = "https://github.com/swc-project/swc.git" -version = "0.229.11" +version = "0.229.12" [lib] bench = false @@ -75,7 +75,7 @@ swc_ecma_loader = { version = "0.41.1", path = "../swc_ecma_loader", features = "node", "tsc", ] } -swc_ecma_minifier = { version = "0.157.11", path = "../swc_ecma_minifier" } +swc_ecma_minifier = { version = "0.157.12", path = "../swc_ecma_minifier" } swc_ecma_parser = { version = "0.122.2", path = "../swc_ecma_parser" } swc_ecma_preset_env = { version = "0.172.6", path = "../swc_ecma_preset_env" } swc_ecma_transforms = { version = "0.196.6", path = "../swc_ecma_transforms", features = [ diff --git a/crates/swc_bundler/Cargo.toml b/crates/swc_bundler/Cargo.toml index 165eed3af7a..4c057aec947 100644 --- a/crates/swc_bundler/Cargo.toml +++ b/crates/swc_bundler/Cargo.toml @@ -9,7 +9,7 @@ include = ["Cargo.toml", "build.rs", "src/**/*.rs", "src/**/*.js"] license = "Apache-2.0" name = "swc_bundler" repository = "https://github.com/swc-project/swc.git" -version = "0.190.11" +version = "0.190.12" [package.metadata.docs.rs] all-features = true @@ -61,7 +61,7 @@ swc_ecma_loader = { version = "0.41.1", path = "../swc_ecma_loader", features = "node", "cache", ] } -swc_ecma_minifier = { version = "0.157.11", path = "../swc_ecma_minifier", features = [ +swc_ecma_minifier = { version = "0.157.12", path = "../swc_ecma_minifier", features = [ "concurrent", ] } swc_ecma_transforms_proposal = { version = "0.142.6", path = "../swc_ecma_transforms_proposal" } diff --git a/crates/swc_core/Cargo.toml b/crates/swc_core/Cargo.toml index 88933c85617..c2d487f4720 100644 --- a/crates/swc_core/Cargo.toml +++ b/crates/swc_core/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" license = "Apache-2.0" name = "swc_core" repository = "https://github.com/swc-project/swc.git" -version = "0.27.12" +version = "0.27.13" [package.metadata.docs.rs] features = [ "common_perf", @@ -316,10 +316,10 @@ wasmer = { optional = true, version = "2.3.0", default-features = false } wasmer-wasi = { optional = true, version = "2.3.0", default-features = false } # swc_* dependencies -binding_macros = { optional = true, version = "0.17.11", path = "../binding_macros" } -swc = { optional = true, version = "0.229.11", path = "../swc" } +binding_macros = { optional = true, version = "0.17.12", path = "../binding_macros" } +swc = { optional = true, version = "0.229.12", path = "../swc" } swc_atoms = { optional = true, version = "0.4.17", path = "../swc_atoms" } -swc_bundler = { optional = true, version = "0.190.11", path = "../swc_bundler" } +swc_bundler = { optional = true, version = "0.190.12", path = "../swc_bundler" } swc_cached = { optional = true, version = "0.3.13", path = "../swc_cached" } swc_common = { optional = true, version = "0.29.1", path = "../swc_common" } swc_css_ast = { optional = true, version = "0.114.1", path = "../swc_css_ast" } @@ -332,7 +332,7 @@ swc_css_visit = { optional = true, version = "0.113.1", path swc_ecma_ast = { optional = true, version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_codegen = { optional = true, version = "0.127.2", path = "../swc_ecma_codegen" } swc_ecma_loader = { optional = true, version = "0.41.1", path = "../swc_ecma_loader" } -swc_ecma_minifier = { optional = true, version = "0.157.11", path = "../swc_ecma_minifier" } +swc_ecma_minifier = { optional = true, version = "0.157.12", path = "../swc_ecma_minifier" } swc_ecma_parser = { optional = true, version = "0.122.2", path = "../swc_ecma_parser" } swc_ecma_quote_macros = { optional = true, version = "0.33.2", path = "../swc_ecma_quote_macros" } swc_ecma_transforms_base = { optional = true, version = "0.111.4", path = "../swc_ecma_transforms_base" } @@ -345,7 +345,7 @@ swc_ecma_transforms_typescript = { optional = true, version = "0.157.6", path swc_ecma_utils = { optional = true, version = "0.105.3", path = "../swc_ecma_utils" } swc_ecma_visit = { optional = true, version = "0.80.1", path = "../swc_ecma_visit" } swc_node_base = { optional = true, version = "0.5.5", path = "../swc_node_base" } -swc_node_bundler = { optional = true, version = "0.15.11", path = "../swc_node_bundler" } +swc_node_bundler = { optional = true, version = "0.15.12", path = "../swc_node_bundler" } swc_nodejs_common = { optional = true, version = "0.0.1", path = "../swc_nodejs_common" } swc_plugin = { optional = true, version = "0.90.0", path = "../swc_plugin" } swc_plugin_macro = { optional = true, version = "0.9.8", path = "../swc_plugin_macro" } diff --git a/crates/swc_ecma_minifier/Cargo.toml b/crates/swc_ecma_minifier/Cargo.toml index 4dda083613d..69037787884 100644 --- a/crates/swc_ecma_minifier/Cargo.toml +++ b/crates/swc_ecma_minifier/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs", "src/lists/*.json"] license = "Apache-2.0" name = "swc_ecma_minifier" repository = "https://github.com/swc-project/swc.git" -version = "0.157.11" +version = "0.157.12" [package.metadata.docs.rs] all-features = true diff --git a/crates/swc_ecmascript/Cargo.toml b/crates/swc_ecmascript/Cargo.toml index 99f88ba266e..b40c441dc6a 100644 --- a/crates/swc_ecmascript/Cargo.toml +++ b/crates/swc_ecmascript/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" license = "Apache-2.0" name = "swc_ecmascript" repository = "https://github.com/swc-project/swc.git" -version = "0.203.11" +version = "0.203.12" [package.metadata.docs.rs] all-features = true @@ -42,7 +42,7 @@ typescript = ["typescript-parser", "swc_ecma_transforms/typescript"] swc_ecma_ast = { version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_codegen = { version = "0.127.2", path = "../swc_ecma_codegen", optional = true } swc_ecma_dep_graph = { version = "0.94.2", path = "../swc_ecma_dep_graph", optional = true } -swc_ecma_minifier = { version = "0.157.11", path = "../swc_ecma_minifier", optional = true } +swc_ecma_minifier = { version = "0.157.12", path = "../swc_ecma_minifier", optional = true } swc_ecma_parser = { version = "0.122.2", path = "../swc_ecma_parser", optional = true, default-features = false } swc_ecma_preset_env = { version = "0.172.6", path = "../swc_ecma_preset_env", optional = true } swc_ecma_quote = { version = "0.38.3", path = "../swc_ecma_quote", optional = true } diff --git a/crates/swc_estree_compat/Cargo.toml b/crates/swc_estree_compat/Cargo.toml index 02b3dd89628..2e918a169ae 100644 --- a/crates/swc_estree_compat/Cargo.toml +++ b/crates/swc_estree_compat/Cargo.toml @@ -7,7 +7,7 @@ include = ["Cargo.toml", "src/**/*.rs"] license = "Apache-2.0" name = "swc_estree_compat" repository = "https://github.com/swc-project/swc.git" -version = "0.151.11" +version = "0.151.12" [package.metadata.docs.rs] all-features = true @@ -38,7 +38,7 @@ swc_node_comments = { version = "0.16.1", path = "../swc_node_comments/" } [dev-dependencies] criterion = "0.3" pretty_assertions = "1.1" -swc = { version = "0.229.11", path = "../swc" } +swc = { version = "0.229.12", path = "../swc" } swc_ecma_ast = { version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_parser = { version = "0.122.2", path = "../swc_ecma_parser" } swc_ecma_transforms = { version = "0.196.6", path = "../swc_ecma_transforms/" } diff --git a/crates/swc_html/Cargo.toml b/crates/swc_html/Cargo.toml index 3ba7eb4227b..b445e5cbace 100644 --- a/crates/swc_html/Cargo.toml +++ b/crates/swc_html/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" license = "Apache-2.0" name = "swc_html" repository = "https://github.com/swc-project/swc.git" -version = "0.78.12" +version = "0.78.13" [package.metadata.docs.rs] all-features = true @@ -21,6 +21,6 @@ minifier = ["swc_html_minifier"] [dependencies] swc_html_ast = {version = "0.26.1", path = "../swc_html_ast"} swc_html_codegen = {version = "0.35.1", path = "../swc_html_codegen"} -swc_html_minifier = {version = "0.75.12", path = "../swc_html_minifier", optional = true} +swc_html_minifier = {version = "0.75.13", path = "../swc_html_minifier", optional = true} swc_html_parser = {version = "0.32.1", path = "../swc_html_parser"} swc_html_visit = {version = "0.26.1", path = "../swc_html_visit"} diff --git a/crates/swc_html_minifier/Cargo.toml b/crates/swc_html_minifier/Cargo.toml index 16238d2c7a7..cb5437155c7 100644 --- a/crates/swc_html_minifier/Cargo.toml +++ b/crates/swc_html_minifier/Cargo.toml @@ -10,7 +10,7 @@ include = ["Cargo.toml", "src/**/*.rs", "data/**/*.json"] license = "Apache-2.0" name = "swc_html_minifier" repository = "https://github.com/swc-project/swc.git" -version = "0.75.12" +version = "0.75.13" [lib] bench = false @@ -28,7 +28,7 @@ swc_css_minifier = { version = "0.89.2", path = "../swc_css_minifier" } swc_css_parser = { version = "0.123.1", path = "../swc_css_parser" } swc_ecma_ast = { version = "0.94.1", path = "../swc_ecma_ast" } swc_ecma_codegen = { version = "0.127.2", path = "../swc_ecma_codegen" } -swc_ecma_minifier = { version = "0.157.11", path = "../swc_ecma_minifier" } +swc_ecma_minifier = { version = "0.157.12", path = "../swc_ecma_minifier" } swc_ecma_parser = { version = "0.122.2", path = "../swc_ecma_parser" } swc_ecma_transforms_base = { version = "0.111.4", path = "../swc_ecma_transforms_base" } swc_ecma_visit = { version = "0.80.1", path = "../swc_ecma_visit" } diff --git a/crates/swc_node_bundler/Cargo.toml b/crates/swc_node_bundler/Cargo.toml index 17a8cd5912e..2d6e3042fc4 100644 --- a/crates/swc_node_bundler/Cargo.toml +++ b/crates/swc_node_bundler/Cargo.toml @@ -7,7 +7,7 @@ edition = "2021" license = "Apache-2.0" name = "swc_node_bundler" repository = "https://github.com/swc-project/swc.git" -version = "0.15.11" +version = "0.15.12" [lib] bench = false @@ -26,9 +26,9 @@ regex = "1" serde = { version = "1", features = ["derive"] } serde_json = "1" string_enum = { version = "0.3", path = "../string_enum" } -swc = { version = "0.229.11", path = "../swc" } +swc = { version = "0.229.12", path = "../swc" } swc_atoms = { version = "0.4.17", path = "../swc_atoms" } -swc_bundler = { version = "0.190.11", path = "../swc_bundler", features = [ +swc_bundler = { version = "0.190.12", path = "../swc_bundler", features = [ "concurrent", ] } swc_common = { version = "0.29.1", path = "../swc_common", features = [