react-native-ariel 0.1.0-dev.4 → 0.1.0-dev.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/Ariel.podspec CHANGED
@@ -15,7 +15,7 @@ Pod::Spec.new do |s|
15
15
  s.platforms = { :ios => min_ios_version_supported }
16
16
  s.source = { :git => "https://github.com/rinfi/ariel.git", :tag => "#{s.version}" }
17
17
 
18
- s.source_files = "ios/**/*.{h,m,mm,swift}", "ios/generated/**/*.{h,m,mm}", "cpp/**/*.{hpp,cpp,c,h}", "cpp/generated/**/*.{hpp,cpp,c,h}"
18
+ s.source_files = "ios/**/*.{h,m,mm,swift}", "ios\generated/**/*.{h,m,mm}", "cpp/**/*.{hpp,cpp,c,h}", "cpp\generated/**/*.{hpp,cpp,c,h}"
19
19
  s.vendored_frameworks = "ArielFramework.xcframework"
20
20
  s.dependency "uniffi-bindgen-react-native", "0.31.0-2"
21
21
 
@@ -40,9 +40,12 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
40
40
  # Set linker flags for 16KB page size alignment (required for Android 15+)
41
41
  set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384")
42
42
 
43
+ # ARIEL_DIR is passed from build.gradle via -DARIEL_DIR=${projectDir}
44
+ # This avoids using CMAKE_SOURCE_DIR which resolves to the app root when
45
+ # the library is linked via add_subdirectory.
43
46
  cmake_path(
44
47
  SET MY_RUST_LIB
45
- ${CMAKE_SOURCE_DIR}/src/main/jniLibs/${ANDROID_ABI}/libmermaid_wrapper.a
48
+ ${ARIEL_DIR}/src/main/jniLibs/${ANDROID_ABI}/libmermaid_wrapper.a
46
49
  NORMALIZE
47
50
  )
48
51
  add_library(my_rust_lib STATIC IMPORTED)
@@ -74,7 +74,9 @@ android {
74
74
  }
75
75
  externalNativeBuild {
76
76
  cmake {
77
- arguments '-DANDROID_STL=c++_shared'
77
+ // ARIEL_DIR passes the library root to CMake so Rust libs can be found.
78
+ // Cannot use CMAKE_SOURCE_DIR in CMake — it resolves to the app when linked via add_subdirectory.
79
+ arguments '-DANDROID_STL=c++_shared', "-DARIEL_DIR=${projectDir}"
78
80
  abiFilters (*reactNativeArchitectures())
79
81
  }
80
82
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-ariel",
3
- "version": "0.1.0-dev.4",
3
+ "version": "0.1.0-dev.7",
4
4
  "description": "Mermaid diagrams for React Native and React Native Web. No DOM. No WebView. Pure Rust.",
5
5
  "main": "./lib/module/index.js",
6
6
  "source": "./src/index.tsx",
@@ -1,43 +0,0 @@
1
- // Generated by uniffi-bindgen-react-native
2
- package com.ariel
3
-
4
- import com.facebook.react.bridge.ReactApplicationContext
5
- import com.facebook.react.module.annotations.ReactModule
6
- import com.facebook.react.turbomodule.core.interfaces.CallInvokerHolder
7
-
8
- @ReactModule(name = ArielModule.NAME)
9
- class ArielModule(reactContext: ReactApplicationContext) :
10
- NativeArielSpec(reactContext) {
11
-
12
- override fun getName(): String {
13
- return NAME
14
- }
15
-
16
- // Two native methods implemented in cpp-adapter.cpp, and ultimately
17
- // react-native-ariel.cpp
18
-
19
- external fun nativeInstallRustCrate(runtimePointer: Long, callInvoker: CallInvokerHolder): Boolean
20
- external fun nativeCleanupRustCrate(runtimePointer: Long): Boolean
21
-
22
- override fun installRustCrate(): Boolean {
23
- val context = this.reactApplicationContext
24
- return nativeInstallRustCrate(
25
- context.javaScriptContextHolder!!.get(),
26
- context.jsCallInvokerHolder!!
27
- )
28
- }
29
-
30
- override fun cleanupRustCrate(): Boolean {
31
- return nativeCleanupRustCrate(
32
- this.reactApplicationContext.javaScriptContextHolder!!.get()
33
- )
34
- }
35
-
36
- companion object {
37
- const val NAME = "Ariel"
38
-
39
- init {
40
- System.loadLibrary("react-native-ariel")
41
- }
42
- }
43
- }
@@ -1,34 +0,0 @@
1
- // Generated by uniffi-bindgen-react-native
2
- package com.ariel
3
-
4
- import com.facebook.react.TurboReactPackage
5
- import com.facebook.react.bridge.NativeModule
6
- import com.facebook.react.bridge.ReactApplicationContext
7
- import com.facebook.react.module.model.ReactModuleInfo
8
- import com.facebook.react.module.model.ReactModuleInfoProvider
9
- import java.util.HashMap
10
-
11
- class ArielPackage : TurboReactPackage() {
12
- override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
13
- return if (name == ArielModule.NAME) {
14
- ArielModule(reactContext)
15
- } else {
16
- null
17
- }
18
- }
19
-
20
- override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
21
- return ReactModuleInfoProvider {
22
- val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
23
- moduleInfos[ArielModule.NAME] = ReactModuleInfo(
24
- ArielModule.NAME,
25
- ArielModule.NAME,
26
- false, // canOverrideExistingModule
27
- false, // needsEagerInit
28
- false, // isCxxModule
29
- true // isTurboModule
30
- )
31
- moduleInfos
32
- }
33
- }
34
- }