Skip to content

Commit 580b9cd

Browse files
authored
perf: use new swc lexer for asi (#11357)
Use unstable
1 parent bed0c90 commit 580b9cd

File tree

5 files changed

+8
-10
lines changed

5 files changed

+8
-10
lines changed

Cargo.lock

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ jsonc-parser = { version = "0.26.2", default-features = false, features =
6060
lightningcss = { version = "1.0.0-alpha.64", default-features = false, features = ["grid", "serde"] }
6161
linked_hash_set = { version = "0.1.5", default-features = false }
6262
md4 = { version = "0.10.2", default-features = false }
63+
memchr = { version = "2.7.5", default-features = false }
6364
micromegas-perfetto = { version = "0.9.0", default-features = false }
6465
miette = { version = "7.5.0", default-features = false }
6566
mimalloc = { version = "0.2.4", package = "mimalloc-rspack", default-features = false }
@@ -111,9 +112,8 @@ url = { version = "2.5.4", default-features = false }
111112
urlencoding = { version = "2.1.3", default-features = false }
112113
ustr = { package = "ustr-fxhash", version = "1.0.1", default-features = false }
113114
wasmparser = { version = "0.222.0", default-features = false }
114-
xxhash-rust = { version = "0.8.14", default-features = false }
115115
winnow = { version = "0.7.12", default-features = false, features = ["std", "simd"] }
116-
memchr = { version = "2.7.5", default-features = false }
116+
xxhash-rust = { version = "0.8.14", default-features = false }
117117

118118
# Pinned
119119
napi = { version = "3.1.6", default-features = false }
@@ -129,7 +129,6 @@ pnp = { version = "0.12.1", default-features = false }
129129
swc = { version = "34.0.0", default-features = false }
130130
swc_config = { version = "3.1.1", default-features = false }
131131
swc_core = { version = "35.0.0", default-features = false, features = ["parallel_rayon"] }
132-
swc_ecma_lexer = { version = "22.0.0", default-features = false }
133132
swc_ecma_minifier = { version = "29.0.0", default-features = false }
134133
swc_error_reporters = { version = "16.0.1", default-features = false }
135134
swc_html = { version = "25.0.0", default-features = false }

crates/rspack_plugin_javascript/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ swc_core = { workspace = true, features = [
4141
"__parser",
4242
"__utils",
4343
"common_sourcemap",
44+
"ecma_parser_unstable",
4445
"ecma_preset_env",
4546
"ecma_transforms_optimization",
4647
"ecma_transforms_module",
@@ -49,7 +50,6 @@ swc_core = { workspace = true, features = [
4950
"base",
5051
"ecma_quote",
5152
] }
52-
swc_ecma_lexer = { workspace = true }
5353
swc_node_comments = { workspace = true }
5454
tokio = { workspace = true, features = ["sync"] }
5555
tracing = { workspace = true }

crates/rspack_plugin_javascript/src/parser_and_generator/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ impl ParserAndGenerator for JavaScriptParserAndGenerator {
195195
Some(&comments),
196196
);
197197

198-
let lexer = swc_ecma_lexer::Lexer::new(
198+
let lexer = swc_core::ecma::parser::Lexer::new(
199199
Syntax::Es(EsSyntax {
200200
allow_return_outside_function: matches!(
201201
module_type,

crates/rspack_plugin_javascript/src/visitors/semicolon.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
use rustc_hash::FxHashSet;
22
use swc_core::{
3-
common::{BytePos, Span, Spanned},
3+
common::{BytePos, Span},
44
ecma::{
55
ast::ClassMember,
6-
parser::token::{Token, TokenAndSpan},
6+
parser::unstable::{Token, TokenAndSpan},
77
visit::{Visit, VisitWith},
88
},
99
};
@@ -57,7 +57,7 @@ impl InsertedSemicolons<'_> {
5757
if index > 0 {
5858
let prev = &self.tokens[index - 1];
5959
if !matches!(prev.token, Token::Semi) && self.can_insert_semi(index) {
60-
self.semicolons.insert(prev.span_hi());
60+
self.semicolons.insert(prev.span.hi);
6161
}
6262
}
6363
}
@@ -70,7 +70,7 @@ impl InsertedSemicolons<'_> {
7070
if index > 0 {
7171
let prev = &self.tokens[index - 1];
7272
if !matches!(prev.token, Token::Semi) && self.can_insert_semi(index) {
73-
self.semicolons.insert(prev.span_hi());
73+
self.semicolons.insert(prev.span.hi);
7474
}
7575
}
7676
}

0 commit comments

Comments
 (0)