expo-modules-core 3.0.16 → 3.0.17

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/CHANGELOG.md CHANGED
@@ -10,6 +10,10 @@
10
10
 
11
11
  ### 💡 Others
12
12
 
13
+ ## 3.0.17 — 2025-09-18
14
+
15
+ _This version does not introduce any user-facing changes._
16
+
13
17
  ## 3.0.16 — 2025-09-16
14
18
 
15
19
  ### 🎉 New features
@@ -19,6 +23,7 @@
19
23
  ### 🐛 Bug fixes
20
24
 
21
25
  - Fix runtime error due to passing undefined into function that doesnt receive any argument ([#39594](https://github.com/expo/expo/pull/39594) by [@mrevanzak](https://github.com/mrevanzak))
26
+ - Fix build error on Vite due to non-existent import for `TurboModuleRegistry` on web ([#39726](https://github.com/expo/expo/pull/39726) by [@satya164](https://github.com/satya164))
22
27
 
23
28
  ## 3.0.15 — 2025-09-10
24
29
 
@@ -29,7 +29,7 @@ if (shouldIncludeCompose) {
29
29
  }
30
30
 
31
31
  group = 'host.exp.exponent'
32
- version = '3.0.16'
32
+ version = '3.0.17'
33
33
 
34
34
  def isExpoModulesCoreTests = {
35
35
  Gradle gradle = getGradle()
@@ -79,7 +79,7 @@ android {
79
79
  defaultConfig {
80
80
  consumerProguardFiles 'proguard-rules.pro'
81
81
  versionCode 1
82
- versionName "3.0.16"
82
+ versionName "3.0.17"
83
83
  buildConfigField "String", "EXPO_MODULES_CORE_VERSION", "\"${versionName}\""
84
84
  buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled.toString()
85
85
 
@@ -1 +1 @@
1
- {"version":3,"file":"ensureNativeModulesAreInstalled.d.ts","sourceRoot":"","sources":["../src/ensureNativeModulesAreInstalled.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAgBtD"}
1
+ {"version":3,"file":"ensureNativeModulesAreInstalled.d.ts","sourceRoot":"","sources":["../src/ensureNativeModulesAreInstalled.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,CAAC;AAEpB;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAEtD"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Ensures that the native modules are installed in the current runtime.
3
+ * Otherwise, it synchronously calls a native function that installs them.
4
+ */
5
+ export declare function ensureNativeModulesAreInstalled(): void;
6
+ //# sourceMappingURL=ensureNativeModulesAreInstalled.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ensureNativeModulesAreInstalled.native.d.ts","sourceRoot":"","sources":["../src/ensureNativeModulesAreInstalled.native.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,IAAI,CAetD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-modules-core",
3
- "version": "3.0.16",
3
+ "version": "3.0.17",
4
4
  "description": "The core of Expo Modules architecture",
5
5
  "main": "src/index.ts",
6
6
  "types": "build/index.d.ts",
@@ -65,5 +65,5 @@
65
65
  "@testing-library/react-native": "^13.2.0",
66
66
  "expo-module-scripts": "^5.0.7"
67
67
  },
68
- "gitHead": "e1bc61d046f09264a85b7730a1b7ae931b0f0af4"
68
+ "gitHead": "0d9ae61f3dea2e2b854576859e5b50fca5503fc1"
69
69
  }
@@ -0,0 +1,22 @@
1
+ import { TurboModuleRegistry } from 'react-native';
2
+
3
+ /**
4
+ * Ensures that the native modules are installed in the current runtime.
5
+ * Otherwise, it synchronously calls a native function that installs them.
6
+ */
7
+ export function ensureNativeModulesAreInstalled(): void {
8
+ if (globalThis.expo) {
9
+ return;
10
+ }
11
+
12
+ try {
13
+ // TODO: ExpoModulesCore shouldn't be optional here,
14
+ // but to keep backwards compatibility let's just ignore it in SDK 50.
15
+ // In most cases the modules were already installed from the native side.
16
+ (
17
+ TurboModuleRegistry.get('ExpoModulesCore') as { installModules: () => void } | null
18
+ )?.installModules();
19
+ } catch (error) {
20
+ console.error(`Unable to install Expo modules: ${error}`);
21
+ }
22
+ }
@@ -1,5 +1,3 @@
1
- import { TurboModuleRegistry } from 'react-native';
2
-
3
1
  // Installs the expo global on web
4
2
  import './polyfill';
5
3
 
@@ -8,19 +6,5 @@ import './polyfill';
8
6
  * Otherwise, it synchronously calls a native function that installs them.
9
7
  */
10
8
  export function ensureNativeModulesAreInstalled(): void {
11
- if (globalThis.expo) {
12
- return;
13
- }
14
- try {
15
- if (process.env.EXPO_OS !== 'web') {
16
- // TODO: ExpoModulesCore shouldn't be optional here,
17
- // but to keep backwards compatibility let's just ignore it in SDK 50.
18
- // In most cases the modules were already installed from the native side.
19
- (
20
- TurboModuleRegistry.get('ExpoModulesCore') as { installModules: () => void } | null
21
- )?.installModules();
22
- }
23
- } catch (error) {
24
- console.error(`Unable to install Expo modules: ${error}`);
25
- }
9
+ // No-op on web
26
10
  }