Summary: Bumps [eslint-plugin-react](https://github.com/yannickcr/eslint-plugin-react) from 7.21.5 to 7.22.0. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/yannickcr/eslint-plugin-react/blob/master/CHANGELOG.md">eslint-plugin-react's changelog</a>.</em></p> <blockquote> <h1>Change Log</h1> <p>All notable changes to this project will be documented in this file. This project adheres to <a href="http://semver.org/">Semantic Versioning</a>. This change log adheres to standards from <a href="http://keepachangelog.com">Keep a CHANGELOG</a>.</p> <h2>Unreleased</h2> <h3>Added</h3> <ul> <li>[<code>jsx-key</code>]: added <code>checkKeyMustBeforeSpread</code> option for new jsx transform (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2835">#2835</a>[] <a href="https://github.com/morlay">morlay</a>)</li> <li>[<code>jsx-newline</code>]: add new rule (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2693">#2693</a>[] <a href="https://github.com/jzabala">jzabala</a>)</li> <li>[<code>jsx-no-constructed-context-values</code>]: add new rule which checks when the value passed to a Context Provider will cause needless rerenders (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2763">#2763</a>[] <a href="https://github.com/dylanOshima">dylanOshima</a>)</li> <li>[<code>jsx-indent-props</code>]: add <code>ignoreTernaryOperator</code> option (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2846">#2846</a>[] <a href="https://github.com/SebastianZimmer">SebastianZimmer</a>)</li> <li>[<code>jsx-no-target-blank</code>]: Add <code>warnOnSpreadAttributes</code> option (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2855">#2855</a>[] <a href="https://github.com/michael-yx-wu">michael-yx-wu</a>)</li> </ul> <h3>Fixed</h3> <ul> <li>[<code>display-name</code>]/component detection: avoid a crash on anonymous components (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2840">#2840</a>[] <a href="https://github.com/ljharb">ljharb</a>)</li> <li>[<code>prop-types</code>]: function in class that returns a component causes false warning in typescript (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2843">#2843</a>[] <a href="https://github.com/SyMind">SyMind</a>)</li> <li>[<code>jsx-no-target-blank</code>]: avoid a crash with a non-string literal (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2851">#2851</a>[] <a href="https://github.com/ljharb">ljharb</a>)</li> <li>[<code>jsx-no-script-url</code>]: avoid crash with boolean <code>href</code> (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2871">#2871</a>[] <a href="https://github.com/ljharb">ljharb</a>, <a href="https://github.com/AriPerkkio">AriPerkkio</a>)</li> <li>[<code>no-typos</code>]: avoid crash with computed method name (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2870">#2870</a>[] <a href="https://github.com/ljharb">ljharb</a>, <a href="https://github.com/AriPerkkio">AriPerkkio</a>)</li> <li>[<code>jsx-max-depth</code>]: avoid crash with childless jsx child (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2869">#2869</a>[] <a href="https://github.com/ljharb">ljharb</a>, <a href="https://github.com/AriPerkkio">AriPerkkio</a>)</li> <li>[<code>jsx-wrap-multilines</code>]: fix crash with <code>declaration</code>s that are on a new line after <code>=</code> (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2875">#2875</a>[] <a href="https://github.com/ljharb">ljharb</a>)</li> <li>[<code>no-unknown-property</code>]: avoid crash with prop named with Object.prototype key (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2879">#2879</a>[] <a href="https://github.com/ljharb">ljharb</a>, <a href="https://github.com/AriPerkkio">AriPerkkio</a>)</li> <li>[<code>prop-types</code>]: default argument does not count as props-types declaration (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2877">#2877</a>[] <a href="https://github.com/golopot">golopot</a>)</li> <li>[<code>jsx-props-no-multi-spaces</code>]: fix a false positive for beside comments (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2878">#2878</a>[] <a href="https://github.com/golopot">golopot</a>)</li> <li>[<code>jsx-no-undef</code>]: handle the TS parser combined with an invalid ecmaVersion (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2882">#2882</a>[] <a href="https://github.com/ljharb">ljharb</a>)</li> <li>[<code>no-unused-prop-types</code>]: apply <code>skipShapeProps</code> to exact types (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2883">#2883</a>[] <a href="https://github.com/golopot">golopot</a>)</li> <li>[<code>no-danger-with-children</code>]/[<code>style-prop-object</code>]/[<code>no-adjacent-inline-elements</code>]: add category, URL (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2891">#2891</a>[] <a href="https://github.com/thofmann">thofmann</a>)</li> </ul> <h3>Docs</h3> <ul> <li>[<code>no-unused-prop-types</code>]: Add new example to rule (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2852">#2852</a>[] <a href="https://github.com/thehereward">thehereward</a>)</li> <li>[<code>prop-types</code>]: fix example (<a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2881">#2881</a>[] <a href="https://github.com/technote-space">technote-space</a>)</li> </ul> <p><a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2891">#2891</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2891">yannickcr/eslint-plugin-react#2891</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2883">#2883</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2883">yannickcr/eslint-plugin-react#2883</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2882">#2882</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2882">yannickcr/eslint-plugin-react#2882</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2881">#2881</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2881">yannickcr/eslint-plugin-react#2881</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2879">#2879</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2879">yannickcr/eslint-plugin-react#2879</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2878">#2878</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2878">yannickcr/eslint-plugin-react#2878</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2877">#2877</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2877">yannickcr/eslint-plugin-react#2877</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2875">#2875</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2875">yannickcr/eslint-plugin-react#2875</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2871">#2871</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2871">yannickcr/eslint-plugin-react#2871</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2870">#2870</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2870">yannickcr/eslint-plugin-react#2870</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2869">#2869</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2869">yannickcr/eslint-plugin-react#2869</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2855">#2855</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2855">yannickcr/eslint-plugin-react#2855</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2852">#2852</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2852">yannickcr/eslint-plugin-react#2852</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2851">#2851</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2851">yannickcr/eslint-plugin-react#2851</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2846">#2846</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2846">yannickcr/eslint-plugin-react#2846</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2843">#2843</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/pull/2843">yannickcr/eslint-plugin-react#2843</a> <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2840">#2840</a>: <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2840">yannickcr/eslint-plugin-react#2840</a></p> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="e2eaadae31"><code>e2eaada</code></a> Update CHANGELOG and bump version</li> <li><a href="77e1b35802"><code>77e1b35</code></a> [Fix] <code>no-danger-with-children</code>/<code>style-prop-object</code>/`no-adjacent-inline-eleme...</li> <li><a href="a137a04d79"><code>a137a04</code></a> [Tests] clean up some test cases</li> <li><a href="9e4bbd0e81"><code>9e4bbd0</code></a> [Fix] <code>no-unused-prop-types</code>: apply <code>skipShapeProps</code> to exact types</li> <li><a href="7aaa1cf6b0"><code>7aaa1cf</code></a> [meta] fix changelog entry</li> <li><a href="c4ecce98d0"><code>c4ecce9</code></a> [New] <code>jsx-no-target-blank</code>: Add <code>warnOnSpreadAttributes</code> option</li> <li><a href="66593e56d6"><code>66593e5</code></a> [New] <code>jsx-indent-props</code>: add <code>ignoreTernaryOperator</code> option</li> <li><a href="816e3449cf"><code>816e344</code></a> [Fix] <code>jsx-no-undef</code>: handle the TS parser combined with an invalid ecmaVersion</li> <li><a href="b85b8fc39e"><code>b85b8fc</code></a> [Tests] add <code>readme</code> tests I forgot in <a href="https://github-redirect.dependabot.com/yannickcr/eslint-plugin-react/issues/2887">#2887</a></li> <li><a href="8ef839aabe"><code>8ef839a</code></a> [Tests] migrate tests to Github Actions</li> <li>Additional commits viewable in <a href="https://github.com/yannickcr/eslint-plugin-react/compare/v7.21.5...v7.22.0">compare view</a></li> </ul> </details> <br /> [](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/1804 Reviewed By: cekkaewnumchai Differential Revision: D25805314 Pulled By: passy fbshipit-source-id: 24a1de5f6d832ec1aa261f667aae50e8cc5de524
flipper-sdk-api
SDK to build Flipper clients for JS based apps
Installation
yarn add flipper-client-sdk
Usage
Example
class SeaMammalPlugin extends AbsctractFlipperPlugin {
getId(): string {
return 'sea-mammals';
}
runInBackground(): boolean {
return true;
}
newRow(row: {id: string, url: string, title: string}) {
this.connection?.send("newRow", row)
}
}
const flipperClient = newWebviewClient();
cosnt plugin = new SeaMammalPlugin();
flipperClient.addPlugin();
flipperClient.start('Example JS App');
plugin.newRow({id: '1', title: 'Dolphin', url: 'example.com'})