Giter VIP home page Giter VIP logo

config-plugins's Introduction

Expo Config Plugins

  • A collection of Expo config plugins for configuring the npx expo prebuild command.
  • This repo is to Expo config plugins as DefinitelyTyped is to TypeScript.
  • We prefer packages ship their own Expo config plugin (to ensure versioning is aligned), but if they haven't adopted the system yet, the community can add a package here.
  • All packages here are community maintained. Feel free to improve docs, packages, tests, etc.
  • We maintain a 1-1 mapping of native packages โ‡” @config-plugins/*. This means there should be no general utility packages here -- those are better suited for a different repo / NPM namespace.

First-party plugins

Here is a list of known packages that have a built-in Config Plugin.

Not all packages need a config plugin, packages that don't appear here might still work with managed EAS.

Complementary

More out-of-tree plugins which can be used to configure more packages.

No Plugin Required

Just install and rebuild! If a package doesn't require any futher setup then it most likely doesn't need an Expo config plugin. Most packages work without a config plugin (including packages not listed below):

Feel free to open a PR with missing packages.

Contributing!

See the contributing guide.

config-plugins's People

Contributors

amandeepmittal avatar bycedric avatar chitezh avatar chronsyn avatar dependabot[bot] avatar derekstavis avatar dhatguy avatar douglowder avatar enagorny avatar evanbacon avatar frankcalise avatar frizzonelli avatar giautm avatar gusgard avatar kbrandwijk avatar kerumen avatar lachenmayer avatar martijnarts avatar mauricedoepke avatar nandorojo avatar nicolasartman avatar petrusek avatar pradeipp avatar robertherber avatar semantic-release-bot avatar thorbenprimke avatar wodin avatar xseignard avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

config-plugins's Issues

react-native-blob-util does not support SDK 48

Summary

I would like to use SDK 48, but at the moment react-native-blob-util does not support SDK 48.

Config Plugin

@config-plugins/react-native-blob-util

What platform(s) does this occur on?

Android, iOS

SDK Version

48

Reproducible demo

Build via eas on expo.dev:

Running "npm install" in the root dir of your repository 
npm ERR!
code ERESOLVE
npm
ERR! ERESOLVE could not resolve
npm ERR! 
npm ERR! While resolving: @config-plugins/[email protected]
npm ERR! Found: [email protected]
npm ERR! node_modules/expo
npm ERR!
expo@"^48.0.4" from the root project
npm ERR!   peer expo@"*" from [email protected]
npm ERR!   node_modules/expo-application
npm ERR!     expo-application@"~5.1.1" from [email protected]
npm ERR!   16 more (expo-constants, expo-dev-client, expo-dev-launcher, ...)
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! peer expo@"^47.0.3" from @config-plugins/[email protected]
npm ERR! node_modules/@config-plugins/react-native-blob-util
npm ERR!   @config-plugins/react-native-blob-util@"*" from the root project
npm ERR! 
npm ERR! Conflicting peer dependency: [email protected]
npm ERR! node_modules/expo
npm ERR!   peer expo@"^47.0.3" from @config-plugins/[email protected]
npm ERR!   node_modules/@config-plugins/react-native-blob-util
npm ERR!     @config-plugins/react-native-blob-util@"*" from the root project
npm ERR! ```

Permission conflict error, unable to use location, on expo 47 and SDK 31

Summary

The problem:
-> My app location permission is returning on request never_ask_again.
-> I added ACCESS_FINE_LOCATION on app.json file. But the Google Play refuses the App due double implementation.


The cause:
The lib uses uses-permission-sdk-23 and expo uses uses-permission directives. So the config/plugin is doubliing the configuration.

When using the option neverUseForLocation it manually adds the ACCESS_FINE_LOCATION with maxSdk and blocks the location permission on newer devices.

It is added on this file: https://github.com/expo/config-plugins/blob/b86291107ec646aee5aee66362e182ec541caf34/packages/react-native-ble-plx/build/withBLEAndroidManifest.js


Workarounds:

  1. Manually remove the double permissions added by the config plugin.
  2. Remove the neverUseForLocation option.

Config Plugin

@config-plugins/react-native-ble-plx

What platform(s) does this occur on?

Android

SDK Version

47

Reproducible demo

Generated AndroidManifest.xml (Without explicit ACCESS_FINE_LOCATION)

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.qualityhub" xmlns:tools="http://schemas.android.com/tools">
  <uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="30"/>
  <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>

Generated AndroidManifest.xml (With explict ACCESS_FINE_LOCATION on app.json)

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.qualityhub" xmlns:tools="http://schemas.android.com/tools">
  <uses-permission-sdk-23 android:name="android.permission.ACCESS_COARSE_LOCATION" android:maxSdkVersion="30"/>
  <uses-permission-sdk-23 android:name="android.permission.ACCESS_FINE_LOCATION" android:maxSdkVersion="30"/>
  <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

App.json plugins session

   "permissions": [
       "ACCESS_COARSE_LOCATION",
       "ACCESS_FINE_LOCATION"
    ],
    "plugins": [
     [
       "@config-plugins/react-native-ble-plx",
       {
         "isBackgroundEnabled": true,
         "neverForLocation": true
       }
     ],

iOS deployment target was not taken from the configuration.

Summary

We're trying to build an ios app using eas build --platform ios in the project which contains a newly installed plugin "@config-plugins/react-native-webrtc",. We followed instructions in the really big and old thread about implementing WebRTC with Expo (link here). According to the recommendation, we need to install package expo-dev-client along with the @config-plugins/react-native-webrtc and according to the example offered for review, we did exactly as required. Due to having a failing build with traceback logs saying

compiling for iOS 12.0, but module 'ExpoModulesCore' has a minimum deployment target of iOS 13.0:

we added

  [
    "expo-build-properties",
    {
      "ios": {
        "deploymentTarget": "13.0"
      }
    }
  ]

to the app.json configuration, but it looks like it does not catch up in the eas build environment. We still get

โŒ  (node_modules/expo-linear-gradient/ios/LinearGradientModule.swift:4:8)

  2 | 
  3 | import CoreGraphics
> 4 | import ExpoModulesCore
    |        ^ compiling for iOS 12.0, but module 'ExpoModulesCore' has a minimum deployment target of iOS 13.0: /Users/expo/Library/Developer/Xcode/DerivedData/binaschoolapp-eykxagvjwynwjugxpprchszbfdvw/Build/Intermediates.noindex/ArchiveIntermediates/binaschoolapp/BuildProductsPath/Release-iphoneos/ExpoModulesCore/ExpoModulesCore.swiftmodule/arm64-apple-ios.swiftmodule

after adding this config instructions.

Config Plugin

@config-plugins/react-native-webrtc

What platform(s) does this occur on?

iOS

SDK Version

~47.0.12

Reproducible demo

Minumum reproducible example:
https://drive.proton.me/urls/Y4TY3DFGCM#NBcYtaD7q31N

1st failed build:
https://expo.dev/accounts/the_bina_school/projects/bina-app/builds/f0ad1db9-6a74-4585-b047-d01ec8a6fbd0

2nd failed build:
https://expo.dev/accounts/the_bina_school/projects/bina-app/builds/ec898bf2-a7c2-421d-a05b-ff2a7640208e

[react-native-branch] SDK 47 only builds for ios 13+ but podspec still has 12

Summary

I believe we need to bump the ios version to 13 from 12.

Screen Shot 2022-11-08 at 6 31 56 PM

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

iOS

SDK Version

47

Reproducible demo

Try building with eas

  "react-native-branch": "^5.6.2",
    "@config-plugins/react-native-branch": "^3.0.0",

Possible Solution

diff --git a/node_modules/@config-plugins/react-native-branch/ios/ExpoAdapterBranch.podspec b/node_modules/@config-plugins/react-native-branch/ios/ExpoAdapterBranch.podspec
index 83ef935..a0a6f42 100644
--- a/node_modules/@config-plugins/react-native-branch/ios/ExpoAdapterBranch.podspec
+++ b/node_modules/@config-plugins/react-native-branch/ios/ExpoAdapterBranch.podspec
@@ -10,7 +10,8 @@ Pod::Spec.new do |s|
   s.license        = package['license']
   s.author         = package['author']
   s.homepage       = package['homepage']
-  s.platform       = :ios, '12.0'
+  # Expo SDK 47 requires ios 13 and above.
+  s.platform       = :ios, '13.0'
   s.swift_version  = '5.4'
   s.source         = { git: 'https://github.com/expo/config-plugins.git' }
   s.static_framework = true

Detox plugin generates invalid network security XML

Summary

Currently the Detox plugin outputs the following for network_security_config.xml:


    <?xml version="1.0" encoding="utf-8"?>
    <network-security-config>
      
    <domain-config cleartextTrafficPermitted="true">
      <domain includeSubdomains="true">10.0.2.2</domain><domain includeSubdomains="true">localhost</domain>
    </domain-config>
  
    </network-security-config>
  

The extra whitespace causes a build error during a merge step as the XML declaration (<?xml) must be at the very beginning of the file.

Config Plugin

@config-plugins/detox

What platform(s) does this occur on?

Android

SDK Version

No response

Reproducible demo

  1. add the Detox config plugin
  2. run expo prebuild -p android --no-install
  3. run expo run:android

Latest supported react-native-webrtc version for @config-plugins/react-native-webrtc

Summary

Hey there, the documentation for the react-native-webrtc config plugin states the latest compatible react-native-webrtc version for the 2.0.0 version of the config plugin. However, since the latest config plugin version is 2.1.1, can you state which is the latest supported version of react-native-webrtc? I tried with version 1.100.0, but I'm getting a TypeError: undefined is not an object (evaluating '_eventTargetShim.defineCustomEventTarget.apply') when running mediaDevices.enumerateDevices()

Thanks in advance!

Config Plugin

@config-plugins/react-native-webrtc

What platform(s) does this occur on?

iOS

SDK Version

44

Reproducible demo

  • initialize an expo project
  • install react-native-webrtc and the config plugin by following the provided instructions in this repo. Version 1.100.0 will be installed.
  • Add the following to your app:
 let isFront = true;
  mediaDevices.enumerateDevices().then((sourceInfos) => {
    console.log(sourceInfos);
    let videoSourceId;
    for (let i = 0; i < sourceInfos.length; i++) {
      const sourceInfo = sourceInfos[i];
      if (sourceInfo.kind == 'videoinput' && sourceInfo.facing == (isFront ? 'front' : 'environment')) {
        videoSourceId = sourceInfo.deviceId;
      }
    }
  });

Add support for SDK 46

Summary

It looks like react native pdf config plugin doesn't work with SDK 46.

Config Plugin

@config-plugins/react-native-pdf

What platform(s) does this occur on?

Android, iOS

SDK Version

46

Reproducible demo

using:
expo-cli doctor --fix-dependencies

results in:
Expected package @expo/config-plugins@^5.0.0 Found invalid: @expo/[email protected] @expo/[email protected] (for more info, run: npm why @expo/config-plugins)

using:
npm ls @expo/config-plugins

results in:
โ”œโ”€โ”ฌ @config-plugins/[email protected] โ”‚ โ””โ”€โ”€ @expo/[email protected] โ”œโ”€โ”ฌ @config-plugins/[email protected] โ”‚ โ””โ”€โ”€ @expo/[email protected]

BLE works without asking user for permission?

I'm testing the BLE config and I don't get a prompt that asks for Bluetooth permissions and everything works fine despite that. Why is that? Does it have the same behaviour in production builds?

How can I/should I actively prompt the user to accept the permissions?

@config-plugins/react-native-quick-actions - add support for android icons

Library

@config-plugins/react-native-quick-actions

Summary

https://github.com/jordanbyron/react-native-quick-actions

"On Android you'll need to create an image file (use PNG) inside android/app/src/main/res/drawable."

It would be awesome to have the possibility to configure this directly in the config plugin, so that it is not necessary to touch anything in the "android" folder ๐Ÿ˜‡

Any existing examples?

No response

Snapchat SnapKit config plugin

Library

https://www.npmjs.com/package/@snapchat/snap-kit-react-native

Summary

A Snapchat SnapKit config plugin would be great! Would allow us to use Snapchat's React Native package and it's forgo its complex setup process. (https://docs.snap.com/snap-kit/creative-kit/Tutorials/react-native#step-2-update-your-androidmanifestxml-file)

I already managed to get a config plugin sort of working. Can't figure out how to do step 3 (Step 3: Define Paths in Your res/xml/filre_paths.xml File) within the config plugin

Any existing examples?

import {
  AndroidConfig,
  createRunOncePlugin,
  IOSConfig,
  withXcodeProject,
  withAppBuildGradle,
  ConfigPlugin,
  withStringsXml,
  withProjectBuildGradle,
  withAndroidManifest,
} from "@expo/config-plugins";
import {
  createGeneratedHeaderComment,
  MergeResults,
  mergeContents,
  removeGeneratedContents,
} from "@expo/config-plugins/build/utils/generateCode";
import { ExpoConfig } from "expo/config";
const { addMetaDataItemToMainApplication, getMainApplicationOrThrow } = AndroidConfig.Manifest;

// Fork of config-plugins mergeContents, but appends the contents to the end of the file. Taken from https://github.com/expo/expo/blob/master/packages/expo-camera/plugin/src/withCamera.ts
function appendContents({
  src,
  newSrc,
  tag,
  comment,
}: {
  src: string;
  newSrc: string;
  tag: string;
  comment: string;
}): MergeResults {
  const header = createGeneratedHeaderComment(newSrc, tag, comment);
  if (!src.includes(header)) {
    // Ensure the old generated contents are removed.
    const sanitizedTarget = removeGeneratedContents(src, tag);
    const contentsToAdd = [
      // @something
      header,
      // contents
      newSrc,
      // @end
      `${comment} @generated end ${tag}`,
    ].join("\n");

    return {
      contents: sanitizedTarget ?? src + contentsToAdd,
      didMerge: true,
      didClear: !!sanitizedTarget,
    };
  }
  return { contents: src, didClear: false, didMerge: false };
}

const pkg = require("@snapchat/snap-kit-react-native/package.json");

const addSnapkitImport = (src: string): MergeResults => {
  return appendContents({
    tag: "expo-snapkit-import",
    src,
    newSrc: `allprojects { repositories { maven { url "https://storage.googleapis.com/snap-kit-build/maven" } } }`,
    comment: "//",
  });
};
const withSnapkitGradle: ConfigPlugin = (config) => {
  return withProjectBuildGradle(config, (config) => {
    if (config.modResults.language === "groovy") {
      config.modResults.contents = addSnapkitImport(config.modResults.contents).contents;
    } else {
      throw new Error(
        "Cannot add Snapkit maven gradle because the project build.gradle is not groovy"
      );
    }
    return config;
  });
};

async function addMetaDataToAndroidManifest(
  config: Pick<ExpoConfig, "android">,
  androidManifest: AndroidConfig.Manifest.AndroidManifest
): Promise<AndroidConfig.Manifest.AndroidManifest> {
  const name = "com.snapchat.kit.sdk.clientId";
  const value = "{{YOUR API KEY HERE}}";
  const mainApplication = getMainApplicationOrThrow(androidManifest); // Get the <application /> tag and assert if it doesn't exist.
  addMetaDataItemToMainApplication(
    mainApplication,
    name, // value for `android:name`
    value // value for `android:value`
  );
  return androidManifest;
}
const withCustomMetaData: ConfigPlugin = (config) => {
  return withAndroidManifest(config, async (config) => {
    // Modifiers can be async, but try to keep them fast.
    config.modResults = await addMetaDataToAndroidManifest(config, config.modResults);
    return config;
  });
};

function addProviderToAndroidManifest(androidManifest: AndroidConfig.Manifest.AndroidManifest) {
  const app = AndroidConfig.Manifest.getMainApplicationOrThrow(
    androidManifest
  ) as AndroidConfig.Manifest.ManifestApplication & { provider?: any[] };
  // Add the provider if it doesn't exist.
  if (!app.provider) {
    app.provider = [];
  }
  // if the provider doesn't have the FileProvider, add it.
  if (
    !app.provider.some((p) => p.$["android:name"] === "android.support.v4.content.FileProvider")
  ) {
    // <provider android:authorities="${applicationId}.fileprovider" android:name="android.support.v4.content.FileProvider" android:exported="false" android:grantUriPermissions="true"><meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths"/></provider>
    app.provider.push({
      $: {
        "android:name": "android.support.v4.content.FileProvider",
        "android:authorities": "${applicationId}.fileprovider",
        "android:exported": "false",
        "android:grantUriPermissions": "true",
      },
      "meta-data": {
        $: {
          "android:name": "android.support.FILE_PROVIDER_PATHS",
          "android:resource": "@xml/file_paths",
        },
      },
    });
  }
  return androidManifest;
}
function withProvider(config: ExpoConfig) {
  return withAndroidManifest(config, async (config) => {
    config.modResults = addProviderToAndroidManifest(config.modResults);
    return config;
  });
}

function addPackageToQuery(androidManifest: AndroidConfig.Manifest.AndroidManifest) {
  // <package android:name="com.snapchat.android" />
  const packageToAdd = {
    package: {
      $: {
        "android:name": "com.snapchat.android",
      },
    },
  };
  // @ts-ignore since queries does exist but Expo's types don't have it.
  const queries = androidManifest.manifest.queries;
  if (!queries) {
    // @ts-ignore since queries does exist but Expo's types don't have it.
    androidManifest.manifest.queries = [...packageToAdd];
  } else {
    // @ts-ignore since queries does exist but Expo's types don't have it.
    // TODO: this will break if there are other <package> tags in the queries.
    androidManifest.manifest.queries[0].package = {
      $: { ...packageToAdd.package.$ },
    };
  }

  return androidManifest;
}
function withPackage(config: ExpoConfig) {
  return withAndroidManifest(config, async (config) => {
    config.modResults = addPackageToQuery(config.modResults);
    return config;
  });
}

const withSnapchatSdk: ConfigPlugin = (config) => {
  return withPackage((withCustomMetaData(withSnapkitGradle(config))));
  // skipping withProvider as filePath was giving me issues.
  // return withPackage(withProvider(withCustomMetaData(withSnapkitGradle(config))));
};

export default createRunOncePlugin(withSnapchatSdk, pkg.name, pkg.version);

react-native-branch idfa aaid tracking

Summary

Hello, seems I can't collect IDFA, AAID with the current react-native-branch config plugin. Will support for collecting IDFA, AAID tracking be included in the future?

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

Android, iOS

SDK Version

46

Reproducible demo

No demo needed

Some steps to get branch working with the config plugin

Summary

Hey guys I just wanna leave this here because I struggled a lot and I hope it helps someone out. I think a few things need to be added to the config plugin directions. If you just add the config plug the universal links do not work. Placing the associated domains in the config plugin did not do it for me. But putting them in the associatedDomains inside the ios object worked. Also make sure to configure the scheme. The snippet bellow shows the set up needed to get things working.

 export default {
    name: 'appName',
    slug: 'appName',
    ...
    scheme: 'appname', // <----- make sure you specify the scheme
    ...
    ios: {
        associatedDomains: [ // <----- make sure you specify the associated domains like so
            'applinks:exampleapp.test-app.link',
            'applinks:exampleapp-alternate.test-app.link',
        ],
    ...
    },
    plugins: [
        [
            '@config-plugins/react-native-branch', // <----- place config plug in here like so
            {
                apiKey: 'key_test_YourKeyAwjB9dasdceAsoKE5J5', // <----- place apiKey here 
            },
        ],
    ],

}

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

iOS

SDK Version

45

Reproducible demo

https://github.com/haibert/BranchIssue

Couldn't find DSO to load: libhermes.so

Summary

Hi,

I have spend 2 days tried to fix this error but it keeps appearing whatever I try.

Here is a related StackOverflow question

It works when I remove ffmpeg plugin and packages from npm modules, and it works on iOS

I have tried

  • Downgrading to v2.0.0 and expo v45
  • Modifying build.gradle and app/build.gradle according to the SO answers
  • Fresh install with just ffmpeg plugin
  • 2 Emulator and 1 real device
  • Expo prebuild --clean, ./android/gradlew clean, deleting node_module at each try

I am out of solutions now

Config Plugin

@config-plugins/ffmpeg-kit-react-native

What platform(s) does this occur on?

Android

SDK Version

~46.0.13

Reproducible demo

https://github.com/top-kat/expo-ffmpeg-kit-example

Run

  • yarn install
  • yarn prebuild
  • yarn android

missing NSBluetoothPeripheralUsageDescription Info.plist key

getting this error when trying to upload app to apple testflight for @config-plugins/react-native-ble-plx

ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSBluetoothPeripheralUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data

how to absolute file path for using `fontfile`

I'm using drawtext and want to specify a custom font I have in my /assets directory. The problem is I don't know how to get the absolute filepath for this.

I have tried setting my font directory using a relative path, but I assume that it requires an absolute path here as well.

    FFmpegKitConfig.setFontDirectoryList([
      "/system/fonts",
      "/System/Library/Fonts",
      "../../assets/fonts/",
    ]);

How do find the absolute path of an asset file in my app directory on a device?

Android build error for ffmpeg-kit-react-native

While building a dev client for android (on EAS) the gradle step fails with

[stderr] FAILURE: Build failed with an exception.
[stderr] * What went wrong:
[stderr] Execution failed for task ':app:mergeDebugNativeLibs'.
[stderr] > A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
[stderr]    > More than one file was found with OS independent path 'lib/x86/libc++_shared.so'.
 If you are using jniLibs and CMake IMPORTED targets, 
see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_dependencies_used_by_cmake

Which I've seen before and fixed for myself with a patch-package while integrating react-native-mmkv in my managed expo app. I found mention of this issue on the old version of ffmpeg-kit-react-native which was react-native-ffmpeg. The fix made it into the Tips for the new repo. I believe this is a necessary step for the config plugin to work properly for android and the other ffmpeg binaries (I'm trying to use full-gpl). In the meantime, I'll try to write a patch for the plugin that incorporates this fix. Btw thanks Evan for the plugin. It works great on iOS and was essential for supporting cross-platform video sharing in my expo app.

The automated release is failing ๐Ÿšจ

๐Ÿšจ The automated release from the main branch failed. ๐Ÿšจ

I recommend you give this issue a high priority, so other packages depending on you can benefit from your bug fixes and new features again.

You can find below the list of errors reported by semantic-release. Each one of them has to be resolved in order to automatically publish your package. Iโ€™m sure you can fix this ๐Ÿ’ช.

Errors are usually caused by a misconfiguration or an authentication problem. With each error reported below you will find explanation and guidance to help you to resolve it.

Once all the errors are resolved, semantic-release will release your package the next time you push a commit to the main branch. You can also manually restart the failed CI job that runs semantic-release.

If you are not sure how to resolve this, here are some links that can help you:

If those donโ€™t help, or if this issue is reporting something you think isnโ€™t right, you can always ask the humans behind semantic-release.


No npm token specified.

An npm token must be created and set in the NPM_TOKEN environment variable on your CI environment.

Please make sure to create an npm token and to set it in the NPM_TOKEN environment variable on your CI environment. The token must allow to publish to the registry https://registry.npmjs.org/.


Good luck with your project โœจ

Your semantic-release bot ๐Ÿ“ฆ๐Ÿš€

[detox] build command (generate .app file) with .env variables

Hello.

We are trying to set a e2e test suite, but struggling to get the environment variables working (when testing).

Currently, we have a managed expo project (ios/android folders being created with expo run:'platform') with some environment variables being set on app.config.js (from .env file).

When we build locally using expo run:ios, for example, the variables work just fine.
The issue is when we generate the build for being used on the e2e tests.

In this case, app.config.js has undefined variables.

The command we are using for generating the .app file is this one: xcodebuild -workspace ios/detoxexpoblank.xcworkspace -scheme detoxexpoblank -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build | npx excpretty ./

We are looking for a way to attach the environment variables on the generated build.

We tried adding require('dotenv').config() on the test files, but that doesn't work either.

Any help would be really appreciated.

Thanks

EAS build failing for ffmpeg-kit-react-native when any android package is specified in app.json

Summary

I'm trying to build a dev client for android that has the "video" package. But the build process keeps failing regardless of which package I specify for android. Only when the android package is set to null (which is https by default I believe), the dev client builds successfully.

iOS works without any issue for all packages.

Screenshot 2022-05-25 172105

Config Plugin

@config-plugins/ffmpeg-kit-react-native

What platform(s) does this occur on?

Android

SDK Version

45.0.0

Reproducible demo

This is in my app.json file.
"plugins": [ [ "@config-plugins/ffmpeg-kit-react-native", { "ios": { "package": "full-gpl" }, "android": { "package": "https-gpl" } } ] ],

I'm trying to run FFmpegKit.execute('-i input.mp4 -vcodec libx264 -crf 20 output.mp4')

On Android, I'm unable to use libx264 without specifying the package, unfortunately.

Npx expo run:android failed after installing @config-plugins/ffmpeg-kit-react-native

Summary

I installed the ffmpeg-kit-react-native and the @config-plugins/ffmpeg-kit-react-native with the following command

npm install  ffmpeg-kit-react-native @config-plugins/ffmpeg-kit-react-native 

And here is the content of the plugins property of my app.json file

"plugins": [
      [
        "expo-image-picker",
        {
          "photosPermission": "The app accesses your photos to let you share them with your friends."
        }
      ],
      [
        "expo-media-library",
        {
          "photosPermission": "Allow wys to access your photos",
          "savePhotosPermission": "Allow wys to save photos.",
          "isAccessMediaLocationEnabled": true
        }
      ],
      ["@config-plugins/ffmpeg-kit-react-native"]
    ]

I expected when I run the npx expo run:android will run the android but got the error as following

CommandError: Cannot find module 'expo-build-properties'
Require stack:
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@config-plugins/ffmpeg-kit-react-native/build/withFFMPEG.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@config-plugins/ffmpeg-kit-react-native/app.plugin.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/config-plugins/build/utils/plugin-resolver.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/config-plugins/build/plugins/withStaticPlugin.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/config-plugins/build/plugins/withPlugins.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/config-plugins/build/index.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/cli/build/src/utils/scheme.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/cli/build/src/run/android/runAndroidAsync.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/cli/build/src/run/android/index.js
- /home/zxw/Desktop/wys/wys_mobile/node_modules/@expo/cli/build/bin/cli

Config Plugin

@config-plugins/ffmpeg-kit-react-native

What platform(s) does this occur on?

Android

SDK Version

~47.0.6

Reproducible demo

package.json file

{
  "name": "wys_mobile",
  "version": "1.0.0",
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "dependencies": {
    "@config-plugins/ffmpeg-kit-react-native": "^4.0.0",
    "@expo/vector-icons": "^13.0.0",
    "@tensorflow/tfjs": "^4.0.0",
    "expo": "~47.0.6",
    "expo-image-picker": "~14.0.1",
    "expo-media-library": "~15.0.0",
    "expo-status-bar": "~1.4.2",
    "expo-video-thumbnails": "~7.0.0",
    "ffmpeg-kit-react-native": "^5.1.0",
    "native-base": "^3.4.22",
    "react": "18.1.0",
    "react-devtools": "^4.26.1",
    "react-dom": "18.0.0",
    "react-native": "0.70.5",
    "react-native-safe-area-context": "4.4.1",
    "react-native-svg": "13.4.0"
  },
  "devDependencies": {
    "@babel/core": "^7.12.9"
  },
  "private": true
}

App.json file

{
  "expo": {
    "name": "wys_mobile",
    "slug": "wys_mobile",
    "version": "1.0.0",
    "orientation": "portrait",
    "icon": "./assets/logo.png",
    "userInterfaceStyle": "light",
    "splash": {
      "image": "./assets/logo.png",
      "resizeMode": "contain",
      "backgroundColor": "#5b86e5"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "./assets/*"
    ],
    "ios": {
      "supportsTablet": true
    },
    "android": {
      "adaptiveIcon": {
        "foregroundImage": "./assets/logo.png",
        "backgroundColor": "#5b86e5"
      },
      "permissions": [
        "android.permission.RECORD_AUDIO",
        "android.permission.READ_EXTERNAL_STORAGE",
        "android.permission.WRITE_EXTERNAL_STORAGE"
      ],
      "package": "org.zhengMa"
    },
    "web": {
      "favicon": "./assets/logo.png"
    },
    "plugins": [
      [
        "expo-image-picker",
        {
          "photosPermission": "The app accesses your photos to let you share them with your friends."
        }
      ],
      [
        "expo-media-library",
        {
          "photosPermission": "Allow wys to access your photos",
          "savePhotosPermission": "Allow wys to save photos.",
          "isAccessMediaLocationEnabled": true
        }
      ],
      ["@config-plugins/ffmpeg-kit-react-native"]
    ],
    "extra": {
      "eas": {
        "projectId": "990bb34a-7357-42a1-a239-c0d313af8f9c"
      }
    }
  }
}

eas.json file

{
  "cli": {
    "version": ">= 2.7.1"
  },
  "build": {
    "development": {
      "developmentClient": true
    },
    "preview": {
      "android": {
        "buildType": "apk"
      }
    },
    "preview2": {
      "android": {
        "gradleCommand": ":app:assembleRelease"
      }
    },
    "preview3": {
      "developmentClient": true
    },
    "production": {}
  },
  "submit": {
    "production": {}
  }
}

The Swift pod `ExpoAdapterBranch` depends upon `react-native-branch`, which does not define modules.

Summary

I followed the instructions for the react native branch config plug in, ran eas build, the build failed with the following error.

[!] The following Swift pods cannot yet be integrated as static libraries:
The Swift pod `ExpoAdapterBranch` depends upon `react-native-branch`, which does not define modules. To opt into those targets generating module maps (which is necessary to import them from Swift when building as static libraries), you may set `use_modular_headers!` globally in your Podfile, or specify `:modular_headers => true` for particular dependencies.
pod exited with non-zero code: 1

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

iOS

SDK Version

45

Reproducible demo

https://github.com/haibert/BranchIssue

@config-plugins/react-native-ble-plx broken for some Android phones

Summary

Some android phones do not allow Bluetooth Scan.

The issue is with permissions, although it's so confusing, and so poorly documented, that I havn't got to the bottom of it yet.
There is clearly a more complicated story with permissions then this plugin is handling, for various versions of Android, and various vendor specific tweaks.
If the plugin can't handle the details, then a clear explanation of the issue needs to be added to the readme.
I have an app in the Google Play Store with users reporting issues, and negative ratings piling up, despite testing my app on dozens of android devices, on many different Android versions.

If I add ACCESS_BACKGROUND_LOCATION to my app.json under android.permissions, then Google Play Store has a very serious issue with that, and requires me to disclose this information to the user before the permissions is invoked. Such a disclosure is not something I have ever seen in an app, despite many apps using bluetooth, so clearly something is off. Disclosing that an app is accessing users background location for no reason is not a good look, as the app does not have any need of users location.

here is a list so far of users devices that deny the scan:
- Nokia g10 (Android 10)
- Google Pixel 6 Pro (Android 13)
- Google Pixel 4a (Android 13)
- Galaxy S10+ (Android 12)
- Moto g pure (Android 12)
- Samsung s22 ultra
- Samsung flip 5 (Android 12)
- Galaxy A51 (Android 11)
- Galaxy A52 5G (Android 12)

thank you!!!

Config Plugin

@config-plugins/react-native-ble-plx

What platform(s) does this occur on?

Android

SDK Version

45

Reproducible demo

Any bluetooth app that scans

Using detox plugin

The readme seems really well written however I do face some issue that I hope you can help me we details on.

'yarn e2e:ios'

I don't have this script in my package.json made the project by expo init. What do you suggest me to do?

@config-plugins/react-native-ble-plx 3.0.0 (SDK 46) needs @expo/config-plugins peer-dep

Summary

@config-plugins/react-native-ble-plx v3.0.0, bringing Expo SDK v46 support, ...

  1. needs @expo/config-plugins peerDependency specification
  2. needs release notes
  3. is now out of sync w/re: versioning of react-native-ble-plx package

Otherwise this fails to work on MacOS / Node.js v16:

Build failed
Cannot find module '@expo/config-plugins'
Require stack:
- /Users/expo/workingdir/build/node_modules/@config-plugins/react-native-ble-plx/build/withBLE.js
- /Users/expo/workingdir/build/node_modules/@config-plugins/react-native-ble-plx/app.plugin.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/utils/plugin-resolver.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/plugins/withStaticPlugin.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/plugins/withPlugins.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/node_modules/@expo/config-plugins/build/index.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/android/expoUpdates.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/utils/expoUpdates.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/builders/android.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/builders/index.js
- /usr/local/eas-build-worker/node_modules/@expo/build-tools/dist/index.js
- /usr/local/eas-build-worker/src/services/worker/dist/ios/build.js
- /usr/local/eas-build-worker/src/services/worker/dist/build.js
- /usr/local/eas-build-worker/src/services/worker/dist/service.js
- /usr/local/eas-build-worker/src/services/worker/dist/ws.js
- /usr/local/eas-build-worker/src/services/worker/dist/main.js

Config Plugin

@config-plugins/react-native-ble-plx

What platform(s) does this occur on?

iOS

SDK Version

46

Reproducible demo

Simply try to use @config-plugins/react-native-ble-plx as specified w/ a blank Expo project (no top-level @expo/config-plugins deps).

Missing expo-build-properties dependency

Summary

Hey there, I'm currently trying to install ffmpeg-kit-react-native using the config plugin.

It seems there's a small dependency (or documentation?) issue: after installing ffmpeg-kit-react-native and @config-plugins/ffmpeg-kit-react-native, eas build fails with Error: Cannot find module 'expo-build-properties'.

From what I can tell, a simple solution would be to add expo-build-properties to @config-plugins/ffmpeg-kit-react-native's dependencies, as it is imported here:

import { withBuildProperties } from "expo-build-properties";

This was introduced in #114. In that PR, expo-build-properties was added as a dependency to another config plugin (react-native-webrtc - see diff), so this just seems like a small oversight.

Alternatively, this could be added as a peerDependency - in that case, it would be great to update the installation docs to include adding the expo-build-properties dependency.

Duplicate bug report (closed, but not fixed): #148

Config Plugin

@config-plugins/ffmpeg-kit-react-native

What platform(s) does this occur on?

Android, iOS

SDK Version

47

Reproducible demo

In a fresh Expo project...

  1. yarn add ffmpeg-kit-react-native @config-plugins/ffmpeg-kit-react-native
  2. yarn eas build --platform all

This fails with the following error, no build is submitted to EAS:

    Error: Cannot find module 'expo-build-properties'
    Require stack:
    - ...redacted.../app/node_modules/@config-plugins/ffmpeg-kit-react-native/build/withFFMPE
    G.js
    - ...redacted.../app/node_modules/@config-plugins/ffmpeg-kit-react-native/app.plugin.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@expo/config-plugins/build/utils/p
    lugin-resolver.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@expo/config-plugins/build/plugins
    /withStaticPlugin.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@expo/config-plugins/build/plugins
    /withPlugins.js
    - 
    ...redacted.../app/node_modules/eas-cli/node_modules/@expo/config-plugins/build/index.js
    - ...redacted.../app/node_modules/eas-cli/build/project/ios/bundleIdentifier.js
    - ...redacted.../app/node_modules/eas-cli/build/credentials/ios/api/GraphqlClient.js
    - ...redacted.../app/node_modules/eas-cli/build/credentials/context.js
    - ...redacted.../app/node_modules/eas-cli/build/submit/context.js
    - ...redacted.../app/node_modules/eas-cli/build/build/runBuildAndSubmit.js
    - ...redacted.../app/node_modules/eas-cli/build/commands/build/index.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/module-loader.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/config/plugin.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/config/config.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/config/index.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/command.js
    - ...redacted.../app/node_modules/eas-cli/node_modules/@oclif/core/lib/index.js
    - ...redacted.../app/node_modules/eas-cli/bin/run
    Code: MODULE_NOT_FOUND
  1. yarn add expo-build-properties, and re-run the EAS build command: build is submitted as expected โœ…

Assets

quick-actions demo ios

demo-ios

Error after branch integration

Summary

After implementation react-native-branch configuration everything is working but I'm getting errors in console:

[OxynDEV] [branch.io] Branch.m(336) Error: Branch init error: The Branch user session has not been initialized.
[OxynDEV] [branch.io] Branch.m(408) Error: Your Branch key is not set in your Info.plist file. See
https://dev.branch.io/getting-started/sdk-integration-guide/guide/ios/#configure-xcode-project for configuration instructions.
[OxynDEV] [branch.io] Branch.m(336) Error: Branch init error: The Branch user session has not been initialized.
[OxynDEV] [branch.io] Branch.m(336) Error: Branch init error: The Branch user session has not been initialized.
[OxynDEV] [branch.io] Branch.m(408) Error: Your Branch key is not set in your Info.plist file. See
https://dev.branch.io/getting-started/sdk-integration-guide/guide/ios/#configure-xcode-project for configuration instructions.
[OxynDEV] [branch.io] BNCServerInterface.m(238) Error: An error prevented request to https://api2.branch.io/v1/install from completing: Error
Domain=io.branch.sdk.error Code=1003 "The network request was invalid." UserInfo={NSLocalizedDescription=The network request was invalid.,
NSLocalizedFailureReason=The request was invalid.}
[OxynDEV] [branch.io] Branch.m(336) Error: Branch init error: The Branch user session has not been initialized.
[OxynDEV] [branch.io] Branch.m(408) Error: Your Branch key is not set in your Info.plist file. See
https://dev.branch.io/getting-started/sdk-integration-guide/guide/ios/#configure-xcode-project for configuration instructions.
[OxynDEV] [branch.io] BNCServerInterface.m(238) Error: An error prevented request to https://api2.branch.io/v1/install from completing: Error
Domain=io.branch.sdk.error Code=1003 "The network request was invalid." UserInfo={NSLocalizedDescription=The network request was invalid.,
NSLocalizedFailureReason=The request was invalid.}

That's how app.config.js looks like:

plugins: [
  [
    "@config-plugins/react-native-branch",
    {
      apiKey: getAppInfo().identifier,
      iosAppDomain: getAppInfo().iosAppDomains,
    },
  ],
],

of course getAppInfo is returning key 

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

iOS

SDK Version

46.0.9

Reproducible demo

I can't upload a reprovable demo unfortunately. It's closed project

not able to make ios/android builds because of @config-plugin/react-native-blob-util

Summary

hi i was using this config-plugin in order to support react-native-pdf according to this documentation https://github.com/expo/config-plugins/tree/main/packages/react-native-pdf#config-pluginsreact-native-pdf .

my project was working fine 14 days back , in the mean time i haven't touched it , but when i was trying to make builds yesterday, they were getting failed giving " npm Err While resolving: @config-plugins/[email protected]"

image

React-Native :- 0.68.2
React-native-blob-util :- 0.16.2
@config-plugins/react-native-blob-util :- 3.0.0
I am using EAS.
builds are not happening in Android and Ios

Config Plugin

@config-plugins/react-native-blob-util

What platform(s) does this occur on?

Android, iOS

SDK Version

45

Reproducible demo

my package.json is

{
"name": "icare",
"version": "1.0.0",
"main": "node_modules/expo/AppEntry.js",
"scripts": {
"start": "expo start",
"android": "expo start --android",
"ios": "expo start --ios",
"web": "expo start --web",
"eject": "expo eject"
},
"dependencies": {
"@config-plugins/react-native-blob-util": "^3.0.0",
"@config-plugins/react-native-pdf": "^3.0.0",
"@react-native-async-storage/async-storage": "~1.17.3",
"@react-native-community/datetimepicker": "6.1.2",
"@react-native-community/slider": "^4.3.1",
"@react-native-picker/picker": "2.4.0",
"@react-navigation/drawer": "^6.4.4",
"@react-navigation/native": "^6.0.8",
"axios": "^0.26.0",
"body-parser": "^1.20.0",
"d3-scale": "^4.0.2",
"deprecated-react-native-prop-types": "^2.3.0",
"expo": "^45.0.0",
"expo-app-loading": "~2.0.0",
"expo-dev-client": "~1.0.1",
"expo-document-picker": "^10.3.0",
"expo-file-system": "^14.1.0",
"expo-font": "~10.1.0",
"expo-media-library": "^14.2.0",
"expo-notifications": "~0.15.4",
"expo-permissions": "~13.2.0",
"expo-sharing": "^10.3.0",
"expo-splash-screen": "~0.15.1",
"expo-status-bar": "~1.3.0",
"expo-updates": "~0.13.4",
"is-typed-array": "^1.1.9",
"multiselect-react-dropdown": "^2.0.21",
"native-base": "^3.3.7",
"react": "17.0.2",
"react-dom": "17.0.2",
"react-native": "0.68.2",
"react-native-blob-util": "^0.16.2",
"react-native-dialog": "^9.2.1",
"react-native-document-picker": "^8.1.1",
"react-native-elements": "^3.4.2",
"react-native-gesture-handler": "~2.2.1",
"react-native-image-picker": "^4.10.0",
"react-native-keyboard-aware-scroll-view": "^0.9.5",
"react-native-multiple-select": "^0.5.7",
"react-native-otp-verify": "^1.0.5",
"react-native-paper": "^4.12.2",
"react-native-pdf": "^6.6.2",
"react-native-reanimated": "^2.8.0",
"react-native-safe-area-context": "4.2.4",
"react-native-screens": "~3.11.1",
"react-native-simple-radio-button": "^2.7.4",
"react-native-sound": "^0.11.2",
"react-native-svg": "12.3.0",
"react-native-svg-charts": "^5.4.0",
"react-native-swiper": "^1.6.0",
"react-native-web": "0.17.7",
"react-native-webview": "^11.23.1",
"react-navigation": "^4.4.4",
"react-navigation-drawer": "^2.7.2",
"react-select": "^5.2.2",
"which-typed-array": "^1.1.8"
},
"devDependencies": {
"@babel/core": "^7.12.9"
},
"private": true
}

eas.json is

{
"cli": {
"version": ">= 0.60.0"
},
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"android": {
"buildType": "apk"
}
},
"preview1": {
"distribution": "internal"
},
"preview2": {
"android": {
"gradleCommand": ":app:assembleRelease"
}
},
"production": {}
},
"submit": {
"production": {}
}
}

Android build error after upgrading

Summary

After upgrading the build via eas fails with callkeep. On iOS there are no problems.

Versions:
"@config-plugins/react-native-callkeep": "^3.0.0",
"react-native-callkeep": "^4.3.3",

Config Plugin

@config-plugins/react-native-callkeep

What platform(s) does this occur on?

Android

SDK Version

46

Reproducible demo

[stderr] 
FAILURE: Build failed with an exception.
[stderr] 
* What went wrong:
[stderr] 
Execution failed for task ':react-native-callkeep:compileDebugJavaWithJavac'.

excpretty not found

Hello (again thanks for this awesome work)

When running iOS build command, it stops on this command npx excpretty ./ telling npm ERR! 404 Not Found - GET https://registry.npmjs.org/excpretty - Not found

Should we come back to the previous one @expo/xcpretty ?

skAdNetworkHandling always false or null?

Summary

SkAdNetwork always null or false?

AdjustConfig {
  "allowAdServicesInfoReading": null,
  "allowIdfaReading": null,
  "allowiAdInfoReading": null,
  "appToken": "whatever",
  "coppaCompliantEnabled": null,
  "defaultTracker": null,
  "delayStart": null,
  "environment": "sandbox",
  "eventBufferingEnabled": null,
  "externalDeviceId": null,
  "info1": null,
  "info2": null,
  "info3": null,
  "info4": null,
  "isDeviceKnown": null,
  "linkMeEnabled": null,
  "logLevel": "SUPPRESS",
  "needsCost": null,
  "playStoreKidsAppEnabled": null,
  "preinstallFilePath": null,
  "preinstallTrackingEnabled": null,
  "processName": null,
  "readMobileEquipmentIdentity": null,
  "sdkPrefix": "react-native4.32.1",
  "secretId": null,
  "sendInBackground": null,
  "shouldLaunchDeeplink": null,
  "skAdNetworkHandling": false, // This guy here
  "urlStrategy": null,
  "userAgent": null,
}

skAdNetworkHandling is false if adjustConfig.deactivateSKAdNetworkHandling() is called. And null if it isnt.
How do we make it true or enabled? If I want Adjust to have access to the StoreKit data?

Config Plugin

@config-plugins/react-native-adjust

What platform(s) does this occur on?

iOS

SDK Version

45

Reproducible demo

import { Adjust, AdjustConfig } from "react-native-adjust";

export function initializeAdjustSdk() {
  const adjustConfig = new AdjustConfig(
    "whatever",
    process.env.NODE_ENV === "production"
      ? AdjustConfig.EnvironmentProduction
      : AdjustConfig.EnvironmentSandbox
  );
  adjustConfig.setLogLevel(AdjustConfig.LogLevelSuppress);
  adjustConfig.deactivateSKAdNetworkHandling(); // Will set to false or will be null if we dont call this

  console.log(adjustConfig);
  Adjust.create(adjustConfig);
}

need help installing this on my project

Library

@config/react-native-ble-plx

Summary

Unable to resolve module fs from /Users/user/Downloads/expo-speech-to-text-main/node_modules/@config-plugins/react-native-ble-plx/node_modules/@expo/config-plugins/build/utils/XML.js: fs could not be found within the project or in these directories:

How can i resolve this?

Any existing examples?

xports.writeXMLAsync = writeXMLAsync;
12 |

13 | function _fs() {
| ^
14 | const data = _interopRequireDefault(require("fs"));
15 |
16 | _fs = function () {

Screenshot 2022-12-24 at 4 31 30 PM

ios-hermes-intl

Library

hermes

Summary

Hermes still doesn't support Intl for iOS (it does for Android).

The polyfills out there feel very hacky. It's possible this shouldn't actually be a config plugin, since the solution may just be a bunch of imports in a JS file. But if it could, it would be a nice way to make the upgrade to Hermes smoother for iOS.

Any existing examples?

No response

EAS build failed for react-native-branch

Summary

I'm trying to build a dev client including the react-native-branch package. But the build process keeps failing for both iOS and Android.

iOS:
Screen Shot 2022-06-07 at 5 03 09 p m

Android:

[stderr] 
Note: Some input files use unchecked or unsafe operations.
[stderr] 
Note: Recompile with -Xlint:unchecked for details.
> Task :expo-modules-core:bundleLibCompileToJarDebug
> Task :react-native-branch:generateDebugBuildConfig
> Task :react-native-branch:javaPreCompileDebug
> Task :react-native-branch:compileDebugJavaWithJavac
> Task :react-native-branch:bundleLibCompileToJarDebug
[stderr] 
Note: /home/expo/workingdir/build/node_modules/react-native-branch/android/src/main/java/io/branch/rnbranch/RNBranchModule.java uses or overrides a deprecated API.
[stderr] 
Note: Recompile with -Xlint:deprecation for details.
[stderr] 
Note: /home/expo/workingdir/build/node_modules/react-native-branch/android/src/main/java/io/branch/rnbranch/AgingHash.java uses unchecked or unsafe operations.
[stderr] 
Note: Recompile with -Xlint:unchecked for details.
> Task :config-plugins-react-native-branch:compileDebugKotlin
w: /home/expo/workingdir/build/node_modules/@config-plugins/react-native-branch/android/src/main/java/expo/modules/adapters/branch/BranchReactActivityLifecycleListener.kt: (11, 44): Parameter 'activityContext' is never used
> Task :config-plugins-react-native-branch:javaPreCompileDebug
> Task :config-plugins-react-native-branch:compileDebugJavaWithJavac FAILED
w: Detected multiple Kotlin daemon sessions at build/kotlin/sessions
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9/userguide/command_line_interface.html#sec:command_line_warnings
586 actionable tasks: 586 executed
[stderr] 
FAILURE: Build failed with an exception.
[stderr] 
* What went wrong:
[stderr] 
Execution failed for task ':config-plugins-react-native-branch:compileDebugJavaWithJavac'.
[stderr] 
> Could not target platform: 'Java SE 11' using tool chain: 'JDK 8 (1.8)'.
[stderr] 
* Try:
[stderr] 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
[stderr] 
* Get more help at https://help.gradle.org
[stderr] 
BUILD FAILED in 3m 21s
Error: Gradle build failed with unknown error. Please see logs for the "Run gradlew" phase.

Config Plugin

@config-plugins/react-native-branch

What platform(s) does this occur on?

Android, iOS

SDK Version

44

Reproducible demo

This is the only change I have in my app.json file:

[
  "@config-plugins/react-native-branch",
    {
      "apiKey": "key_live_aj3NM749YlYHSlvB1233443335",
      "iosAppDomain": "my.app.link"
    }
]  

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.