@callstack/react-native-brownfield 3.13.2 → 3.14.0
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 +11 -0
- package/ReactBrownfield.podspec +1 -1
- package/app.plugin.js +1 -0
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/ProjectConfigurations.kt +3 -2
- package/gradle-plugin/brownfield/src/main/kotlin/com/callstack/react/brownfield/plugin/RNSourceSets.kt +0 -1
- package/lib/commonjs/expo-config-plugin/android/utils/hermes.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/utils/hermes.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
- package/lib/commonjs/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/ios/podfileHelpers.js +4 -2
- package/lib/commonjs/expo-config-plugin/ios/podfileHelpers.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/ios/withBrownfieldIos.js +1 -1
- package/lib/commonjs/expo-config-plugin/ios/withBrownfieldIos.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/ios/withFmtFix.js +4 -2
- package/lib/commonjs/expo-config-plugin/ios/withFmtFix.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/ios/xcodeHelpers.js +2 -2
- package/lib/commonjs/expo-config-plugin/ios/xcodeHelpers.js.map +1 -1
- package/lib/commonjs/expo-config-plugin/template/android/build.gradle.kts +19 -1
- package/lib/module/expo-config-plugin/android/utils/hermes.js +1 -1
- package/lib/module/expo-config-plugin/android/utils/hermes.js.map +1 -1
- package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js +1 -1
- package/lib/module/expo-config-plugin/android/withAndroidModuleFiles.js.map +1 -1
- package/lib/module/expo-config-plugin/ios/podfileHelpers.js +4 -2
- package/lib/module/expo-config-plugin/ios/podfileHelpers.js.map +1 -1
- package/lib/module/expo-config-plugin/ios/withBrownfieldIos.js +1 -1
- package/lib/module/expo-config-plugin/ios/withBrownfieldIos.js.map +1 -1
- package/lib/module/expo-config-plugin/ios/withFmtFix.js +4 -2
- package/lib/module/expo-config-plugin/ios/withFmtFix.js.map +1 -1
- package/lib/module/expo-config-plugin/ios/xcodeHelpers.js +2 -2
- package/lib/module/expo-config-plugin/ios/xcodeHelpers.js.map +1 -1
- package/lib/module/expo-config-plugin/template/android/build.gradle.kts +19 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/hermes.d.ts +3 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/android/utils/hermes.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts +2 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/ios/podfileHelpers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/ios/withBrownfieldIos.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/ios/withFmtFix.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/ios/xcodeHelpers.d.ts +6 -0
- package/lib/typescript/commonjs/src/expo-config-plugin/ios/xcodeHelpers.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +3 -3
- package/lib/typescript/commonjs/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts +2 -2
- package/lib/typescript/commonjs/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/android/utils/hermes.d.ts +3 -1
- package/lib/typescript/module/src/expo-config-plugin/android/utils/hermes.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts +2 -0
- package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/ios/podfileHelpers.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/ios/withBrownfieldIos.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/ios/withFmtFix.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/ios/xcodeHelpers.d.ts +6 -0
- package/lib/typescript/module/src/expo-config-plugin/ios/xcodeHelpers.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts +3 -3
- package/lib/typescript/module/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.d.ts.map +1 -1
- package/lib/typescript/module/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts +2 -2
- package/lib/typescript/module/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/expo-config-plugin/android/utils/hermes.ts +82 -7
- package/src/expo-config-plugin/android/withAndroidModuleFiles.ts +26 -2
- package/src/expo-config-plugin/ios/podfileHelpers.ts +11 -2
- package/src/expo-config-plugin/ios/withBrownfieldIos.ts +9 -2
- package/src/expo-config-plugin/ios/withFmtFix.ts +47 -17
- package/src/expo-config-plugin/ios/xcodeHelpers.ts +62 -1
- package/src/expo-config-plugin/template/android/build.gradle.kts +19 -1
- package/src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts +6 -4
- package/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.ts +5 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withFmtFix.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withFmtFix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"withFmtFix.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withFmtFix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AAyCtE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA+C/D;AAED,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,qCAAqC,CASvE,CAAC"}
|
|
@@ -17,7 +17,9 @@ export type PbxReferenceLike = {
|
|
|
17
17
|
} | string;
|
|
18
18
|
export type PbxNativeTarget = {
|
|
19
19
|
buildPhases?: PbxReferenceLike[];
|
|
20
|
+
buildConfigurationList?: string;
|
|
20
21
|
name?: string;
|
|
22
|
+
productReference?: string;
|
|
21
23
|
};
|
|
22
24
|
export type PbxResourcesBuildPhase = {
|
|
23
25
|
isa: 'PBXResourcesBuildPhase';
|
|
@@ -56,6 +58,10 @@ export declare function rewriteBundleReactNativePhaseScriptForFrameworkTarget(sh
|
|
|
56
58
|
* @param targetUuid The UUID of the framework target
|
|
57
59
|
*/
|
|
58
60
|
export declare function copyBundleReactNativePhase(project: XcodeProject, targetUuid: string): void;
|
|
61
|
+
export declare function getAppTargetDeploymentTarget(project: Pick<XcodeProject, 'getBuildProperty'>, appTargetName: string | null): string | null;
|
|
62
|
+
export declare function resolveFrameworkDeploymentTarget(project: XcodeProject, modRequest: ModProps<XcodeProject>, { fallbackDeploymentTarget, }: {
|
|
63
|
+
fallbackDeploymentTarget?: string;
|
|
64
|
+
}): string;
|
|
59
65
|
/**
|
|
60
66
|
* Adds the "Patch ExpoModulesProvider" shell script phase to the framework target.
|
|
61
67
|
* Safe to call on every prebuild: skips creation when the phase is already present.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcodeHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/xcodeHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAKlE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAClC,OAAO,EAAE,iCAAiC,GACzC;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAoIA;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,iCAAiC,QAkB3C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"xcodeHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/xcodeHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAKlE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAClC,OAAO,EAAE,iCAAiC,GACzC;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAoIA;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,iCAAiC,QAkB3C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,GAAG,EAAE,wBAAwB,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC3B,kCAAkC,EAAE,MAAM,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,cAAc,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAOvE,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,GACd,qBAAqB,CAEvB;AAmJD,KAAK,0BAA0B,GAAG;IAChC,0BAA0B,EAAE,MAAM,CAAC;IACnC,gBAAgB,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,wBAAgB,iDAAiD,CAC/D,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,MAAM,EACnB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,EAAE,0BAA0B,GAC3E,OAAO,CAwBT;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,EACE,aAAa,GACd,EAAE;IACD,sDAAsD;IACtD,aAAa,EAAE,OAAO,GAAG,SAAS,CAAC;CACpC,EACD,EACE,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAAE,mBAAmB,GACnC,EAAE,iCAAiC,GACnC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CA8B3C;AAED,wBAAgB,qDAAqD,CACnE,WAAW,EAAE,MAAM,GAClB,MAAM,CAoCR;AAgCD;;;;;GAKG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,MAAM,GACjB,IAAI,CA+FN;AAuED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,EAC/C,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,MAAM,GAAG,IAAI,CAqBf;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAClC,EACE,wBAAwB,GACzB,EAAE;IACD,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,GACA,MAAM,CAYR;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAClC,OAAO,EAAE,YAAY,EACrB,EACE,aAAa,EACb,mBAAmB,GACpB,EAAE;IACD,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B,QAqCF;AAED;;;;;;GAMG;AACH,wBAAgB,6CAA6C,CAC3D,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,MAAM,WAmC5B"}
|
|
@@ -19,12 +19,12 @@ export interface BrownfieldPluginAndroidConfig {
|
|
|
19
19
|
minSdkVersion?: number;
|
|
20
20
|
/**
|
|
21
21
|
* Target SDK version for the Android library
|
|
22
|
-
* @default
|
|
22
|
+
* @default inherited from the generated Expo app project when available
|
|
23
23
|
*/
|
|
24
24
|
targetSdkVersion?: number;
|
|
25
25
|
/**
|
|
26
26
|
* Compile SDK version for the Android library
|
|
27
|
-
* @default
|
|
27
|
+
* @default inherited from the generated Expo app project when available
|
|
28
28
|
*/
|
|
29
29
|
compileSdkVersion?: number;
|
|
30
30
|
/**
|
|
@@ -52,5 +52,5 @@ export interface BrownfieldPluginAndroidConfig {
|
|
|
52
52
|
/**
|
|
53
53
|
* Android configuration with resolved defaults (all fields required)
|
|
54
54
|
*/
|
|
55
|
-
export type ResolvedBrownfieldPluginAndroidConfig = Required<BrownfieldPluginAndroidConfig>;
|
|
55
|
+
export type ResolvedBrownfieldPluginAndroidConfig = Required<Omit<BrownfieldPluginAndroidConfig, 'compileSdkVersion' | 'targetSdkVersion'>> & Pick<BrownfieldPluginAndroidConfig, 'compileSdkVersion' | 'targetSdkVersion'>;
|
|
56
56
|
//# sourceMappingURL=BrownfieldPluginAndroidConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrownfieldPluginAndroidConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,qCAAqC,
|
|
1
|
+
{"version":3,"file":"BrownfieldPluginAndroidConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG,QAAQ,CAC1D,IAAI,CAAC,6BAA6B,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,CAC9E,GACC,IAAI,CAAC,6BAA6B,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,CAAC"}
|
package/lib/typescript/commonjs/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface BrownfieldPluginIosConfig {
|
|
|
19
19
|
buildSettings?: Record<string, string | boolean | number>;
|
|
20
20
|
/**
|
|
21
21
|
* Minimum iOS deployment target
|
|
22
|
-
* @default
|
|
22
|
+
* @default inherited from the generated Expo app target when available
|
|
23
23
|
*/
|
|
24
24
|
deploymentTarget?: string;
|
|
25
25
|
/**
|
|
@@ -32,5 +32,5 @@ export interface BrownfieldPluginIosConfig {
|
|
|
32
32
|
/**
|
|
33
33
|
* iOS configuration with resolved defaults (all fields required)
|
|
34
34
|
*/
|
|
35
|
-
export type ResolvedBrownfieldPluginIosConfig = Required<BrownfieldPluginIosConfig>;
|
|
35
|
+
export type ResolvedBrownfieldPluginIosConfig = Required<Omit<BrownfieldPluginIosConfig, 'deploymentTarget'>> & Pick<BrownfieldPluginIosConfig, 'deploymentTarget'>;
|
|
36
36
|
//# sourceMappingURL=BrownfieldPluginIosConfig.d.ts.map
|
package/lib/typescript/commonjs/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrownfieldPluginIosConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"BrownfieldPluginIosConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,QAAQ,CACtD,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CACpD,GACC,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
type HermesArtifact = {
|
|
2
2
|
groupId: string;
|
|
3
3
|
artifactId: string;
|
|
4
4
|
version: string;
|
|
5
5
|
};
|
|
6
|
+
export declare function getHermesArtifact(rnVersion: string, projectRoot?: string): HermesArtifact;
|
|
7
|
+
export {};
|
|
6
8
|
//# sourceMappingURL=hermes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/android/utils/hermes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hermes.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/android/utils/hermes.ts"],"names":[],"mappings":"AAKA,KAAK,cAAc,GAAG;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAgEF,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CAiFhB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { type ConfigPlugin } from '@expo/config-plugins';
|
|
2
2
|
import type { ResolvedBrownfieldPluginConfigWithAndroid } from '../types';
|
|
3
3
|
import { type AndroidManifestMetaDataEntry, type AndroidStringResourceEntry } from './utils/androidManifest';
|
|
4
|
+
export declare function resolveCompileSdkVersionExpression(config: ResolvedBrownfieldPluginConfigWithAndroid): string;
|
|
5
|
+
export declare function resolveTargetSdkVersionExpression(config: ResolvedBrownfieldPluginConfigWithAndroid): string;
|
|
4
6
|
/**
|
|
5
7
|
* Creates the Android library module directory structure and files
|
|
6
8
|
*/
|
package/lib/typescript/module/src/expo-config-plugin/android/withAndroidModuleFiles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withAndroidModuleFiles.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/android/withAndroidModuleFiles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAEV,yCAAyC,EAC1C,MAAM,UAAU,CAAC;AAIlB,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAGhC,MAAM,yBAAyB,CAAC;AAOjC;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE;IACD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,yCAAyC,CAAC;CACnD,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"withAndroidModuleFiles.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/android/withAndroidModuleFiles.ts"],"names":[],"mappings":"AAGA,OAAO,EAAoB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAE3E,OAAO,KAAK,EAEV,yCAAyC,EAC1C,MAAM,UAAU,CAAC;AAIlB,OAAO,EACL,KAAK,4BAA4B,EACjC,KAAK,0BAA0B,EAGhC,MAAM,yBAAyB,CAAC;AAOjC,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,yCAAyC,GAChD,MAAM,CAMR;AAED,wBAAgB,iCAAiC,CAC/C,MAAM,EAAE,yCAAyC,GAChD,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,UAAU,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,GACZ,EAAE;IACD;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,EAAE,yCAAyC,CAAC;CACnD,GAAG,IAAI,CA0FP;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,MAAM,EACN,mBAAmB,GACpB,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,yCAAyC,CAAC;IAClD,mBAAmB,EAAE,4BAA4B,EAAE,CAAC;CACrD,GAAG,IAAI,CASP;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,UAAU,EACV,MAAM,EACN,0BAA0B,GAC3B,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,yCAAyC,CAAC;IAClD,0BAA0B,EAAE,0BAA0B,EAAE,CAAC;CAC1D,GAAG,IAAI,CAUP;AAkBD,wBAAgB,wCAAwC,CAAC,EACvD,UAAU,EACV,MAAM,GACP,EAAE;IACD,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,yCAAyC,CAAC;CACnD,GAAG,IAAI,CAsBP;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,YAAY,CAC/C,yCAAyC,CAwC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"podfileHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/podfileHelpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"podfileHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/podfileHelpers.ts"],"names":[],"mappings":"AAgGA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,MAAM,CAmDR"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withBrownfieldIos.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withBrownfieldIos.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"withBrownfieldIos.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withBrownfieldIos.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,sBAAsB,CAAC;AAa9B,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AAItE;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAC1C,qCAAqC,CA2FtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withFmtFix.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withFmtFix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"withFmtFix.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/withFmtFix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEtE,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AAyCtE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CA+C/D;AAED,eAAO,MAAM,UAAU,EAAE,YAAY,CAAC,qCAAqC,CASvE,CAAC"}
|
|
@@ -17,7 +17,9 @@ export type PbxReferenceLike = {
|
|
|
17
17
|
} | string;
|
|
18
18
|
export type PbxNativeTarget = {
|
|
19
19
|
buildPhases?: PbxReferenceLike[];
|
|
20
|
+
buildConfigurationList?: string;
|
|
20
21
|
name?: string;
|
|
22
|
+
productReference?: string;
|
|
21
23
|
};
|
|
22
24
|
export type PbxResourcesBuildPhase = {
|
|
23
25
|
isa: 'PBXResourcesBuildPhase';
|
|
@@ -56,6 +58,10 @@ export declare function rewriteBundleReactNativePhaseScriptForFrameworkTarget(sh
|
|
|
56
58
|
* @param targetUuid The UUID of the framework target
|
|
57
59
|
*/
|
|
58
60
|
export declare function copyBundleReactNativePhase(project: XcodeProject, targetUuid: string): void;
|
|
61
|
+
export declare function getAppTargetDeploymentTarget(project: Pick<XcodeProject, 'getBuildProperty'>, appTargetName: string | null): string | null;
|
|
62
|
+
export declare function resolveFrameworkDeploymentTarget(project: XcodeProject, modRequest: ModProps<XcodeProject>, { fallbackDeploymentTarget, }: {
|
|
63
|
+
fallbackDeploymentTarget?: string;
|
|
64
|
+
}): string;
|
|
59
65
|
/**
|
|
60
66
|
* Adds the "Patch ExpoModulesProvider" shell script phase to the framework target.
|
|
61
67
|
* Safe to call on every prebuild: skips creation when the phase is already present.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xcodeHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/xcodeHelpers.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,YAAY,EAElB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,UAAU,CAAC;AAKlE;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,QAAQ,CAAC,YAAY,CAAC,EAClC,OAAO,EAAE,iCAAiC,GACzC;IACD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAC9B,CAoIA;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,YAAY,EACrB,mBAAmB,EAAE,MAAM,EAC3B,OAAO,EAAE,iCAAiC,QAkB3C;AAED,MAAM,MAAM,gBAAgB,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAAC;AAE7E,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"xcodeHelpers.d.ts","sourceRoot":"","sources":["../../../../../../src/expo-config-plugin/ios/xcodeHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,12 +19,12 @@ export interface BrownfieldPluginAndroidConfig {
|
|
|
19
19
|
minSdkVersion?: number;
|
|
20
20
|
/**
|
|
21
21
|
* Target SDK version for the Android library
|
|
22
|
-
* @default
|
|
22
|
+
* @default inherited from the generated Expo app project when available
|
|
23
23
|
*/
|
|
24
24
|
targetSdkVersion?: number;
|
|
25
25
|
/**
|
|
26
26
|
* Compile SDK version for the Android library
|
|
27
|
-
* @default
|
|
27
|
+
* @default inherited from the generated Expo app project when available
|
|
28
28
|
*/
|
|
29
29
|
compileSdkVersion?: number;
|
|
30
30
|
/**
|
|
@@ -52,5 +52,5 @@ export interface BrownfieldPluginAndroidConfig {
|
|
|
52
52
|
/**
|
|
53
53
|
* Android configuration with resolved defaults (all fields required)
|
|
54
54
|
*/
|
|
55
|
-
export type ResolvedBrownfieldPluginAndroidConfig = Required<BrownfieldPluginAndroidConfig>;
|
|
55
|
+
export type ResolvedBrownfieldPluginAndroidConfig = Required<Omit<BrownfieldPluginAndroidConfig, 'compileSdkVersion' | 'targetSdkVersion'>> & Pick<BrownfieldPluginAndroidConfig, 'compileSdkVersion' | 'targetSdkVersion'>;
|
|
56
56
|
//# sourceMappingURL=BrownfieldPluginAndroidConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrownfieldPluginAndroidConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,qCAAqC,
|
|
1
|
+
{"version":3,"file":"BrownfieldPluginAndroidConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/android/BrownfieldPluginAndroidConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC5C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,MAAM,qCAAqC,GAAG,QAAQ,CAC1D,IAAI,CAAC,6BAA6B,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,CAC9E,GACC,IAAI,CAAC,6BAA6B,EAAE,mBAAmB,GAAG,kBAAkB,CAAC,CAAC"}
|
package/lib/typescript/module/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface BrownfieldPluginIosConfig {
|
|
|
19
19
|
buildSettings?: Record<string, string | boolean | number>;
|
|
20
20
|
/**
|
|
21
21
|
* Minimum iOS deployment target
|
|
22
|
-
* @default
|
|
22
|
+
* @default inherited from the generated Expo app target when available
|
|
23
23
|
*/
|
|
24
24
|
deploymentTarget?: string;
|
|
25
25
|
/**
|
|
@@ -32,5 +32,5 @@ export interface BrownfieldPluginIosConfig {
|
|
|
32
32
|
/**
|
|
33
33
|
* iOS configuration with resolved defaults (all fields required)
|
|
34
34
|
*/
|
|
35
|
-
export type ResolvedBrownfieldPluginIosConfig = Required<BrownfieldPluginIosConfig>;
|
|
35
|
+
export type ResolvedBrownfieldPluginIosConfig = Required<Omit<BrownfieldPluginIosConfig, 'deploymentTarget'>> & Pick<BrownfieldPluginIosConfig, 'deploymentTarget'>;
|
|
36
36
|
//# sourceMappingURL=BrownfieldPluginIosConfig.d.ts.map
|
package/lib/typescript/module/src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrownfieldPluginIosConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,
|
|
1
|
+
{"version":3,"file":"BrownfieldPluginIosConfig.d.ts","sourceRoot":"","sources":["../../../../../../../src/expo-config-plugin/types/ios/BrownfieldPluginIosConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAAC;IAE1D;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,MAAM,iCAAiC,GAAG,QAAQ,CACtD,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CACpD,GACC,IAAI,CAAC,yBAAyB,EAAE,kBAAkB,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@callstack/react-native-brownfield",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.14.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Michal Chudziak <mike.chudziak@callstack.com>",
|
|
6
6
|
"bin": {
|
|
@@ -63,6 +63,7 @@
|
|
|
63
63
|
"files": [
|
|
64
64
|
"src",
|
|
65
65
|
"lib",
|
|
66
|
+
"app.plugin.js",
|
|
66
67
|
"scripts",
|
|
67
68
|
"gradle-plugin",
|
|
68
69
|
"android",
|
|
@@ -85,16 +86,16 @@
|
|
|
85
86
|
"access": "public"
|
|
86
87
|
},
|
|
87
88
|
"peerDependencies": {
|
|
88
|
-
"@expo/config-plugins": "
|
|
89
|
+
"@expo/config-plugins": ">=54 <100"
|
|
89
90
|
},
|
|
90
91
|
"dependencies": {
|
|
91
|
-
"@callstack/brownfield-cli": "^3.
|
|
92
|
+
"@callstack/brownfield-cli": "^3.14.0"
|
|
92
93
|
},
|
|
93
94
|
"devDependencies": {
|
|
94
95
|
"@babel/core": "^7.25.2",
|
|
95
96
|
"@babel/preset-env": "^7.25.3",
|
|
96
97
|
"@babel/runtime": "^7.25.0",
|
|
97
|
-
"@expo/config-plugins": "^
|
|
98
|
+
"@expo/config-plugins": "^56.0.8",
|
|
98
99
|
"@react-native/babel-preset": "0.83.2",
|
|
99
100
|
"@types/jest": "^30.0.0",
|
|
100
101
|
"@types/react": "^19.1.1",
|
|
@@ -1,6 +1,80 @@
|
|
|
1
|
+
import * as fs from 'node:fs';
|
|
2
|
+
import * as path from 'node:path';
|
|
3
|
+
|
|
1
4
|
import { Logger } from '../../logging';
|
|
2
5
|
|
|
3
|
-
|
|
6
|
+
type HermesArtifact = {
|
|
7
|
+
groupId: string;
|
|
8
|
+
artifactId: string;
|
|
9
|
+
version: string;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
function parseVersionProperties(contents: string): Record<string, string> {
|
|
13
|
+
return contents
|
|
14
|
+
.split(/\r?\n/)
|
|
15
|
+
.map((line) => line.trim())
|
|
16
|
+
.filter((line) => line.length > 0 && !line.startsWith('#'))
|
|
17
|
+
.reduce<Record<string, string>>((result, line) => {
|
|
18
|
+
const separatorIndex = line.indexOf('=');
|
|
19
|
+
if (separatorIndex === -1) {
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
const key = line.slice(0, separatorIndex).trim();
|
|
24
|
+
const value = line.slice(separatorIndex + 1).trim();
|
|
25
|
+
|
|
26
|
+
if (key.length > 0 && value.length > 0) {
|
|
27
|
+
result[key] = value;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
return result;
|
|
31
|
+
}, {});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function resolveHermesArtifactFromInstalledReactNative(
|
|
35
|
+
projectRoot?: string
|
|
36
|
+
): HermesArtifact | null {
|
|
37
|
+
if (!projectRoot) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const versionPropertiesPath = path.join(
|
|
42
|
+
projectRoot,
|
|
43
|
+
'node_modules',
|
|
44
|
+
'react-native',
|
|
45
|
+
'sdks',
|
|
46
|
+
'hermes-engine',
|
|
47
|
+
'version.properties'
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
if (!fs.existsSync(versionPropertiesPath)) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
const properties = parseVersionProperties(
|
|
55
|
+
fs.readFileSync(versionPropertiesPath, 'utf8')
|
|
56
|
+
);
|
|
57
|
+
const resolvedVersion =
|
|
58
|
+
properties.HERMES_V1_VERSION_NAME ?? properties.HERMES_VERSION_NAME;
|
|
59
|
+
|
|
60
|
+
if (!resolvedVersion) {
|
|
61
|
+
Logger.logWarning(
|
|
62
|
+
`Could not resolve Hermes version from '${versionPropertiesPath}'. Falling back to the Brownfield Hermes version map.`
|
|
63
|
+
);
|
|
64
|
+
return null;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
groupId: 'com.facebook.hermes',
|
|
69
|
+
artifactId: 'hermes-android',
|
|
70
|
+
version: resolvedVersion,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
export function getHermesArtifact(
|
|
75
|
+
rnVersion: string,
|
|
76
|
+
projectRoot?: string
|
|
77
|
+
): HermesArtifact {
|
|
4
78
|
let [rnMajorVersionString, rnMinorVersionString, rnPatchVersionString] =
|
|
5
79
|
rnVersion.split('.') as [string?, string?, string?];
|
|
6
80
|
|
|
@@ -32,13 +106,14 @@ export function getHermesArtifact(rnVersion: string) {
|
|
|
32
106
|
);
|
|
33
107
|
}
|
|
34
108
|
|
|
35
|
-
//
|
|
109
|
+
// above: 0.84.x
|
|
36
110
|
if (rnMinorVersion >= 84) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
111
|
+
const installedReactNativeArtifact =
|
|
112
|
+
resolveHermesArtifactFromInstalledReactNative(projectRoot);
|
|
113
|
+
|
|
114
|
+
if (installedReactNativeArtifact) {
|
|
115
|
+
return installedReactNativeArtifact;
|
|
116
|
+
}
|
|
42
117
|
}
|
|
43
118
|
|
|
44
119
|
// below: 0.83.x
|
|
@@ -22,6 +22,26 @@ import {
|
|
|
22
22
|
} from './utils/expo-updates';
|
|
23
23
|
import { getHermesArtifact } from './utils/hermes';
|
|
24
24
|
|
|
25
|
+
export function resolveCompileSdkVersionExpression(
|
|
26
|
+
config: ResolvedBrownfieldPluginConfigWithAndroid
|
|
27
|
+
): string {
|
|
28
|
+
if (config.android.compileSdkVersion != null) {
|
|
29
|
+
return config.android.compileSdkVersion.toString();
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return 'resolveRootProjectInt("compileSdkVersion")';
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export function resolveTargetSdkVersionExpression(
|
|
36
|
+
config: ResolvedBrownfieldPluginConfigWithAndroid
|
|
37
|
+
): string {
|
|
38
|
+
if (config.android.targetSdkVersion != null) {
|
|
39
|
+
return config.android.targetSdkVersion.toString();
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
return 'resolveRootProjectInt("targetSdkVersion")';
|
|
43
|
+
}
|
|
44
|
+
|
|
25
45
|
/**
|
|
26
46
|
* Creates the Android library module directory structure and files
|
|
27
47
|
*/
|
|
@@ -63,7 +83,10 @@ export function createAndroidModule({
|
|
|
63
83
|
|
|
64
84
|
Logger.logDebug(`Creating Android module in: ${androidDir}`);
|
|
65
85
|
|
|
66
|
-
const hermesArtifact = getHermesArtifact(rnVersion);
|
|
86
|
+
const hermesArtifact = getHermesArtifact(rnVersion, projectRoot);
|
|
87
|
+
const compileSdkVersionExpression =
|
|
88
|
+
resolveCompileSdkVersionExpression(config);
|
|
89
|
+
const targetSdkVersionExpression = resolveTargetSdkVersionExpression(config);
|
|
67
90
|
Logger.logDebug(
|
|
68
91
|
`Resolved Hermes artifact: ${hermesArtifact.groupId}:${hermesArtifact.artifactId}:${hermesArtifact.version}`
|
|
69
92
|
);
|
|
@@ -75,7 +98,8 @@ export function createAndroidModule({
|
|
|
75
98
|
content: renderTemplate('android', 'build.gradle.kts', {
|
|
76
99
|
'{{PACKAGE_NAME}}': android.packageName,
|
|
77
100
|
'{{MIN_SDK_VERSION}}': android.minSdkVersion.toString(),
|
|
78
|
-
'{{
|
|
101
|
+
'{{TARGET_SDK_VERSION}}': targetSdkVersionExpression,
|
|
102
|
+
'{{COMPILE_SDK_VERSION}}': compileSdkVersionExpression,
|
|
79
103
|
'{{GROUP_ID}}': android.groupId,
|
|
80
104
|
'{{ARTIFACT_ID}}': android.artifactId,
|
|
81
105
|
'{{ARTIFACT_VERSION}}': android.version,
|
|
@@ -53,13 +53,18 @@ ${BROWNFIELD_POD_HOOK_MARKER_END}
|
|
|
53
53
|
return modifiedPodfile;
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
function ensureExpoDefinesForSDK55AndAbove(
|
|
56
|
+
function ensureExpoDefinesForSDK55AndAbove(
|
|
57
|
+
podfile: string,
|
|
58
|
+
expoMajor: number
|
|
59
|
+
): string {
|
|
57
60
|
if (podfile.includes(BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START)) {
|
|
58
61
|
return podfile;
|
|
59
62
|
}
|
|
60
63
|
|
|
64
|
+
const defaultDeploymentTarget = expoMajor >= 56 ? '16.4' : '15.1';
|
|
61
65
|
const hook = `
|
|
62
66
|
${BROWNFIELD_EXPO_GTE_55_SWIFT_DEFINES_MARKER_START}
|
|
67
|
+
brownfield_ios_deployment_target = podfile_properties['ios.deploymentTarget'] || '${defaultDeploymentTarget}'
|
|
63
68
|
installer.pods_project.targets.each do |target|
|
|
64
69
|
if target.name == 'ReactBrownfield'
|
|
65
70
|
puts "[Brownfield] Adding definition of EXPO_SDK_GTE_55 to target: #{target.name}"
|
|
@@ -68,6 +73,7 @@ function ensureExpoDefinesForSDK55AndAbove(podfile: string): string {
|
|
|
68
73
|
conditions = config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] || '$(inherited)'
|
|
69
74
|
conditions = conditions.to_s
|
|
70
75
|
config.build_settings['SWIFT_ACTIVE_COMPILATION_CONDITIONS'] = "#{conditions} EXPO_SDK_GTE_55"
|
|
76
|
+
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = brownfield_ios_deployment_target
|
|
71
77
|
end
|
|
72
78
|
end
|
|
73
79
|
end
|
|
@@ -143,7 +149,10 @@ export function modifyPodfile(
|
|
|
143
149
|
modifiedPodfile = ensureExpoPhaseOrderingHook(modifiedPodfile);
|
|
144
150
|
} else {
|
|
145
151
|
// Expo SDK >= 55
|
|
146
|
-
modifiedPodfile = ensureExpoDefinesForSDK55AndAbove(
|
|
152
|
+
modifiedPodfile = ensureExpoDefinesForSDK55AndAbove(
|
|
153
|
+
modifiedPodfile,
|
|
154
|
+
expoMajor
|
|
155
|
+
);
|
|
147
156
|
}
|
|
148
157
|
|
|
149
158
|
return modifiedPodfile;
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
addFrameworkTarget,
|
|
10
10
|
addSourceFilesBuildPhase,
|
|
11
11
|
copyBundleReactNativePhase,
|
|
12
|
+
resolveFrameworkDeploymentTarget,
|
|
12
13
|
} from './xcodeHelpers';
|
|
13
14
|
import { modifyPodfile } from './podfileHelpers';
|
|
14
15
|
import { injectFmtFixIntoPodfile } from './withFmtFix';
|
|
@@ -37,11 +38,17 @@ export const withBrownfieldIos: ConfigPlugin<
|
|
|
37
38
|
config = withXcodeProject(config, (xcodeConfig) => {
|
|
38
39
|
const { modResults: project, modRequest } = xcodeConfig;
|
|
39
40
|
const hasExpoUpdates = hasExpoUpdatesInstalled(modRequest.projectRoot);
|
|
41
|
+
const iosProps = {
|
|
42
|
+
...props.ios,
|
|
43
|
+
deploymentTarget: resolveFrameworkDeploymentTarget(project, modRequest, {
|
|
44
|
+
fallbackDeploymentTarget: props.ios.deploymentTarget,
|
|
45
|
+
}),
|
|
46
|
+
};
|
|
40
47
|
|
|
41
48
|
const { frameworkTargetUUID, targetAlreadyExists } = addFrameworkTarget(
|
|
42
49
|
project,
|
|
43
50
|
modRequest,
|
|
44
|
-
|
|
51
|
+
iosProps
|
|
45
52
|
);
|
|
46
53
|
|
|
47
54
|
// Ensure Expo.plist is present in the framework resources phase when
|
|
@@ -90,7 +97,7 @@ export const withBrownfieldIos: ConfigPlugin<
|
|
|
90
97
|
);
|
|
91
98
|
}
|
|
92
99
|
|
|
93
|
-
addSourceFilesBuildPhase(project, frameworkTargetUUID,
|
|
100
|
+
addSourceFilesBuildPhase(project, frameworkTargetUUID, iosProps);
|
|
94
101
|
|
|
95
102
|
return xcodeConfig;
|
|
96
103
|
});
|
|
@@ -4,8 +4,27 @@ import type { ResolvedBrownfieldPluginConfigWithIos } from '../types';
|
|
|
4
4
|
|
|
5
5
|
const FMT_FIX_MARKER =
|
|
6
6
|
'# Fix fmt 11.0.2 consteval compilation error with Xcode 26.4+';
|
|
7
|
+
const FMT_FIX_MARKER_START = '# >>> react-native-brownfield fmt fix >>>';
|
|
8
|
+
const FMT_FIX_MARKER_END = '# <<< react-native-brownfield fmt fix <<<';
|
|
9
|
+
const LEGACY_FMT_FIX_BLOCK = new RegExp(
|
|
10
|
+
[
|
|
11
|
+
'\\n?\\s*',
|
|
12
|
+
escapeRegExp(FMT_FIX_MARKER),
|
|
13
|
+
"\\n\\s*fmt_base = File\\.join\\(installer\\.sandbox\\.pod_dir\\('fmt'\\), 'include', 'fmt', 'base\\.h'\\)",
|
|
14
|
+
'\\n\\s*if File\\.exist\\?\\(fmt_base\\)',
|
|
15
|
+
'\\n\\s*content = File\\.read\\(fmt_base\\)',
|
|
16
|
+
"\\n\\s*patched = content\\.gsub\\(/\\^#\\\\s\\*define FMT_USE_CONSTEVAL 1\\$/, '# define FMT_USE_CONSTEVAL 0'\\)",
|
|
17
|
+
'\\n\\s*if patched != content',
|
|
18
|
+
'\\n\\s*File\\.chmod\\(0644, fmt_base\\)',
|
|
19
|
+
'\\n\\s*File\\.write\\(fmt_base, patched\\)',
|
|
20
|
+
'\\n\\s*end',
|
|
21
|
+
'\\n\\s*end\\n?',
|
|
22
|
+
].join(''),
|
|
23
|
+
'm'
|
|
24
|
+
);
|
|
7
25
|
|
|
8
26
|
const FMT_FIX_RUBY = `\
|
|
27
|
+
${FMT_FIX_MARKER_START}
|
|
9
28
|
${FMT_FIX_MARKER}
|
|
10
29
|
fmt_base = File.join(installer.sandbox.pod_dir('fmt'), 'include', 'fmt', 'base.h')
|
|
11
30
|
if File.exist?(fmt_base)
|
|
@@ -15,14 +34,30 @@ const FMT_FIX_RUBY = `\
|
|
|
15
34
|
File.chmod(0644, fmt_base)
|
|
16
35
|
File.write(fmt_base, patched)
|
|
17
36
|
end
|
|
18
|
-
end
|
|
37
|
+
end
|
|
38
|
+
${FMT_FIX_MARKER_END}`;
|
|
39
|
+
|
|
40
|
+
function escapeRegExp(value: string): string {
|
|
41
|
+
return value.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
42
|
+
}
|
|
19
43
|
|
|
20
44
|
export function injectFmtFixIntoPodfile(podfile: string): string {
|
|
21
|
-
|
|
22
|
-
|
|
45
|
+
const withoutLegacyBlock = podfile.replace(LEGACY_FMT_FIX_BLOCK, '\n');
|
|
46
|
+
const existingBlockPattern = new RegExp(
|
|
47
|
+
`\\n?\\s*${escapeRegExp(FMT_FIX_MARKER_START)}[\\s\\S]*?${escapeRegExp(
|
|
48
|
+
FMT_FIX_MARKER_END
|
|
49
|
+
)}\\n?`,
|
|
50
|
+
'm'
|
|
51
|
+
);
|
|
52
|
+
|
|
53
|
+
if (existingBlockPattern.test(withoutLegacyBlock)) {
|
|
54
|
+
return withoutLegacyBlock.replace(
|
|
55
|
+
existingBlockPattern,
|
|
56
|
+
`\n${FMT_FIX_RUBY}\n`
|
|
57
|
+
);
|
|
23
58
|
}
|
|
24
59
|
|
|
25
|
-
const lines =
|
|
60
|
+
const lines = withoutLegacyBlock.split('\n');
|
|
26
61
|
const postInstallIndex = lines.findIndex((line) =>
|
|
27
62
|
/^\s*post_install do \|installer\|/.test(line)
|
|
28
63
|
);
|
|
@@ -31,24 +66,19 @@ export function injectFmtFixIntoPodfile(podfile: string): string {
|
|
|
31
66
|
return podfile;
|
|
32
67
|
}
|
|
33
68
|
|
|
34
|
-
|
|
69
|
+
const baseIndent = lines[postInstallIndex].match(/^(\s*)/)?.[1].length ?? 0;
|
|
35
70
|
let insertionIndex = -1;
|
|
36
71
|
|
|
37
|
-
for (let index = postInstallIndex; index < lines.length; index += 1) {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
if (trimmed.endsWith(' do |installer|')) {
|
|
41
|
-
depth += 1;
|
|
72
|
+
for (let index = postInstallIndex + 1; index < lines.length; index += 1) {
|
|
73
|
+
const endMatch = lines[index].match(/^(\s*)end\s*$/);
|
|
74
|
+
if (!endMatch) {
|
|
42
75
|
continue;
|
|
43
76
|
}
|
|
44
77
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
insertionIndex = index;
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
78
|
+
const endIndent = endMatch[1].length;
|
|
79
|
+
if (endIndent === baseIndent) {
|
|
80
|
+
insertionIndex = index;
|
|
81
|
+
break;
|
|
52
82
|
}
|
|
53
83
|
}
|
|
54
84
|
|