Skip to content

Commit fdfa3c7

Browse files
kdy1padmaia
andauthored
feat(next-swc): Update swc crates (#35395)
* Update crates * fixup * fix type * Update test refs * Update css crates * Update test refs * Update test refs * Update test refs * SourceMap * Fix? * Update crates * Fix * Update test refs * Update test refs * Update error reporter * Update snapshots * Update snapshots * Bug? * Fix * Fix lint * Update swc again * fixup * Update test refs * Fix Co-authored-by: Maia Teegarden <dev@padmaia.rocks>
1 parent 9f9214a commit fdfa3c7

117 files changed

Lines changed: 1119 additions & 997 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/next-swc/Cargo.lock

Lines changed: 231 additions & 209 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/next-swc/Cargo.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@ members = [
66
"crates/wasm"
77
]
88

9+
[profile.dev.package.swc_css_prefixer]
10+
opt-level = 2
11+
912
[profile.release]
1013
lto = true

packages/next-swc/crates/core/Cargo.toml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,20 +19,20 @@ radix_fmt = "1"
1919
regex = "1.5"
2020
serde = "1"
2121
serde_json = "1"
22-
styled_components = "0.19.0"
23-
swc = "0.150.1"
24-
swc_atoms = "0.2.9"
25-
swc_common = {version = "0.17.15", features = ["concurrent", "sourcemap"]}
26-
swc_css = "0.100.0"
27-
swc_ecma_loader = {version = "0.29.0", features = ["node", "lru"]}
28-
swc_ecmascript = {version = "0.132.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"]}
22+
styled_components = "0.23.0"
23+
swc = "0.161.1"
24+
swc_atoms = "0.2.11"
25+
swc_common = { version = "0.17.18", features = ["concurrent", "sourcemap"] }
26+
swc_css = "0.103.0"
27+
swc_ecma_loader = { version = "0.29.0", features = ["node", "lru"] }
28+
swc_ecmascript = { version = "0.140.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
2929
swc_node_base = "0.5.1"
30-
swc_stylis = "0.96.1"
3130
swc_cached = "0.1.1"
31+
swc_css_prefixer = "0.99.3"
3232
tracing = {version = "0.1.28", features = ["release_max_level_off"]}
3333
handlebars = "4.2.1"
3434

3535
[dev-dependencies]
36-
swc_ecma_transforms_testing = "0.69.0"
37-
testing = "0.18.1"
36+
swc_ecma_transforms_testing = "0.75.0"
37+
testing = "0.19.1"
3838
walkdir = "2.3.2"

packages/next-swc/crates/core/src/emotion/mod.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -307,8 +307,7 @@ impl<C: Comments> EmotionTransformer<C> {
307307
if index % 2 == 0 {
308308
if let Some(q) = tagged_tpl.quasis.get_mut(i) {
309309
let q = q.take();
310-
let minified =
311-
minify_css_string(&q.raw.value, index == 0, index == args_len - 1);
310+
let minified = minify_css_string(&q.raw, index == 0, index == args_len - 1);
312311
// Compress one more spaces into one space
313312
if minified.replace(' ', "").is_empty() {
314313
if index != 0 && index != args_len - 1 {

packages/next-swc/crates/core/src/next_dynamic.rs

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use swc_common::{FileName, DUMMY_SP};
66
use swc_ecmascript::ast::{
77
ArrayLit, ArrowExpr, BinExpr, BinaryOp, BlockStmtOrExpr, Bool, CallExpr, Callee, Expr,
88
ExprOrSpread, Ident, ImportDecl, ImportSpecifier, KeyValueProp, Lit, MemberExpr, MemberProp,
9-
Null, ObjectLit, Prop, PropName, PropOrSpread, Str, StrKind,
9+
Null, ObjectLit, Prop, PropName, PropOrSpread, Str,
1010
};
1111
use swc_ecmascript::utils::ExprFactory;
1212
use swc_ecmascript::utils::{
@@ -148,8 +148,7 @@ impl Fold for NextDynamicPatcher {
148148
)
149149
.into(),
150150
span: DUMMY_SP,
151-
kind: StrKind::Synthesized {},
152-
has_escape: false,
151+
raw: None,
153152
}))),
154153
right: Box::new(Expr::Lit(Lit::Str(Str {
155154
value: self
@@ -159,10 +158,7 @@ impl Fold for NextDynamicPatcher {
159158
.clone()
160159
.into(),
161160
span: DUMMY_SP,
162-
kind: StrKind::Normal {
163-
contains_quote: false,
164-
},
165-
has_escape: false,
161+
raw: None,
166162
}))),
167163
})),
168164
spread: None,
@@ -202,8 +198,7 @@ impl Fold for NextDynamicPatcher {
202198
.clone()
203199
.into(),
204200
span: DUMMY_SP,
205-
kind: StrKind::Synthesized {},
206-
has_escape: false,
201+
raw: None,
207202
}))),
208203
spread: None,
209204
}],

packages/next-swc/crates/core/src/page_config.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,7 @@ impl Fold for PageConfig {
5454
init: Some(Box::new(Expr::Lit(Lit::Str(Str {
5555
value: format!("{} {}", STRING_LITERAL_DROP_BUNDLE, timestamp).into(),
5656
span: DUMMY_SP,
57-
kind: StrKind::Synthesized {},
58-
has_escape: false,
57+
raw: None,
5958
})))),
6059
span: DUMMY_SP,
6160
definite: false,

packages/next-swc/crates/core/src/relay.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fn pull_first_operation_name_from_tpl(tpl: &TaggedTpl) -> Option<String> {
4343
static OPERATION_REGEX: Lazy<Regex> =
4444
Lazy::new(|| Regex::new(r"(fragment|mutation|query|subscription) (\w+)").unwrap());
4545

46-
let capture_group = OPERATION_REGEX.captures_iter(&quasis.raw.value).next();
46+
let capture_group = OPERATION_REGEX.captures_iter(&quasis.raw).next();
4747

4848
capture_group.map(|capture_group| capture_group[2].to_string())
4949
})
@@ -56,8 +56,7 @@ fn build_require_expr_from_path(path: &str) -> Expr {
5656
args: vec![Lit::Str(Str {
5757
span: Default::default(),
5858
value: JsWord::from(path),
59-
has_escape: false,
60-
kind: Default::default(),
59+
raw: None,
6160
})
6261
.as_arg()],
6362
type_args: None,

packages/next-swc/crates/core/src/styled_jsx/mod.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -475,8 +475,8 @@ impl StyledJSXTransformer {
475475
expr,
476476
) => {
477477
if exprs.is_empty() {
478-
hasher.write(quasis[0].raw.value.as_bytes());
479-
css = quasis[0].raw.value.to_string();
478+
hasher.write(quasis[0].raw.as_bytes());
479+
css = quasis[0].raw.to_string();
480480
css_span = *span;
481481
is_dynamic = false;
482482
} else {
@@ -488,7 +488,7 @@ impl StyledJSXTransformer {
488488
} else {
489489
format!("__styled-jsx-placeholder-{}__", i)
490490
};
491-
s = format!("{}{}{}", s, quasis[i].raw.value, placeholder)
491+
s = format!("{}{}{}", s, quasis[i].raw, placeholder)
492492
}
493493
css = s;
494494
css_span = *span;

packages/next-swc/crates/core/src/styled_jsx/transform_css.rs

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ use swc_css::codegen::{
1212
use swc_css::parser::parser::input::ParserInput;
1313
use swc_css::parser::{parse_str, parse_tokens, parser::ParserConfig};
1414
use swc_css::visit::{VisitMut, VisitMutWith};
15-
use swc_ecmascript::ast::{Expr, Str, StrKind, Tpl, TplElement};
15+
use swc_css_prefixer::prefixer;
16+
use swc_ecmascript::ast::{Expr, Tpl, TplElement};
1617
use swc_ecmascript::parser::StringInput;
1718
use swc_ecmascript::utils::HANDLER;
18-
use swc_stylis::prefixer::prefixer;
1919
use tracing::{debug, trace};
2020

2121
use super::{hash_string, string_literal_expr, LocalStyle};
@@ -97,12 +97,7 @@ pub fn transform_css(
9797
.map(|quasi| {
9898
TplElement {
9999
cooked: None, // ? Do we need cooked as well
100-
raw: Str {
101-
value: (*quasi).into(),
102-
span: DUMMY_SP,
103-
has_escape: false,
104-
kind: StrKind::Synthesized {},
105-
},
100+
raw: quasi.replace('`', "\\`").into(),
106101
span: DUMMY_SP,
107102
tail: false,
108103
}

packages/next-swc/crates/core/src/styled_jsx/utils.rs

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,7 @@ use super::{ExternalStyle, JSXStyle, LocalStyle};
77

88
fn tpl_element(value: &str) -> TplElement {
99
TplElement {
10-
raw: Str {
11-
value: value.into(),
12-
span: DUMMY_SP,
13-
kind: StrKind::Synthesized,
14-
has_escape: false,
15-
},
10+
raw: value.into(),
1611
cooked: None,
1712
span: DUMMY_SP,
1813
tail: false,
@@ -314,10 +309,9 @@ pub fn styled_jsx_import_decl(style_import_name: &str) -> ModuleItem {
314309
span: DUMMY_SP,
315310
})],
316311
src: Str {
317-
has_escape: false,
318-
kind: StrKind::Synthesized {},
319312
span: DUMMY_SP,
320313
value: "styled-jsx/style".into(),
314+
raw: None,
321315
},
322316
}))
323317
}
@@ -335,8 +329,7 @@ pub fn string_literal_expr(str: &str) -> Expr {
335329
Expr::Lit(Lit::Str(Str {
336330
value: str.into(),
337331
span: DUMMY_SP,
338-
has_escape: false,
339-
kind: StrKind::Synthesized {},
332+
raw: None,
340333
}))
341334
}
342335

0 commit comments

Comments
 (0)