All Projects → jakobo → expo-community-flipper

jakobo / expo-community-flipper

Licence: MIT license
Flipper Support for Expo Apps in React Native

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to expo-community-flipper

flipper-plugin-redux-debugger
Flipper plugin for Redux in React Native
Stars: ✭ 83 (+1.22%)
Mutual labels:  flipper, flipper-plugin
flipper-plugin-reduxinspector
Redux Inspector for flipper (Extensible mobile app debugger).
Stars: ✭ 43 (-47.56%)
Mutual labels:  flipper, flipper-plugin
rn-async-storage-flipper
React Native's Async Storage logger for Flipper
Stars: ✭ 45 (-45.12%)
Mutual labels:  flipper, flipper-plugin
dooboo-expo
Complete boilerplate for react-native app with expo. Contains typescript, router, test, localization, navigation, hook and etc.
Stars: ✭ 52 (-36.59%)
Mutual labels:  expo
ember-template-inspector
An ember add-on which opens the template file in the code editor while inspecting an element.
Stars: ✭ 15 (-81.71%)
Mutual labels:  debugging
react-native-web-expo-boilerplate
I am no longer in maintenance
Stars: ✭ 64 (-21.95%)
Mutual labels:  expo
vue-ray
Debug your Vue 2 & 3 code with Ray to fix problems faster
Stars: ✭ 48 (-41.46%)
Mutual labels:  debugging
hackerweb-native-2
HackerWeb 2: A read-only Hacker News client.
Stars: ✭ 51 (-37.8%)
Mutual labels:  expo
krumo
Krumo: Structured information display solution for PHP
Stars: ✭ 74 (-9.76%)
Mutual labels:  debugging
DbgPkg
Scripts to prepare Windows system for debugging.
Stars: ✭ 30 (-63.41%)
Mutual labels:  debugging
ghc-stack
Hacking GHC's Stack for Fun and Profit (featuring The Glorious Haskell Debugger v0.0.1 Pre-alpha)
Stars: ✭ 69 (-15.85%)
Mutual labels:  debugging
netlogs
Web extension for debugging your API
Stars: ✭ 16 (-80.49%)
Mutual labels:  debugging
aniuta
The simplest state manager for Expo and React Native
Stars: ✭ 35 (-57.32%)
Mutual labels:  expo
SQLCallStackResolver
Utility to resolve SQL Server callstacks to their correct symbolic form using just PDBs and without a dump file
Stars: ✭ 55 (-32.93%)
Mutual labels:  debugging
debug-plotter
Rust crate that provides a convenient macro to quickly plot variables.
Stars: ✭ 82 (+0%)
Mutual labels:  debugging
pinball
Emilia Pinball : A Libre pinball simulator for GNU Linux
Stars: ✭ 21 (-74.39%)
Mutual labels:  flipper
EVM-Simulator
EVM-Simulator bachelor's thesis.
Stars: ✭ 36 (-56.1%)
Mutual labels:  debugging
coc-java-debug
An extension for coc.nvim to enable Java debugging via jdt.ls
Stars: ✭ 92 (+12.2%)
Mutual labels:  debugging
debuggingbook
Project page for "The Debugging Book"
Stars: ✭ 132 (+60.98%)
Mutual labels:  debugging
flipper-plugin-relay-devtools
Flipper plugin for Relay devtools
Stars: ✭ 26 (-68.29%)
Mutual labels:  flipper

expo-community-flipper

Flipper Support for Expo Apps

⚠️ Please see this issue about known compatibility issues with other plugins.

Usage (Quick Guide)

1. Install this module: yarn add expo-community-flipper

2. Add expo-community-flipper configuration to the plugins section of your app.json, as per the examples below. You have the option to specify the version of Flipper, though the one built in with React Native is (usually) sufficient.

If you don't specify anything, expo-community-flipper will default to the version of Flipper bundled with the version of React Native you're currently using.

Configuration

type FlipperOptions =
  | undefined // take the default options for the entire plugin
  | string // sets <root>.version and takes defaults for all nested options
  | {
      version?: string; // sets the flipper version to build against (defaults to undefined, uses react-native bundled version)
      ios?:
        | boolean // sets <root>.ios.enabled and takes defaults for all nested options
        | {
            enabled: boolean; // enable flipper for iOS (default true)
            stripUseFrameworks?: boolean; // strip instances of use_frameworks from the Podfile (default false)
          };
      android?:
        | boolean // sets <root>.android.enabled and takes defaults for all nested options
        | {
            enabled: boolean; // enable flipper for Android (default true)
          };
    };

Configuration of this plugin is done in app.json. all configurations are optional with defaults designed to minimize the chances of your build breaking.

{
  "expo": {
    "..."
    "plugins": [
      "expo-community-flipper"
    ]
  }
}

// or configured (See FlipperOptions above):

{
  "expo": {
    "..."
    "plugins": [
      ["expo-community-flipper", FlipperOptions]
    ]
  }
}

Disabling Flipper in CI (>= 45.1.0)

🛠️ 47.0.1 expo-community-flipper now supports the standard ENV['NO_FLIPPER'] == 1 flag to disable flipper. You may also simply omit this plugin via app.config.js when building a production version of your app, as Flipper is not enabled by default.

📜 Prior to 47.0.1, Flipper was disabled using ENV['FLIPPER_DISABLE'] == "1". This is still supported, but deprecated in favor of the emerging standard from the react-native team. In production, Flipper is automatically disabled by the react-native framework, but see this issue regarding a possible regression in upstream react-native/flipper.

Windows Users + Hermes

As of right now, using Windows with the Hermes engine requires you to run your app inside of a WSL environment. The tracked issue is here and if you have a Podfile, please let me know. It's likely an upstream issue, but we're continuing to look at build artifacts in case we spot something that may resolve this issue.

Versions

Starting with Expo SDK 46, Flipper manages its own compatibility layer (though it can be upgraded by specifying a version of Flipper that you want). Prior to SDK 46, we recommended running Flipper @ 0.123.0 as it had the widest range of compatibility with devices and simulators.

This package follows expo's policy for the deprecation of old SDKs. It's MAJOR version tracks against the Expo SDK version, making it easy to spot compatibility differences in your package.json file.

Testing

An /example directory is built with expo init example for each major SDK release with a default eas.json file. The plugin is directly linked using expo's filepath support for config plugins. You can run expo prebuild in the directory to verify the plugin is modifying build files appropriately.

example eas.json

{
  "cli": {
    "version": ">= 0.35.0"
  },
  "build": {
    "example": {
      "releaseChannel": "default",
      "channel": "default"
    }
  }
}

example app.json

{
  "expo": {
    "...": "... standard app.json entries ...",
    "plugins": [["./../build/withFlipper", "0.158.0"]]
  }
}

References

Contributors

All Contributors

Thanks goes to these wonderful people (emoji key):

Jakob Heuser
Jakob Heuser

💻
gregfenton
gregfenton

📖
AronBe
AronBe

📖
rlam3
rlam3

📖
Slapbox
Slapbox

🐛
Jeremy Gollehon
Jeremy Gollehon

🐛
Nikola Kalinov
Nikola Kalinov

🐛
Kudo Chien
Kudo Chien

📖 💬 💻
Maxence Gilliot
Maxence Gilliot

💬
Andrew Gerber
Andrew Gerber

🐛
Pim Knops
Pim Knops

🐛

This project follows the all-contributors specification. Contributions of any kind welcome!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].