@codeherobbf/react-native-math
TypeScript icon, indicating that this package has built-in type declarations

0.0.24 • Public • Published

react-native-nitro-template

This is a template for Nitro Modules.

Usage

Clone this repo, and change all $$*$$ names according to your nitro.json file.

Contributing

Contribute a change to this template to update it for newer React Native versions.

Structure

  • android/: All your android-specific implementations.
    • build.gradle: The gradle build file. This contains four important pieces:
      1. Standard react-native library boilerplate code
      2. Configures Kotlin (apply plugin: 'org.jetbrains.kotlin.android')
      3. Adds all Nitrogen files (apply from: '.../NitroMath+autolinking.gradle')
      4. Triggers the native C++ build (via CMake/externalNativeBuild)
    • CMakeLists.txt: The CMake build file to build C++ code. This contains four important pieces:
      1. Creates a library called NitroMath (same as in nitro.json)
      2. Adds all Nitrogen files (include(.../NitroMath+autolinking.cmake))
      3. Adds all custom C++ files (only HybridTestObjectCpp.cpp)
      4. Adds a cpp-adapter.cpp file, which autolinks all C++ HybridObjects (only HybridTestObjectCpp)
    • src/main/java/com/margelo/nitro/math/: All Kotlin implementations.
      • NitroMathPackage.java: The react-native package. You need this because the react-native CLI only adds libraries if they have a *Package.java file. In here, you can autolink all Kotlin HybridObjects.
  • cpp/: All your cross-platform implementations. (only HybridTestObjectCpp.cpp)
  • ios/: All your iOS-specific implementations.
  • nitrogen/: All files generated by nitrogen. You should commit this folder to git.
  • src/: The TypeScript codebase. This defines all HybridObjects and loads them at runtime.
    • specs/: All HybridObject types. Nitrogen will run on all *.nitro.ts files.
  • nitro.json: The configuration file for nitrogen. This will define all native namespaces, as well as the library name.
  • NitroMath.podspec: The iOS podspec build file to build the iOS code. This contains three important pieces:
    1. Specifies the Pod's name. This must be identical to the name specified in nitro.json.
    2. Adds all of your .swift or .cpp files (implementations).
    3. Adds all Nitrogen files (add_nitrogen_files(s))
  • package.json: The npm package.json file. react-native-nitro-modules should be a peerDependency.

Readme

Keywords

Package Sidebar

Install

npm i @codeherobbf/react-native-math

Weekly Downloads

0

Version

0.0.24

License

MIT

Unpacked Size

42.6 kB

Total Files

38

Last publish

Collaborators

  • codeherobbf