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

July 2017 #19

Closed
10 tasks done
hzoo opened this issue Jul 27, 2017 · 13 comments
Closed
10 tasks done

July 2017 #19

hzoo opened this issue Jul 27, 2017 · 13 comments
Assignees

Comments

@hzoo
Copy link
Member

hzoo commented Jul 27, 2017

Just summarizing the updates from: https://github.com/tc39/agendas/blob/master/2017/07.md

Can discuss changes as they pertain to Babel implementation (syntax).
babel-polyfill implementation is https://github.com/zloirock/core-js

EDIT: made some issues for Babel updates

New Proposals

Moving Forward

Needs work

@hzoo
Copy link
Member Author

hzoo commented Jul 28, 2017

Maybe we add here (and/or in each issue) the changes we need to make in each transform? Obviously if it's a new proposal we may need to implement something, and for proposals that progressed change the preset it's in and maybe some updates.

@littledan
Copy link

Private methods were introduced.

Decorators stayed at Stage 2 but with significant changes to semantics, for integration with fields and private, which the committee seemed mostly happy with except for the private part.

Optional chaining also has new draft semantics, but the committee seemed very sceptical of both the old and the new semantics.

Export-ns-from will be pursued as a needs-consensus PR, rather than with stages. For Babel purposes, it might make sense to put at Stage 3.

@littledan
Copy link

I believe Promise.prototype.finally reached Stage 3 as well. The semantics have changed slightly recently.

For core-js, I think the big need is BigInt, a polyfill. The rest are Babel/Bablyon changes.

@sricc
Copy link

sricc commented Aug 5, 2017

I've never contributed to this project before but am interested in learning and helping where I can. Is there something that would be better suited for me to take a look at?

@hzoo
Copy link
Member Author

hzoo commented Aug 7, 2017

  • Class fields: The transform should be moved from the Stage 2 preset to the Stage 3 preset. And we should make the current "spec" mode the normal mode, and the normal mode the "loose" option. This is since the current spec requires using defineProperty instead of a simple assignment, and that class A { a; } should compile into a = undefined; Update Class Fields to Stage 3 and change default behavior babel#6073

@jridgewell
Copy link
Member

@sricc: You could check out any of the beginner-friendly labelled issues: https://github.com/babel/babel/issues?q=is%3Aopen+is%3Aissue+label%3Abeginner-friendly

@sricc
Copy link

sricc commented Aug 7, 2017

@jridgewell Thanks, will check those out.

@Andarist
Copy link
Member

current spec requires using defineProperty instead of a simple assignment

@hzoo why defineProperty is required now? Im trying to see how they differ, if all descriptor options are set to true

@hzoo
Copy link
Member Author

hzoo commented Sep 12, 2017

@littledan
Copy link

We had a long debate about = vs defineProperty in TC39. The main way they differ, besides setting the descriptor options to true, is in calling setters: If a superclass defines a setter, = will call that setter. This can be good or bad, depending on what you expect for your code. Lots of people had different intuitions here, and we settled on one of the two, with the tiebreaker being that your code is more locally predictable and understandable if those setters aren't called.

@Andarist
Copy link
Member

Totally makes sense and I believe you have chosen wisely ;) Always forgetting about getters/setters when thinking about the code. Thanks for the clarification.

@hzoo
Copy link
Member Author

hzoo commented Sep 14, 2017

I think we finished everything (or is in progress) ^ as of https://github.com/babel/babel/releases/tag/v7.0.0-beta.0, and we made an issue for throw expressions.

WIP PRs

@hzoo
Copy link
Member Author

hzoo commented Sep 29, 2017

Ok closing since we implemented everything here, and next meeting issue is up #28

@hzoo hzoo closed this as completed Sep 29, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants