Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 3 commits into from Aug 16, 2022

Conversation

djpohly
Copy link
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
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
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
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
Contributor Author

djpohly commented Aug 8, 2022

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

Copy link
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
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!

packages/babel-traverse/test/removal.js Outdated Show resolved Hide resolved
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.

None yet

5 participants