Commit Graph

710 Commits

Author SHA1 Message Date
James Harmon
6989fa608d Add HTTP Status Code to mock response for Route (#1441)
Summary:
Mock requests can currently only return an HTTP Status Code of 200.  This is not sufficient to take full advantage of the mocking feature.  It would be more useful to specify a status code for the response.  Then not only can the original request be tested, but failure of the call could be tested as well.

This is described in Issue https://github.com/facebook/flipper/issues/1423 [https://github.com/facebook/flipper/issues/1423]

Changelog: Allow user to change response code for a mock request

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

Test Plan:
Here is a video demonstrating the change
[Uploading response-status-code.mp4.zip…]

Here is a screenshot showing where the new HTTP status code is entered for the mock request:
![image](https://user-images.githubusercontent.com/337874/89370139-a1c1c500-d6a5-11ea-9a55-e5e99ba37af5.png)

This screenshot shows a mock response with an alternate return code:
![image](https://user-images.githubusercontent.com/337874/89370265-ecdbd800-d6a5-11ea-82e7-10afbd5dd939.png)

Reviewed By: jknoxville

Differential Revision: D22977811

Pulled By: passy

fbshipit-source-id: c1662dd02abeb4546c80a416ed87f8e0dadbf96a
2020-08-07 09:30:10 -07:00
John Knox
5f8ba09534 Add github links to changelog
Summary:
thefutureisnowoldman

Changelog: Changelog entries now link to their GitHub commits

Reviewed By: passy

Differential Revision: D22999105

fbshipit-source-id: 77e4884a3515245ba9296d8c4f59cdcb3c4b098d
2020-08-07 09:27:44 -07:00
generatedunixname89002005306973
d15ae99601 Flipper Release: v0.52.1
Summary: Releasing version 0.52.1

Reviewed By: passy

Differential Revision: D22976342

fbshipit-source-id: a4857df03cd1142615754a52f69d0f1578175f18
2020-08-06 10:14:30 -07:00
Anton Nikolaev
dcd1c08dea Expose IDEFileResolver from 'flipper' module to properly import it from 'layout' plugin (#1442)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1442

Layout plugin cannot be bundled as a standalone package because it imports a file from outside of its folder. This change exposes IDEFileResolver in a proper way so now it's possible to import it from 'flipper'.

Reviewed By: passy

Differential Revision: D22975515

fbshipit-source-id: 8af6d2ca1ceb8627a449e055c8773549dd681b7a
2020-08-06 04:54:14 -07:00
Dominik Wielgórski
95ae98d925 Added "Open in IDE" functionality for Litho Components inside Flipper Layout Plugin
Summary:
Dropdown menu to select IDE in which the Litho Component will be opened.
Some Litho Components do not have corresponding Spec files. Hence, I am first trying to access files with Spec suffix and retrying if fails without the suffix. The number of such files is limited.

[FB Only]
changelog: It is now possible to directly open source files from the Layout inspector

Reviewed By: adityasharat

Differential Revision: D22922126

fbshipit-source-id: e1109c995427755a28ba78a65f5ff98392fb7060
2020-08-05 06:30:49 -07:00
Dominik Wielgórski
86cafb9e80 Detect classes which are Litho Components
Summary: Populate class name for Litho Components.

Reviewed By: adityasharat

Differential Revision: D22922106

fbshipit-source-id: e18b748e0e0bd6f511558124a28b4b58d217ded7
2020-08-05 01:49:13 -07:00
Anton Nikolaev
7e84c8e880 Support plugins that contain a scope in their name (#1427)
Summary: Pull Request resolved: https://github.com/facebook/flipper/pull/1427

Reviewed By: mweststrate

Differential Revision: D22868784

fbshipit-source-id: c332e5b05e3fccb74cf5fdcdecf15b8f2e8c5006
2020-08-04 10:52:59 -07:00
Michel Weststrate
14e6b1078d Some typecast cleanups
Summary: Some cleanup in typecasts

Reviewed By: jknoxville

Differential Revision: D22845467

fbshipit-source-id: 8a23a4800e2baf5e35bc1ac10095235fc8dc5894
2020-08-04 07:47:14 -07:00
Michel Weststrate
7c6065889d support createPaste
Summary:
Added support for `createPaste` in Sandy plugins

Nice minimalistic example of how to expose a Flipper api to Sandy.

Note that some indirection could be removed by having an interface that is shared directly between `BasePluginClient` and `FlipperLib` (e.g. `PublicFlipperLib`). In contrast to `addMenuEntries` from the previous diff, `createPaste` is basically exposed verbatim to Sandy without additional wrapping, so those cases could be made simpler. Maybe will do that later.

Reviewed By: passy

Differential Revision: D22815873

fbshipit-source-id: e6d0773a35341edfe5de0898317eaadf88de79d0
2020-08-04 07:47:14 -07:00
Michel Weststrate
9c202a4a10 Introduce menu entry support
Summary:
[interesting] since it shows how Flipper APIs are exposed through sandy. However, the next diff is a much simpler example of that

This diff adds support for adding menu entries for sandy plugin (renamed keyboard actions to menus, as it always creates a menu entry, but not necessarily a keyboard shortcut)

```

  client.addMenuEntry(
    // custom entry
    {
      label: 'Reset Selection',
      topLevelMenu: 'Edit',
      handler: () => {
        selectedID.set(null);
      },
    },
    // based on built-in action (sets standard label, shortcut)
    {
      action: 'createPaste',
      handler: () => {
        console.log('creating paste');
      },
    },
  );
```

Most of this diff is introducing the concept of FlipperUtils, a set of static Flipper methods (not related to a device or client) that can be used from Sandy. This will for example be used to implement things as `createPaste` as well

Reviewed By: nikoant

Differential Revision: D22766990

fbshipit-source-id: ce90af3b700e6c3d9a779a3bab4673ba356f3933
2020-08-04 07:47:14 -07:00
Michel Weststrate
94eaaf5dca killed the concept of customizable column sets per device in device logs
Summary:
No device was using this feature, so doesn't look like there is a reason to keep it.

...if somebody was about to use this feature, let me know :). But probably, if we need this, a much more simple solution is to determine the visible columns with a simple switch on device type in the logs plugin, even though that is strictly speaking less scalable. But the current solution feels a bit over-engineered for something that is not really used.

Marked [interesting] as I might be missing some background concept which would make this relevant as well.

Reviewed By: jknoxville, nikoant

Differential Revision: D22763507

fbshipit-source-id: ecdbc779cbbfa3b0b72c80b459b12c1a25bf3fc4
2020-08-04 07:47:14 -07:00
Michel Weststrate
d538b66088 Cleaned up deviceType enum
Summary:
The device type enum was mixing two different concepts (emulator vs physical) and (archived vs not), and we already have a separate `isArchived` field. So cleaned this up to not leak it into sandy.

If anybody can think of any unforeseen consequences of this, lemme know :)

Reviewed By: jknoxville

Differential Revision: D22763506

fbshipit-source-id: bd2f7dbd1d2d2e6942ba7c6ddd8dc91ee34d591d
2020-08-04 07:47:13 -07:00
Michel Weststrate
fbb1c78184 Separated index file into smaller files
Summary: More is more. Just moving code, no further changes.

Reviewed By: nikoant

Differential Revision: D22374891

fbshipit-source-id: 65c9af8b4b34ee8e16aeae5705528093e1c800cc
2020-08-04 07:47:13 -07:00
Michel Weststrate
006bf5357f Remove unused field from Logs plugin state
Summary: Didn't understand what that field meant. Turns out, it was never used.

Reviewed By: nikoant

Differential Revision: D22374893

fbshipit-source-id: c36d8f0c1be1b27306347d1c8c8a763c621720a5
2020-08-04 07:08:32 -07:00
Michel Weststrate
a286ef5c62 Remove unused types
Summary: Little cleanup

Reviewed By: nikoant

Differential Revision: D22374892

fbshipit-source-id: 4d561992b36bff212b926c2e52b73c6287851523
2020-08-04 07:08:32 -07:00
Michel Weststrate
642261c0d0 Cleanup and some code reuse between Device- and normal Plugins
Summary: Introducing a base abstract class (blegh) to share some life cycle management between Device- and normal plugins. Cleaned up the test utils a bit as well + some old TODO's that now have been taken care of

Reviewed By: nikoant

Differential Revision: D22727089

fbshipit-source-id: 507816f1bfdbc6e7e71d4bd365b881b6710ca917
2020-08-04 07:08:32 -07:00
Michel Weststrate
b9c9e89b53 Support activate and deactivate in normal plugins
Summary:
Device plugins have an activate and deactivate hook, that reflects the plugin being selected in the UI. Added these same hooks to client plugins as well. In practice they are called at the same times as `onConnect` and `onDisconnect`, except for background plugins, which connect only once, so it is pretty useful to be still able to make the distinction.

Since there is now quite some common functionality between plugins and device plugins, will clean things a bit up in a next diff

[Interesting] as it explains the difference between the different lifecycle methods of plugins, and the impact of being a background plugin

LIfecycle summary:

1. app connects
2. for background plugins: connect them (`onConnect`)
3. user selects a plugin, triggers `onActivate`. will also trigger `onConnect` the plugin if it _isnt_ a bg plugin
4. user selects a different plugin, triggers `onDeactivate`. will also trigger `onDisconnect` if it isn't a bg plugin.
5. app is unloaded. Triggers `onDisconnect` for bg plugins. Triggers `onDestroy` for all plugins,

Reviewed By: jknoxville

Differential Revision: D22724791

fbshipit-source-id: 9fe2e666eb37fa2e0bd00fa61d78d2d4b1080137
2020-08-04 07:08:31 -07:00
Michel Weststrate
f8ff6dc393 added deeplink support to sandy device plugins
Summary:
Make sure device plugins can be deeplinked as well.

(note that the duplication between `Plugin` and `DevicePlugin` is cleaned up again in D22727089, first wanted to make it work and tested, then clean)

DeepLink no longer have to be strings, per popular requests, as that makes direct linking between plugins easier (online links from the outside world have to arrive as strings)

Reviewed By: jknoxville, nikoant

Differential Revision: D22727091

fbshipit-source-id: 523c90b1e1fbf3700fdb4f62699dd57070cbc980
2020-08-04 07:08:31 -07:00
Michel Weststrate
b621dcf754 Make sure sandy device plugins are rendered
Summary: Now that we can load device plugins, let's make sure they are rendered as well.

Reviewed By: passy, nikoant

Differential Revision: D22693927

fbshipit-source-id: 22574ec6e629e6dd66e42193b406ceb7dfcf1836
2020-08-04 07:08:31 -07:00
Michel Weststrate
489dd1521e Make sure Sandy Devices Plugins are loaded in Flipper devices
Summary:
This diff makes sure that devices will actually instantiate applicable sandy device plugins. Similar to how client plugins are owned by Client, device plugins are directly owned by BaseDevice, which significantly simplifies life cycle management and doesn't dispatch updates to all Redux connect components whenever something irrelevant changes.

Also made sure `device.teardown()` is called. That API already existed, but wasn't used or implemented before.

Updated Flipper test utils to support testing device plugins as well (both Sandy and classic ones)

Reviewed By: passy, nikoant

Differential Revision: D22693929

fbshipit-source-id: 73b2b8666ef7a0e748ea89360db84734d37eb5be
2020-08-04 07:08:31 -07:00
Michel Weststrate
1e956e1bf5 Make sure Sandy Device Plugins can be unit testsed
Summary: Add unit tests to verify that the unit test utilities for for Sandy device plugins work as expected. Fixed a bug revealed by that and cleaned up some TODO's

Reviewed By: jknoxville, passy, nikoant

Differential Revision: D22693928

fbshipit-source-id: 93162db19d826d0cd7f642cef1447fd756261ac8
2020-08-04 07:08:31 -07:00
Michel Weststrate
91ed4e31c0 Introduce DevicePlugin APIs
Summary:
This stack introduces Sandy device plugins, they are quite similar to normal plugins, but, a devicePlugin module is organized as

```
export function supportsDevice(device): boolean

export function devicePlugin(devicePluginClient)

export function Component
```

Device plugins get access to the device meta data and can subscribe to the `onLogEntry` callback and `onDestroy` lifecycle.

They will be able to store state just as normal plugins, but can't send or receive methods, so devicePluginClient is a bit limited.

This diff only sets up most of the new data structures, and makes sure everything still compiles and no existing tests fail.

To prevent this diff from becoming to big, actually loading, rendering and testing device plugins will be done in next diffs

Please take a critical look at the api proposed and the (especially) the public names used :)

Reviewed By: passy, nikoant

Differential Revision: D22691351

fbshipit-source-id: bdbbd7f86d14b646fc9a693ad19f33583a76f26d
2020-08-04 07:08:31 -07:00
generatedunixname89002005306973
f01b84be27 Flipper Release: v0.52.0
Summary: Releasing version 0.52.0

Reviewed By: passy

Differential Revision: D22921075

fbshipit-source-id: 4cab9552dcd5ff1a64d20e1e771a4f5173d54860
2020-08-04 06:15:23 -07:00
Michel Weststrate
c802215dd2 Make most text selectable
Summary:
Fix long standing issue where text by default in Flipper is not selectable. Which is super annoying when working with tables, trying to copy error messages, etc etc. Wanted to fix it with ant.design, but got so annoyed by not being able to select an error I needed, that I fixed it now :-P.

This diff makes all text selectable by default, and then bails out for specific elements, like section headers, button captions, the left toolbar (navigation) and top toolbar to preserve the desktop app look & feel.

Fixes a popular papercut issue

Changelog: All text is now selectable by default in Flipper.

Reviewed By: passy

Differential Revision: D22897793

fbshipit-source-id: 7bc50a987e012595956c07d1997959a5480790aa
2020-08-04 03:06:13 -07:00
Michel Weststrate
b7cfb509f1 Improve request formatting
Summary:
This diff adds several improvements to displaying requests / responses in the network plugin

1. If there is no formatter rendering the data, the data is rendered 'raw'
2. For binary data, `(binary data)` text is printed, rather than an empty box
3. For request that have an empty request / response, `(empty)` is printed, rather than an empty box
4. If a formatter is applied, we show which formatter was used, which makes it easier to debug / spot / report issues
5. If the graphql formatter can't parse the data because it is truncated, it won't return anything, so that it falls back to the next formatter (urlencoder) to take care of the presentation

Changelog: [Network plugin] Improved presentation of request / response bodies and fixed issues where they would sometimes not be displayed.

Reviewed By: jknoxville

Differential Revision: D22865373

fbshipit-source-id: 912d2f27269a4c9edbf62f2039d46ccf90a008af
2020-08-03 11:39:49 -07:00
John Knox
45d461a3b8 Don't escape and decode network response payloads
Summary:
This was originally done in https://github.com/facebook/flipper/pull/377 to support chinese characters, but it's not clear how it works, or what problem specifically it is trying to solve.

It's causing some problems where valid responses are failing to be "decoded", so I'm removing it.

Reviewed By: mweststrate

Differential Revision: D22866879

fbshipit-source-id: a19a57b0ddba2b9f434eb3c37e6b92da1dfbef01
2020-08-03 10:21:54 -07:00
Liran Kurtz
10eca1e7f1 Added Conectivity tab to Zero Rating plugin
Summary: Cennectivity tab should allow setting Mock Connectivity via Flipper

Reviewed By: zaxy78

Differential Revision: D22816950

fbshipit-source-id: 938d8bcaa50ad4f1abe4e253aeac0cd247252b37
2020-08-02 23:37:11 -07:00
Pascal Hartig
6233116fed Add devserver check
Reviewed By: jknoxville

Differential Revision: D22864430

fbshipit-source-id: ce37e6abeb3b152aedb2013bc9cd548807cad7b3
2020-07-31 04:57:19 -07:00
Lucas Santos
1fa518a754 Add initial desktop files
Summary:
This is just an initial setup from Flipper. I just ran `scarf flipper-plugin`, followed the iOS path, removed the native files (as we will use the JS infra directly later on) and submitted. :)

I followed this documentation/tutorial: https://www.internalfb.com/intern/wiki/Flipper/create-new-plugin/

(Followed iOS path, then removed native code as not needed)

Differential Revision: D22754500

fbshipit-source-id: 39130b4ee17c6bc72990eec34c466cfa7a650d17
2020-07-30 12:19:36 -07:00
Nicole Stiliyan Vukadinova
a37d48d67e Fix the inconsistency in the timestamps for markerStart and markerEnd
Summary: There was in inconsistency in the timestamps used for markerStart and markerEnd, resulting in negative duration being reported in the Scuba table.

Reviewed By: nubbel

Differential Revision: D22791255

fbshipit-source-id: a4a16c6583974a0423b12805fb8d1a22af44cf5c
2020-07-28 07:22:38 -07:00
Mathias Fleig Mortensen
e466bc4aed Make disk cache inspection toggleable
Summary: Adds a toggle switch to show/hide disk cache images defaulting to inactive. The image data is only sent on the adb connection when the toggle is activated.

Reviewed By: defHLT

Differential Revision: D20002059

fbshipit-source-id: 05c9e515ffe09441e5cfb6f66eb14559ac4a322c
2020-07-27 09:44:52 -07:00
Chaiwat Ekkaewnumchai
8ac0c4c6c4 Convert Section Plugin to Use Sandy
Summary:
Convert section plugin to Sandy API.

TODO
- Fix layout issues
  - scrollbar occurs in small component (bottom layout)
  - scrollbar in wrong place (top layout)
  - text shrunk in bottom part of tree component
- (?) move away from d3
- better typing for payload
- move components to functional one
- unit test

Reviewed By: mweststrate

Differential Revision: D22385993

fbshipit-source-id: 862d4b775caf2d9a7bcb37446299251965a5d6db
2020-07-27 09:04:51 -07:00
generatedunixname89002005306973
5dc98bab9d Flipper Release: v0.51.0
Summary: Releasing version 0.51.0

Reviewed By: nikoant

Differential Revision: D22728768

fbshipit-source-id: 49eabdccc7fd335401618f91b890e94fda11b23f
2020-07-24 10:03:20 -07:00
Anton Nikolaev
323c9d25d4 Fix layout of error and doctor bars
Summary: Changelog: Fixed layout of doctor and error bars which was broken in version 50

Reviewed By: mweststrate

Differential Revision: D22692069

fbshipit-source-id: 43d779656d30675b785eab67d6b7dcca4471653f
2020-07-24 08:33:07 -07:00
John Knox
9ada27526c Change RatingButton to use Popover2
Summary:
The original Popover component doesn't work when the popover goes out of bounds of the current container, and overflow is not visible, which is the case in the title bar.

This changes it to use a new absolutely positioned one instead.

Reviewed By: mweststrate

Differential Revision: D22724110

fbshipit-source-id: f41b6d154ccb66a94b63533fe9c30d2a2c49f1db
2020-07-24 07:13:28 -07:00
John Knox
d7a6356fb6 Add Popover2 component
Summary:
The current Popover component isn't compatible with the new (in progress) component library because it relies on overflowing container elements, which isn't allowed in the generic Layout component.

So this is a new Popover element, which uses absolute positioning instead. It takes heavy inspiration from the Tooltip and TooltipProvider components which do a similar thing.

Still to do:
[x] Edge cases when popover would be near a window edge
[x] Style it to look nice
[x] Split the use case (RatingButton) changes into a separate diff
[x] When the location of the popover container moves (the rating button in this case, e.g. if you resize the window), it doesn't currently cause the effect function in the popover, so it doesn't get moved when it should
[x] Add a little pointer thingy like a speech bubble
[x] Make sure it's perfectly positioned
[ ] Rename it to Popover and delete the old one. Not done, since it's just a stopgap.

Reviewed By: mweststrate

Differential Revision: D22693105

fbshipit-source-id: bc141433914bc20da48f8ae96764a95f7cd74ce5
2020-07-24 07:13:28 -07:00
Michel Weststrate
5a56ee65b8 Fix contributing image link
Summary: Better fix for D22662057 (485b4c9827) / https://github.com/facebook/flipper/pull/1396

Reviewed By: jknoxville

Differential Revision: D22663334

fbshipit-source-id: 3a5f967e857ccc819be34903e3fb982e90823040
2020-07-24 03:38:05 -07:00
Anton Nikolaev
ce180a106f Log login success rate
Summary: Report login success rate

Reviewed By: mweststrate

Differential Revision: D22698005

fbshipit-source-id: 5f02a2ddaaf54acc564d09a5f781ed649ae8a3e6
2020-07-24 02:46:32 -07:00
Dominik Wielgórski
6561bc8f16 Added connection between InAppErrorReporter and Flipper Desktop App via Layout Plugin
Summary:
Created functionality which allows user to open clicked file from inAppErrorReporter.
Created "iface" interface for openInIDE API and created default implementation which indicates that openInIDE is not supported.
Created "impl" implementation specifically for fb4a.

Reviewed By: arpitratan

Differential Revision: D22642497

fbshipit-source-id: 7b3011c128a479e556b869fcc8c4147e153caf71
2020-07-23 13:47:09 -07:00
Elaina Hsu
9e4c5363c5 Deep-linking records to other strong records in the Store tab
Summary: All strong records with a matching record available in the store tab are underlined. When clicked on, it will direct the user to the corresponding store record.

Reviewed By: jonathoma

Differential Revision: D22622612

fbshipit-source-id: 537dbb282e4ae1ff695c577ab47c413d41a10fa4
2020-07-23 09:14:56 -07:00
Nicole Stiliyan Vukadinova
7d06571cfa Add marker start and end to App to measure the startup time for Flipper (#1398)
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/1398

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

Reviewed By: nubbel

Differential Revision: D22549700

fbshipit-source-id: 7553ba075e45f1a515922012d7db4fdefefcaa24
2020-07-23 07:32:53 -07:00
Michel Weststrate
f0c54667e0 Support handling deeplinks in plugins
Summary:
This adds support for handling incoming deeplinks in a Sandy plugin, which can be done by using a `client.onDeepLink(deepLink => { } )` listener

Also generalized deeplinks to not just support strings, but also richer objects, which is beneficial to plugin to plugin linking.

Reviewed By: jknoxville

Differential Revision: D22524749

fbshipit-source-id: 2cbe8d52f6eac91a1c1c8c8494706952920b9181
2020-07-22 04:13:59 -07:00
Yann Noutary
c13593bc7e Convert to TypeScript
Summary: Converted the Crash Reporter plugin to Typescript while fixing all linting errors

Reviewed By: jknoxville

Differential Revision: D22571332

fbshipit-source-id: d3092ffc480827b5eb1beb5c3cc91dad6993e267
2020-07-22 01:03:18 -07:00
Dominik Wielgórski
cf6df492ee Created openInIDE API inside Layout Plugin
Summary: Created a communication between Layout Plugin and Flipper Desktop. The API allows users to open given file in a selected IDE. The openInIDE function returns true if the connection with Flipper is established, otherwise returns false.

Reviewed By: adityasharat

Differential Revision: D22625829

fbshipit-source-id: feaf186c107d62b1a75dfc6bbe2c1d66ffd7fd78
2020-07-21 09:27:53 -07:00
Dominik Wielgórski
3e4d92aad0 Get the most accurate full path for a class name
Summary: Added functionality of choosing the best path from the list of potential full paths. By resolving a class name, the method getBestPath checks for the most accurate solution.

Reviewed By: adityasharat

Differential Revision: D22625186

fbshipit-source-id: 98ac4ccd1c18ec19b49edf2ed6e74a84a9899a9f
2020-07-21 04:15:50 -07:00
Anton Nikolaev
a2b2ad9f68 Update electron-devtools-installer
Summary: Update electron-devtools-installer to fix issue blocking installation of dev tools for some users currently: https://github.com/MarshallOfSound/electron-devtools-installer/pull/140

Reviewed By: passy

Differential Revision: D22604024

fbshipit-source-id: f98d8d6e138283c54d5e1cf446b7049bb31b51a0
2020-07-17 15:17:52 -07:00
Pascal Hartig
000e7f85bf Update lodash (security fix)
Summary:
Trying to get our OSS report green and lodash is currently flagged as a security issue on GH.

Manually merged the different PRs on GitHub together.

Reviewed By: jonathoma

Differential Revision: D22599614

fbshipit-source-id: ea4c9abf21aade14cff9338b78b764b181193227
2020-07-17 14:36:24 -07:00
dependabot[bot]
b539ddb1b6 Bump yargs from 15.3.1 to 15.4.1 in /desktop (#1383)
Summary:
Bumps [yargs](https://github.com/yargs/yargs) from 15.3.1 to 15.4.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/yargs/yargs/releases">yargs's releases</a>.</em></p>
<blockquote>
<h2>yargs v15.4.0</h2>
<h3>Features</h3>
<ul>
<li>adds deprecation option for commands (<a href="027a6365b7">027a636</a>)</li>
<li>support array of examples (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1682">#1682</a>) (<a href="225ab82719">225ab82</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>docs:</strong> describe usage of <code>.check()</code> in more detail (<a href="932cd1177e">932cd11</a>)</li>
<li><strong>i18n:</strong> Japanese translation phrasing (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1619">#1619</a>) (<a href="089417550e">0894175</a>)</li>
<li><strong>strict mode:</strong> report default command unknown arguments (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1626">#1626</a>) (<a href="69f29a9cd4">69f29a9</a>)</li>
<li><strong>usage:</strong> translate 'options' group only when displaying help (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1600">#1600</a>) (<a href="e60b39b9d3">e60b39b</a>)</li>
</ul>
<h3>Reverts</h3>
<ul>
<li>Revert &quot;chore(deps): update dependency eslint to v7 (<a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1656">#1656</a>)&quot; (<a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1673">#1673</a>) (<a href="34949f89ee">34949f8</a>), closes <a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1656">#1656</a> <a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1673">#1673</a></li>
</ul>
<h2>v15.4.0-beta.1 Pre-release</h2>
<p>This is a pre-release for testing purposes of <a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1635">#1635</a>.</p>
<p>Install by running <code>npm install yargs@next</code></p>
<h2>v15.4.0-beta.0 Pre-release</h2>
<p>This is a pre-release for testing purposes of <a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1635">#1635</a>.</p>
<p>Install by running <code>npm install yargs@next</code></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/yargs/yargs/blob/master/CHANGELOG.md">yargs's changelog</a>.</em></p>
<blockquote>
<h1>Changelog</h1>
<p>All notable changes to this project will be documented in this file. See <a href="https://github.com/conventional-changelog/standard-version">standard-version</a> for commit guidelines.</p>
<h2><a href="https://www.github.com/yargs/yargs/compare/v15.3.1...v15.4.0">15.4.0</a> (2020-06-30)</h2>
<h3>Features</h3>
<ul>
<li>adds deprecation option for commands (<a href="027a6365b7">027a636</a>)</li>
<li>support array of examples (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1682">#1682</a>) (<a href="225ab82719">225ab82</a>)</li>
</ul>
<h3>Bug Fixes</h3>
<ul>
<li><strong>docs:</strong> describe usage of <code>.check()</code> in more detail (<a href="932cd1177e">932cd11</a>)</li>
<li><strong>i18n:</strong> Japanese translation phrasing (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1619">#1619</a>) (<a href="089417550e">0894175</a>)</li>
<li><strong>strict mode:</strong> report default command unknown arguments (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1626">#1626</a>) (<a href="69f29a9cd4">69f29a9</a>)</li>
<li><strong>usage:</strong> translate 'options' group only when displaying help (<a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1600">#1600</a>) (<a href="e60b39b9d3">e60b39b</a>)</li>
</ul>
<h3>Reverts</h3>
<ul>
<li>Revert &quot;chore(deps): update dependency eslint to v7 (<a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1656">#1656</a>)&quot; (<a href="https://github-redirect.dependabot.com/yargs/yargs/issues/1673">#1673</a>) (<a href="34949f89ee">34949f8</a>), closes <a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1656">#1656</a> <a href="https://www.github-redirect.dependabot.com/yargs/yargs/issues/1673">#1673</a></li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a href="https://github.com/yargs/yargs/commits">compare view</a></li>
</ul>
</details>
<br />

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=yargs&package-manager=npm_and_yarn&previous-version=15.3.1&new-version=15.4.1)](https://help.github.com/articles/configuring-automated-security-fixes)

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/1383

Reviewed By: mweststrate

Differential Revision: D22551264

Pulled By: passy

fbshipit-source-id: 02ab24fd4636efba9eb6cd181082fbc5eea56c2d
2020-07-17 08:41:11 -07:00
Timur Valiev
d28e763cca Self inspection
Summary:
let's finally inspect flipper with flipper!
Here we have:
1) a self inspection client which implements FlipperClient interface from js sdk and FlipperClientConnection. It links back and front parts of self inspection
2) simple plugin (UI) to show messages
3) back part of that plugin - it sends all received messages to UI part via client
4) we initialize self inspection for dev builds only

P. S. filesystem dependency will be replaced with npm one before I ship it (need to publish to npm first)

Reviewed By: mweststrate

Differential Revision: D22524533

fbshipit-source-id: 5c77e2f7b50e24ff7314e791a4dfe3c349dccdee
2020-07-17 04:54:44 -07:00
Dominik Wielgórski
3814c8fdfc Move openInIDE to Flipper core
Summary: Share functionality from D22375637

Reviewed By: mweststrate

Differential Revision: D22595715

fbshipit-source-id: 496a29c1c8e85eb1f065f48e650047a25c99b9d3
2020-07-17 03:48:36 -07:00