Commit Graph

157 Commits

Author SHA1 Message Date
Pascal Hartig
0039d5be4a Use 'open' module to open stuff
Summary:
Instead of our ad-hoc mechanism. There's quite a bit
of trickery involved to make this work reliably on Windows
so I'd rather take an off-the-shelf solution than reimplement this
myself.

Reviewed By: jknoxville

Differential Revision: D17628949

fbshipit-source-id: 98806b60a107231d9ee07b721ebb70f2cbd8aec1
2019-09-30 03:49:06 -07:00
Pascal Hartig
2e3499cd4a Flipper Release: v0.25.0
Summary:
**Highlights**

- Android: Leakcanary is no longer part of the core distribution but a separate artifact: `com.facebook.flipper:flipper-leakcanary-plugin`.

Reviewed By: priteshrnandgaonkar

Differential Revision: D17601074

fbshipit-source-id: 862fc44d45b4ddc95059deb3959476af162b1cb0
2019-09-26 11:05:37 -07:00
Daniel Büchele
2c66e3d4d0 install dependencies
Summary:
In the previous implementation plugins were downloaded from npm, but dependencies weren't. This diff uses the `live-plugin-manager` which does mostly what we want. It install a package from NPM with all its dependencies.
live-plugin-manager puts the plugin and its dependencies in the same folder. We expect the plugins to be in `node_modules`. For this reason, we are installing the plugin into `$pluginName/node_modules` and move the plugin after the installation out of the `node_modules` folder.

* Fixed plugin loading path for thirdparty plugins.
* Disabled hot reloading for plugins in the flipper folder to prevent reloads when moving around files and installing dependencies here.
* an empty `.watchmanconfig` is created, because metro requires it
* tsx files are added to the list of supported extensions for metro

Reviewed By: passy

Differential Revision: D17570413

fbshipit-source-id: ecbedc60841b36188fec9c83da41ef1f27e5e155
2019-09-26 07:57:54 -07:00
Pascal Hartig
9ffca9d049 Flipper Release: v0.24.2
Summary:
Another quick fix for https://github.com/facebook/flipper/issues/546#issuecomment-534697210

Includes the new SoLoader bump.

Reviewed By: jknoxville

Differential Revision: D17558480

fbshipit-source-id: 02eab2bea20d31e082423f32201c6b110e9fabe2
2019-09-25 02:01:18 -07:00
Pascal Hartig
1a71d1e5d1 Flipper Release: v0.24.1
Summary: Fix for p-map error at startup and `fbjni` dependency on Android.

Reviewed By: danielbuechele

Differential Revision: D17528600

fbshipit-source-id: db0fd2e99bd35645ceef63500312b3ad16c04d57
2019-09-23 10:38:51 -07:00
Pascal Hartig
1b21657507 Flipper Release: v0.24.0
Summary:
# Highlights

- Android: Separate artifacts for the Litho, Fresco and Network plugins.

This does not yet include updates to the docs as the publishing process requires manual approval by Bintray first.

Reviewed By: danielbuechele

Differential Revision: D17480406

fbshipit-source-id: 92cd54e708bc1718e40e9ea95ca62f8c73b11fdc
2019-09-23 07:22:56 -07:00
Pascal Hartig
2a6462641b Limit concurrency during plugin compilation
Summary:
My MBP just crashed again during startup. I would like to
understand why every plugin compilation appears to start
up a new electron process, but until that's understood
and hopefully fixed, it's probably best to limit the number
of processes we spawn by setting an upper bound here.

N.B. My Linux box doesn't mind this at all.

Reviewed By: jknoxville, danielbuechele

Differential Revision: D17419289

fbshipit-source-id: a11562a21a984059dc35e826eb20d869df218546
2019-09-17 12:21:15 -07:00
Daniel Büchele
109e871a76 UI
Summary: Setting up a sheet to list plugins that can be installed from NPM

Reviewed By: jknoxville

Differential Revision: D17394824

fbshipit-source-id: 26c6ffea9de9cf3fe8488ea1a757eae7b7aaa7ef
2019-09-17 06:21:28 -07:00
Pascal Hartig
29c9379ae6 Flipper Release: v0.23.7
Summary:
**Highlights**

- Changed to the upstream `adbkit` instead of the Facebook-specific fork of it.
- Migrate the rest of Flipper core from Flow to (strict) TypeScript.
- UI docs use the TypeScript code as basis.

Reviewed By: danielbuechele

Differential Revision: D17368399

fbshipit-source-id: 5ba92c4f0d4ca627ffac58052ef6e4d9fd07bd95
2019-09-13 10:37:30 -07:00
Daniel Büchele
e33f72bb21 use adbkit instead of adbkit-fb
Summary: Finally we are able to switch back from our adbkit-fb fork to the original `adbkit`. Replacing all imports

Reviewed By: jknoxville

Differential Revision: D17343236

fbshipit-source-id: e6dd328f1a956544e8be2ab768aa270972463c6b
2019-09-13 05:28:31 -07:00
Pascal Hartig
57444fc3a7 Add types for redux-mock-store
Summary: Per titles

Reviewed By: danielbuechele

Differential Revision: D17314439

fbshipit-source-id: 3d8ed55c4e9eb19f338e6830bf1761cdfa020a23
2019-09-11 07:39:36 -07:00
Daniel Büchele
ac120aa59c [strict[ ScreenCaptureButton
Summary: _typescript_

Reviewed By: jknoxville

Differential Revision: D17282357

fbshipit-source-id: 6ddd912978faa30195f59971f19d29d3ea79342b
2019-09-11 03:04:52 -07:00
Viktor Patrushev
f3691bec7b Converted QPL plugin to TypeScript
Summary: Converted QPL plugin to TypeScript

Reviewed By: danielbuechele

Differential Revision: D17184095

fbshipit-source-id: 2a841bd8bc746cab70e6a03b0ccc8ffbdbda43c6
2019-09-10 04:12:26 -07:00
Pascal Hartig
b90200e2aa Replace child-process promise version
Summary:
This one is in TS, so we get types for free.
`promisify` makes it rather awkward to work with overloaded
functions like `spawn`, so there's still value in having
a proper library for this.

Reviewed By: jknoxville

Differential Revision: D17204471

fbshipit-source-id: 3d07edfe2bb8c1e4c4f3134b53a0c4a0d9be383b
2019-09-09 07:04:54 -07:00
Pascal Hartig
dbab2d1d6d Add types for which
Summary:
Used by

src/dispatcher/androidDevice.tsx
src/chrome/DevicesButton.tsx

Reviewed By: jknoxville

Differential Revision: D17204335

fbshipit-source-id: 40fa266d7301d2ddceea8b884f26b3e4741d7797
2019-09-09 07:04:54 -07:00
Pascal Hartig
17d48d92b0 Flipper Release: v0.23.6
Summary:
**Highlights**

1. Windows builds should publish on the release page now.
2. We have x86_64 support on Android.
3. React DevTools are now publicly available.

Reviewed By: danielbuechele

Differential Revision: D17204023

fbshipit-source-id: 41aaa1c884e1f251216423a8b08cec6e8802fd80
2019-09-05 06:15:33 -07:00
Chaiwat Ekkaewnumchai
f4bb0f987f DataDescription
Summary: _typescript_

Reviewed By: danielbuechele

Differential Revision: D17174253

fbshipit-source-id: d2ad87954a4fe49626f35234c2a9db180093fc54
2019-09-05 03:36:47 -07:00
John Knox
4f671847ba Fix prefetcher types
Reviewed By: passy

Differential Revision: D17164305

fbshipit-source-id: edc52a0708e2a46a3fe2aa9752fd94fa0b1909be
2019-09-04 11:01:44 -07:00
Daniel Büchele
c18ea6bf52 typescript-eslint update
Summary: upgrading eslint dependencies. especially `typescript-eslint/parser@2.1.1-alpha.4` Which fixes the incompatibility warning with TS 3.6.2

Reviewed By: passy

Differential Revision: D17182109

fbshipit-source-id: 44e8a7324778353cff0af65df3aa38483ff786fc
2019-09-04 10:06:02 -07:00
Pascal Hartig
31307c89d7 Upgrade to eslint 3.6
Summary: Should fix the tsc issue.

Reviewed By: danielbuechele

Differential Revision: D17165314

fbshipit-source-id: 4d52d2d186ac5ec14b5a8a7969893c26cc28fef8
2019-09-04 03:00:53 -07:00
Pascal Hartig
9202e96018 Upgrade to TypeScript 3.6.2
Summary:
It's new. We should use it, probably.

allow-large-files

Reviewed By: danielbuechele

Differential Revision: D17111469

fbshipit-source-id: fd982aedb7d5d53e9cd5d6744890bf6fda812892
2019-09-03 06:29:50 -07:00
Daniel Büchele
937001f869 Flipper Release: v0.23.5
Summary: new release

Reviewed By: jknoxville

Differential Revision: D17161202

fbshipit-source-id: dd086068d4fe3fc8837828eb6243218ada3d8cc3
2019-09-03 04:35:55 -07:00
Daniel Büchele
5868946818 certificate provider
Summary: _typescript_

Reviewed By: passy

Differential Revision: D17096517

fbshipit-source-id: a6e69e8b9a82fe76bb1de51a3a93182f35f40b3f
2019-08-28 20:34:59 -07:00
Pascal Hartig
78a7789f49 Add types for promise-retry
Summary: Per title.

Reviewed By: danielbuechele

Differential Revision: D17073128

fbshipit-source-id: 0c93a63f0419dcbef209f0ae203906457481529f
2019-08-28 03:01:57 -07:00
Brian Vaughn
85d098e695 React DevTools v4 integration
Summary:
This Diff is being posted for discussion purposes. It will not be ready to land until React DevTools v4 has been published to NPM.

Update React Native to be compatible with the [new version 4 React DevTools extension](https://github.com/bvaughn/react-devtools-experimental).

**Note that this is a breaking change**, as the version 3 and version 4 backends are **not compatible**. Once this update ships (in React Native) users will be required to update their version of the [`react-devtools` NPM package](https://www.npmjs.com/package/react-devtools). The same will be true for IDEs like Nuclide as well as other developer tools like Flipper and [React Native Debugger](https://github.com/jhen0409/react-native-debugger).

Related changes also included in this diff are:
* Pass an explicit whitelist of style props for the React Native style editor (to improve developer experience when adding new styles).
* Update `YellowBox` console patching to coordinate with DevTools own console patching.
  * Also improved formatting slightly by not calling `stringifySafe` for strings (since this adds visible quotation marks).

Regarding the console patching- component stacks will be appended by default when there's no DevTools frontend open. The frontend will provide an option to turn this behavior off though:

{F168852162}

React DevTools will detect if the new version is used with an older version of React Native, and offer inline upgrade instructions:

{F169306863}

**Note that the change to the `RCTEnableTurboModule` will not be included in this Diff**. I've just turned those off temporarily so I can use v8+Chrome for debugging.

Reviewed By: rickhanlonii

Differential Revision: D15973709

fbshipit-source-id: bb9d83fc829af4693e7a10a622acc95a411a48e4
2019-08-26 23:56:55 -07:00
Daniel Büchele
f69bfab0f4 npm
Summary:
Publishing flipper to npm via Sandcastle.
- NPM token added to secrets tool
- removing private flag from package JSON
- adding publish script

Reviewed By: passy

Differential Revision: D16984934

fbshipit-source-id: 334991381d4035928af9a9d98d3905280938736a
2019-08-23 09:33:56 -07:00
Daniel Büchele
0ec48d4fc9 index
Summary:
This converts the index file to TypeScript which is used as an export for all plugins. Alongside, I had to fix a couple of errors in various files to make sure everything works correctly.

For plugins using flow, we define an interface which uses the type definition for FlipperPlugin and types all UI components as `any`.

Reviewed By: passy

Differential Revision: D16936890

fbshipit-source-id: dacd9a63a82b9f0bbb530b06072186874cba7b6f
2019-08-22 10:02:27 -07:00
Daniel Büchele
4c4169063d table
Summary: _typescript_

Reviewed By: priteshrnandgaonkar

Differential Revision: D16807180

fbshipit-source-id: dcba794351eee69c0574dc224cf7bd2732bea447
2019-08-20 05:45:48 -07:00
Daniel Büchele
62a204bdbe Searchable
Summary: _typescript_

Reviewed By: passy

Differential Revision: D16807182

fbshipit-source-id: 68bc8365bc5b0d8075d0a93d5963c824c0d66769
2019-08-20 05:45:48 -07:00
Daniel Büchele
d0da0d66a5 main folder
Summary: _typescript_

Reviewed By: passy

Differential Revision: D16762117

fbshipit-source-id: b6ee32e0bb3fc686fc69cfccab703e2ef4989571
2019-08-15 03:33:06 -07:00
Daniel Büchele
5f53087c7e client server
Summary: Migrating Server, Client and UninitializedClient to TypeScript

Reviewed By: passy

Differential Revision: D16687855

fbshipit-source-id: 402e4dbcd5d283d3e280d4d8b312662829457886
2019-08-08 11:00:38 -07:00
Daniel Büchele
64cefd0f84 migrate redux store
Summary: Migrating redux stores to TypeScript

Reviewed By: passy

Differential Revision: D16579796

fbshipit-source-id: e3e507f17f1bdd57eb45e30cb0b28aaee6c4521c
2019-08-08 08:07:21 -07:00
Benjamin Elo
3597f56c94 Added @types/react-dom dependency
Summary: We need this as part of the migration for react-dom types.

Reviewed By: jknoxville

Differential Revision: D16668683

fbshipit-source-id: c50be446ada5539961c89da9f3bd3f240db4ec4c
2019-08-08 06:03:24 -07:00
Pascal Hartig
8b2009b2c7 Upgrade deps within range
Summary:
This is the result of a `yarn upgrade`. While this *shouldn't* break
anything, it easily can just as this broke the babel transform
because a previously transitively depended upon library was no
longer included.

It seems like a good idea to stay as close as possible to the upstream of all
the dependencies we have and with the release yesterday we now have one week to
check if the rest works as expected.

allow-large-files

Reviewed By: danielbuechele

Differential Revision: D16579807

fbshipit-source-id: f26d4536abd80f428e94b71e0fa98df612cbd809
2019-08-03 03:33:43 -07:00
Pascal Hartig
6194541822 Flipper Release: v0.23.4
Summary:
# New Features

- Select plugins to include in your exports.

# Fixes and chores

- Run TSC in Travis.
- Restore Android build in Travis.

[Full Changelog](https://github.com/facebook/flipper/compare/v0.23.3...v0.23.4)

Reviewed By: jknoxville, danielbuechele

Differential Revision: D16559674

fbshipit-source-id: 919f758f8750d26d9e49b6721d05264880d0abc5
2019-07-30 03:09:41 -07:00
Daniel Büchele
d0d3daf710 fix lint command
Reviewed By: jknoxville

Differential Revision: D16543448

fbshipit-source-id: ff37739ada0f5b4060a6c363da584e19a534aca1
2019-07-29 10:04:28 -07:00
Pascal Hartig
e84b03f8c3 Upgrade Flow to 104
Summary: No breaking changes affecting us, just one FlowFixMe that's no longer necessary. Yay.

Reviewed By: jknoxville

Differential Revision: D16541069

fbshipit-source-id: 12d1fadf57daf1ec23d043206f99b0eb61b28e5b
2019-07-29 08:04:32 -07:00
Daniel Büchele
8e0fd24fed Run TSC
Summary: Run TSC in Sandcastle to make sure everything is typed nicely.

Reviewed By: jknoxville

Differential Revision: D16202412

fbshipit-source-id: 23064d5a0b327c32d0b633f9234882a46f88270e
2019-07-29 06:39:11 -07:00
Daniel Büchele
2c7371d264 typescript eslint plugin
Summary: This is required to properly run eslint in Atom/VSCode on TypeScript files

Reviewed By: jknoxville

Differential Revision: D16201418

fbshipit-source-id: 31da04c2d313e9147e0f868c1af15bf3115e6d6a
2019-07-29 06:39:11 -07:00
Brian Vaughn
f6a4ad59c0 Update react-devtools-core to 3.6.3 to fix React Inspector
Summary:
It appears that Electron (or the version of Chromium it uses) has a bug that causes a `webview` process to crash if `URL.createObjectURL` is used.

Before releasing `react-devtools-core` 3.5.0, we updated Webpack and the loaders we used. Apparently the version of `style-loader` we now use makes use of the `URL.createObjectURL` API for CSS source maps. This triggers the `webview` crash I mentioned above.

The fix for this is to disable CSS source maps, in which case the loader just uses a `<style>` tag. This diff updates Nuclide to pull in this fixed version.

Reviewed By: bestander

Differential Revision: D16518772

fbshipit-source-id: a779b7d310f869793fa05988d138ce6a46840d8c
2019-07-26 14:47:03 -07:00
John Knox
39d40cc4c3 Flipper Release: v0.23.3
Summary: Follow up release to fix https://github.com/facebook/flipper/issues/498

Reviewed By: passy

Differential Revision: D16487947

fbshipit-source-id: fbdd18ebd7af260450d93016f25f5e215419d8aa
2019-07-25 04:52:45 -07:00
John Knox
d0a61d6455 Back out "[flipper] Add 1h tolerance to ssl certs"
Summary:
Original commit changeset: bdbd61bce1bc

That change appears to be causing some issues for open source users: https://github.com/facebook/flipper/issues/498

To mitigate the issue I'm reverting it, the change turns out to be unnecessary anyway.

Reviewed By: passy

Differential Revision: D16486136

fbshipit-source-id: 70decca6e017a6a2903cc484641fb2e736dc5d7c
2019-07-25 04:11:59 -07:00
Pascal Hartig
3760e260d6 Add xdg-basedir
Summary:
Split this up into a separate review because the file is actually
sorta hand-written and just adds noise to the things I was
actually doing.

Reviewed By: jknoxville

Differential Revision: D16441548

fbshipit-source-id: 93366d38908bbec347fd837f5dc90b11329ebf8e
2019-07-24 02:22:36 -07:00
Timur Valiev
af7830d94a immutable data structures in tables 1/n: init
Summary:
Migrating tables' row collection to Immutable.js List:
1. Сopy ManagedTable code, no changes
2. Add deps to Immutable.js

-----
Current implementation of tables forces to copy arrays on new data arrival which causes O(N^2) complexity ->
tables can't handle a lot of new rows in short period of time -> tables freeze and become unresponsive for a few seconds.
Immutable data structures will bring us to O(N) complexity

Reviewed By: jknoxville

Differential Revision: D16416870

fbshipit-source-id: d3e1a9571ea08fa7ccaedc5ad3eca863d22a79a4
2019-07-23 08:00:54 -07:00
Pritesh Nandgaonkar
83df20a202 Flipper Release: v0.23.2
Summary:
## Export Data

- Add close button to the export sheet.
- Show status updates while exporting Flipper data.
- Fix Fresco data export (0c0f0d4a90).

## Headless

- `select-plugins` cli argument added for the headless flipper

## Miscellaneous

- Generate TLS certificates in the past to allow for clock skew. (9a97b3b45b)
- Speed up Redux dev tools (ce93ecfcca)
- Add stricter ESLint rules.
- Speed up `yarn start` (10559a188f).

Reviewed By: passy

Differential Revision: D16418562

fbshipit-source-id: 8ab9c3264c2a367125f8235dd07129e67441a0e4
2019-07-23 03:35:42 -07:00
Brian Vaughn
7efe94a58f Update react-devtools-core to ^3.6.2
Summary:
Update to the latest React DevTools v3 release, which adds the ability to detect when the (v3) frontend is connected with a v4 backend and shows update instructions to the user.

## Changelog:

[General] [Added] - Updated embedded react-devtools-core package to the latest version in preparation for the upcoming v4 DevTools release.

Reviewed By: rickhanlonii

Differential Revision: D16419553

fbshipit-source-id: a36b0ba5bf6992a490f1234b9a92b8abd4c9b3e6
2019-07-22 19:44:31 -07:00
Benjamin Elo
9d813dce80 Bump react and react-dom to 16.8.6
Summary: This is in order to gain access to hooks. This is useful for testing functional components in isolation without connecting to the redux store. For instance, testing a toggle button toggles on and off.

Reviewed By: passy

Differential Revision: D16376723

fbshipit-source-id: d6be463330dbc5deef1a0513e07fd567adf58287
2019-07-19 04:34:09 -07:00
Pascal Hartig
09c615ce6a Make using require() a warning
Summary: Per title. Let's be more consistent, especially for plugins where authors may not know which one to use.

Reviewed By: jknoxville

Differential Revision: D16340189

fbshipit-source-id: ffe49e509f744279e32fc9fc3f1d59efc1328d80
2019-07-18 12:56:08 -07:00
John Knox
9a97b3b45b Add 1h tolerance to ssl certs
Summary:
This changes the start date of all generated certificates to be 1h in the past.

Why? To allow for clock skew, and allow clock manipulation in tests.

To do this, I had to switch from `openssl x509 req`, to `openssl ca` for generating them, because it has the startdate parameter.

This variant is a bit more complicated to use, so I've added an openssl.conf and some extra files.

I also changed the org from Sonar to Flipper because it now needs to match the CSRs coming from the mobile apps, and they use Flipper.

Reviewed By: passy

Differential Revision: D16223722

fbshipit-source-id: bdbd61bce1bc1b54d7b0b3cc6741675aa68d2cf6
2019-07-15 04:33:52 -07:00
Pascal Hartig
e45e174dba Flipper Release: v0.23.1
Summary:
- New Litho Sections APIs.
- New version of Metro.
- Hardened eslint rules.
- Flipper Headless now offers a `--no-plugins` build mode to speed up compilation.

Reviewed By: jknoxville

Differential Revision: D16221050

fbshipit-source-id: 5eb7a0e8caaf11188ece94a149003daa36eb0a30
2019-07-15 03:12:24 -07:00