Files
flipper/js/js-flipper
dependabot[bot] c4962216b5 Bump @babel/core from 7.19.3 to 7.20.5 in /js/js-flipper (#4343)
Summary:
Bumps [babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.19.3 to 7.20.5.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/babel/babel/releases"><code>@​babel/core</code>'s releases</a>.</em></p>
<blockquote>
<h2>v7.20.5 (2022-11-28)</h2>
<p>Thanks <a href="https://github.com/davydof"><code>@​davydof</code></a> and <a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a> for your first PRs!</p>
<h4>👓 Spec Compliance</h4>
<ul>
<li><code>babel-helpers</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15183">#15183</a> Improve array destructuring spec compliance (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-cli</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-preset-env</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15182">#15182</a> fix: apply toPropertyKey when defining class members (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-private-property-in-object</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15133">#15133</a> fix: validate rhs of <code>in</code> when transpiling <code>#p in C</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15225">#15225</a> Parse <code>using[foo]</code> as computed member expression (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15207">#15207</a> Export <code>ParseResult</code> type (<a href="https://github.com/davydof"><code>@​davydof</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15198">#15198</a> fix: parse <code>import module, ...</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-wrap-function</code>, <code>babel-preset-env</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15181">#15181</a> fix: Edge cases for async functions and <code>noNewArrow</code> assumption (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-arrow-functions</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15163">#15163</a> fix: Throw error when compiling <code>super()</code> in arrow functions with default / rest parameters (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>, <code>babel-node</code>, <code>babel-plugin-proposal-async-generator-functions</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15194">#15194</a> fix: Bump <code>regenerator</code> and add tests (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-regexp-features-plugin</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15192">#15192</a> fix: Update <code>regjsparser</code> for <code>babel/standalone</code> (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-types</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15109">#15109</a> fix: Babel 8 types (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15143">#15143</a> Don't print inner comments as leading when wrapping in <code>(``)</code> (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15167">#15167</a> Register <code>switch</code>'s <code>discriminant</code> in the outer scope (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>💅 Polish</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15173">#15173</a> Improve generator behavior when <code>comments:false</code> (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15164">#15164</a> Only extract IDs for TDZ checks in assign when necessary (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><code>babel-core</code>, <code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15202">#15202</a> Bump typescript to 4.9.3 (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>Committers: 6</h4>
<ul>
<li>Alexander Davydov (<a href="https://github.com/davydof"><code>@​davydof</code></a>)</li>
<li>Babel Bot (<a href="https://github.com/babel-bot"><code>@​babel-bot</code></a>)</li>
<li>Huáng Jùnliàng (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li>Nicolò Ribaudo (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
<li>Tianlan Zhou (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
<li><a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/babel/babel/blob/main/CHANGELOG.md"><code>@​babel/core</code>'s changelog</a>.</em></p>
<blockquote>
<h2>v7.20.5 (2022-11-28)</h2>
<h4>👓 Spec Compliance</h4>
<ul>
<li><code>babel-helpers</code>, <code>babel-plugin-transform-destructuring</code>, <code>babel-plugin-transform-modules-commonjs</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15183">#15183</a> Improve array destructuring spec compliance (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-cli</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-class-properties</code>, <code>babel-plugin-proposal-class-static-block</code>, <code>babel-plugin-transform-classes</code>, <code>babel-plugin-transform-runtime</code>, <code>babel-preset-env</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15182">#15182</a> fix: apply toPropertyKey when defining class members (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-class-features-plugin</code>, <code>babel-helpers</code>, <code>babel-plugin-proposal-decorators</code>, <code>babel-plugin-proposal-private-property-in-object</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15133">#15133</a> fix: validate rhs of <code>in</code> when transpiling <code>#p in C</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15225">#15225</a> Parse <code>using[foo]</code> as computed member expression (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15207">#15207</a> Export <code>ParseResult</code> type (<a href="https://github.com/davydof"><code>@​davydof</code></a>)</li>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15198">#15198</a> fix: parse <code>import module, ...</code> (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-wrap-function</code>, <code>babel-preset-env</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15181">#15181</a> fix: Edge cases for async functions and <code>noNewArrow</code> assumption (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-arrow-functions</code>, <code>babel-plugin-transform-parameters</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15163">#15163</a> fix: Throw error when compiling <code>super()</code> in arrow functions with default / rest parameters (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-helpers</code>, <code>babel-node</code>, <code>babel-plugin-proposal-async-generator-functions</code>, <code>babel-plugin-transform-regenerator</code>, <code>babel-preset-env</code>, <code>babel-runtime-corejs2</code>, <code>babel-runtime-corejs3</code>, <code>babel-runtime</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15194">#15194</a> fix: Bump <code>regenerator</code> and add tests (<a href="https://github.com/SuperSodaSea"><code>@​SuperSodaSea</code></a>)</li>
</ul>
</li>
<li><code>babel-helper-create-regexp-features-plugin</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15192">#15192</a> fix: Update <code>regjsparser</code> for <code>babel/standalone</code> (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-parser</code>, <code>babel-types</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15109">#15109</a> fix: Babel 8 types (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15143">#15143</a> Don't print inner comments as leading when wrapping in <code>(``)</code> (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>, <code>babel-traverse</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15167">#15167</a> Register <code>switch</code>'s <code>discriminant</code> in the outer scope (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>💅 Polish</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15173">#15173</a> Improve generator behavior when <code>comments:false</code> (<a href="https://github.com/liuxingbaoyu"><code>@​liuxingbaoyu</code></a>)</li>
</ul>
</li>
<li><code>babel-plugin-transform-block-scoping</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15164">#15164</a> Only extract IDs for TDZ checks in assign when necessary (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h4>🏠 Internal</h4>
<ul>
<li><code>babel-core</code>, <code>babel-parser</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15202">#15202</a> Bump typescript to 4.9.3 (<a href="https://github.com/JLHwung"><code>@​JLHwung</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.20.4 (2022-11-08)</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-generator</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15160">#15160</a> Fix printing of comments before <code>=&gt;</code> (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
<li><code>babel-generator</code>, <code>babel-plugin-transform-typescript</code>
<ul>
<li><a href="https://github-redirect.dependabot.com/babel/babel/pull/15144">#15144</a> Falback to printing inner comments as trailing (<a href="https://github.com/nicolo-ribaudo"><code>@​nicolo-ribaudo</code></a>)</li>
</ul>
</li>
</ul>
<h2>v7.20.3 (2022-11-07)</h2>
<h4>🐛 Bug Fix</h4>
<ul>
<li><code>babel-generator</code></li>
</ul>

</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="29a97b8ea2"><code>29a97b8</code></a> v7.20.5</li>
<li><a href="f6546d79d4"><code>f6546d7</code></a> Bump typescript to 4.9.3 (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/15202">#15202</a>)</li>
<li><a href="5f19f621d9"><code>5f19f62</code></a> Bump babel deps (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/15187">#15187</a>)</li>
<li><a href="12a58cb58c"><code>12a58cb</code></a> v7.20.2</li>
<li><a href="77f3700fa2"><code>77f3700</code></a> fix: <code>babel/node</code> repl and enable <code>no-use-before-define</code> rule (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/15124">#15124</a>)</li>
<li><a href="aadd7a3d52"><code>aadd7a3</code></a> v7.19.6</li>
<li><a href="d0e58e646e"><code>d0e58e6</code></a> Don't bundle unnecessary plugins in <code>babel/standalone</code> (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/15023">#15023</a>)</li>
<li><a href="d45d59a4e3"><code>d45d59a</code></a> Improve comments generation (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/14979">#14979</a>)</li>
<li><a href="4f4b450f52"><code>4f4b450</code></a> Improve source map generation (<a href="https://github.com/babel/babel/tree/HEAD/packages/babel-core/issues/14967">#14967</a>)</li>
<li>See full diff in <a href="https://github.com/babel/babel/commits/v7.20.5/packages/babel-core">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=@babel/core&package-manager=npm_and_yarn&previous-version=7.19.3&new-version=7.20.5)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

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`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

 ---

<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)

</details>

Pull Request resolved: https://github.com/facebook/flipper/pull/4343

Reviewed By: antonk52

Differential Revision: D41578603

Pulled By: mweststrate

fbshipit-source-id: ec699ef855a70161ede191aa4733361235ceb9a5
2022-11-30 07:43:03 -08:00
..
2021-10-21 04:28:21 -07:00
2022-01-18 07:46:05 -08:00
2021-10-21 04:28:21 -07:00
2021-10-21 04:28:21 -07:00
2021-10-21 04:28:21 -07:00
2022-11-30 04:29:45 -08:00
2022-06-01 02:49:25 -07:00
2021-10-21 04:28:21 -07:00

js-flipper

This package exposes JavaScript bindings to talk from web / Node.js directly to flipper.

Installation

yarn add js-flipper

Usage

How to build Flipper plugins is explained in the flipper documentation: Creating a Flipper plugin. Building a Flipper plugin involves building a plugin for the Desktop app, and a plugin that runs on a Device (web or Node.js). This package is only needed for the plugin that runs on the device (web / Node.js), and wants to use the WebSocket connection to communicate to Flipper.

This package exposes a flipperClient. It has:

  • addPlugin method. It accepts a plugin parameter, that registers a client plugin and will fire the relevant callbacks if the corresponding desktop plugin is selected in the Flipper Desktop. The full plugin API is documented here.
  • start method. It starts the client. It has two arguments:
    • appName - (required) the name displayed in Flipper
    • options which conforms to the interface
      interface FlipperClientOptions {
        // Make the client connect to a different URL
        urlBase?: string;
        // Override WebSocket implementation (Node.js folks, it is for you!)
        websocketFactory?: (url: string) => FlipperWebSocket;
        // Override how errors are handled (it is simple `console.error` by default)
        onError?: (e: unknown) => void;
        // Timeout after which client tries to reconnect to Flipper
        reconnectTimeout?: number;
        // Set device ID. Default: random ID persisted to local storage.
        getDeviceId?: () => Promise<string> | string
      }
      

Example (web)

An example plugin can be found in FlipperTicTacToe.js.

The corresponding Desktop plugin ships by default in Flipper, so importing the above file and dropping the <FlipperTicTacToe /> component somewhere in your application should work out of the box.

The sources of the corresponding Desktop plugin can be found here.

Node.js

Node.js does not have a built-in WebSocket implementation. You need to install any implementation of WebSockets for Node.js that is compatible with the interface of the web version.

import flipperClient from 'js-flipper';
// Say, you decided to go with 'ws'
// https://github.com/websockets/ws
import WebSocket from 'ws';

// Start the client and pass some options
// You might ask yourself why there is the second argument `{ origin: 'localhost:' }`
// Flipper Desktop verifies the `Origin` header for every WS connection. You need to set it to one of the whitelisted values (see `VALID_WEB_SOCKET_REQUEST_ORIGIN_PREFIXES`).
flipperClient.start('My cool nodejs app', { websocketFactory: url => new WebSocket(url, {origin: 'localhost:'}) });

An example plugin should be somewhat similar to what we have for React. It is currently WIP (do not confuse with RIP!).