Skip to content

Commit

Permalink
Merge pull request #249 from ronakj/chore/upgrade-swc
Browse files Browse the repository at this point in the history
  • Loading branch information
kwonoj authored Oct 7, 2024
2 parents 27a87ee + 9df07e0 commit f5d6330
Show file tree
Hide file tree
Showing 14 changed files with 443 additions and 528 deletions.
799 changes: 351 additions & 448 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ resolver = "2"
serde = { version = "1.0.203" }
serde-wasm-bindgen = { version = "0.6.5" }
serde_json = { version = "1.0.120" }
swc_core = { version = "0.96.2" }
swc_core = { version = "0.102.0" }
tracing = { version = "0.1.37" }
tracing-subscriber = { version = "0.3.17" }
wasm-bindgen = { version = "0.2.92" }
Expand Down
96 changes: 48 additions & 48 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
"devDependencies": {
"@napi-rs/cli": "^2.11.0",
"@swc-node/register": "^1.6.5",
"@swc/core": "^1.4.0",
"@swc/core": "^1.7.26",
"@taplo/cli": "^0.7.0",
"@types/chai": "^4.3.3",
"@types/js-yaml": "^4.0.5",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ pub fn create_num_lit_expr(value: u32) -> Expr {

pub fn create_ident_key_value_prop(key: &Ident, value: Expr) -> PropOrSpread {
PropOrSpread::Prop(Box::new(Prop::KeyValue(KeyValueProp {
key: PropName::Ident(key.clone()),
key: PropName::Ident(key.clone().into()),
value: Box::new(value),
})))
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,15 @@ pub fn create_coverage_fn_ident(value: &str) {
value.hash(&mut s);
let var_name_hash = format!("cov_{}", s.finish());

COVERAGE_FN_IDENT.get_or_init(|| Ident::new(var_name_hash.clone().into(), DUMMY_SP));
COVERAGE_FN_TRUE_TEMP_IDENT
.get_or_init(|| Ident::new(format!("{}_temp", var_name_hash).into(), DUMMY_SP));
COVERAGE_FN_IDENT
.get_or_init(|| Ident::new(var_name_hash.clone().into(), DUMMY_SP, Default::default()));
COVERAGE_FN_TRUE_TEMP_IDENT.get_or_init(|| {
Ident::new(
format!("{}_temp", var_name_hash).into(),
DUMMY_SP,
Default::default(),
)
});
}

/// Creates a function declaration for actual coverage collection.
Expand Down Expand Up @@ -85,7 +91,7 @@ pub fn create_coverage_fn_decl<C: Clone + Comments>(
let coverage_data_stmt = create_assignment_stmt(&IDENT_COVERAGE_DATA, coverage_data_object);
stmts.push(coverage_data_stmt);

let coverage_ident = Ident::new("coverage".into(), DUMMY_SP);
let coverage_ident = Ident::new("coverage".into(), DUMMY_SP, Default::default());
stmts.push(quote!(
"var $coverage = $global[$gcv] || ($global[$gcv] = {})" as Stmt,
coverage = coverage_ident.clone(),
Expand All @@ -106,7 +112,7 @@ if (!$coverage[$path] || $coverage[$path].$hash !== $hash) {
));

// var actualCoverage = coverage[path];
let actual_coverage_ident = Ident::new("actualCoverage".into(), DUMMY_SP);
let actual_coverage_ident = Ident::new("actualCoverage".into(), DUMMY_SP, Default::default());
stmts.push(quote!(
"var $actual_coverage = $coverage[$path];" as Stmt,
actual_coverage = actual_coverage_ident.clone(),
Expand All @@ -130,6 +136,7 @@ if (!$coverage[$path] || $coverage[$path].$hash !== $hash) {
span: DUMMY_SP,
arg: Some(Box::new(Expr::Ident(actual_coverage_ident.clone()))),
})],
..BlockStmt::dummy()
}),
..Function::dummy()
}),
Expand Down Expand Up @@ -177,6 +184,7 @@ if (!$coverage[$path] || $coverage[$path].$hash !== $hash) {
body: Some(BlockStmt {
span: DUMMY_SP,
stmts,
..BlockStmt::dummy()
}),
..Function::dummy()
}),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ pub fn create_global_stmt_template(coverage_global_scope: &str) -> Stmt {
// Note: we don't support function template based on scoped binding
// like https://github.com/istanbuljs/istanbuljs/blob/c7693d4608979ab73ebb310e0a1647e2c51f31b6/packages/istanbul-lib-instrument/src/visitor.js#L793=
// due to scope checking is tricky.
let fn_ctor = quote_ident!("((function(){}).constructor)");
let fn_ctor = quote_ident!(Default::default(), "((function(){}).constructor)");

let expr = Expr::New(NewExpr {
callee: Box::new(Expr::Ident(fn_ctor)),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,13 @@ pub fn create_increase_counter_expr(
callee: Callee::Expr(Box::new(Expr::Ident(var_name.clone()))),
args: vec![],
type_args: None,
..Default::default()
};

let c = MemberExpr {
span: DUMMY_SP,
obj: Box::new(Expr::Call(call)),
prop: MemberProp::Ident(type_ident.clone()),
prop: MemberProp::Ident(type_ident.clone().into()),
};

let expr = MemberExpr {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ pub fn create_increase_true_expr(
callee: Callee::Expr(Box::new(Expr::Ident(var_name.clone()))),
..CallExpr::dummy()
})),
prop: MemberProp::Ident(temp_var_name.clone()),
prop: MemberProp::Ident(temp_var_name.clone().into()),
..MemberExpr::dummy()
};

Expand Down Expand Up @@ -65,7 +65,7 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
callee: Callee::Expr(Box::new(Expr::Ident(var_name.clone()))),
..CallExpr::dummy()
})),
prop: MemberProp::Ident(temp_var_name.clone()),
prop: MemberProp::Ident(temp_var_name.clone().into()),
..MemberExpr::dummy()
});

Expand All @@ -81,9 +81,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
sym: "Array".into(),
..Ident::dummy()
})),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "isArray".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
}))),
Expand All @@ -97,9 +97,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
})),
right: Box::new(Expr::Member(MemberExpr {
obj: Box::new(member.clone()),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "length".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
})),
Expand All @@ -117,9 +117,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
sym: "Object".into(),
..Ident::dummy()
})),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "getPrototypeOf".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
}))),
Expand All @@ -134,9 +134,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
sym: "Object".into(),
..Ident::dummy()
})),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "prototype".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
})),
Expand All @@ -149,9 +149,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
sym: "Object".into(),
..Ident::dummy()
})),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "values".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
}))),
Expand All @@ -161,9 +161,9 @@ fn validate_true_non_trivial(var_name: &Ident, temp_var_name: &Ident) -> Expr {
}],
..CallExpr::dummy()
})),
prop: MemberProp::Ident(Ident {
prop: MemberProp::Ident(IdentName {
sym: "length".into(),
..Ident::dummy()
..IdentName::dummy()
}),
..MemberExpr::dummy()
})),
Expand Down
Loading

0 comments on commit f5d6330

Please sign in to comment.