Name Date Size #Lines LOC

..26-Sep-2023-

android/H26-Sep-2023-3,3972,597

app/H26-Sep-2023-1,2551,048

assets/H26-Sep-2023-1,8721,871

build/H26-Sep-2023-10897

ios/H26-Sep-2023-5,8923,763

mocks/react-native-gesture-handler/src/H26-Sep-2023-4033

plugin/H26-Sep-2023-2920

scripts/H26-Sep-2023-2312

src/H26-Sep-2023-9472

vendored/react-native-safe-area-context/H26-Sep-2023-991828

.eslintignoreH A D26-Sep-20236 21

.eslintrc.jsH A D26-Sep-2023103 31

.npmignoreH A D26-Sep-2023183 128

CHANGELOG.mdH A D26-Sep-202326.7 KiB588323

README.mdH A D26-Sep-20232.4 KiB4830

TargetValidator.rbH A D26-Sep-20231.7 KiB4525

app.plugin.jsH A D26-Sep-202356 21

babel.config.jsH A D26-Sep-2023785 3731

custom_dev_menu_extension_example.pngH A D26-Sep-202379.9 KiB

expo-dev-menu.podspecH A D26-Sep-20235.1 KiB139120

expo-module.config.jsonH A D26-Sep-2023542 2322

index.jsH A D26-Sep-202322 21

metro.config.jsH A D26-Sep-20231.3 KiB4031

package.jsonH A D26-Sep-20232.8 KiB7675

react-native.config.jsH A D26-Sep-2023169 108

setupTests.tsH A D26-Sep-20231.2 KiB4635

tsconfig.app.jsonH A D26-Sep-2023128 65

tsconfig.jsonH A D26-Sep-2023217 109

README.md

1# �� expo-dev-menu
2
3Expo/React Native module to add developer menu to Debug builds of your application. This package is intended to be included in your project through [`expo-dev-client`](https://docs.expo.dev/develop/development-builds/introduction/#what-is-an-expo-dev-client).
4
5## Documentation
6
7You can find more information in the [Expo documentation](https://docs.expo.dev/develop/development-builds/introduction).
8
9## Contributing
10
11The `expo-dev-menu` repository consists of two different parts, the exported package, which includes the native functions, located in the `android`, `ios` and `src` folders and the Dev Menu interface, located under the `app` folder.
12
13Local development is usually done through [`bare-expo`](/apps/bare-expo).
14
15First, make sure to `yarn` and `yarn start` in `expo-dev-menu` which will add the port for the dev menu packager to [`dev-menu-packager-host`](./assets/dev-menu-packager-host`). This is bundled into the native code in `bare-expo` so need to be done first.
16
17To use `dev-client` when running `bare-expo` on Android, open [MainApplication.java](/apps/bare-expo/android/app/src/main/java/dev/expo/payments/MainApplication.java) and set the `USE_DEV_CLIENT` value to `true`.
18
19```diff
20- static final boolean USE_DEV_CLIENT = false;
21+ static final boolean USE_DEV_CLIENT = true;
22```
23
24To use `dev-client` when running `bare-expo` on iOS, open [AppDelegate.mm](/apps/bare-expo/ios/BareExpo/AppDelegate.mm) and set the `USE_DEV_CLIENT` value to `YES`.
25
26```diff
27- BOOL useDevClient = NO;
28+ BOOL useDevClient = YES;
29```
30
31Then build the native apps with `npx pod-install && yarn ios` or `yarn android`.
32
33### Making JavaScript changes inside the `app` folder
34
35To update the JavaScript code inside the `app` folder, you need to run the `dev-menu` bundler locally.
36
371. Navigate to the `dev-menu` package: `cd packages/expo-dev-menu`
382. Start the Metro bundler: `yarn start`
393. To use your local bundler on Android, open [DevMenuHost.java](/packages/expo-dev-menu/android/src/debug/java/expo/modules/devmenu/DevMenuHost.kt) and set `getUseDeveloperSupport` to `true`.
40
41```diff
42- override fun getUseDeveloperSupport() = false
43+ override fun getUseDeveloperSupport() = true
44```
45
464. Play with your changes on a simulator or device through `bare-expo`
475. Once you've made all the necessary changes run `yarn bundle:prod:ios && yarn bundle:prod:android` to update the embedded bundle
48