Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
expo-dev-launcher
Advanced tools
Pre-release version of the Expo development launcher package for testing.
The expo-dev-launcher package is a development tool for Expo applications that allows developers to launch and test their apps in a development environment. It provides functionalities to reload the app, open the developer menu, and handle deep links, among other features.
Reload the App
This feature allows developers to programmatically reload the application, which is useful for testing changes without manually restarting the app.
import { reloadAsync } from 'expo-dev-launcher';
async function reloadApp() {
await reloadAsync();
}
Open Developer Menu
This feature enables developers to open the developer menu programmatically, providing quick access to development tools and options.
import { openMenu } from 'expo-dev-launcher';
function openDevMenu() {
openMenu();
}
Handle Deep Links
This feature allows the app to handle deep links, making it easier to test and debug deep linking functionality during development.
import { addDeepLinkListener } from 'expo-dev-launcher';
addDeepLinkListener((url) => {
console.log('Deep link received:', url);
});
The react-native-restart package provides a simple way to programmatically restart a React Native application. While it focuses solely on restarting the app, it lacks the broader set of development tools provided by expo-dev-launcher.
The react-native-deep-link package is designed to handle deep linking in React Native applications. It offers similar deep link handling capabilities as expo-dev-launcher but does not include other development tools like reloading the app or opening the developer menu.
The react-native-dev-menu package allows developers to customize and open the developer menu in React Native applications. It provides similar functionality to the developer menu feature in expo-dev-launcher but does not include other features like reloading the app or handling deep links.
expo-dev-launcher
is an npm package installable in any Expo or React Native project. Once installed, any Debug builds of your application will gain the ability to load projects from Expo CLI. Release builds of your application will not change other than the addition of a few header files. This package is intended to be included in your project through expo-dev-client
.
You can find more information in the Expo documentation.
The expo-dev-launcher
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 Launcher interface, located under the bundle
folder.
Local development is usually done through bare-expo
.
To use dev-client
when running bare-expo
on Android, open MainApplication.kt and set the USE_DEV_CLIENT
value to true
.
- private const val USE_DEV_CLIENT = false;
+ private const val USE_DEV_CLIENT = true;
To use dev-client
when running bare-expo
on iOS, open AppDelegate.mm and set the USE_DEV_CLIENT
value to YES
.
- BOOL useDevClient = NO;
+ BOOL useDevClient = YES;
bundle
folderTo update the JavaScript code inside the bundle
folder, you need to run the dev-launcher
bundler locally.
dev-launcher
package: cd packages/expo-dev-launcher
yarn start
Open DevLauncherController.kt and update the DEV_LAUNCHER_HOST
value to your bundler URL.
E.g.
- private val DEV_LAUNCHER_HOST: String? = null
+ private val DEV_LAUNCHER_HOST: String? = "10.0.2.2:8090";
3.1. Open another terminal window and navigate to the ios
folder inside bare-expo
3.2. Export the EX_DEV_LAUNCHER_URL
variable in your shell before running pod install
.
E.g.
export EX_DEV_LAUNCHER_URL=http://localhost:8090
This will cause the controller to see if the expo-launcher
packager is running, and if so, use that instead of the prebuilt bundle.
3.3. Run pod install
bare-expo
yarn bundle
to update the embedded bundleFAQs
Pre-release version of the Expo development launcher package for testing.
The npm package expo-dev-launcher receives a total of 254,939 weekly downloads. As such, expo-dev-launcher popularity was classified as popular.
We found that expo-dev-launcher demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 28 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.