Skip to content

Let path.remove() remove IfStatement.alternate#14833

Merged
nicolo-ribaudo merged 3 commits intobabel:mainfrom
djpohly:patch-1
Aug 16, 2022
Merged

Let path.remove() remove IfStatement.alternate#14833
nicolo-ribaudo merged 3 commits intobabel:mainfrom
djpohly:patch-1

Conversation

@djpohly
Copy link
Copy Markdown
Contributor

@djpohly djpohly commented Aug 8, 2022

Q                       A
Fixed Issues?
Patch: Bug Fix? 🤔
Major: Breaking Change?
Minor: New Feature?
Tests Added + Pass?
Documentation PR Link
Any Dependency Changes?
License MIT

While writing a transformation plugin, I would expect calling remove() on an else clause to remove the else, not replace it with an empty block. Special-casing "consequent" makes sense, because it is not permitted to be null, but there is no need to deviate from the normal remove() behavior for "alternate".

Let me know if tests are needed for this since it's a small change.

@babel-bot
Copy link
Copy Markdown
Collaborator

babel-bot commented Aug 8, 2022

Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/52717/

@liuxingbaoyu
Copy link
Copy Markdown
Member

Tip: Currently our active branch is main and not master.

@djpohly djpohly changed the base branch from master to main August 8, 2022 05:45
@JLHwung
Copy link
Copy Markdown
Contributor

JLHwung commented Aug 8, 2022

Can you rebase on the main branch?

Special-casing "consequent" makes sense, but there is no need to deviate from the normal `remove()` behavior for "alternate", which is permitted to be null.
@djpohly
Copy link
Copy Markdown
Contributor Author

djpohly commented Aug 8, 2022

Ah, I didn't realize GitHub didn't do that automatically. Updated!

Copy link
Copy Markdown
Contributor

@JLHwung JLHwung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks! Can you add a new test case to packages/babel-traverse/test/removal.js?

@JLHwung JLHwung added the PR: Polish 💅 A type of pull request used for our changelog categories label Aug 8, 2022
One test verifies the behavior fixed in babel#3583 (removing consequent
does not make it null) and the other babel#14833 (removing alternate *does*
make it null).
Copy link
Copy Markdown
Contributor

@JLHwung JLHwung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
@nicolo-ribaudo nicolo-ribaudo changed the title Let path.remove() remove IfStatement.alternate Let path.remove() remove IfStatement.alternate Aug 16, 2022
@nicolo-ribaudo nicolo-ribaudo merged commit a7c0212 into babel:main Aug 16, 2022
JLHwung added a commit to JLHwung/babel that referenced this pull request Aug 16, 2022
Co-authored-by: Huáng Jùnliàng <jlhwung@gmail.com>
Co-authored-by: Nicolò Ribaudo <nicolo.ribaudo@gmail.com>
@github-actions github-actions bot added the outdated A closed issue/PR that is archived due to age. Recommended to make a new issue label Nov 18, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Nov 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

outdated A closed issue/PR that is archived due to age. Recommended to make a new issue pkg: traverse PR: Polish 💅 A type of pull request used for our changelog categories

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants