Summary: Let’s get started with automated dependency management for flipper 💪 🔒 Greenkeeper has found a `yarn.lock` file in this repository. Greenkeeper supports lockfile updates for public packages. If you use private packages in your repository, please use [greenkeeper-lockfile](https://github.com/greenkeeperio/greenkeeper-lockfile) to make sure these can get updated as well. This pull request **updates all your dependencies to their latest version**. Having them all up to date really is the best starting point for keeping up with new releases. Greenkeeper will look out for further dependency updates and make sure to handle them in isolation and in real-time, but only after **you merge this pull request**. **Important: Greenkeeper will only start watching this repository’s dependency updates after you merge this initial pull request**. 📦 📦 Greenkeeper has detected multiple `package.json` files. Since this repo already has a `greenkeeper.json` config file with defined groups, Greenkeeper has only checked whether they’re still valid. --- <details> <summary>🏷 How to check the status of this repository</summary> Greenkeeper adds a badge to your README which indicates the status of this repository. This is what your badge looks like right now 👉  </details> <details> <summary>🙈 How to ignore certain dependencies</summary> You may have good reasons for not wanting to update to a certain dependency right now. In this case, you can [change the dependency’s version string in the `package.json` file back to whatever you prefer](https://github.com/facebook/flipper/edit/greenkeeper/initial/package.json). To make sure Greenkeeper doesn’t nag you again on the next update, add a `greenkeeper.ignore` field to your `package.json`, containing a list of dependencies you don’t want to update. ```js // package.json { … "greenkeeper": { "ignore": [ "package-names", "you-want-me-to-ignore" ] } } ``` </details> <details> <summary>👩💻 How to update this pull request</summary> ```bash # Change into your repository’s directory git fetch --all git checkout greenkeeper/initial npm install-test # Adapt your code until everything works again git commit -m 'chore: adapt code to updated dependencies' git push https://github.com/facebook/flipper.git greenkeeper/initial ``` </details> <details> <summary>✨ How do dependency updates work with Greenkeeper?</summary> After you merge this pull request, **Greenkeeper will create a new branch whenever a dependency is updated**, with the new version applied. The branch creation should trigger your testing services and check whether your code still works with the new dependency version. Depending on the the results of these tests Greenkeeper will try to open meaningful and helpful pull requests and issues, so your dependencies remain working and up-to-date. ```diff - "underscore": "^1.6.0" + "underscore": "^1.7.0" ``` The above example shows an in-range update. `1.7.0` is included in the old `^1.6.0` range, because of the [caret `^` character ](https://docs.npmjs.com/misc/semver#ranges). When the test services report success Greenkeeper will silently delete the branch again, because no action needs to be taken – everything is fine. However, should the tests fail, Greenkeeper will create an issue to inform you about the problem immediately. This way, you’ll never be surprised by a dependency breaking your code. As long as everything still works, Greenkeeper will stay out of your way, and as soon as something goes wrong, you’ll be the first to know. ```diff - "lodash": "^3.0.0" + "lodash": "^4.0.0" ``` In this example, the new version `4.0.0` is _not_ included in the old `^3.0.0` range. For version updates like these – let’s call them “out of range” updates – you’ll receive a pull request. This means that **you no longer need to check for new versions manually** – Greenkeeper will keep you up to date automatically. These pull requests not only serve as reminders to update: If you have solid tests and good coverage, and the pull requests passes those tests, you can very likely just merge it and release a new version of your software straight away :shipit: To get a better idea of which ranges apply to which releases, check out the extremely useful [semver calculator](https://semver.npmjs.com/) provided by npm. </details> <details> <summary>FAQ and help</summary> There is a collection of [frequently asked questions](https://greenkeeper.io/faq.html). If those don’t help, you can always [ask the humans behind Greenkeeper](https://github.com/greenkeeperio/greenkeeper/issues/new). </details> --- Good luck with your project and see you soon ✨ Your [Greenkeeper](https://greenkeeper.io) bot 🌴 Pull Request resolved: https://github.com/facebook/flipper/pull/591 Reviewed By: jknoxville Differential Revision: D17951583 Pulled By: passy fbshipit-source-id: 6ad2bfe7d4a9f7ed4920e50af36e194dc5b1cb93
Flipper

Flipper (formerly Sonar) is a platform for debugging mobile apps on iOS and Android. Visualize, inspect, and control your apps from a simple desktop interface. Use Flipper as is or extend it using the plugin API.
Table of Contents
- Mobile development
- Extending Flipper
- Contributing to Flipper
- In this repo
- Getting started
- Building from Source
- iOS SDK + Sample App
- Android SDK + Sample app
- Documentation
- Contributing
- License
Mobile development
Flipper aims to be your number one companion for mobile app development on iOS and Android. Therefore, we provide a bunch of useful tools including a log viewer, interactive layout inspector, and network inspector.
Extending Flipper
Flipper is built as a platform. In addition to using the tools already included, you can create your own plugins to visualize and debug data from your mobile apps. Flipper takes care of sending data back and forth, calling functions, and listening for events on the mobile app.
Contributing to Flipper
Both Flipper's desktop app and native mobile SDKs are open-source and MIT licensed. This enables you to see and understand how we are building plugins, and of course join the community and help improve Flipper. We are excited to see what you will build on this platform.
In this repo
This repository includes all parts of Flipper. This includes:
- Flipper's desktop app built using Electron (
/src) - native Flipper SDKs for iOS (
/iOS) - native Flipper SDKs for Android (
/android) - Plugins:
- Logs (
/src/device-plugins/logs) - Layout inspector (
/src/plugins/layout) - Network inspector (
/src/plugins/network) - Shared Preferences/NSUserDefaults inspector (
/src/plugins/shared_preferences)
- Logs (
- website and documentation (
/website//docs)
Getting started
Please refer to our Getting Started guide to set up Flipper.
Requirements
- node >= 8
- yarn >= 1.5
- iOS developer tools (for developing iOS plugins)
- Android SDK and adb
Building from Source
Desktop
Running from source
git clone https://github.com/facebook/flipper.git
cd flipper
yarn
yarn start
NOTE: If you're on Windows, you need to use Yarn 1.5.1 until this issue is resolved.
Building standalone application
Provide either --mac, --win, --linux or any combination of them
to yarn build to build a release zip file for the given platform(s). E.g.
yarn build --mac --version $buildNumber
You can find the resulting artifact in the dist/ folder.
iOS SDK + Sample App
cd iOS/Sample
rm -f Podfile.lock
pod install --repo-update
open Sample.xcworkspace
<Run app from xcode>
You can omit --repo-update to speed up the installation, but watch out as you may be building against outdated dependencies.
Android SDK + Sample app
Start up an android emulator and run the following in the project root:
./gradlew :sample:installDebug
Documentation
Find the full documentation for this project at fbflipper.com.
Our documentation is built with Docusaurus. You can build it locally by running this:
cd website
yarn
yarn start
Contributing
See the CONTRIBUTING file for how to help out.
License
Flipper is MIT licensed, as found in the LICENSE file.
