fix(transform): synthetic map params leak #1955
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Replaces fragile heuristic-based detection of map callbacks with explicit
marking using a shared WeakSet registry. This fixes bugs where synthetic
identifiers (element, index, array) leaked into outer scope derives.
Problem:
Solution:
mapCallbackRegistry: WeakSet<ts.Node>to TransformationOptionsBenefits:
🤖 Generated with Claude Code
Summary by cubic
Prevents synthetic map params (element, index, array) from leaking into outer derives by explicitly tracking map callbacks with a shared WeakSet. Fixes “element is not defined” errors and removes brittle heuristics.
Bug Fixes
Refactors