Git Product home page Git Product logo

pushpender-singh-ap / react-native-scanner Goto Github PK

View Code? Open in Web Editor NEW
40.0 2.0 6.0 307 KB

A QR code & Barcode Scanner for React Native Projects. It supports React Native's new Fabric Native architecture and was created in Kotlin and Objective-C.

Home Page: https://www.npmjs.com/package/@pushpendersingh/react-native-scanner

License: MIT License

Makefile 3.02% C++ 1.19% Kotlin 30.58% JavaScript 2.29% Ruby 10.68% Java 18.46% Objective-C 7.33% Objective-C++ 17.53% TypeScript 8.92%
react-native barcode barcode-scanner qrcode qrcode-scanner

react-native-scanner's Introduction

@pushpendersingh/react-native-scanner

A QR code & Barcode Scanner for React Native Projects.

For React Native developers that need to scan barcodes and QR codes in their apps, this package is a useful resource. It supports React Native's new Fabric Native architecture and was created in Kotlin and Objective-C.

With this package, users can quickly and easily scan barcodes and QR codes with their device's camera. Using this package, several types of codes can be scanned, and it is simple to use.

If you want to provide your React Native app the ability to read barcodes and QR codes, you should definitely give this package some thought.

The @pushpendersingh/react-native-scanner package also includes a flashlight feature that can be turned on and off. This can be useful when scanning QR codes in low light conditions.

Getting started

Requirements

IOS

Open your project's Info.plist and add the following lines inside the outermost <dict> tag:

<key>NSCameraUsageDescription</key>
<string>Your message to user when the camera is accessed for the first time</string>

Open your project's Podfile and add enable the new architecture:

:fabric_enabled => true,

Run below command to enable the new architecture in IOS folder

bundle install && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install

Android

Open your project's AndroidManifest.xml and add the following lines inside the <manifest> tag:

<uses-permission android:name="android.permission.CAMERA" />

<uses-feature android:name="android.hardware.camera.any" />

Open your project's gradle.properties and add enable the new architecture:

newArchEnabled=true

To install and start using @pushpendersingh/react-native-scanner

npm install @pushpendersingh/react-native-scanner

Supported Formats

1D product 1D industrial 2D
UPC-A Code 39 QR Code
UPC-E Code 93 Data Matrix
EAN-8 Code 128 Aztec
EAN-13 Codabar PDF 417
ITF

Usage

To use @pushpendersingh/react-native-scanner, import the @pushpendersingh/react-native-scanner module and use the <ReactNativeScannerView /> tag. More usage examples can be seen under the examples/ folder.

Basic usage

Here is an example of basic usage:

import React, { useEffect, useState } from 'react';
import {
  Alert,
  Platform,
  useWindowDimensions,
  Text,
  SafeAreaView
} from 'react-native';

import { request, PERMISSIONS, openSettings, RESULTS } from 'react-native-permissions';
import { ReactNativeScannerView } from "@pushpendersingh/react-native-scanner";

export default function App() {

  const { height, width } = useWindowDimensions();
  const [isCameraPermissionGranted, setIsCameraPermissionGranted] = useState(false);

  useEffect(() => {
    checkCameraPermission();
  }, []);

  const checkCameraPermission = async () => {
    request(Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA)
      .then(async (result: any) => {
        switch (result) {
          case RESULTS.UNAVAILABLE:
            // console.log('This feature is not available (on this device / in this context)');
            break;
          case RESULTS.DENIED:
            Alert.alert("Permission Denied", "You need to grant camera permission first");
            openSettings();
            break;
          case RESULTS.GRANTED:
            setIsCameraPermissionGranted(true);
            break;
          case RESULTS.BLOCKED:
            Alert.alert("Permission Blocked", "You need to grant camera permission first");
            openSettings();
            break;
        }
      })
  };

  if (isCameraPermissionGranted) {
    return (
      <SafeAreaView style={{ flex: 1 }}>
        <ReactNativeScannerView
          style={{ height, width }}
          onQrScanned={(value: any) => {
            console.log(value.nativeEvent);
          }}
        />
      </SafeAreaView>
    );
  } else {
    return (
      <Text style={{ fontSize: 30, color: 'red' }}>
        You need to grant camera permission first
      </Text>
    );
  }
}

Flashlight Feature

Flashlight Feature

To use the flashlight feature, add the following code to your project:

import React, {useEffect, useRef, useState} from 'react';
import {
  Alert,
  Platform,
  useWindowDimensions,
  Text,
  SafeAreaView,
  TouchableOpacity,
} from 'react-native';

import {
  request,
  PERMISSIONS,
  openSettings,
  RESULTS,
} from 'react-native-permissions';
import {
  ReactNativeScannerView,
  Commands,
} from '@pushpendersingh/react-native-scanner';

export default function App() {
  const {height, width} = useWindowDimensions();
  const [isCameraPermissionGranted, setIsCameraPermissionGranted] =
    useState(false);
  const cameraRef = useRef(null);

  useEffect(() => {
    checkCameraPermission();

    return () => {
      if(cameraRef.current) {
        Commands.releaseCamera(cameraRef.current);
      }
    };
  }, []);

  const enableFlashlight = () => {
    Commands.enableFlashlight(cameraRef.current);
  };

  const disableFlashlight = () => {
    Commands.disableFlashlight(cameraRef.current);
  };

  const checkCameraPermission = async () => {
    request(
      Platform.OS === 'ios'
        ? PERMISSIONS.IOS.CAMERA
        : PERMISSIONS.ANDROID.CAMERA,
    ).then(async (result: any) => {
      switch (result) {
        case RESULTS.UNAVAILABLE:
          break;
        case RESULTS.DENIED:
          Alert.alert(
            'Permission Denied',
            'You need to grant camera permission first',
          );
          openSettings();
          break;
        case RESULTS.GRANTED:
          setIsCameraPermissionGranted(true);
          break;
        case RESULTS.BLOCKED:
          Alert.alert(
            'Permission Blocked',
            'You need to grant camera permission first',
          );
          openSettings();
          break;
      }
    });
  };

  if (isCameraPermissionGranted) {
    return (
      <SafeAreaView style={{flex: 1}}>
        <ReactNativeScannerView
          ref={ref => (cameraRef.current = ref)}
          style={{height, width}}
          onQrScanned={(value: any) => {
            console.log(value.nativeEvent);
          }}
        />

        <TouchableOpacity
          style={{
            position: 'absolute',
            bottom: 20,
            left: 20,
            padding: 10,
            backgroundColor: 'blue',
            borderRadius: 10,
          }}
          onPress={enableFlashlight}>
          <Text>Turn ON</Text>
        </TouchableOpacity>

        <TouchableOpacity
          style={{
            position: 'absolute',
            bottom: 20,
            right: 20,
            padding: 10,
            backgroundColor: 'blue',
            borderRadius: 10,
          }}
          onPress={disableFlashlight}>
          <Text>Turn OFF</Text>
        </TouchableOpacity>
      </SafeAreaView>
    );
  } else {
    return (
      <Text style={{fontSize: 30, color: 'red'}}>
        You need to grant camera permission first
      </Text>
    );
  }
}

Props

onQrScanned (required)

propType: func.isRequired default: (e) => (console.log('QR code scanned!', e))

In the event that a QR code or barcode is detected in the camera's view, this specified method will be called.

Native Commands

The @pushpendersingh/react-native-scanner package also includes a few native commands that can be used to control the camera and flashlight.

Commands

enableFlashlight

This command is used to turn on the flashlight.

if(cameraRef.current) {
  Commands.enableFlashlight(cameraRef.current);
}

disableFlashlight

This command is used to turn off the flashlight.

if(cameraRef.current) {
  Commands.disableFlashlight(cameraRef.current);
}

releaseCamera

This command is used to release the camera.

if(cameraRef.current) {
  Commands.releaseCamera(cameraRef.current);
}

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT

react-native-scanner's People

Contributors

dependabot[bot] avatar luvnishcapgemini avatar pushpender-singh-ap 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

Watchers

 avatar  avatar

react-native-scanner's Issues

-[AVCaptureSession startRunning] working on the main thread

Current behaviour

-[AVCaptureSession startRunning] should be called from background thread. Calling it on the main thread can lead to UI unresponsiveness

Expected behaviour

-[AVCaptureSession startRunning] should be called from background thread.

How to reproduce?

  1. Clone the repo
  2. Run the example into IOS
  3. Open the xcode you will see this issue.

Example: https://github.com/pushpender-singh-ap/react-native-scanner/tree/main/example

Your Environment

software version
react-native 0.74.1
@pushpendersingh/react-native-scanner 1.2.0-beta.1
node 18.18.2
npm 10.2.4

Compile Error

Hi,
I run your project and facing this error.

Task :app:configureCMakeDebug[arm64-v8a]
C/C++: CMake Warning at F:/ANDROID_SDK/ndk/23.1.7779620/build/cmake/android-legacy.toolchain.cmake:416 (message):
C/C++: An old version of CMake is being used that cannot automatically detect
C/C++: compiler attributes. Compiler identification is being bypassed. Some
C/C++: values may be wrong or missing. Update to CMake 3.19 or newer to use
C/C++: CMake's built-in compiler identification.
C/C++: Call Stack (most recent call first):
C/C++: F:/ANDROID_SDK/ndk/23.1.7779620/build/cmake/android.toolchain.cmake:55 (include)
C/C++: F:/react-native-scanner-main_2/react-native-scanner-main/example/android/app/.cxx/Debug/2w4f733n/arm64-v8a/CMakeFiles/3.18.1-g262b901-dirty/CMakeSystem.cmake:6 (include)
C/C++: CMakeLists.txt:28 (project)
C/C++: CMake Warning in F:/react-native-scanner-main_2/react-native-scanner-main/example/node_modules/@pushpendersingh/react-native-scanner/android/build/generated/source/codegen/jni/CMakeLists.txt:
C/C++: The object file directory
C/C++: F:/react-native-scanner-main_2/react-native-scanner-main/example/android/app/.cxx/Debug/2w4f733n/arm64-v8a/RNReactNativeScannerViewSpec_autolinked_build/CMakeFiles/react_codegen_RNReactNativeScannerViewSpec.dir/./C/C++: has 213 characters. The maximum full path to an object file is 250
C/C++: characters (see CMAKE_OBJECT_PATH_MAX). Object file
C/C++: react/renderer/components/RNReactNativeScannerViewSpec/States.cpp.o
C/C++: cannot be safely placed under this directory.
The build may not work
C/C++: correctly.

Task :app:buildCMakeDebug[arm64-v8a] FAILED
C/C++: ninja: error: mkdir(RNReactNativeScannerViewSpec_autolinked_build/CMakeFiles/react_codegen_RNReactNativeScannerViewSpec.dir/react/renderer/components/RNReactNativeScannerViewSpec): No such file or directory
67 actionable tasks: 10 executed, 57 up-to-date

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.

com.android.ide.common.process.ProcessException: ninja: Entering directory `F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app.cxx\Debug\2w4f733n\arm64-v8a'
[0/2] Re-checking globbed directories...
ninja: build stopped: .

C++ build system [build] failed while executing:
@echo off
"F:\ANDROID_SDK\cmake\3.18.1\bin\ninja.exe" ^ -C ^
"F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app\.cxx\Debug\2w4f733n\arm64-v8a" ^
appmodules ^
react_codegen_RNReactNativeScannerViewSpec
from F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app
ninja: error: mkdir(RNReactNativeScannerViewSpec_autolinked_build/CMakeFiles/react_codegen_RNReactNativeScannerViewSpec.dir/react/renderer/components/RNReactNativeScannerViewSpec): No such file or directory

  • Try:

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.
==============================================================================

2: Task failed with an exception.

  • What went wrong:
    java.lang.StackOverflowError (no error message)

  • Try:

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.
==============================================================================

BUILD FAILED in 1m 15s

error Failed to install the app. Make sure you have the
Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.

com.android.ide.common.process.ProcessException: ninja: Entering directory `F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app.cxx\Debug\2w4f733n\arm64-v8a'
[0/2] Re-checking globbed directories...
ninja: build stopped: .

C++ build system [build] failed while executing:
@echo off
"F:\ANDROID_SDK\cmake\3.18.1\bin\ninja.exe" ^ -C ^
"F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app\.cxx\Debug\2w4f733n\arm64-v8a" ^
appmodules ^
react_codegen_RNReactNativeScannerViewSpec
from F:\react-native-scanner-main_2\react-native-scanner-main\example\android\app
ninja: error: mkdir(RNReactNativeScannerViewSpec_autolinked_build/CMakeFiles/react_codegen_RNReactNativeScannerViewSpec.dir/react/renderer/components/RNReactNativeScannerViewSpec): No such file or directory

  • Try:

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.
==============================================================================

2: Task failed with an exception.

  • What went wrong:
    java.lang.StackOverflowError (no error message)

  • Try:

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.
==============================================================================

BUILD FAILED in 1m 15s

at makeError (F:\react-native-scanner-main_2\react-native-scanner-main\example\node_modules\execa\index.js:174:9)
at F:\react-native-scanner-main_2\react-native-scanner-main\example\node_modules\execa\index.js:278:16      
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async runOnAllDevices (F:\react-native-scanner-main_2\react-native-scanner-main\example\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:82:7)
at async Command.handleAction (F:\react-native-scanner-main_2\react-native-scanner-main\example\node_modules\@react-native-community\cli\build\index.js:108:9)      

info Run CLI with --verbose flag for more details.
PS F:\react-native-scanner-main_2\react-native-scanner-main\example>

Supporting both old & new architectures

Hi,

Currently this component supports only the new architecture.
Can you please add old architecture support as well?
As I can see it shouldn't be a big deal...you can read more about here.

Compilation Error

I am using RN version "react-native": "^0.70.8", facing error at compile time, I have updated AndroidManifest.xml and gradle.properties
please help me on these errors.

Task :ReactAndroid:hermes-engine:configureBuildForHermes FAILED
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Configuring incomplete, errors occurred!
See also "D:/fersa-nke-mobile/node_modules/react-native/ReactAndroid/hermes-engine/build/hermes/CMakeFiles/CMakeOutput.log".
See also "D:/fersa-nke-mobile/node_modules/react-native/ReactAndroid/hermes-engine/build/hermes/CMakeFiles/CMakeError.log".

Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

See https://docs.gradle.org/7.5.1/userguide/command_line_interface.html#sec:command_line_warnings
24 actionable tasks: 1 executed, 23 up-to-date
CMake Deprecation Warning at CMakeLists.txt:42 (cmake_policy):
The OLD behavior for policy CMP0026 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

CMake Error at CMakeLists.txt:64 (project):
The CMAKE_C_COMPILER:

cl

is not a full path and was not found in the PATH.

To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).

Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.

CMake Error at CMakeLists.txt:64 (project):
The CMAKE_CXX_COMPILER:

cl

is not a full path and was not found in the PATH.

To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.

  • What went wrong:
    Execution failed for task ':ReactAndroid:hermes-engine:configureBuildForHermes'.

Process 'command 'cmd'' finished with non-zero exit value 1

  • Try:

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.
==============================================================================

2: Task failed with an exception.

  • What went wrong:
    java.lang.StackOverflowError (no error message)

  • Try:

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.
==============================================================================

BUILD FAILED in 23s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081
CMake Deprecation Warning at CMakeLists.txt:42 (cmake_policy):
The OLD behavior for policy CMP0026 will be removed from a future version
of CMake.

The cmake-policies(7) manual explains that the OLD behaviors of all
policies are deprecated and that a policy should be set to OLD only under
specific short-term circumstances. Projects should be ported to the NEW
behavior and not rely on setting a policy to OLD.

CMake Error at CMakeLists.txt:64 (project):
The CMAKE_C_COMPILER:

cl

is not a full path and was not found in the PATH.

To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).

Tell CMake where to find the compiler by setting either the environment
variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
the compiler, or to the compiler name if it is in the PATH.

CMake Error at CMakeLists.txt:64 (project):
The CMAKE_CXX_COMPILER:

cl

is not a full path and was not found in the PATH.

To use the NMake generator with Visual C++, cmake must be run from a shell
that can use the compiler cl from the command line. This environment is
unable to invoke the cl compiler. To fix this problem, run cmake from the
Visual Studio Command Prompt (vcvarsall.bat).

Tell CMake where to find the compiler by setting either the environment
variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
to the compiler, or to the compiler name if it is in the PATH.

FAILURE: Build completed with 2 failures.

  • What went wrong:
    java.lang.StackOverflowError (no error message)

  • Try:

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.
==============================================================================

BUILD FAILED in 23s

fatal error: 'react/renderer/components/RNReactNativeScannerViewSpec/ComponentDescriptors.h' file not found

Hi @pushpender-singh-ap,
I enabled newArch and build project from Jenkins. After compilation I am facing this error:

/Users/****/JenkinsAgentUsevol/workspace/es_mobilev2_react-native-scanner/native/node_modules/@pushpendersingh/react-native-scanner/ios/ReactNativeScannerView.mm:3:9: fatal error: 'react/renderer/components/RNReactNativeScannerViewSpec/ComponentDescriptors.h' file not found
#import <react/renderer/components/RNReactNativeScannerViewSpec/ComponentDescriptors.h>
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.

Please suggest any workaround.

Using:
"react": "^18.2.0",
"react-native": "0.72.1",
"@pushpendersingh/react-native-scanner": "^1.0.1"

Build error: Unresolved reference: ReactNativeScannerViewManagerInterface

Hi,

I'm trying to use your package with a RN 0.71 application, and the following Android build error pops up:

> Task :pushpendersingh_react-native-scanner:compileDebugKotlin FAILED
224 actionable tasks: 40 executed, 184 up-to-date
Note: /home/michiel/Code/tlr-app/node_modules/react-native-permissions/android/src/main/java/com/zoontek/rnpermissions/RNPermissionsPackage.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
e: /home/michiel/Code/tlr-app/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt: (9, 40): Unresolved reference: ReactNativeScannerViewManagerInterface
e: /home/michiel/Code/tlr-app/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt: (10, 40): Unresolved reference: ReactNativeScannerViewManagerDelegate
e: /home/michiel/Code/tlr-app/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt: (14, 48): Unresolved reference: ReactNativeScannerViewManagerInterface
e: /home/michiel/Code/tlr-app/node_modules/@pushpendersingh/react-native-scanner/android/src/main/java/com/pushpendersingh/reactnativescanner/ReactNativeScannerViewManager.kt: (19, 17): Unresolved reference: ReactNativeScannerViewManagerDelegate

FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':pushpendersingh_react-native-scanner:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

* Try:
> 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.
==============================================================================

2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)

* Try:
> 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.
==============================================================================

* Get more help at https://help.gradle.org

BUILD FAILED in 57s

rncore/States.cpp Build input file cannot be found:

I installed a fresh application and it ran fine after that I followed the instructions to install the scanner app.

Once i installed the package now i could not build anymore

/Users/test/BarcodeScannerTest/node_modules/react-native/ReactCommon/react/renderer/components/rncore/States.cpp Build input file cannot be found: 

'/Users/test/BarcodeScannerTest/node_modules/react-native/ReactCommon/react/renderer/components/rncore/States.cpp'. Did you forget to declare this file as an output of a script phase or custom build rule which produces it?

I believe it's related to this issue https://stackoverflow.com/questions/76721082/react-native-error-build-input-file-cannot-be-found-node-modules-react-nativ

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.