expo-modules-autolinking 55.0.16 β 55.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 +5 -0
- package/package.json +2 -2
- package/scripts/ios/precompiled_modules.rb +17 -8
package/CHANGELOG.md
CHANGED
|
@@ -10,6 +10,10 @@
|
|
|
10
10
|
|
|
11
11
|
### π‘ Others
|
|
12
12
|
|
|
13
|
+
## 55.0.17 β 2026-04-10
|
|
14
|
+
|
|
15
|
+
_This version does not introduce any user-facing changes._
|
|
16
|
+
|
|
13
17
|
## 55.0.16 β 2026-04-09
|
|
14
18
|
|
|
15
19
|
_This version does not introduce any user-facing changes._
|
|
@@ -36,6 +40,7 @@ _This version does not introduce any user-facing changes._
|
|
|
36
40
|
### π Bug fixes
|
|
37
41
|
|
|
38
42
|
- [Android] Fixed build failures caused by the "=" character in pnpm virtual store paths. ([#44109](https://github.com/expo/expo/pull/44109) by [@lukmccall](https://github.com/lukmccall))
|
|
43
|
+
- [iOS] Fixes an issue where the modulemap is destroyed when switching between Debug and Release configurations. ([#44665](https://github.com/expo/expo/pull/44665) by [@alanjhughes](https://github.com/alanjhughes))
|
|
39
44
|
|
|
40
45
|
## 55.0.11 β 2026-03-18
|
|
41
46
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "expo-modules-autolinking",
|
|
3
|
-
"version": "55.0.
|
|
3
|
+
"version": "55.0.17",
|
|
4
4
|
"description": "Scripts that autolink Expo modules.",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"types": "build/index.d.ts",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"chalk": "^4.1.0",
|
|
44
44
|
"commander": "^7.2.0"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "ba4ff190e5abefff1a7758006bf822d14e223218"
|
|
47
47
|
}
|
|
@@ -554,6 +554,11 @@ module Expo
|
|
|
554
554
|
# 1. Creates a non-framework modulemap so <React/X.h> resolves through -isystem + VFS
|
|
555
555
|
# 2. Patches framework modulemaps to remove `framework module React` (keep React_RCTAppDelegate)
|
|
556
556
|
# 3. Injects -isystem and -fmodule-map-file into all pod and aggregate xcconfigs
|
|
557
|
+
#
|
|
558
|
+
# The modulemap is placed in Target Support Files/ rather than in the pod
|
|
559
|
+
# directory itself, because React Native's replace-rncore-version.js script
|
|
560
|
+
# phase deletes and re-extracts the entire React-Core-prebuilt/ directory at
|
|
561
|
+
# build time when switching DebugβRelease configurations.
|
|
557
562
|
def configure_use_frameworks(installer)
|
|
558
563
|
return unless prebuilt_react_active?
|
|
559
564
|
return if linkage(installer).nil?
|
|
@@ -562,9 +567,12 @@ module Expo
|
|
|
562
567
|
xcframework_path = File.join(react_prebuilt_dir, 'React.xcframework')
|
|
563
568
|
return unless File.exist?(xcframework_path)
|
|
564
569
|
|
|
565
|
-
|
|
570
|
+
target_support_dir = File.join(installer.sandbox.root, 'Target Support Files', 'React-Core-prebuilt')
|
|
571
|
+
FileUtils.mkdir_p(target_support_dir)
|
|
572
|
+
|
|
573
|
+
create_nonframework_modulemap(target_support_dir, installer.sandbox.root)
|
|
566
574
|
patch_framework_modulemaps(xcframework_path)
|
|
567
|
-
inject_isystem_flags(installer,
|
|
575
|
+
inject_isystem_flags(installer, target_support_dir)
|
|
568
576
|
|
|
569
577
|
Pod::UI.puts "[Expo] ".blue + "Created non-framework React modulemap for use_frameworks! compatibility"
|
|
570
578
|
end
|
|
@@ -702,11 +710,12 @@ module Expo
|
|
|
702
710
|
# ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
|
703
711
|
|
|
704
712
|
# Creates a non-framework modulemap so <React/X.h> resolves through -isystem + VFS.
|
|
705
|
-
def create_nonframework_modulemap(
|
|
706
|
-
modulemap_path = File.join(
|
|
713
|
+
def create_nonframework_modulemap(target_support_dir, pods_root)
|
|
714
|
+
modulemap_path = File.join(target_support_dir, 'React-use-frameworks.modulemap')
|
|
715
|
+
umbrella_header = File.join(pods_root, 'React-Core-prebuilt', 'React.xcframework', 'Headers', 'React_Core', 'React_Core-umbrella.h')
|
|
707
716
|
modulemap_content = <<~MODULEMAP
|
|
708
717
|
module React {
|
|
709
|
-
umbrella header "
|
|
718
|
+
umbrella header "#{umbrella_header}"
|
|
710
719
|
export *
|
|
711
720
|
}
|
|
712
721
|
MODULEMAP
|
|
@@ -732,10 +741,10 @@ module Expo
|
|
|
732
741
|
|
|
733
742
|
# Injects -fmodule-map-file and -isystem into all pod and aggregate xcconfigs.
|
|
734
743
|
# Module builds don't inherit -I (HEADER_SEARCH_PATHS) but DO inherit -isystem.
|
|
735
|
-
def inject_isystem_flags(installer,
|
|
736
|
-
modulemap_flag = "-fmodule-map-file=\"${PODS_ROOT}/React-Core-prebuilt/React-use-frameworks.modulemap\""
|
|
744
|
+
def inject_isystem_flags(installer, target_support_dir)
|
|
745
|
+
modulemap_flag = "-fmodule-map-file=\"${PODS_ROOT}/Target\\ Support\\ Files/React-Core-prebuilt/React-use-frameworks.modulemap\""
|
|
737
746
|
extra_isystem = "-isystem \"${PODS_ROOT}/React-Core-prebuilt/React.xcframework/Headers\""
|
|
738
|
-
swift_modulemap = "-Xcc -fmodule-map-file=\"${PODS_ROOT}/React-Core-prebuilt/React-use-frameworks.modulemap\""
|
|
747
|
+
swift_modulemap = "-Xcc -fmodule-map-file=\"${PODS_ROOT}/Target\\ Support\\ Files/React-Core-prebuilt/React-use-frameworks.modulemap\""
|
|
739
748
|
swift_extra_isystem = "-Xcc -isystem -Xcc \"${PODS_ROOT}/React-Core-prebuilt/React.xcframework/Headers\""
|
|
740
749
|
skip_marker = 'React-use-frameworks.modulemap'
|
|
741
750
|
|