Summary: Publish all the public packages (excluding those with "private=true") included as workspaces to "desktop" project.
Reviewed By: jknoxville
Differential Revision: D20765097
fbshipit-source-id: 444541e9a682a90eba02cb3da85ada9bd00d93d0
Summary:
Automatically bump versions for all local npm packages included as workspaces and fix local dependencies correspondingly.
As a part of this I have also aligned versioning for all the packages by using the same version for all of them.
Reviewed By: jknoxville
Differential Revision: D20745632
fbshipit-source-id: 2d438c4b23ee72f7d7c068c5ce161063c7ceb9e5
Summary: Makes it easier to debug.
Reviewed By: mweststrate
Differential Revision: D20645818
fbshipit-source-id: db7cb15487508b5d103db482ecf84adfebc09f48
Summary:
Pull Request resolved: https://github.com/facebook/flipper/pull/872
Move all the JS code related to desktop app to "desktop" subfolder.
The structure of "desktop" folder:
- `src` - JS code of Flipper desktop app executing in Electron Renderer (Chrome) process. This folder also contains all the Flipper plugins in subfolder "src/plugins".
- `static` - JS code of Flipper desktop app bootstrapping executing in Electron Main (Node.js) process
- `pkg` - Flipper packaging lib and CLI tool
- `doctor` - Flipper diagnostics lib and CLI tool
- `scripts` - Build scripts for Flipper desktop app
- `headless` - Headless version of Flipper app
- `headless-tests` - Integration tests running agains Flipper headless version
Reviewed By: passy
Differential Revision: D20249304
fbshipit-source-id: 9a51c63b51b92b758a02fc8ebf7d3d116770efe9
Summary: Make the logic to find the static file path reusable
Reviewed By: passy
Differential Revision: D20219731
fbshipit-source-id: a4f1fa021ea958681a078cb103621322bbfc1e48
Summary:
Our SC release job failed when submitting directly from the prepare-release script, as the jf context wasn't properly setup. So instead we reuse the code we already have for that in SandcastleFlipperAutoReleaseCommand.
However, for manual releases we still do submit automatically and in name of the current user.
Reviewed By: passy
Differential Revision: D20384247
fbshipit-source-id: ed5eca180f009611f2890f8cb665bf203789d189
Summary:
Node on SandCastle is ancient, this change makes sure we can use the node version of `www`.
Node 6 can't parse dangling comma's in argument lists, which is what prettier automatically inserts by fbsource standards
Reviewed By: passy
Differential Revision: D20366026
fbshipit-source-id: 1b2a0c1506e8671fa268fab7a8d3bfcd5064bb0b
Summary: Yesterday's script failed if prepare-release was invoked from another dir
Reviewed By: jknoxville
Differential Revision: D20362093
fbshipit-source-id: a0ce877a2f145f320cf346dc86e3d2568279b8b9
Summary: This makes the changelog generating part of the bump-version process, rather than the build-release
Reviewed By: passy
Differential Revision: D20284211
fbshipit-source-id: f4a5c9bdb98c91f11a216957c9d5175c4b64fe70
Summary:
There's a lot going on here:
- I'm moving over to android build hosts. They're are faster and more plentiful. They seem to work just fine for what we do. We already have a tenant capacity for them. *Edit:* Even more importantly, we need `adb` for certain tasks. The Android SDK isn't installed on Lego.
- I'm splitting our `sandcastle_setup` up into a pure yarn setup and an electron setup. The latter downloads from LFS and installs Wine (on Linux) which takes some time. This isn't needed unless we actually run Electron. That's for builds and Electron tests only.
- There were so, so many weird little edge cases. One of them is that `electron-builder`'s `app-builder` (a go app) switches between an x86 and an x86_64 version of wine to use for signing Windows apps, but only on Mac. On Linux it's hard-coded to 32bits. So we need to manually override the binary in the cache. I do this in the script rather in the cache because this is impossible to remember when upgrading.
- Wine is only bundled for Mac. On Linux you have to get it somewhere else. Luckily, we run as root, so we can do that.
- `$HOME` is set to `/var/twscsvc` which isn't owned by `root` but by `twscsvc`. Wine no happy. So we have to manually set this to a path that `root` owns. Hence the `export HOME`.
Reviewed By: nikoant
Differential Revision: D20223753
fbshipit-source-id: 0b2b09d19409ce172f395a7d1f85ec601654c6f6
Summary:
This works now with the Electron update. Wine doesn't work there so the app signing step needs to be disabled. I'm not entirely sure if this has other consequences than disabling signing - which we don't use.
We also can't build `.dmg`s on Linux because it relies on a CLI tool that only exists on Macs. But we can quite easily move this to GitHub Actions, which I set up with https://github.com/facebook/flipper/pull/852
Reviewed By: nikoant
Differential Revision: D20160545
fbshipit-source-id: a888c8b0e8f7dbe8bec818d57f5f22bcf800322c
Summary: When running tests locally, some are quite flaky, and there is a lot of error logging noise. This diff doesn't remove all of it, but does reduce it significantly.
Reviewed By: nikoant
Differential Revision: D20034619
fbshipit-source-id: 183f74475b644f803b2f92b1b1301f4d0f6e193a
Summary: Use dev bundling for "yarn start"
Reviewed By: jknoxville
Differential Revision: D20034300
fbshipit-source-id: a46c75074c969f5a4958f498c5c0e15aab808552
Summary: Skip the main process code bundling when nothing changed
Reviewed By: mweststrate
Differential Revision: D20030261
fbshipit-source-id: 78de87377afe7e768627059425c51081239687dd
Summary:
As a first step I've configured bundling for the main process code using Metro. For now I haven't converted anything to ts, just made that possible.
The bundle is just produced into the "static" directory. To avoid too many changes I kept the "static" folder as it is, but probably non-static code should be moved from there.
Also installed modules from "node_modules" for the main process are not bundled to avoid potential issues with node native modules.
Reviewed By: mweststrate
Differential Revision: D19960982
fbshipit-source-id: efbd426254e2b37c913c5f5f75f042c50ccee2f3
Summary:
Tried to upgrade both electron and electron-builder but failed due to Windows binary build stuck.
Upgraded only electron for now. electron-builder will be upgraded separately
Reviewed By: nikoant
Differential Revision: D19877865
fbshipit-source-id: a2282c2f4062e6b470cdcba2e9e693419bfeaec4
Summary: To test plugin installation I need to restart Flipper often, however restart in dev mode is not "true" restart - instead it just reloads the window and doesn't load freshly installed plugins. To make my life easier I have implemented more realistic way for restart in dev mode.
Reviewed By: jknoxville
Differential Revision: D19770263
fbshipit-source-id: 8755663746dc265e0826ed79b9782e073132537f
Summary: Updated the source a while ago to also include the images plugin.
Reviewed By: nikoant
Differential Revision: D19691720
fbshipit-source-id: 70bf1929e4c571f02db2d8ef787f1130a480d05f
Summary:
This diff enables debugging in VSCode. Debugging works for both Flipper core and plugin code. To start debugging:
1. yarn start
2. Go to "Debug and Run" tab in VSCode, select task "Attach to Running Renderer" and launch it (or just press F5).
{F227135377}
3. Debugger will be attached and all the breakpoints set in VSCode will be hit.
Reviewed By: passy
Differential Revision: D19578566
fbshipit-source-id: 609766471ad196a2ee8d4086ddb84b7af4ef05ef
Summary:
This Diff makes the react-native-flipper package available on NPM.
For simplicity and traceability purposes, this package is released every time Flipper is released, under the same version number. Even though there will be often no changes.
Reviewed By: passy
Differential Revision: D19446815
fbshipit-source-id: 485930e57beac42a2f36dc34a8ac82eed2abe785
Summary:
We're using two libraries to do the same thing.
The other one is better.
Reviewed By: mweststrate
Differential Revision: D18954485
fbshipit-source-id: 33ed2f452badf30cb72c69661527edc54708efba
Summary: Launch without plugin hot reload in case plugin change detection failed to start
Reviewed By: mweststrate
Differential Revision: D19264418
fbshipit-source-id: 089f818b9101d924c504c7d96f71ebca11c9422f
Summary:
Builds didn't fail when using non-existing icons, and the error message was not very clear
Also added verification that, before automatically adding an icon to the prefetcher, that icon does exists
Reviewed By: jknoxville
Differential Revision: D19264063
fbshipit-source-id: 4320d5b960e85e3f15bbca13d69f3063b983a511
Summary:
On Windows VM when "yarn start" is executed and compilation is in progress for some plugin, fs.watch randomly fires "changed" events for different files of other plugins. This leads to infinite attempts to rebuild the same plugin again and again, and this process never ends, so "yarn start" is almost unusable:
{F225467225}
I've tried to fix this by using watchman instead of fs.watch and on my tests with Windows build it works well:
{F225467508}
Also as watchman is more careful about opening file handles, hopefully this change will fix "too many files opened" problem as Michel suggested here https://fb.workplace.com/groups/flippersupport/permalink/764157990731528/ and here https://github.com/facebook/flipper/issues/699.
Reviewed By: mweststrate
Differential Revision: D19216026
fbshipit-source-id: acc53ae0d003a7936730e6423ac4dbca84f089c8
Summary: Fixed doctor module resolution on github by adding doctor src folder into the metro bundler blacklist
Reviewed By: cekkaewnumchai, mweststrate
Differential Revision: D19020038
fbshipit-source-id: a6ab95383b5016fd5e2180d72883a42c63745ec9
Summary: Fix module resolution for flipper-doctor and return it to sonar directory and effectively to GitHub
Reviewed By: mweststrate
Differential Revision: D18963720
fbshipit-source-id: 61ea78ecbb154de79c7a2d348f347c64325e794c
Summary: Make sure that `.native.js` modules resolutions are _NOT_ prefered over `.js` modules when building flipper or flipper plugins
Reviewed By: jknoxville
Differential Revision: D18297580
fbshipit-source-id: 73f9114d19eb0934cdf69d9668b582966aedc756
Summary:
D18169584 introduced state error which I didn't notice. This diff reverted the diff.
`hg backout D18169584`
Original commit changeset: 77a8b034c5e4
Reviewed By: jknoxville
Differential Revision: D18203354
fbshipit-source-id: 3e281f1e8c7e1d2bf41665adfa5ce5f13daca3a1
Summary: Update and include `react-redux` to Greenkeeper
Reviewed By: passy
Differential Revision: D18169584
fbshipit-source-id: 77a8b034c5e4a13a2ba6c82895e1aee9d852375e
Summary: Now emits a warning if api version doesn't match expected one.
Reviewed By: cekkaewnumchai
Differential Revision: D17685261
fbshipit-source-id: 2a01d64e2e160d411d7a58125b5bb45437476f8f
Summary:
The build-release script was using different logic to construct the local url, than the lookup file.
Changed so they both use the same function.
And unit tests added.
Reviewed By: passy
Differential Revision: D17602476
fbshipit-source-id: 6aaedd58eafb2cc59adcdc0ebb4dd329bf99c33a