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

fix(babel-preset-gatsby): Ensure the spread operator works correctly on Sets #15172

Merged
merged 2 commits into from Jul 12, 2019
Merged

fix(babel-preset-gatsby): Ensure the spread operator works correctly on Sets #15172

merged 2 commits into from Jul 12, 2019

Conversation

circlingthesun
Copy link
Contributor

@circlingthesun circlingthesun commented Jun 26, 2019

Description

The current @babel/preset-env config defaults to loose transforms which results in incorrect semantics when the spread operator is applied to a Set.

Executing

[...new Set([1, 2, 2, 3])]

results in

[Set(1, 2, 3)]

when

[1, 2, 3]

is expected.

This PR ensures that the expected result is obtained by configuring @babel/plugin-transform-spread to follow ECMAScript semantics.

Related Issues

Fixes #14848

@circlingthesun circlingthesun requested a review from a team as a code owner June 26, 2019 23:43
@wardpeet wardpeet self-assigned this Jul 1, 2019
Copy link
Contributor

@wardpeet wardpeet left a comment

Choose a reason for hiding this comment

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

Thank you for opening this PR! This is a great change. We can't just flip the switch on the @babel/preset-env so I think this is a great way to sidestep this behaviour.

Thank you for your patience!

@wardpeet wardpeet merged commit bd07262 into gatsbyjs:master Jul 12, 2019
@gatsbot
Copy link

gatsbot bot commented Jul 12, 2019

Holy buckets, @circlingthesun — we just merged your PR to Gatsby! 💪💜

Gatsby is built by awesome people like you. Let us say “thanks” in two ways:

  1. We’d like to send you some Gatsby swag. As a token of our appreciation, you can go to the Gatsby Swag Store and log in with your GitHub account to get a coupon code good for one free piece of swag. We’ve got Gatsby t-shirts, stickers, hats, scrunchies, and much more. (You can also unlock even more free swag with 5 contributions — wink wink nudge nudge.) See gatsby.dev/swag for details.
  2. We just invited you to join the Gatsby organization on GitHub. This will add you to our team of maintainers. Accept the invite by visiting https://github.com/orgs/gatsbyjs/invitation. By joining the team, you’ll be able to label issues, review pull requests, and merge approved pull requests.

If there’s anything we can do to help, please don’t hesitate to reach out to us: tweet at @gatsbyjs and we’ll come a-runnin’.

Thanks again!

@wardpeet
Copy link
Contributor

Fixed in babel-preset-gatsby@0.2.3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

spread operator with Set not working?
2 participants