Files
Pranay Prakash 53ede3079c fix(swc-plugin): count destructuring-default references in DCE usage analysis (#2398)
The DCE usage collector skipped the entire variable name pattern when
visiting a `VarDeclarator` (to avoid marking the binding name as "used").
But default-value initializers inside destructuring patterns live in that
pattern — e.g. the `TTL` in `const { ttl = TTL } = options;` — so those
references were invisible to the collector. A module-scope `const`
referenced only through such a default was treated as unused and stripped,
while the surviving code kept reading it, producing a runtime
`ReferenceError` when the default fired.

Traverse the default-value initializer expressions (and computed keys)
within destructuring patterns while still not marking the binding names
themselves, so the referenced declaration is preserved. Function-parameter
defaults were already covered (params are visited in full).

Fixes #2396.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-16 16:16:13 -07:00
..
2025-10-23 12:07:52 +03:00
2025-10-23 12:07:52 +03:00
2026-05-11 13:21:13 -07:00
2025-10-23 12:07:52 +03:00
2026-05-11 13:21:13 -07:00

@workflow/swc-plugin

SWC transform plugin to transform the directives for Workflow Workflow SDK.

Development

Install rust

Add build target using rustup

rustup target add wasm32-unknown-unknown

Ensure you can test/build

cargo test
cargo check
cargo build