profile
viewpoint
Henry Zhu hzoo @Babel New York, NY https://henryzoo.com Learning to maintain stuff

fkling/astexplorer 3110

A web tool to explore the ASTs generated by various parsers.

amilajack/eslint-plugin-compat 2475

Lint the browser compatibility of your code

babel/babel-standalone 793

:video_game: Now located in the Babel repo! Standalone build of Babel for use in non-Node.js environments, including browsers.

hzoo/awesome-gametalks 731

:speech_balloon: A curated list of gaming talks (development, design, etc)

babel/kneden 520

Transpile ES2017 async/await to vanilla ES6 Promise chains: a Babel plugin

ariporad/pirates 180

Properly hijack require

hzoo/awesome-oss 79

 ✏️ A curated list to help writing/maintaining open source libraries

babel/generator-babel-plugin 75

Babel Plugin generator for Yeoman

babel/podcast.babeljs.io 22

The Babel Podcast site!

hzoo/babel-plugin-dedupe-string-literals 12

Dedupe strings with new variable declarations.

issue commentbabel/babel

In-browser JSX translation broken with 7.9 -> 7.10 upgrade.

Ok looks like type: script.getAttribute("data-type"), should be type: script.getAttribute("data-type") || "", or the if check should be changed to include null in https://github.com/babel/babel/pull/11466/files#diff-7a71ff75920619cbc0e67883df263ca8L53.

I guess in this case, the workaround for 7.10 standalone would be to define a data-type in your script tag.

daniel-s

comment created time in 5 days

issue commentbabel/babel

In-browser JSX translation broken with 7.9 -> 7.10 upgrade.

Must be related to https://github.com/babel/babel/pull/11466, if you look at the history of standalone. https://github.com/babel/babel/commits/master/packages/babel-standalone

daniel-s

comment created time in 5 days

push eventbabel/website

Henry Zhu

commit sha 6e13ad3d6eccac77e39b0301e8be4673da68d6fe

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha 6eddb63b384224364fc98fb7c849560a3c017628

Update 2019-11-08-babels-funding-plans.md

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha 67d2a9d85fbf0de3aa4d14226350150c549b3762

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha 863322ef0b86a366e6dd5c1ef6b31a819c42d85d

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha ccdc6d04acdf283f114a43df3fb22217c86b5b90

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

issue openedbabel/babel-polyfills

Mention the rfc to move targets top level in the readme?

Using this makes it clear we don't want to have different sets of target options https://github.com/babel/rfcs/pull/2

{
  "presets": [
    ["@babel/preset-env", {
      "targets": ">1%, not ie 11"
    }]
  ],
"plugins": [
    [
      "babel-plugin-polyfill-corejs3",
      {
        "method": "usage-global",
        "targets": {
          "edge": 16
        }
      }
    ]
  ]
}

created time in 5 days

issue openedbabel/babel-polyfills

Better error message when not providing options

Currently if you just run the polyfill without options it will throw with .method must be a string, we should also tell people the options they can choose.

{
  "plugins": ["babel-plugin-polyfill-corejs3"]
}

Something like, this plugin needs options, the method value, etc. And config example

created time in 5 days

issue openedbabel/babel

Modify all our package.json's to use a different value for the repository field

So package.json files can have a repository field!

After looking at https://github.com/babel/babel-polyfills with @nicolo-ribaudo, we realized there's another format for it that we should change all the packages in this monorepo to. https://docs.npmjs.com/files/package.json#repository

image

So for example: babel-cli

"repository": "https://github.com/babel/babel/tree/master/packages/babel-cli",

we should change to:

"repository": {
  "type" : "git",
  "url" : "https://github.com/babel/babel.git",
  "directory": "packages/babel-cli"
}

I would change all the files in eslint/codemods/packages folders!

created time in 5 days

push eventbabel/babel

Henry Zhu

commit sha 0ca5f8b2ec4d41b7c940b8cd02aeb27f677ec8fb

feature request issue template fix [skip ci] (#11618)

view details

push time in 5 days

delete branch babel/babel

delete branch : hzoo-patch-1

delete time in 5 days

PR merged babel/babel

feature request issue template fix [skip ci]

Formatted this wrong so it's not showing up in the issue templates

+7 -6

0 comment

1 changed file

hzoo

pr closed time in 5 days

PR opened babel/babel

feature request issue template fix [skip ci]

Formatted this wrong so it's not showing up in the issue templates

+7 -6

0 comment

1 changed file

pr created time in 5 days

create barnchbabel/babel

branch : hzoo-patch-1

created branch time in 5 days

push eventbabel/website

Henry Zhu

commit sha ca398da753902efb565c116c200ad89a3f0c7ff6

remove empty highlights section, change others to h2 (#2262)

view details

push time in 5 days

delete branch babel/website

delete branch : fix-h2-headings

delete time in 5 days

PR merged babel/website

remove empty highlights section, change others to h2

Noticed by reviewing https://github.com/babel/website/pull/2260

image

There's only 1 h2, which is "highlights" so it is unnecessary. Seems like I just added that in for 7.1 post for no reason so my bad 😄

image

+43 -62

1 comment

9 changed files

hzoo

pr closed time in 5 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha ec6682e2a27d621986c175f91cd6bd2a2a99f478

Update nostalgia.md

view details

push time in 5 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha 5f94cbb1b7728335f3a50a76c9bfa4903cbe1b5e

nostalgia (#23)

view details

push time in 5 days

delete branch hzoo/maintainersanonymous.com

delete branch : hzoo-patch-1

delete time in 5 days

PR merged hzoo/maintainersanonymous.com

nostalgia

@jdan

description? https://deploy-preview-23--maintainersanonymous.netlify.app/nostalgia/

+557 -0

0 comment

1 changed file

hzoo

pr closed time in 5 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha afcb9be3cb409c0321df8c53490aecb69dfe42e7

Update nostalgia.md

view details

push time in 5 days

PR opened hzoo/maintainersanonymous.com

nostalgia

@jdan

+556 -0

0 comment

1 changed file

pr created time in 5 days

create barnchhzoo/maintainersanonymous.com

branch : hzoo-patch-1

created branch time in 5 days

PR closed hzoo/maintainersanonymous.com

Bump acorn from 5.7.3 to 5.7.4 dependencies

Bumps acorn from 5.7.3 to 5.7.4. <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/acornjs/acorn/commit/6370e90067552022710190319cbbbd8c43001957"><code>6370e90</code></a> Mark version 5.7.4</li> <li><a href="https://github.com/acornjs/acorn/commit/fbc15b1344f6dfb992f67b4bbf1357436247c8a0"><code>fbc15b1</code></a> More rigorously check surrogate pairs in regexp validator</li> <li>See full diff in <a href="https://github.com/acornjs/acorn/compare/5.7.3...5.7.4">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 5 days

delete branch babel/babel

delete branch : nicolo-ribaudo-patch-1

delete time in 5 days

push eventbabel/babel

Nicolò Ribaudo

commit sha 2d27cf819e9a7b901b411e2526654d822e1a3c9a

Mention babel/rfcs in the "New feature" issue template (#11592) * Mention babel/rfcs in the "New feature" issue template * move npm issue to external gist, reword some issue template names and descriptions Co-authored-by: Henry Zhu <hi@henryzoo.com>

view details

push time in 5 days

PR merged babel/babel

Mention babel/rfcs in the "New feature" issue template

<!-- Before making a PR, please read our contributing guidelines https://github.com/babel/babel/blob/master/CONTRIBUTING.md

Please note that the Babel Team requires two approvals before merging most PRs.

For issue references: Add a comma-separated list of a closing word followed by the ticket number fixed by the PR. (it should be underlined in the preview if done correctly)

If you are making a change that should have a docs update: submit another PR to https://github.com/babel/website -->

Q A <!--(Can use an emoji 👍) -->
License MIT

<!-- Describe your changes below in as much detail as possible -->

+22 -36

2 comments

3 changed files

nicolo-ribaudo

pr closed time in 5 days

push eventbabel/website

Henry Zhu

commit sha e59ddec36486939c998402b977e7d073c0d79635

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha 3f4a2df3698f92296a973c4706926eed4435a4ca

Update 2020-05-25-7.10.0.md

view details

push time in 5 days

PR opened babel/website

remove empty highlights section, change others to h2

Noticed by reviewing https://github.com/babel/website/pull/2260

image

There's only 1 h2, which is "highlights" so it is unncessary. Seems like I just added that in for 7.1 post for no reason so my bad 😄

+43 -62

0 comment

9 changed files

pr created time in 5 days

create barnchbabel/website

branch : fix-h2-headings

created branch time in 5 days

push eventbabel/website

Henry Zhu

commit sha af32e471178f9a2598090974065ba0da8dc49a69

remove highlights h2, swap with other h3s

view details

push time in 5 days

push eventbabel/website

Henry Zhu

commit sha e9e97008360bda7fdb703c009f97795a5148b1c1

Apply suggestions from code review

view details

push time in 5 days

Pull request review commentbabel/website

7.10.0 blog post

+---+layout: post+title:  "7.10.0 Released: Class Fields in preset-env, '#private in' checks and better React tree-shaking"+author: Nicolò Ribaudo+authorURL: https://twitter.com/NicoloRibaudo+date:   2020-05-25 0:00:00+categories: announcements+share_text: "Babel 7.10.0 Released"+---++We just released a new minor version of Babel!++This 7.10 release includes:+- Full support for the new Stage 1 proposal, `#prop in obj` checks for private fields [proposal](https://github.com/tc39/proposal-private-fields-in-in) (`#prop in obj`).+- `@babel/preset-env` now compiles ES2015-style Unicode escapes (`\u{Babe1}`) to the equivalent legacy syntax (`\uDAAA\uDFE1`).+- Two improvements to the [Optional Chaining](https://github.com/tc39/proposal-optional-chaining) operator (`?.`)+- Parser support for the new Stage 1 [Module Attributes proposal](https://github.com/tc39/proposal-module-attributes) (`import a from "./a.json" with type: "json"`).+- Better tree-shaking support for React code (i.e. `React.memo`)!+- Setting up [RFCs](https://github.com/babel/rfcs) repo and [GitHub Discussions](https://github.com/babel/babel/discussions) pages!++You can read the whole changelog [on GitHub](https://github.com/babel/babel/releases/tag/v7.10.0).++<!-- truncate -->++Alongside this Babel release, we are releasing the first experimental version of our new [polyfills compatibility architecture](https://github.com/babel/babel-polyfills) (see below for more details) thanks to [Nicolò](https://twitter.com/NicoloRibaudo) and some awesome folks in the community! We began discussions about this over a year ago in a [RFC issue](https://github.com/babel/babel/issues/10008) within the Babel repository.++As an aside, we now have an official RFC process for discussing changes that significantly impact our users: please check it out over in the [`babel/rfcs`](https://github.com/babel/rfcs) repository! In addition, we've enabled [GitHub Discussions](https://github.com/babel/babel/discussions) on our repository if you have feedback or questions!++If you or your company want to support Babel and the evolution of JavaScript, but aren't sure how, you can donate to us on our [Open Collective](https://opencollective.com/babel) and, better yet, work with us on the implementation of [new ECMAScript proposals](https://github.com/babel/proposals) directly! As a volunteer-driven project, we rely on the community's support to fund our efforts in supporting the wide range of JavaScript users. Reach out at [team@babeljs.io](mailto:team@babeljs.io) if you'd like to discuss more!++## Highlights++### New features enabled by default++Now that it has reached Stage 4, parsing for [`import.meta`](https://github.com/tc39/proposal-import-meta) is enabled by default. Please note that `@babel/preset-env` doesn't support transforming it, because what that object contains is up to the engine and is not defined in the ECMAScript specification.
Now that it has reached Stage 4, _parsing_ for [`import.meta`](https://github.com/tc39/proposal-import-meta) is enabled by default. Please note that `@babel/preset-env` doesn't have any default support for _transforming_ it, because what that object contains is up to the engine and is not defined in the ECMAScript specification.

aside: if we know the target (node), it should be possible to transform some forms of it to some equivalent in some cases right (import.meta.url)?

nicolo-ribaudo

comment created time in 5 days

Pull request review commentbabel/website

7.10.0 blog post

+---+layout: post+title:  "7.10.0 Released: Class Fields in preset-env, '#private in' checks and better React tree-shaking"+author: Nicolò Ribaudo+authorURL: https://twitter.com/NicoloRibaudo+date:   2020-05-25 0:00:00+categories: announcements+share_text: "Babel 7.10.0 Released"+---++We just released a new minor version of Babel!++This 7.10 release includes:+- Full support for the new Stage 1 proposal, `#prop in obj` checks for private fields [proposal](https://github.com/tc39/proposal-private-fields-in-in) (`#prop in obj`).
- Full support for the new Stage 1 proposal, `#prop in obj` checks for private fields [proposal](https://github.com/tc39/proposal-private-fields-in-in).
nicolo-ribaudo

comment created time in 5 days

push eventbabel/website

Henry Zhu

commit sha cf0f8207247a56c67fb76ba46738aae6dab452f6

Apply suggestions from code review Co-authored-by: Brian Ng <bng412@gmail.com>

view details

push time in 5 days

Pull request review commentbabel/babel-polyfills

Improve readme

 A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code. Additionally, this reporitory contains a package that helps creating providers for any other polyfill. -> ⚠️ These packages are highly experimental and not published yet. You can use GitHub's "Watch for Releases only" feature to be notified when the first version is published.+> ⚠️ These packages are **highly experimental** and they have not been tested in production applications yet. Also, we are still working ond wiring some missing polyfills.  > ℹ️ This repository implements what was initially proposed at [babel/babel#10008](https://github.com/babel/babel/issues/10008).  > 💡 If you are looking for some quick setup examples, or just want to see how to migrade your config, please check [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md). -## How does it work?+## Usage++The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ (`Array.prototype.flat`) or _built-in objects_ (`Promise`) work in older browsers.++The easiest way to do so is to directly load the polyfill using a `<script ...>` tag:+```html+<script src="https://unpkg.com/core-js-bundle@3.6.5/minified.js"></script>+```++However, this simple approach can potentially include a lot of unnecessary code. The Babel plugins implemented in this repository automatically inject the polyfills in your code, while trying to only load what is really needed. It does this based on your compilation targets and on what you are using in your code.

Maybe everything before The Babel plugins implemented in this repository automatically could go in a ## Motivation/Reasoning/Why Section?

nicolo-ribaudo

comment created time in 6 days

Pull request review commentbabel/babel-polyfills

Improve readme

 A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code. Additionally, this reporitory contains a package that helps creating providers for any other polyfill. -> ⚠️ These packages are highly experimental and not published yet. You can use GitHub's "Watch for Releases only" feature to be notified when the first version is published.+> ⚠️ These packages are **highly experimental** and they have not been tested in production applications yet. Also, we are still working ond wiring some missing polyfills.  > ℹ️ This repository implements what was initially proposed at [babel/babel#10008](https://github.com/babel/babel/issues/10008).  > 💡 If you are looking for some quick setup examples, or just want to see how to migrade your config, please check [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md). -## How does it work?+## Usage++The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ (`Array.prototype.flat`) or _built-in objects_ (`Promise`) work in older browsers. The Babel plugins implemented in this repository automatically inject these polyfills in your code, while trying to only load what is really needed. It does this based on your compilation targets and on what you are using in your code.++These plugins (we are calling them "polyfill providers") support different [injection *methods*](#injection-methods), to better fit your needs.++For example, if you want to inject imports to [`es-shims`](https://github.com/es-shims) polyfills by adding the missing functions to the global objects, you could configure Babel as such:++<!-- prettier-ignore-start -->+<table>+<thead><tr>+<th align="center">Configuration</th>+<th align="center">Input code</th>+<th align="center">Output code</th>+</tr></thead>+<tr>+<td>++```json+{+  "plugins": [+    ["polyfill-es-shims", {+      "method": "usage-global",+      "targets": {+        "firefox": 65+      }+    }]+  ]+}+```++</td>+<td>++```js+ + + +Promise.allSettled([+  p1,+  p2+]).finally(() => {+  console.log("Done!");+});+ +```++</td>+<td>++```js+import "promise.prototype.finally/auto.js";+import "promise.allsettled/auto.js";++Promise.allSettled([+  p1,+  p2+]).finally(() => {+  console.log("Done!");+});+ +```++</td>+</tr>+</table>+<!-- prettier-ignore-end -->++If you want to see more configuration examples, you can check the migration docs: [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md).++If you are interested in reading about all the options supported by these plugins, you can check the usage docs: [`docs/usage.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md).++## Supported polyfills++<!--prettier-ignore -->+| Polyfill | Plugin | Methods |+| :------: | :----: | :-----: |+| `core-js@2` | [`babel-plugin-polyfill-corejs2`](./packages/babel-plugin-polyfill-corejs2) | `entry-global`, `usage-global` and `usage-pure` |+| `core-js@3` | [`babel-plugin-polyfill-corejs3`](./packages/babel-plugin-polyfill-corejs3) | `entry-global`, `usage-global` and `usage-pure` |+| `es-shims` | [`babel-plugin-polyfill-es-shims`](./packages/babel-plugin-polyfill-es-shims) | `usage-global` and `usage-pure` |+| `regenerator-runtime` | [`babel-plugin-polyfill-regenerator`](./packages/babel-plugin-polyfill-regenerator) | `entry-global`, `usage-global` and `usage-pure` |++> 💡 If you want to implement support for a custom polyfill, you can use `@babel/helper-define-polyfill-provider`. ([`docs/polyfill-provider.md`](https://github.com/babel/babel-polyfills/blob/master/docs/polyfill-provider.md).)

You basically said this here, but above the table should we say, these are the ones we've made/maintained/setup but doesn't mean you have to use these? Or a note we can list others if it meets some criteria

nicolo-ribaudo

comment created time in 6 days

Pull request review commentbabel/babel-polyfills

Improve readme

 # Babel Polyfills -A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code.-Additionally, this reporitory contains a package that helps creating providers for any other polyfill.--> ⚠️ These packages are highly experimental and not published yet. You can use GitHub's "Watch for Releases only" feature to be notified when the first version is published.+> ⚠️ These packages are **highly experimental** and they have not been tested in production applications yet. Also, we are still working ond wiring some missing polyfills.  > ℹ️ This repository implements what was initially proposed at [babel/babel#10008](https://github.com/babel/babel/issues/10008).  > 💡 If you are looking for some quick setup examples, or just want to see how to migrade your config, please check [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md). -## How does it work?+## Usage++The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ or _built-in objects_ work in older browsers. The Babel plugins implemented in this repository automatically inject the polyfills in your code, trying to only load what is really needed basd on your compilation targets and on what you are using in your code.

Could be good in history section too

nicolo-ribaudo

comment created time in 6 days

push eventbabel/babel-polyfills

Henry Zhu

commit sha 44aed0f2bd1f069486b5a5ff55ee41966dc0f4a4

Update README.md

view details

push time in 6 days

Pull request review commentbabel/babel-polyfills

Improve readme

 # Babel Polyfills -A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code.-Additionally, this reporitory contains a package that helps creating providers for any other polyfill.--> ⚠️ These packages are highly experimental and not published yet. You can use GitHub's "Watch for Releases only" feature to be notified when the first version is published.+> ⚠️ These packages are **highly experimental** and they have not been tested in production applications yet. Also, we are still working ond wiring some missing polyfills.  > ℹ️ This repository implements what was initially proposed at [babel/babel#10008](https://github.com/babel/babel/issues/10008).  > 💡 If you are looking for some quick setup examples, or just want to see how to migrade your config, please check [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md). -## How does it work?+## Usage++The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ or _built-in objects_ work in older browsers. The Babel plugins implemented in this repository automatically inject the polyfills in your code, trying to only load what is really needed basd on your compilation targets and on what you are using in your code.

Actually would like to add a short thing about how you would normally do <script src= or do import "polyfill" at the top of your file but that assumes your targets don't change or that you are using that polyfill.

nicolo-ribaudo

comment created time in 6 days

Pull request review commentbabel/babel-polyfills

Improve readme

 # Babel Polyfills -A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code.-Additionally, this reporitory contains a package that helps creating providers for any other polyfill.--> ⚠️ These packages are highly experimental and not published yet. You can use GitHub's "Watch for Releases only" feature to be notified when the first version is published.+> ⚠️ These packages are **highly experimental** and they have not been tested in production applications yet. Also, we are still working ond wiring some missing polyfills.  > ℹ️ This repository implements what was initially proposed at [babel/babel#10008](https://github.com/babel/babel/issues/10008).  > 💡 If you are looking for some quick setup examples, or just want to see how to migrade your config, please check [`docs/migration.md`](https://github.com/babel/babel-polyfills/blob/master/docs/migration.md). -## How does it work?+## Usage++The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ or _built-in objects_ work in older browsers. The Babel plugins implemented in this repository automatically inject the polyfills in your code, trying to only load what is really needed basd on your compilation targets and on what you are using in your code.
The main Babel packages only transform JavaScript _syntax_: you also need to load a polyfill, to make native _functions_ (`Array.prototype.flat`) or _built-in objects_ (`Promise`) work in older browsers. The Babel plugins implemented in this repository automatically inject these polyfills in your code, while trying to only load what is really needed. It does this based on your compilation targets and on what you are using in your code.
nicolo-ribaudo

comment created time in 6 days

Pull request review commentbabel/babel-polyfills

Improve readme

 # Babel Polyfills -A set of Babel plugins that enable injecting different polyfills with different strategies in your compiled code.

add this back!

nicolo-ribaudo

comment created time in 6 days

push eventbabel/website

Henry Zhu

commit sha aa84bcd71888a85131631ccc7200135de5bf6aad

Update 2020-05-25-7.10.0.md

view details

push time in 6 days

push eventbabel/website

Henry Zhu

commit sha 25306f4aa773f4f2a8f1baf503886a1d49a04165

Update 2020-05-25-7.10.0.md

view details

push time in 6 days

push eventbabel/website

Henry Zhu

commit sha 170f0234e3d3b1e445a4c228c0907da1ec70b6ca

Update 2020-05-25-7.10.0.md

view details

push time in 7 days

push eventbabel/website

Henry Zhu

commit sha 1d74a9ecfc62e673632eef1064e24030d02e67bf

Apply suggestions from code review Co-authored-by: Brian Ng <bng412@gmail.com>

view details

push time in 7 days

startedmozilla/DeepSpeech

started time in 8 days

push eventbabel/babel

Henry Zhu

commit sha b09901e82b34d936a5759d0963b2b41978983c82

add a link to babel/rfcs, move npm issue to external gist, reword some issue template names and descriptions

view details

push time in 9 days

Pull request review commentbabel/babel

Mention babel/rfcs in the "New feature" issue template

 assignees: ''  --- +<!---

Not sure how to change the ordering, but we can also point to the repo here in the template: https://github.com/babel/babel/blob/master/.github/ISSUE_TEMPLATE/config.yml as an external link, depending on what they see

image

nicolo-ribaudo

comment created time in 9 days

fork hzoo/winget-pkgs

The Microsoft community Windows Package Manager manifest repository

fork in 11 days

push eventbabel/babel

Henry Zhu

commit sha 73ab27c11a88f9bbc33caec6e8b781b8c3b7602c

Update templates, add link to github discussions (#11585) [skip ci]

view details

push time in 13 days

PR merged babel/babel

Update templates, add link to github discussions

Some updates for issue templates

We can remove the .github/ISSUE_TEMPLATE/Support_question.md in favor of the more "native" link button in the new config.yml file. Same with support/sponsor. v7 regression doesn't seem as helpful anymore either.

+15 -114

2 comments

7 changed files

hzoo

pr closed time in 13 days

push eventhzoo/babel

Henry Zhu

commit sha c25dc85e3cb53271b66a040ea97a5863038a9bcc

Update Bug_report.md

view details

push time in 13 days

Pull request review commentbabel/babel

Update templates, add link to github discussions

 assignees: ''  ## Bug Report -<!-- Check this if you would like to implement a PR, we are more than happy to help you go through the process !-->+<!-- If you would like to implement a PR, we are more than happy to help you go through the process!--> - [ ] I would like to work on a fix!  <!-- @babel/eslint-parser:   If you are having issues with JSX you might want to check out eslint-plugin-react. If there's an issue with new experimental syntax you might need check if it's supported by @babel/eslint-plugin. --> -**Current Behavior**+**Current behavior** A clear and concise description of the behavior. -- [REPL](babeljs.io/repl), [Codesandbox](https://codesandbox.io/s/babel-repl-custom-plugin-7s08o?file=/src/index.js), or GitHub Repo link if applicable:+- [REPL](babeljs.io/repl), [Codesandbox](https://codesandbox.io/s/babel-repl-custom-plugin-7s08o?file=/src/index.js), GitHub Repo, or screenshot if applicable:

I guess I didn't mean it as an alternative but get your point!

hzoo

comment created time in 13 days

PR opened babel/babel

Update templates, add link to github discussions

Some updates for issue templates

We can remove the .github/ISSUE_TEMPLATE/Support_question.md in favor of the more "native" link button in the new config.yml file. Same with support/sponsor. v7 regression doesn't seem as helpful anymore either.

+15 -114

0 comment

7 changed files

pr created time in 13 days

push eventhzoo/babel

Henry Zhu

commit sha 8aa5e574a0c47bd67614fb3a5042479889fed4fb

Update issue template (#11524) * Update Bug_report.md * Update ci.json [skip ci]

view details

Huáng Jùnliàng

commit sha b8a6145e50aee41024abc722ad9a5e10975647d0

fix: skip transform delete something.includes (#11530)

view details

Justin Ridgewell

commit sha a080a1d345a7f898ede69df20ea52a1c6a84e959

Use single object spread call in loose mode (#11520)

view details

Justin Ridgewell

commit sha c3a5bf1ff5bd0df437bc20752464d08674d011d3

Update preset-env tests, and add yarn.lock deps (#11537)

view details

Nicolò Ribaudo

commit sha aeb51f463cdd7bffa05ef7bfec4e4006a2f1089a

Do not remove `"estree": null` in ESLint tests

view details

Nicolò Ribaudo

commit sha 31b361b736ee519180f9ea341e2a3e4e710d2ef4

Use ?. where it represents the intended semantics (#11512)

view details

Nicolò Ribaudo

commit sha 07347544fda9c88064379ec705a3c42224aa4c0a

Downgrade rollup to 1.27.9 (#11538) * Downgrade rollup to 1.27.9 * Add test

view details

Nikita Kirsanov

commit sha 9a52019019527be8c179ea7c9025fa2355f16170

Use computed memberExpression for literal keys with object rest (#11550)

view details

Jason Quense

commit sha de8264c8a712bcd04c0d8ec5352aa9fb3002776f

fix: don't elide jsx pragma import namespaces (#11523) * fix: don't elide jsx pragma import namespaces * use the correct pragma oops

view details

Huáng Jùnliàng

commit sha 2f31ecf85d85cb100fa08d4d9a09de0fe4a117e4

fix: allow bigInt in method name and TSLiteralType (#11547) * refactor: add isLiteralPropertyName to parser utils * address review comments [skip-ci] * refactor: keyword is valid identifierName * fix: allow bigint in TSLiteralType * update typescript test whitelist

view details

Henry Zhu

commit sha 976e44c3354e25a5c7d03d3f1553e79853eeb0ab

Update templates, add link to discussions [skip ci]

view details

push time in 13 days

push eventhzoo/babel

Henry Zhu

commit sha 8aa5e574a0c47bd67614fb3a5042479889fed4fb

Update issue template (#11524) * Update Bug_report.md * Update ci.json [skip ci]

view details

Huáng Jùnliàng

commit sha b8a6145e50aee41024abc722ad9a5e10975647d0

fix: skip transform delete something.includes (#11530)

view details

Justin Ridgewell

commit sha a080a1d345a7f898ede69df20ea52a1c6a84e959

Use single object spread call in loose mode (#11520)

view details

Justin Ridgewell

commit sha c3a5bf1ff5bd0df437bc20752464d08674d011d3

Update preset-env tests, and add yarn.lock deps (#11537)

view details

Nicolò Ribaudo

commit sha aeb51f463cdd7bffa05ef7bfec4e4006a2f1089a

Do not remove `"estree": null` in ESLint tests

view details

Nicolò Ribaudo

commit sha 31b361b736ee519180f9ea341e2a3e4e710d2ef4

Use ?. where it represents the intended semantics (#11512)

view details

Nicolò Ribaudo

commit sha 07347544fda9c88064379ec705a3c42224aa4c0a

Downgrade rollup to 1.27.9 (#11538) * Downgrade rollup to 1.27.9 * Add test

view details

Nikita Kirsanov

commit sha 9a52019019527be8c179ea7c9025fa2355f16170

Use computed memberExpression for literal keys with object rest (#11550)

view details

Jason Quense

commit sha de8264c8a712bcd04c0d8ec5352aa9fb3002776f

fix: don't elide jsx pragma import namespaces (#11523) * fix: don't elide jsx pragma import namespaces * use the correct pragma oops

view details

Huáng Jùnliàng

commit sha 2f31ecf85d85cb100fa08d4d9a09de0fe4a117e4

fix: allow bigInt in method name and TSLiteralType (#11547) * refactor: add isLiteralPropertyName to parser utils * address review comments [skip-ci] * refactor: keyword is valid identifierName * fix: allow bigint in TSLiteralType * update typescript test whitelist

view details

push time in 13 days

create barnchhzoo/babel

branch : update-templates

created branch time in 13 days

fork hzoo/next.js

The React Framework

https://nextjs.org

fork in 13 days

issue openedbabel/notes

Babel 8 Ecosystem Migration Stuff

Didn't want to spam our release issue too much so just writing this here as well.

Pinned Release Plan Issue

There are a lot of concerns around what a major version bump would look like for the ecosystem. What else can we do in additon to a upgrade guide for the end user (good errors, clear explaination of changes, workaround/migration)?

What about dependencies of dependencies? Especially if you aren't using Babel directly (same issues from v6 to v7). We went the slow approach of essentially a year of alphas/betas/rc so that by the time it was out most things were already updated and it may of been relatively smooth compared to v5 to v6.

To Try

Use an environment variable (currently BABEL_8_BREAKING), which includes all breaking changes. Essentially a "feature flag". Just introduce (and continue to add onto) in patch versions.

Enables opt-ing into breaking changes without needing to change versions or dependencies.

So as a library author, you could do a dry-run and update accordingly. Or make PRs that run against the flag so that you can update the package ahead of release as we land changes. (hopefully we don't prolong this more than needed).

For the Babel codebase, ideally we do it in a way that makes this easy to automate away with a codemod. V8 diff would be removing the flags.

if (process.env.BABEL_8_BREAKING) {
    // new code: keep the body of the if statement
    runNewFunction();
} else {
    // old code
    runOldFunction();
}
// new code
runNewFunction();

Tests?

We'll need to run tests for both "versions" to not break anything.

One approach: based on file extension: if the flag is enabled and it's a v7 test OR if the flag isn't enable and it's a v8 test, then skip the test?

Test renaming:

  • A test only for v7: rename to output.v7.js, options.v7.json
  • A test only for v8: rename to output.v8.js, options.v8.json
  • For both: keep as is!
  • During v8 release: remove all .v7. files, rename .v8. files to normal

Issues

  • Generally (or the Babel codebase), we shouldn't intend to use this approach in general.. and end up with if statements/flags everywhere. So use a unique name for the flag: BABEL_8_BREAKING babel a.js instead of something like BABEL_BREAKING babel a.js
    • Does it even matter it's a process.env vs. config option? It seems easier since we don't need to pass options between packages (config, plugin, parser option). Also there's no access to options in our interations like CRA.
  • We already have a next-8-dev branch that has merged some PRs into it. Ideally we would be able to just port all breaking change PRs to master under the flag and ignore next-8-dev.
  • It's very likely can't put everything under a flag, but it's a best effort to help with ecosytem migration. We can defer those till the actual release.
  • What about only supporting later versions of Node? We'll have to defer to the final release?

created time in 18 days

delete branch hzoo/maintainersanonymous.com

delete branch : hzoo-patch-1

delete time in 18 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha 1ac250c474ab4be510e633407e4a96875be0f8ac

Create metaphor.md (#22)

view details

push time in 18 days

PR merged hzoo/maintainersanonymous.com

Create metaphor.md

https://share.transistor.fm/s/33bb512b?preview=true

+454 -0

0 comment

1 changed file

hzoo

pr closed time in 18 days

issue commentbabel/babel

Babel 8 Release Plan

Was thinking through some ideas on how to make the migration easier (not for 1 project for the ecosystem) with @nicolo-ribaudo and @existentialism and I'll post an idea we had here: https://hackmd.io/2WTT3Z5HSZutVkk5biGKfA. (this is in addition to writing up a guide to migrate and codemods where possible)

Basically was thinking we could enable the breaking changes in a 7.x patch under an environmental flag, run like BABEL_8_BREAKING babel or with whatever integration so that any library/plugin can opt-into trying that locally and publish new versions ahead of us releasing anything. We would have to manage the if branches in the code and even tests + cleanup after but maybe that can help ease?

Other ideas welcome.

nicolo-ribaudo

comment created time in 19 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha fa78b7f20ef9859441c22e8b3d1413bb0d707805

Update metaphor.md

view details

push time in 19 days

push eventhzoo/maintainersanonymous.com

Henry Zhu

commit sha 896b6cb95d129a07a83010ebca24f800b95cf2c5

Update metaphor.md

view details

push time in 19 days

create barnchhzoo/maintainersanonymous.com

branch : hzoo-patch-1

created branch time in 19 days

Pull request review commentbabel/babel

Refine babel core types

+// Jest Snapshot v1, https://goo.gl/fbAQLP++exports[`@babel/core config loading programmatic plugins/presets should throw when plugin contains \`enter\` handler 1`] = `"[BABEL] /Users/jh/code/babel/packages/babel-core/test/fixtures/config-loading/folder/example.js: .visitor cannot contain catch-all \\"enter\\" or \\"exit\\" handlers. Please target individual nodes."`;

yeah I think so, it was added to core, although we could revisit that (change it back) too

JLHwung

comment created time in 19 days

Pull request review commentbabel/babel

Isolated exec tests

-var code = multiline([

If it's a concern around people using babel-helper-transform-fixture-test-runner as a dep I think we've never supported that as an API so it's fine (https://www.npmjs.com/package/@babel/helper-transform-fixture-test-runner). It's internal only essentially (we have no docs on it either), not that it's a good thing

jridgewell

comment created time in 21 days

push eventbabel/notes

Henry Zhu

commit sha 69ed255b8ca5d97e50a790a105b0b7a664be6529

Update 05-07.md

view details

push time in 23 days

push eventbabel/notes

Henry Zhu

commit sha 97b61ad62394e6076cce452cfe04f6c4664943a2

Create 05-07.md (#115) Co-authored-by: Brian Ng <bng412@gmail.com> Co-authored-by: Justin Ridgewell <justin@ridgewell.name>

view details

push time in 23 days

PR merged babel/notes

Create 05-07.md

Adding notes from today's meeting!

Rendered: https://github.com/babel/notes/blob/762cd08a9c4197449ca3b3a6675554aa5816174b/2020/05-07.md

+88 -0

0 comment

1 changed file

hzoo

pr closed time in 23 days

PR opened zupanssi/beginner-projects

using default parameters!

Learning about default parameters (don't need to use global)

+5 -9

0 comment

1 changed file

pr created time in 23 days

create barnchzupanssi/beginner-projects

branch : def

created branch time in 23 days

PR opened zupanssi/beginner-projects

Refactoring both interval and rock paper scissors

with @zupanssi

+135 -147

0 comment

2 changed files

pr created time in 23 days

create barnchzupanssi/beginner-projects

branch : refactor

created branch time in 23 days

Pull request review commentbabel/babel

Update preset-env tests, and add yarn.lock deps

   ],   "npmClient": "yarn",   "npmClientArgs": [-    "--no-lockfile"+    "--pure-lockfile"

Oh I meant that we didn't want lockfiles everywhere so I believe that's why --no-lockfile was originally added. yeah maybe pure is the way to go then but yeah need to update manually otherwise.

jridgewell

comment created time in 23 days

push eventbabel/rfcs

Henry Zhu

commit sha 39c320d4aefff44b8251bd52b757e0c927aa8d95

Update README.md

view details

push time in 23 days

Pull request review commentbabel/babel

Update preset-env tests, and add yarn.lock deps

   ],   "npmClient": "yarn",   "npmClientArgs": [-    "--no-lockfile"+    "--pure-lockfile"

haha was so long ago, I assume it was because it was adding a lockfile to every package when you run make bootstrap instead of one at the top level?

jridgewell

comment created time in 23 days

pull request commentbabel/babel

Downgrade rollup to 1.27.9

We cannot upgrade to Rollup 2 yet because it requires Node.js 10. Are we building standalone on every node version? Maybe we could just do it on latest?

nicolo-ribaudo

comment created time in 23 days

pull request commentbabel/babel

Fix evaluation order with object spread, 2

We merged https://github.com/babel/babel/pull/11520 which changes the output in loose

jridgewell

comment created time in 23 days

push eventbabel/notes

Henry Zhu

commit sha 762cd08a9c4197449ca3b3a6675554aa5816174b

Update 05-07.md

view details

push time in 23 days

push eventbabel/notes

Henry Zhu

commit sha 8e201f10fff82ce3e027ea210da13570155177cb

Update 05-07.md

view details

push time in 23 days

push eventbabel/notes

Henry Zhu

commit sha adc35300516f32c6a137a0e498b92b2a209f8ff5

Update 05-07.md

view details

push time in 24 days

PR opened babel/notes

Create 05-07.md

Adding notes from today's meeting!

+11 -0

0 comment

1 changed file

pr created time in 24 days

create barnchbabel/notes

branch : hzoo-patch-6

created branch time in 24 days

pull request commentbabel/babel

Use rollup to bundle @babel/polyfill

Maybe could also inject this version of the polyfill into our own test runner, but would need to build that before any other tests are run

jridgewell

comment created time in 24 days

Pull request review commentWordPress/gutenberg

Docs: Coding Guidelines: Document JavaScript language support commitment

  Default [Babel](https://babeljs.io/) preset for WordPress development. +The preset includes configuration which enable language features and syntax extensions targeted for support by WordPress. This includes [ECMAScript proposals](https://github.com/tc39/proposals) which have reached [Stage 4 ("Finished")](https://tc39.es/process-document/), as well as the [JSX syntax extension](https://reactjs.org/docs/introducing-jsx.html). For more information, refer to the [JavaScript Coding Guidelines](https://github.com/WordPress/gutenberg/blob/master/docs/contributors/coding-guidelines.md#javascript).

Dang, good to know the staging process and shippedProposals is still confusing, so we could be doing a better job of explaining everything..

The whole discussion boils down to the question if the shippedProposals flag enables features that are guaranteed to be included in JavaScript specification quick point: If guaranteed means 100% then no, it's more like 90%. It means browsers like Chrome have implemented it and it's "possible" there will be tweaks but in most cases unlikely.

https://tc39.es/process-document/. shippedProposals is sorta like a compromise where it's like "3.5" - it's basically done and browsers want people to try it out but it's always possible to remove it or change it, especially if it's under a flag in the browser still. The difference between 3 and 4 is just that the feature is basically done but it depends on "real world" usage (although I'd argue that's what Babel is for) but you could talk about the difference between the API/syntax usage via Babel or the performance in native browsers, etc. Stage 4 is the guaranteed time if you want to be absolutely sure. In the end, a judgement call, just giving the option for what a lot of people are ok with. As an example, I Decorators were at Stage 3 and went down a stage, and then changed, class properties moved down and were split into different proposals, etc.

aduth

comment created time in 25 days

pull request commentzupanssi/rps

Commit version 1 only at first

Adding another commit to show a diff

hzoo

comment created time in a month

push eventhzoo/rps

Henry Zhu

commit sha dd1e2ba3de85ad55e170e52f2f15f1cdb02800ae

replace version 1 with version 2 you can see the diff now!

view details

push time in a month

Pull request review commentzupanssi/rps

Commit version 1 only at first

 def r3():     r0() else:     print('invalid entry, run script again')-'''-#version 2.0 May 5, 2020

And this is just me explaining we are adding the other file in the next commit

hzoo

comment created time in a month

PR opened zupanssi/rps

Commit version 1 only at first

Showing off making a PR via zoom

+0 -125

0 comment

1 changed file

pr created time in a month

push eventhzoo/rps

Henry Zhu

commit sha 970223d8dbbc62a01d2fd8e151c8e74a78bd0b3d

keep Version 1.0 May 4, 2020

view details

push time in a month

fork hzoo/rps

fork in a month

more