Skip to content

Commit 64da5a0

Browse files
committed
Update swc options
1 parent 3d305f1 commit 64da5a0

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/swc.rs

+10-4
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,8 @@ impl SWC {
120120
let is_dev = resolver.borrow().is_dev;
121121
let is_ts = extname == "ts" || extname == "mts" || extname == "tsx";
122122
let jsxt = options.jsx.as_deref().unwrap_or("classic");
123-
let is_jsx = jsxt != "preserve" && (extname == "jsx" || extname == "tsx");
123+
let jsx_preserve = jsxt == "preserve";
124+
let is_jsx = extname == "jsx" || extname == "tsx";
124125
let react_options = if jsxt == "automatic" {
125126
let mut resolver = resolver.borrow_mut();
126127
let import_source = options.jsx_import_source.as_deref().unwrap_or("react");
@@ -151,7 +152,7 @@ impl SWC {
151152
let assumptions = Assumptions::all();
152153
let passes = chain!(
153154
swc_ecma_transforms::resolver(unresolved_mark, top_level_mark, is_ts),
154-
Optional::new(react::jsx_src(is_dev, self.source_map.clone()), is_jsx),
155+
Optional::new(react::jsx_src(is_dev, self.source_map.clone()), is_jsx && is_dev),
155156
resolve_fold(resolver.clone(), options.strip_data_export, false),
156157
decorators::decorators(decorators::Config {
157158
legacy: true,
@@ -250,13 +251,14 @@ impl SWC {
250251
self.source_map.clone(),
251252
Some(&self.comments),
252253
react::Options {
254+
next: Some(true),
253255
use_builtins: Some(true),
254256
development: Some(is_dev),
255257
..react_options
256258
},
257259
top_level_mark
258260
),
259-
is_jsx
261+
is_jsx && !jsx_preserve
260262
),
261263
Optional::new(hmr(resolver.clone()), is_dev && !specifier_is_remote),
262264
dce::dce(
@@ -278,7 +280,11 @@ impl SWC {
278280
}),
279281
options.minify.is_some()
280282
),
281-
hygiene(),
283+
hygiene::hygiene_with_config(hygiene::Config {
284+
keep_class_names: true,
285+
top_level_mark: top_level_mark,
286+
..Default::default()
287+
}),
282288
fixer(Some(&self.comments)),
283289
);
284290

0 commit comments

Comments
 (0)