Skip to content

Commit 87dbd03

Browse files
authored
Update swc (#33063)
1 parent 320986a commit 87dbd03

File tree

10 files changed

+378
-568
lines changed

10 files changed

+378
-568
lines changed

packages/next-swc/Cargo.lock

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

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

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@ fxhash = "0.2.1"
1414
pathdiff = "0.2.0"
1515
serde = "1"
1616
serde_json = "1"
17-
styled_components = "0.6.0"
18-
swc = "0.98.0"
17+
styled_components = "0.9.0"
18+
swc = "0.110.0"
1919
swc_atoms = "0.2.7"
20-
swc_common = { version = "0.15.0", features = ["concurrent", "sourcemap"] }
21-
swc_css = "0.44.0"
22-
swc_ecma_loader = { version = "0.25.0", features = ["node", "lru"] }
23-
swc_ecmascript = { version = "0.98.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
20+
swc_common = { version = "0.16.0", features = ["concurrent", "sourcemap"] }
21+
swc_css = "0.45.0"
22+
swc_ecma_loader = { version = "0.26.0", features = ["node", "lru"] }
23+
swc_ecmascript = { version = "0.105.0", features = ["codegen", "minifier", "optimization", "parser", "react", "transforms", "typescript", "utils", "visit"] }
2424
swc_node_base = "0.5.1"
25-
swc_stylis = "0.41.1"
25+
swc_stylis = "0.42.0"
2626
tracing = {version = "0.1.28", features = ["release_max_level_off"]}
2727
regex = "1.5"
2828

2929
[dev-dependencies]
30-
swc_ecma_transforms_testing = "0.51.0"
31-
testing = "0.16.0"
30+
swc_ecma_transforms_testing = "0.56.0"
31+
testing = "0.17.0"
3232
walkdir = "2.3.2"
3333

3434

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

Lines changed: 25 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,15 @@ use swc_ecmascript::{
1111
visit::{noop_fold_type, Fold},
1212
};
1313

14-
/// Note: This paths requires runnning `resolver` **before** running this.
14+
/// Note: This paths requires running `resolver` **before** running this.
1515
pub fn next_ssg() -> impl Fold {
1616
Repeat::new(NextSsg {
1717
state: Default::default(),
1818
in_lhs_of_var: false,
1919
})
2020
}
2121

22-
/// State of the transforms. Shared by the anayzer and the tranform.
22+
/// State of the transforms. Shared by the analyzer and the transform.
2323
#[derive(Debug, Default)]
2424
struct State {
2525
/// Identifiers referenced by non-data function codes.
@@ -45,11 +45,7 @@ struct State {
4545

4646
impl State {
4747
fn is_data_identifier(&mut self, i: &Ident) -> Result<bool, Error> {
48-
let ssg_exports = &[
49-
"getStaticProps",
50-
"getStaticPaths",
51-
"getServerSideProps",
52-
];
48+
let ssg_exports = &["getStaticProps", "getStaticPaths", "getServerSideProps"];
5349

5450
if ssg_exports.contains(&&*i.sym) {
5551
if &*i.sym == "getServerSideProps" {
@@ -125,7 +121,9 @@ impl Fold for Analyzer<'_> {
125121
}
126122

127123
fn fold_export_named_specifier(&mut self, s: ExportNamedSpecifier) -> ExportNamedSpecifier {
128-
self.add_ref(s.orig.to_id());
124+
if let ModuleExportName::Ident(id) = &s.orig {
125+
self.add_ref(id.to_id());
126+
}
129127

130128
s
131129
}
@@ -189,7 +187,7 @@ impl Fold for Analyzer<'_> {
189187
e
190188
}
191189

192-
/// Drops [ExportDecl] if all speicifers are removed.
190+
/// Drops [ExportDecl] if all specifiers are removed.
193191
fn fold_module_item(&mut self, s: ModuleItem) -> ModuleItem {
194192
match s {
195193
ModuleItem::ModuleDecl(ModuleDecl::ExportNamed(e)) if !e.specifiers.is_empty() => {
@@ -211,8 +209,7 @@ impl Fold for Analyzer<'_> {
211209
ModuleItem::ModuleDecl(ModuleDecl::ExportDecl(e)) => match &e.decl {
212210
Decl::Fn(f) => {
213211
// Drop getStaticProps.
214-
if let Ok(is_data_identifier) = self.state.is_data_identifier(&f.ident)
215-
{
212+
if let Ok(is_data_identifier) = self.state.is_data_identifier(&f.ident) {
216213
if is_data_identifier {
217214
return ModuleItem::Stmt(Stmt::Empty(EmptyStmt { span: DUMMY_SP }));
218215
}
@@ -493,29 +490,38 @@ impl Fold for NextSsg {
493490

494491
n.specifiers.retain(|s| {
495492
let preserve = match s {
496-
ExportSpecifier::Namespace(ExportNamespaceSpecifier { name: exported, .. })
493+
ExportSpecifier::Namespace(ExportNamespaceSpecifier {
494+
name: ModuleExportName::Ident(exported),
495+
..
496+
})
497497
| ExportSpecifier::Default(ExportDefaultSpecifier { exported, .. })
498498
| ExportSpecifier::Named(ExportNamedSpecifier {
499-
exported: Some(exported),
499+
exported: Some(ModuleExportName::Ident(exported)),
500500
..
501501
}) => self
502502
.state
503503
.is_data_identifier(&exported)
504504
.map(|is_data_identifier| !is_data_identifier),
505-
ExportSpecifier::Named(s) => self
505+
ExportSpecifier::Named(ExportNamedSpecifier {
506+
orig: ModuleExportName::Ident(orig),
507+
..
508+
}) => self
506509
.state
507-
.is_data_identifier(&s.orig)
510+
.is_data_identifier(&orig)
508511
.map(|is_data_identifier| !is_data_identifier),
512+
513+
_ => Ok(true),
509514
};
510515

511516
match preserve {
512517
Ok(false) => {
513-
tracing::trace!(
514-
"Dropping a export specifier because it's a data identifier"
515-
);
518+
tracing::trace!("Dropping a export specifier because it's a data identifier");
516519

517520
match s {
518-
ExportSpecifier::Named(ExportNamedSpecifier { orig, .. }) => {
521+
ExportSpecifier::Named(ExportNamedSpecifier {
522+
orig: ModuleExportName::Ident(orig),
523+
..
524+
}) => {
519525
self.state.should_run_again = true;
520526
self.state.refs_from_data_fn.insert(orig.to_id());
521527
}

0 commit comments

Comments
 (0)