expo-modules-core 56.0.4 → 56.0.6

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.
Files changed (84) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/android/build.gradle +39 -40
  3. package/android/src/main/cpp/Exceptions.cpp +0 -3
  4. package/android/src/main/cpp/Exceptions.h +1 -4
  5. package/android/src/main/cpp/ExpoHeader.pch +0 -2
  6. package/android/src/main/cpp/ExpoModulesHostObject.cpp +1 -2
  7. package/android/src/main/cpp/ExpoModulesHostObject.h +1 -3
  8. package/android/src/main/cpp/JNIDeallocator.h +1 -1
  9. package/android/src/main/cpp/JNIFunctionBody.cpp +0 -1
  10. package/android/src/main/cpp/JNIFunctionBody.h +1 -2
  11. package/android/src/main/cpp/JNIInjector.cpp +1 -1
  12. package/android/src/main/cpp/JNIUtils.cpp +1 -1
  13. package/android/src/main/cpp/JNIUtils.h +1 -6
  14. package/android/src/main/cpp/JSIContext.cpp +1 -5
  15. package/android/src/main/cpp/JSIContext.h +1 -6
  16. package/android/src/main/cpp/JSITypeConverter.h +1 -5
  17. package/android/src/main/cpp/JSharedObject.h +1 -1
  18. package/android/src/main/cpp/JavaCallback.cpp +8 -13
  19. package/android/src/main/cpp/JavaCallback.h +1 -7
  20. package/android/src/main/cpp/JavaReferencesCache.cpp +1 -2
  21. package/android/src/main/cpp/JavaReferencesCache.h +1 -4
  22. package/android/src/main/cpp/JavaScriptArrayBuffer.h +1 -4
  23. package/android/src/main/cpp/JavaScriptFunction.h +1 -4
  24. package/android/src/main/cpp/JavaScriptModuleObject.h +1 -5
  25. package/android/src/main/cpp/JavaScriptObject.h +1 -5
  26. package/android/src/main/cpp/JavaScriptRuntime.cpp +0 -1
  27. package/android/src/main/cpp/JavaScriptRuntime.h +1 -2
  28. package/android/src/main/cpp/JavaScriptTypedArray.h +1 -4
  29. package/android/src/main/cpp/JavaScriptValue.h +1 -5
  30. package/android/src/main/cpp/JavaScriptWeakObject.h +1 -5
  31. package/android/src/main/cpp/MethodMetadata.cpp +1 -6
  32. package/android/src/main/cpp/MethodMetadata.h +1 -9
  33. package/android/src/main/cpp/NativeArrayBuffer.h +1 -4
  34. package/android/src/main/cpp/RuntimeHolder.h +1 -2
  35. package/android/src/main/cpp/ThreadSafeJNIGlobalRef.h +1 -1
  36. package/android/src/main/cpp/concepts/jni.h +4 -4
  37. package/android/src/main/cpp/concepts/jni_deref.h +1 -1
  38. package/android/src/main/cpp/concepts/jsi.h +1 -1
  39. package/android/src/main/cpp/decorators/JSClassesDecorator.h +1 -3
  40. package/android/src/main/cpp/decorators/JSConstantsDecorator.cpp +1 -4
  41. package/android/src/main/cpp/decorators/JSConstantsDecorator.h +1 -3
  42. package/android/src/main/cpp/decorators/JSDecorator.h +1 -2
  43. package/android/src/main/cpp/decorators/JSDecoratorsBridgingObject.h +1 -4
  44. package/android/src/main/cpp/decorators/JSFunctionsDecorator.cpp +1 -2
  45. package/android/src/main/cpp/decorators/JSFunctionsDecorator.h +1 -5
  46. package/android/src/main/cpp/decorators/JSObjectDecorator.h +1 -1
  47. package/android/src/main/cpp/decorators/JSPropertiesDecorator.cpp +1 -2
  48. package/android/src/main/cpp/decorators/JSPropertiesDecorator.h +1 -3
  49. package/android/src/main/cpp/fabric/AndroidExpoViewProps.h +1 -1
  50. package/android/src/main/cpp/fabric/AndroidExpoViewState.h +1 -3
  51. package/android/src/main/cpp/fabric/FabricComponentsRegistry.h +1 -1
  52. package/android/src/main/cpp/fabric/NativeStatePropsGetter.h +1 -2
  53. package/android/src/main/cpp/installers/MainRuntimeInstaller.h +1 -2
  54. package/android/src/main/cpp/installers/WorkletRuntimeInstaller.h +1 -2
  55. package/android/src/main/cpp/javaclasses/Collections.h +1 -1
  56. package/android/src/main/cpp/javaclasses/JSRunnable.h +1 -1
  57. package/android/src/main/cpp/types/AnyType.cpp +0 -1
  58. package/android/src/main/cpp/types/AnyType.h +1 -2
  59. package/android/src/main/cpp/types/ExpectedType.h +1 -1
  60. package/android/src/main/cpp/types/FrontendConverter.cpp +1 -1
  61. package/android/src/main/cpp/types/FrontendConverter.h +1 -3
  62. package/android/src/main/cpp/types/FrontendConverterProvider.h +1 -5
  63. package/android/src/main/cpp/types/JNIToJSIConverter.h +13 -16
  64. package/android/src/main/cpp/worklets/Serializable.h +2 -2
  65. package/android/src/main/cpp/worklets/Worklet.h +2 -5
  66. package/android/src/main/cpp/worklets/WorkletJSCallInvoker.h +2 -4
  67. package/android/src/main/cpp/worklets/WorkletNativeRuntime.h +2 -2
  68. package/android/src/main/java/expo/modules/kotlin/views/decorators/CSSProps.kt +1 -1
  69. package/ios/Core/AppContext.swift +26 -4
  70. package/ios/Core/Conversions.swift +20 -7
  71. package/ios/Core/DynamicTypes/AnyDynamicType.swift +20 -0
  72. package/ios/Core/DynamicTypes/DynamicArrayType.swift +12 -6
  73. package/ios/Core/DynamicTypes/DynamicDictionaryType.swift +12 -6
  74. package/ios/Core/DynamicTypes/DynamicRawType.swift +6 -2
  75. package/ios/Core/DynamicTypes/DynamicStringType.swift +5 -1
  76. package/ios/Core/Functions/SyncFunctionDefinition.swift +1 -1
  77. package/ios/Core/MainValueConverter.swift +8 -0
  78. package/ios/JS/EXReactSchedulerDispatch.h +28 -0
  79. package/ios/JS/EXReactSchedulerDispatch.mm +19 -0
  80. package/package.json +3 -3
  81. package/prebuilds/output/debug/xcframeworks/ExpoModulesCore.tar.gz +0 -0
  82. package/prebuilds/output/debug/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
  83. package/prebuilds/output/release/xcframeworks/ExpoModulesCore.tar.gz +0 -0
  84. package/prebuilds/output/release/xcframeworks/ExpoModulesWorklets.tar.gz +0 -0
package/CHANGELOG.md CHANGED
@@ -10,6 +10,19 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 56.0.6 — 2026-05-11
14
+
15
+ ### 💡 Others
16
+
17
+ - [iOS] `AppContext.setRuntime` now takes the native React `RuntimeScheduler` pointer and a dispatch trampoline alongside the runtime pointer. ([#45636](https://github.com/expo/expo/pull/45636) by [@tsapeta](https://github.com/tsapeta))
18
+
19
+ ## 56.0.5 — 2026-05-08
20
+
21
+ ### 🐛 Bug fixes
22
+
23
+ - [iOS] Fix dictionary/array returns from sync functions invoked in the worklet runtime. ([#45419](https://github.com/expo/expo/pull/45419) by [@nishan](https://github.com/intergalacticspacehighway))
24
+ - [Android] Fix unsetting border width on views with border radius causing views to disappear ([#45467](https://github.com/expo/expo/pull/45467) by [@fractalbeauty](https://github.com/fractalbeauty))
25
+
13
26
  ## 56.0.4 — 2026-05-07
14
27
 
15
28
  _This version does not introduce any user-facing changes._
@@ -1,6 +1,5 @@
1
- import com.android.build.gradle.tasks.ExternalNativeBuildJsonTask
2
- import expo.modules.plugin.gradle.ExpoModuleExtension
3
1
  import groovy.json.JsonSlurper
2
+ import expo.modules.plugin.gradle.ExpoModuleExtension
4
3
  import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
5
4
 
6
5
  buildscript {
@@ -17,7 +16,6 @@ buildscript {
17
16
  classpath("org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:${kotlinVersion}")
18
17
  }
19
18
 
20
- classpath("org.apache.commons:commons-text:1.14.0")
21
19
  }
22
20
  }
23
21
 
@@ -29,7 +27,7 @@ if (shouldIncludeCompose) {
29
27
  }
30
28
 
31
29
  group = 'host.exp.exponent'
32
- version = '56.0.4'
30
+ version = '56.0.6'
33
31
 
34
32
  def isExpoModulesCoreTests = {
35
33
  Gradle gradle = getGradle()
@@ -96,7 +94,7 @@ android {
96
94
  defaultConfig {
97
95
  consumerProguardFiles 'proguard-rules.pro'
98
96
  versionCode 1
99
- versionName "56.0.4"
97
+ versionName "56.0.6"
100
98
  buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
101
99
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", "true"
102
100
 
@@ -265,55 +263,56 @@ if (shouldTurnWarningsIntoErrors) {
265
263
  }
266
264
  }
267
265
 
268
- // Generates the PCH file during sync if it doesn't exist yet
269
- def generatePCHTask = tasks.register("generatePCH") {
270
- def configureTaskName = "configureCMakeDebug"
271
- dependsOn(configureTaskName)
266
+ // Generates minimal stub PCH files from an empty header so the IDE's C++ engine
267
+ // doesn't fail during sync. Near-instant unlike the full ExpoHeader.pch.
268
+ // The actual build regenerates proper PCH files via ninja.
269
+ def cxxDir = project.file(".cxx")
270
+ def generateStubPCHTask = tasks.register("generateStubPCH") {
271
+ dependsOn("configureCMakeDebug")
272
272
 
273
273
  doLast {
274
- reactNativeArchitectures().each { abi ->
275
- def configureTaskNameForAbi = configureTaskName + "[" + abi + "]"
276
- ExternalNativeBuildJsonTask configureTask = tasks.named(configureTaskNameForAbi).get() as ExternalNativeBuildJsonTask
277
-
278
- // Gets CxxModel for the given ABI
279
- File cxxBuildFolder = configureTask.abi.cxxBuildFolder
274
+ if (!cxxDir.exists()) {
275
+ return
276
+ }
280
277
 
281
- // Gets compile_commands.json file to find the command to generate the PCH file
282
- File compileCommandsFile = new File(cxxBuildFolder, "compile_commands.json")
283
- if (!compileCommandsFile.exists()) {
278
+ cxxDir.eachFileRecurse { file ->
279
+ if (file.name != "compile_commands.json") {
284
280
  return
285
281
  }
286
282
 
287
- def parsedJson = new JsonSlurper().parseText(compileCommandsFile.text)
288
- for (int i = 0; i < parsedJson.size(); i++) {
289
- def commandObj = parsedJson[i]
290
-
291
- def path = commandObj.file
292
- if (!path.endsWith("cmake_pch.hxx.cxx")) {
293
- continue
283
+ new JsonSlurper().parseText(file.text).each { entry ->
284
+ if (!entry.file.endsWith("cmake_pch.hxx.cxx")) {
285
+ return
294
286
  }
295
287
 
296
- def generatedFilePath = path.substring(0, path.length() - ".cxx".length()) + ".pch"
297
- // Checks if the file already exists, and skip if so
298
- if (new File(generatedFilePath).exists()) {
299
- continue
288
+ def pchFile = new File(entry.file.substring(0, entry.file.length() - ".cxx".length()) + ".pch")
289
+
290
+ if (!pchFile.exists() || pchFile.length() == 0) {
291
+ def stubHeader = new File(entry.directory, "stub_pch.hxx")
292
+ stubHeader.text = ""
293
+
294
+ def cmd = entry.command
295
+ // Replace the forced-include path: `-Xclang -include -Xclang <path>/cmake_pch.hxx`
296
+ .replaceAll(/-Xclang -include -Xclang [^\s]+cmake_pch\.hxx(?=\s)/, "-Xclang -include -Xclang ${stubHeader.absolutePath}")
297
+ // Replace the source file operand: `<path>/cmake_pch.hxx.cxx`
298
+ .replaceAll(/[^\s]+cmake_pch\.hxx\.cxx/, stubHeader.absolutePath)
299
+
300
+ def process = new ProcessBuilder(cmd.split(" ").toList())
301
+ .directory(new File(entry.directory))
302
+ .redirectErrorStream(true)
303
+ .start()
304
+ if (process.waitFor() != 0) {
305
+ throw new GradleException("Stub PCH generation failed: ${process.inputStream.text}")
306
+ }
300
307
  }
301
308
 
302
- def tokenizer = new org.apache.commons.text.StringTokenizer(commandObj.command, " ")
303
- def tokens = tokenizer.tokenList
304
-
305
- def workingDirFile = new File(commandObj.directory)
306
-
307
- providers.exec {
308
- workingDir(providers.provider { workingDirFile }.get())
309
- commandLine(tokens)
310
- }.getResult().get().assertNormalExitValue()
309
+ // Ensure PCH is older than source so ninja rebuilds the real one during build
310
+ pchFile.setLastModified(new File(entry.file).lastModified() - 1)
311
311
  }
312
312
  }
313
313
  }
314
314
  }
315
315
 
316
- // This task will run on the IDE project sync, ensuring the PCH file is generated early enough
317
316
  tasks.register("prepareKotlinBuildScriptModel") {
318
- dependsOn(generatePCHTask)
317
+ dependsOn(generateStubPCHTask)
319
318
  }
@@ -2,9 +2,6 @@
2
2
 
3
3
  #include "Exceptions.h"
4
4
 
5
- #include "JSIContext.h"
6
- #include "JSReferencesCache.h"
7
-
8
5
  namespace jni = facebook::jni;
9
6
 
10
7
  namespace expo {
@@ -2,10 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
6
- #include <jsi/jsi.h>
7
-
8
- #include <optional>
5
+ #include "ExpoHeader.pch"
9
6
 
10
7
  namespace jni = facebook::jni;
11
8
  namespace jsi = facebook::jsi;
@@ -1,11 +1,9 @@
1
1
  #pragma once
2
2
 
3
3
  #include <functional>
4
- #include <map>
5
4
  #include <memory>
6
5
  #include <optional>
7
6
  #include <type_traits>
8
- #include <unistd.h>
9
7
  #include <unordered_map>
10
8
  #include <vector>
11
9
 
@@ -1,10 +1,9 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "ExpoModulesHostObject.h"
4
5
  #include "LazyObject.h"
5
6
 
6
- #include <folly/dynamic.h>
7
- #include <jsi/JSIDynamic.h>
8
7
  #include <react/bridging/LongLivedObject.h>
9
8
 
10
9
  namespace jsi = facebook::jsi;
@@ -2,11 +2,9 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JSIContext.h"
6
7
 
7
- #include <jsi/jsi.h>
8
-
9
- #include <vector>
10
8
  #import <unordered_map>
11
9
 
12
10
  namespace jsi = facebook::jsi;
@@ -2,7 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
5
+ #include "ExpoHeader.pch"
6
6
 
7
7
  namespace jni = facebook::jni;
8
8
 
@@ -2,7 +2,6 @@
2
2
 
3
3
  #include "JNIFunctionBody.h"
4
4
  #include "Exceptions.h"
5
- #include "JavaReferencesCache.h"
6
5
 
7
6
  namespace jni = facebook::jni;
8
7
  namespace react = facebook::react;
@@ -2,8 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
6
- #include <react/jni/ReadableNativeArray.h>
5
+ #include "ExpoHeader.pch"
7
6
 
8
7
  namespace jni = facebook::jni;
9
8
  namespace react = facebook::react;
@@ -1,5 +1,6 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "RuntimeHolder.h"
4
5
  #include "JSIContext.h"
5
6
  #include "JavaScriptModuleObject.h"
@@ -26,7 +27,6 @@
26
27
  #endif
27
28
 
28
29
  #include <jni.h>
29
- #include <fbjni/fbjni.h>
30
30
 
31
31
  // Install all jni bindings
32
32
  JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
@@ -1,10 +1,10 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JNIUtils.h"
4
5
  #include "EventEmitter.h"
5
6
  #include "JSIUtils.h"
6
7
  #include "types/JNIToJSIConverter.h"
7
- #include <jsi/JSIDynamic.h>
8
8
  #include "JSIContext.h"
9
9
  #include "Exceptions.h"
10
10
 
@@ -2,12 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <vector>
6
- #include <functional>
7
-
8
- #include <fbjni/fbjni.h>
9
- #include <jsi/jsi.h>
10
- #include <react/jni/ReadableNativeMap.h>
5
+ #include "ExpoHeader.pch"
11
6
 
12
7
  #include "JSIContext.h"
13
8
  #include "JavaScriptObject.h"
@@ -1,21 +1,17 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JSIContext.h"
4
5
  #include "Exceptions.h"
5
- #include "ExpoModulesHostObject.h"
6
6
  #include "JavaReferencesCache.h"
7
7
  #include "JSReferencesCache.h"
8
8
  #include "JSIUtils.h"
9
9
  #include "SharedObject.h"
10
- #include "SharedRef.h"
11
- #include "NativeModule.h"
12
10
  #include "decorators/JSDecoratorsBridgingObject.h"
13
11
  #include "decorators/JSClassesDecorator.h"
14
12
 
15
13
  #include <fbjni/detail/Meta.h>
16
- #include <fbjni/fbjni.h>
17
14
 
18
- #include <memory>
19
15
  #include <shared_mutex>
20
16
 
21
17
  namespace jni = facebook::jni;
@@ -2,6 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JavaScriptRuntime.h"
6
7
  #include "JavaScriptModuleObject.h"
7
8
  #include "JavaScriptValue.h"
@@ -12,8 +13,6 @@
12
13
  #include "ThreadSafeJNIGlobalRef.h"
13
14
  #include "javaclasses/JSRunnable.h"
14
15
 
15
- #include <fbjni/fbjni.h>
16
- #include <jsi/jsi.h>
17
16
  #include <ReactCommon/CallInvokerHolder.h>
18
17
  #include <ReactCommon/CallInvoker.h>
19
18
 
@@ -24,10 +23,6 @@
24
23
 
25
24
  #endif
26
25
 
27
- #include <ReactCommon/NativeMethodCallInvokerHolder.h>
28
-
29
- #include <memory>
30
-
31
26
  namespace jni = facebook::jni;
32
27
  namespace jsi = facebook::jsi;
33
28
  namespace react = facebook::react;
@@ -2,13 +2,9 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JSIObjectWrapper.h"
6
7
 
7
- #include <fbjni/fbjni.h>
8
- #include <jsi/jsi.h>
9
-
10
- #include <type_traits>
11
-
12
8
  namespace jni = facebook::jni;
13
9
  namespace jsi = facebook::jsi;
14
10
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
5
+ #include "ExpoHeader.pch"
6
6
 
7
7
  namespace jni = facebook::jni;
8
8
 
@@ -1,20 +1,11 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JavaCallback.h"
4
5
  #include "JSIContext.h"
5
6
  #include "types/JNIToJSIConverter.h"
6
7
  #include "Exceptions.h"
7
8
 
8
- #include "JSIUtils.h"
9
- #include "JNIUtils.h"
10
-
11
- #include <fbjni/fbjni.h>
12
- #include <fbjni/fbjni.h>
13
- #include <folly/dynamic.h>
14
- #include <jsi/JSIDynamic.h>
15
-
16
- #include <functional>
17
-
18
9
  namespace expo {
19
10
 
20
11
  JavaCallback::CallbackContext::CallbackContext(
@@ -60,7 +51,6 @@ void JavaCallback::registerNatives() {
60
51
  });
61
52
  }
62
53
 
63
-
64
54
  jni::local_ref<JavaCallback::javaobject> JavaCallback::newInstance(
65
55
  JSIContext *jsiContext,
66
56
  std::shared_ptr<CallbackContext> callbackContext
@@ -170,7 +160,11 @@ void JavaCallback::invokeFloat(float result) {
170
160
  }
171
161
 
172
162
  void JavaCallback::invokeString(jni::alias_ref<jstring> result) {
173
- invokeJSFunction(result->toStdString());
163
+ JNIEnv *env = jni::Environment::current();
164
+ const char *rawValue = env->GetStringUTFChars(result.get(), nullptr);
165
+ std::string parsedResult = rawValue;
166
+ env->ReleaseStringUTFChars(result.get(), rawValue);
167
+ invokeJSFunction(parsedResult);
174
168
  }
175
169
 
176
170
  void JavaCallback::invokeCollection(jni::alias_ref<jni::JCollection<jobject>> result) {
@@ -198,7 +192,8 @@ void JavaCallback::invokeSharedObject(jni::alias_ref<JSharedObject::javaobject>
198
192
  invokeJSFunction(jni::make_global(result));
199
193
  }
200
194
 
201
- void JavaCallback::invokeJavaScriptArrayBuffer(jni::alias_ref<JavaScriptArrayBuffer::javaobject> result) {
195
+ void JavaCallback::invokeJavaScriptArrayBuffer(
196
+ jni::alias_ref<JavaScriptArrayBuffer::javaobject> result) {
202
197
  invokeJSFunction(jni::make_global(result));
203
198
  }
204
199
 
@@ -2,18 +2,12 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JNIDeallocator.h"
6
7
  #include "JSharedObject.h"
7
8
  #include "JavaScriptArrayBuffer.h"
8
9
  #include "NativeArrayBuffer.h"
9
10
 
10
- #include <jsi/jsi.h>
11
- #include <fbjni/fbjni.h>
12
- #include <folly/dynamic.h>
13
- #include <variant>
14
-
15
- #include <react/jni/WritableNativeArray.h>
16
- #include <react/jni/WritableNativeMap.h>
17
11
  #include <fbjni/detail/CoreClasses.h>
18
12
  #include <ReactCommon/CallInvoker.h>
19
13
  #include <react/bridging/LongLivedObject.h>
@@ -1,9 +1,8 @@
1
1
  // Copyright © 2021-present 650 Industries, Inc. (aka Expo)
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JavaReferencesCache.h"
4
5
 
5
- #include <vector>
6
-
7
6
  namespace expo {
8
7
 
9
8
  JCache::JCache(JNIEnv *env) {
@@ -2,10 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
6
-
7
- #include <memory>
8
- #include <unordered_map>
5
+ #include "ExpoHeader.pch"
9
6
 
10
7
  namespace jni = facebook::jni;
11
8
 
@@ -1,13 +1,10 @@
1
1
  #pragma once
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JNIDeallocator.h"
4
5
  #include "JavaScriptRuntime.h"
5
6
 
6
7
  #include <fbjni/ByteBuffer.h>
7
- #include <fbjni/fbjni.h>
8
- #include <jsi/jsi.h>
9
-
10
- #include <memory>
11
8
 
12
9
  namespace expo {
13
10
 
@@ -2,13 +2,11 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JSIObjectWrapper.h"
6
7
  #include "JavaScriptRuntime.h"
7
8
  #include "types/ExpectedType.h"
8
9
 
9
- #include <fbjni/fbjni.h>
10
- #include <jsi/jsi.h>
11
-
12
10
  namespace jni = facebook::jni;
13
11
  namespace jsi = facebook::jsi;
14
12
 
@@ -40,7 +38,6 @@ public:
40
38
 
41
39
  std::shared_ptr<jsi::Function> get() override;
42
40
 
43
-
44
41
  private:
45
42
  friend HybridBase;
46
43
 
@@ -2,11 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
- #include <fbjni/fbjni.h>
6
- #include <jsi/jsi.h>
7
-
8
- #include <vector>
9
- #include <memory>
5
+ #include "ExpoHeader.pch"
10
6
 
11
7
  #include "decorators/JSDecorator.h"
12
8
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JSIObjectWrapper.h"
6
7
  #include "JSITypeConverter.h"
7
8
  #include "JavaScriptRuntime.h"
@@ -9,11 +10,6 @@
9
10
  #include "JNIDeallocator.h"
10
11
  #include "JSIUtils.h"
11
12
 
12
- #include <fbjni/fbjni.h>
13
- #include <jsi/jsi.h>
14
-
15
- #include <memory>
16
-
17
13
  namespace jni = facebook::jni;
18
14
  namespace jsi = facebook::jsi;
19
15
 
@@ -5,7 +5,6 @@
5
5
  #include "JavaScriptObject.h"
6
6
  #include "Exceptions.h"
7
7
  #include "JSIContext.h"
8
- #include "JSIUtils.h"
9
8
 
10
9
  namespace jsi = facebook::jsi;
11
10
 
@@ -2,10 +2,9 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JNIDeallocator.h"
6
7
 
7
- #include <jsi/jsi.h>
8
- #include <fbjni/fbjni.h>
9
8
  #include <ReactCommon/CallInvoker.h>
10
9
 
11
10
  namespace jsi = facebook::jsi;
@@ -1,13 +1,10 @@
1
1
  #pragma once
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "TypedArray.h"
4
5
  #include "JavaScriptObject.h"
5
6
 
6
- #include <fbjni/fbjni.h>
7
7
  #include <fbjni/ByteBuffer.h>
8
- #include <jsi/jsi.h>
9
-
10
- #include <memory>
11
8
 
12
9
  namespace expo {
13
10
 
@@ -2,16 +2,12 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JSIObjectWrapper.h"
6
7
  #include "JavaScriptTypedArray.h"
7
8
  #include "JavaScriptArrayBuffer.h"
8
9
  #include "JNIDeallocator.h"
9
10
 
10
- #include <fbjni/fbjni.h>
11
- #include <jsi/jsi.h>
12
-
13
- #include <memory>
14
-
15
11
  namespace jni = facebook::jni;
16
12
  namespace jsi = facebook::jsi;
17
13
 
@@ -2,14 +2,10 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "JNIDeallocator.h"
6
7
  #include "JavaScriptObject.h"
7
8
 
8
- #include <fbjni/fbjni.h>
9
- #include <jsi/jsi.h>
10
-
11
- #include <memory>
12
-
13
9
  namespace jni = facebook::jni;
14
10
  namespace jsi = facebook::jsi;
15
11
 
@@ -1,8 +1,6 @@
1
+ #include "ExpoHeader.pch"
1
2
  #include "MethodMetadata.h"
2
3
  #include "JSIContext.h"
3
- #include "JavaScriptValue.h"
4
- #include "JavaScriptObject.h"
5
- #include "JavaScriptTypedArray.h"
6
4
  #include "JavaReferencesCache.h"
7
5
  #include "Exceptions.h"
8
6
  #include "JavaCallback.h"
@@ -10,9 +8,6 @@
10
8
  #include "JSReferencesCache.h"
11
9
 
12
10
  #include <utility>
13
- #include <functional>
14
- #include <unistd.h>
15
- #include <optional>
16
11
 
17
12
  #include <react/bridging/LongLivedObject.h>
18
13
 
@@ -2,20 +2,12 @@
2
2
 
3
3
  #pragma once
4
4
 
5
+ #include "ExpoHeader.pch"
5
6
  #include "types/CppType.h"
6
7
  #include "types/ExpectedType.h"
7
8
  #include "types/AnyType.h"
8
9
  #include "types/ReturnType.h"
9
10
 
10
- #include <jsi/jsi.h>
11
- #include <fbjni/fbjni.h>
12
- #include <ReactCommon/TurboModuleUtils.h>
13
- #include <react/jni/ReadableNativeArray.h>
14
- #include <memory>
15
- #include <vector>
16
- #include <folly/dynamic.h>
17
- #include <jsi/JSIDynamic.h>
18
-
19
11
  namespace jni = facebook::jni;
20
12
  namespace jsi = facebook::jsi;
21
13
  namespace react = facebook::react;
@@ -1,16 +1,13 @@
1
1
  #pragma once
2
2
 
3
+ #include "ExpoHeader.pch"
3
4
  #include "JNIDeallocator.h"
4
5
  #include "JSIContext.h"
5
6
 
6
7
  #include <fbjni/ByteBuffer.h>
7
- #include <fbjni/fbjni.h>
8
- #include <jsi/jsi.h>
9
8
 
10
9
  #include "TypedArray.h"
11
10
 
12
- #include <memory>
13
-
14
11
  namespace expo {
15
12
 
16
13
  class JavaScriptRuntime;