From bd3e63342fcbfc4e9ad18730f4a33123f959caad Mon Sep 17 00:00:00 2001 From: OJ Kwon <1210596+kwonoj@users.noreply.github.com> Date: Thu, 4 Jul 2024 11:36:33 +0900 Subject: [PATCH 1/2] fix(visitor): run visitor for binexpr's children with counter --- .../macros/instrumentation_counter_helper.rs | 1 + spec/fixtures/issue-233.yaml | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 spec/fixtures/issue-233.yaml diff --git a/packages/swc-coverage-instrument/src/macros/instrumentation_counter_helper.rs b/packages/swc-coverage-instrument/src/macros/instrumentation_counter_helper.rs index a2a6b0a..080f62b 100644 --- a/packages/swc-coverage-instrument/src/macros/instrumentation_counter_helper.rs +++ b/packages/swc-coverage-instrument/src/macros/instrumentation_counter_helper.rs @@ -118,6 +118,7 @@ macro_rules! instrumentation_branch_wrap_counter_helper { // replace init with increase expr + init seq *expr = paren_expr; } else { + expr.visit_mut_children_with(self); self.replace_expr_with_branch_counter(expr, branch); } } diff --git a/spec/fixtures/issue-233.yaml b/spec/fixtures/issue-233.yaml new file mode 100644 index 0000000..ea8c8bf --- /dev/null +++ b/spec/fixtures/issue-233.yaml @@ -0,0 +1,18 @@ +--- +name: issue 233 +code: | + let i = 0; + + const t = true && { + renderFn: () => { + i++ + }, + } + + t.renderFn(); +tests: + - name: covers right bin expr fn + lines: {'1': 1, '3': 1, '5': 1, '9': 1} + branches: {'0': [1, 1]} + statements: {'0': 1, '1': 1, '2': 1, '3': 1} + functions: {'0': 1} From 9c7c3f8f9d6549f46d392436f56d33ecda85bfa0 Mon Sep 17 00:00:00 2001 From: OJ Kwon <1210596+kwonoj@users.noreply.github.com> Date: Thu, 4 Jul 2024 11:37:59 +0900 Subject: [PATCH 2/2] build(release): release 0.0.23 --- Cargo.lock | 6 +++--- Cargo.toml | 2 +- package-lock.json | 4 ++-- package.json | 2 +- packages/istanbul-oxide/Cargo.toml | 2 +- packages/swc-coverage-instrument/Cargo.toml | 2 +- packages/swc-plugin-coverage/Cargo.toml | 2 +- spec/swc-coverage-custom-transform/Cargo.toml | 2 +- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index e7b5c3a..c2cb9e7 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -501,7 +501,7 @@ checksum = "7655c9839580ee829dfacba1d1278c2b7883e50a277ff7541299489d6bdfdc45" [[package]] name = "istanbul-oxide" -version = "0.0.22" +version = "0.0.23" dependencies = [ "indexmap", "serde", @@ -1238,7 +1238,7 @@ dependencies = [ [[package]] name = "swc-coverage-instrument" -version = "0.0.22" +version = "0.0.23" dependencies = [ "istanbul-oxide", "once_cell", @@ -1263,7 +1263,7 @@ dependencies = [ [[package]] name = "swc-plugin-coverage" -version = "0.0.22" +version = "0.0.23" dependencies = [ "serde_json", "swc-coverage-instrument", diff --git a/Cargo.toml b/Cargo.toml index 77c8ded..f1150f9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ resolver = "2" #lto = true [workspace.dependencies] - istanbul-oxide = { path = "./packages/istanbul-oxide", version = "0.0.22" } + istanbul-oxide = { path = "./packages/istanbul-oxide", version = "0.0.23" } swc-coverage-instrument = { path = "./packages/swc-coverage-instrument" } getrandom = { version = "0.2.15" } diff --git a/package-lock.json b/package-lock.json index 11d3a3e..4813774 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "swc-plugin-coverage-instrument", - "version": "0.0.22", + "version": "0.0.23", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "swc-plugin-coverage-instrument", - "version": "0.0.22", + "version": "0.0.23", "license": "MIT", "devDependencies": { "@napi-rs/cli": "^2.11.0", diff --git a/package.json b/package.json index dfb82f3..5f5c79b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "swc-plugin-coverage-instrument", - "version": "0.0.22", + "version": "0.0.23", "description": "SWC coverage instrumentation plugin", "main": "./target/wasm32-wasi/release/swc_plugin_coverage.wasm", "napi": { diff --git a/packages/istanbul-oxide/Cargo.toml b/packages/istanbul-oxide/Cargo.toml index 712d64e..fb56da8 100644 --- a/packages/istanbul-oxide/Cargo.toml +++ b/packages/istanbul-oxide/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "MIT" name = "istanbul-oxide" repository = "https://github.com/kwonoj/swc-coverage-instrument" -version = "0.0.22" +version = "0.0.23" [dependencies] indexmap = { workspace = true, features = ["serde"] } diff --git a/packages/swc-coverage-instrument/Cargo.toml b/packages/swc-coverage-instrument/Cargo.toml index 7215bbc..748dc98 100644 --- a/packages/swc-coverage-instrument/Cargo.toml +++ b/packages/swc-coverage-instrument/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "MIT" name = "swc-coverage-instrument" repository = "https://github.com/kwonoj/swc-coverage-instrument" -version = "0.0.22" +version = "0.0.23" [dependencies] istanbul-oxide = { workspace = true } diff --git a/packages/swc-plugin-coverage/Cargo.toml b/packages/swc-plugin-coverage/Cargo.toml index e3d51f8..b65a021 100644 --- a/packages/swc-plugin-coverage/Cargo.toml +++ b/packages/swc-plugin-coverage/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" license = "MIT" name = "swc-plugin-coverage" repository = "https://github.com/kwonoj/swc-coverage-instrument" -version = "0.0.22" +version = "0.0.23" [lib] crate-type = ["cdylib"] diff --git a/spec/swc-coverage-custom-transform/Cargo.toml b/spec/swc-coverage-custom-transform/Cargo.toml index 3309ad4..bc15cba 100644 --- a/spec/swc-coverage-custom-transform/Cargo.toml +++ b/spec/swc-coverage-custom-transform/Cargo.toml @@ -21,7 +21,7 @@ napi-derive = { version = "2.12.3", default-features = false, features = [ ] } serde = { version = "1.0.160", features = ["derive"] } serde_json = { version = "1.0.96", features = ["unbounded_depth"] } -swc-coverage-instrument = { version = "0.0.22", path = "../../packages/swc-coverage-instrument" } +swc-coverage-instrument = { version = "0.0.23", path = "../../packages/swc-coverage-instrument" } swc_core = { version = "0.96.2", features = [ "common_concurrent",