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.
I don't really like it, but I have more confidence on this type of code. I guess it will be an open PR for now.
The SWC implementation is using
parse
andprint
, which is liketransform
. SWC always prints JS code AFAIK and will not keep TS code as-is, which is generally what I want. I do not like it because the behavior can change based on thetsconfig.json
, for instance.I used
print
because as I'm writing this code, SWC's spans are not aligned with the input. 😕 swc-project/swc#1366 — I guess I can somehow hack this (maybe accumulate theProgram
spans every time and subtract from that myself?) but I do not like this approach at all.Using Babel I can leverage MagicString to remove only what I really really want, and nothing else. But I'm afraid that it will be slower.