@use-voltra/expo-plugin 1.4.1 → 2.0.0-rc.1

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 (236) hide show
  1. package/README.md +9 -29
  2. package/build/cjs/constants.js +3 -43
  3. package/build/cjs/constants.js.map +1 -1
  4. package/build/cjs/index.js +23 -69
  5. package/build/cjs/index.js.map +1 -1
  6. package/build/cjs/types.js +4 -0
  7. package/build/cjs/types.js.map +1 -1
  8. package/build/cjs/utils/localePick.js +48 -0
  9. package/build/cjs/utils/localePick.js.map +1 -0
  10. package/build/cjs/utils/prerender.js +15 -9
  11. package/build/cjs/utils/prerender.js.map +1 -1
  12. package/build/cjs/utils/widgetLabel.js +19 -0
  13. package/build/cjs/utils/widgetLabel.js.map +1 -0
  14. package/build/cjs/validation.js +75 -166
  15. package/build/cjs/validation.js.map +1 -1
  16. package/build/esm/constants.js +2 -42
  17. package/build/esm/constants.js.map +1 -1
  18. package/build/esm/index.js +8 -69
  19. package/build/esm/index.js.map +1 -1
  20. package/build/esm/types.js +4 -0
  21. package/build/esm/types.js.map +1 -1
  22. package/build/esm/utils/localePick.js +44 -0
  23. package/build/esm/utils/localePick.js.map +1 -0
  24. package/build/esm/utils/prerender.js +15 -9
  25. package/build/esm/utils/prerender.js.map +1 -1
  26. package/build/esm/utils/widgetLabel.js +15 -0
  27. package/build/esm/utils/widgetLabel.js.map +1 -0
  28. package/build/esm/validation.js +71 -163
  29. package/build/esm/validation.js.map +1 -1
  30. package/build/types/constants.d.ts +2 -26
  31. package/build/types/constants.d.ts.map +1 -1
  32. package/build/types/index.d.ts +10 -12
  33. package/build/types/index.d.ts.map +1 -1
  34. package/build/types/types.d.ts +9 -260
  35. package/build/types/types.d.ts.map +1 -1
  36. package/build/types/utils/localePick.d.ts +7 -0
  37. package/build/types/utils/localePick.d.ts.map +1 -0
  38. package/build/types/utils/prerender.d.ts +6 -3
  39. package/build/types/utils/prerender.d.ts.map +1 -1
  40. package/build/types/utils/widgetLabel.d.ts +8 -0
  41. package/build/types/utils/widgetLabel.d.ts.map +1 -0
  42. package/build/types/validation.d.ts +6 -14
  43. package/build/types/validation.d.ts.map +1 -1
  44. package/package.json +11 -11
  45. package/build/cjs/android/files/assets.js +0 -259
  46. package/build/cjs/android/files/assets.js.map +0 -1
  47. package/build/cjs/android/files/fonts.js +0 -69
  48. package/build/cjs/android/files/fonts.js.map +0 -1
  49. package/build/cjs/android/files/index.js +0 -81
  50. package/build/cjs/android/files/index.js.map +0 -1
  51. package/build/cjs/android/files/initialStates.js +0 -83
  52. package/build/cjs/android/files/initialStates.js.map +0 -1
  53. package/build/cjs/android/files/kotlin.js +0 -142
  54. package/build/cjs/android/files/kotlin.js.map +0 -1
  55. package/build/cjs/android/files/xml.js +0 -247
  56. package/build/cjs/android/files/xml.js.map +0 -1
  57. package/build/cjs/android/index.js +0 -33
  58. package/build/cjs/android/index.js.map +0 -1
  59. package/build/cjs/android/manifest.js +0 -92
  60. package/build/cjs/android/manifest.js.map +0 -1
  61. package/build/cjs/ios/eas.js +0 -28
  62. package/build/cjs/ios/eas.js.map +0 -1
  63. package/build/cjs/ios/entitlements.js +0 -46
  64. package/build/cjs/ios/entitlements.js.map +0 -1
  65. package/build/cjs/ios/index.js +0 -39
  66. package/build/cjs/ios/index.js.map +0 -1
  67. package/build/cjs/ios/infoPlist.js +0 -51
  68. package/build/cjs/ios/infoPlist.js.map +0 -1
  69. package/build/cjs/ios/pushNotifications.js +0 -22
  70. package/build/cjs/ios/pushNotifications.js.map +0 -1
  71. package/build/cjs/ios-widget/eas.js +0 -66
  72. package/build/cjs/ios-widget/eas.js.map +0 -1
  73. package/build/cjs/ios-widget/files/assets.js +0 -199
  74. package/build/cjs/ios-widget/files/assets.js.map +0 -1
  75. package/build/cjs/ios-widget/files/entitlements.js +0 -77
  76. package/build/cjs/ios-widget/files/entitlements.js.map +0 -1
  77. package/build/cjs/ios-widget/files/index.js +0 -92
  78. package/build/cjs/ios-widget/files/index.js.map +0 -1
  79. package/build/cjs/ios-widget/files/infoPlist.js +0 -91
  80. package/build/cjs/ios-widget/files/infoPlist.js.map +0 -1
  81. package/build/cjs/ios-widget/files/swift.js +0 -256
  82. package/build/cjs/ios-widget/files/swift.js.map +0 -1
  83. package/build/cjs/ios-widget/fonts.js +0 -151
  84. package/build/cjs/ios-widget/fonts.js.map +0 -1
  85. package/build/cjs/ios-widget/index.js +0 -46
  86. package/build/cjs/ios-widget/index.js.map +0 -1
  87. package/build/cjs/ios-widget/podfile.js +0 -43
  88. package/build/cjs/ios-widget/podfile.js.map +0 -1
  89. package/build/cjs/ios-widget/widgetPlist.js +0 -99
  90. package/build/cjs/ios-widget/widgetPlist.js.map +0 -1
  91. package/build/cjs/ios-widget/xcode/buildPhases.js +0 -245
  92. package/build/cjs/ios-widget/xcode/buildPhases.js.map +0 -1
  93. package/build/cjs/ios-widget/xcode/configurationList.js +0 -91
  94. package/build/cjs/ios-widget/xcode/configurationList.js.map +0 -1
  95. package/build/cjs/ios-widget/xcode/groups.js +0 -65
  96. package/build/cjs/ios-widget/xcode/groups.js.map +0 -1
  97. package/build/cjs/ios-widget/xcode/index.js +0 -155
  98. package/build/cjs/ios-widget/xcode/index.js.map +0 -1
  99. package/build/cjs/ios-widget/xcode/mainAppSettings.js +0 -71
  100. package/build/cjs/ios-widget/xcode/mainAppSettings.js.map +0 -1
  101. package/build/cjs/ios-widget/xcode/productFile.js +0 -74
  102. package/build/cjs/ios-widget/xcode/productFile.js.map +0 -1
  103. package/build/cjs/ios-widget/xcode/target.js +0 -113
  104. package/build/cjs/ios-widget/xcode/target.js.map +0 -1
  105. package/build/cjs/utils/fileDiscovery.js +0 -107
  106. package/build/cjs/utils/fileDiscovery.js.map +0 -1
  107. package/build/cjs/utils/urlScheme.js +0 -40
  108. package/build/cjs/utils/urlScheme.js.map +0 -1
  109. package/build/esm/android/files/assets.js +0 -223
  110. package/build/esm/android/files/assets.js.map +0 -1
  111. package/build/esm/android/files/fonts.js +0 -33
  112. package/build/esm/android/files/fonts.js.map +0 -1
  113. package/build/esm/android/files/index.js +0 -77
  114. package/build/esm/android/files/index.js.map +0 -1
  115. package/build/esm/android/files/initialStates.js +0 -44
  116. package/build/esm/android/files/initialStates.js.map +0 -1
  117. package/build/esm/android/files/kotlin.js +0 -103
  118. package/build/esm/android/files/kotlin.js.map +0 -1
  119. package/build/esm/android/files/xml.js +0 -206
  120. package/build/esm/android/files/xml.js.map +0 -1
  121. package/build/esm/android/index.js +0 -29
  122. package/build/esm/android/index.js.map +0 -1
  123. package/build/esm/android/manifest.js +0 -88
  124. package/build/esm/android/manifest.js.map +0 -1
  125. package/build/esm/ios/eas.js +0 -24
  126. package/build/esm/ios/eas.js.map +0 -1
  127. package/build/esm/ios/entitlements.js +0 -42
  128. package/build/esm/ios/entitlements.js.map +0 -1
  129. package/build/esm/ios/index.js +0 -34
  130. package/build/esm/ios/index.js.map +0 -1
  131. package/build/esm/ios/infoPlist.js +0 -47
  132. package/build/esm/ios/infoPlist.js.map +0 -1
  133. package/build/esm/ios/pushNotifications.js +0 -18
  134. package/build/esm/ios/pushNotifications.js.map +0 -1
  135. package/build/esm/ios-widget/eas.js +0 -62
  136. package/build/esm/ios-widget/eas.js.map +0 -1
  137. package/build/esm/ios-widget/files/assets.js +0 -163
  138. package/build/esm/ios-widget/files/assets.js.map +0 -1
  139. package/build/esm/ios-widget/files/entitlements.js +0 -37
  140. package/build/esm/ios-widget/files/entitlements.js.map +0 -1
  141. package/build/esm/ios-widget/files/index.js +0 -55
  142. package/build/esm/ios-widget/files/index.js.map +0 -1
  143. package/build/esm/ios-widget/files/infoPlist.js +0 -55
  144. package/build/esm/ios-widget/files/infoPlist.js.map +0 -1
  145. package/build/esm/ios-widget/files/swift.js +0 -217
  146. package/build/esm/ios-widget/files/swift.js.map +0 -1
  147. package/build/esm/ios-widget/fonts.js +0 -111
  148. package/build/esm/ios-widget/fonts.js.map +0 -1
  149. package/build/esm/ios-widget/index.js +0 -42
  150. package/build/esm/ios-widget/index.js.map +0 -1
  151. package/build/esm/ios-widget/podfile.js +0 -39
  152. package/build/esm/ios-widget/podfile.js.map +0 -1
  153. package/build/esm/ios-widget/widgetPlist.js +0 -92
  154. package/build/esm/ios-widget/widgetPlist.js.map +0 -1
  155. package/build/esm/ios-widget/xcode/buildPhases.js +0 -208
  156. package/build/esm/ios-widget/xcode/buildPhases.js.map +0 -1
  157. package/build/esm/ios-widget/xcode/configurationList.js +0 -87
  158. package/build/esm/ios-widget/xcode/configurationList.js.map +0 -1
  159. package/build/esm/ios-widget/xcode/groups.js +0 -61
  160. package/build/esm/ios-widget/xcode/groups.js.map +0 -1
  161. package/build/esm/ios-widget/xcode/index.js +0 -118
  162. package/build/esm/ios-widget/xcode/index.js.map +0 -1
  163. package/build/esm/ios-widget/xcode/mainAppSettings.js +0 -68
  164. package/build/esm/ios-widget/xcode/mainAppSettings.js.map +0 -1
  165. package/build/esm/ios-widget/xcode/productFile.js +0 -70
  166. package/build/esm/ios-widget/xcode/productFile.js.map +0 -1
  167. package/build/esm/ios-widget/xcode/target.js +0 -108
  168. package/build/esm/ios-widget/xcode/target.js.map +0 -1
  169. package/build/esm/utils/fileDiscovery.js +0 -71
  170. package/build/esm/utils/fileDiscovery.js.map +0 -1
  171. package/build/esm/utils/urlScheme.js +0 -37
  172. package/build/esm/utils/urlScheme.js.map +0 -1
  173. package/build/types/android/files/assets.d.ts +0 -26
  174. package/build/types/android/files/assets.d.ts.map +0 -1
  175. package/build/types/android/files/fonts.d.ts +0 -19
  176. package/build/types/android/files/fonts.d.ts.map +0 -1
  177. package/build/types/android/files/index.d.ts +0 -21
  178. package/build/types/android/files/index.d.ts.map +0 -1
  179. package/build/types/android/files/initialStates.d.ts +0 -14
  180. package/build/types/android/files/initialStates.d.ts.map +0 -1
  181. package/build/types/android/files/kotlin.d.ts +0 -11
  182. package/build/types/android/files/kotlin.d.ts.map +0 -1
  183. package/build/types/android/files/xml.d.ts +0 -25
  184. package/build/types/android/files/xml.d.ts.map +0 -1
  185. package/build/types/android/index.d.ts +0 -12
  186. package/build/types/android/index.d.ts.map +0 -1
  187. package/build/types/android/manifest.d.ts +0 -16
  188. package/build/types/android/manifest.d.ts.map +0 -1
  189. package/build/types/ios/eas.d.ts +0 -12
  190. package/build/types/ios/eas.d.ts.map +0 -1
  191. package/build/types/ios/entitlements.d.ts +0 -14
  192. package/build/types/ios/entitlements.d.ts.map +0 -1
  193. package/build/types/ios/index.d.ts +0 -19
  194. package/build/types/ios/index.d.ts.map +0 -1
  195. package/build/types/ios/infoPlist.d.ts +0 -21
  196. package/build/types/ios/infoPlist.d.ts.map +0 -1
  197. package/build/types/ios/pushNotifications.d.ts +0 -10
  198. package/build/types/ios/pushNotifications.d.ts.map +0 -1
  199. package/build/types/ios-widget/eas.d.ts +0 -15
  200. package/build/types/ios-widget/eas.d.ts.map +0 -1
  201. package/build/types/ios-widget/files/assets.d.ts +0 -13
  202. package/build/types/ios-widget/files/assets.d.ts.map +0 -1
  203. package/build/types/ios-widget/files/entitlements.d.ts +0 -17
  204. package/build/types/ios-widget/files/entitlements.d.ts.map +0 -1
  205. package/build/types/ios-widget/files/index.d.ts +0 -24
  206. package/build/types/ios-widget/files/index.d.ts.map +0 -1
  207. package/build/types/ios-widget/files/infoPlist.d.ts +0 -10
  208. package/build/types/ios-widget/files/infoPlist.d.ts.map +0 -1
  209. package/build/types/ios-widget/files/swift.d.ts +0 -15
  210. package/build/types/ios-widget/files/swift.d.ts.map +0 -1
  211. package/build/types/ios-widget/fonts.d.ts +0 -22
  212. package/build/types/ios-widget/fonts.d.ts.map +0 -1
  213. package/build/types/ios-widget/index.d.ts +0 -31
  214. package/build/types/ios-widget/index.d.ts.map +0 -1
  215. package/build/types/ios-widget/podfile.d.ts +0 -9
  216. package/build/types/ios-widget/podfile.d.ts.map +0 -1
  217. package/build/types/ios-widget/widgetPlist.d.ts +0 -20
  218. package/build/types/ios-widget/widgetPlist.d.ts.map +0 -1
  219. package/build/types/ios-widget/xcode/buildPhases.d.ts +0 -25
  220. package/build/types/ios-widget/xcode/buildPhases.d.ts.map +0 -1
  221. package/build/types/ios-widget/xcode/configurationList.d.ts +0 -20
  222. package/build/types/ios-widget/xcode/configurationList.d.ts.map +0 -1
  223. package/build/types/ios-widget/xcode/groups.d.ts +0 -15
  224. package/build/types/ios-widget/xcode/groups.d.ts.map +0 -1
  225. package/build/types/ios-widget/xcode/index.d.ts +0 -20
  226. package/build/types/ios-widget/xcode/index.d.ts.map +0 -1
  227. package/build/types/ios-widget/xcode/mainAppSettings.d.ts +0 -15
  228. package/build/types/ios-widget/xcode/mainAppSettings.d.ts.map +0 -1
  229. package/build/types/ios-widget/xcode/productFile.d.ts +0 -14
  230. package/build/types/ios-widget/xcode/productFile.d.ts.map +0 -1
  231. package/build/types/ios-widget/xcode/target.d.ts +0 -42
  232. package/build/types/ios-widget/xcode/target.d.ts.map +0 -1
  233. package/build/types/utils/fileDiscovery.d.ts +0 -13
  234. package/build/types/utils/fileDiscovery.d.ts.map +0 -1
  235. package/build/types/utils/urlScheme.d.ts +0 -10
  236. package/build/types/utils/urlScheme.d.ts.map +0 -1
@@ -1,208 +0,0 @@
1
- import * as util from 'util';
2
- const pbxFile = require('xcode/lib/pbxFile');
3
- /**
4
- * Adds all required build phases for the widget extension target.
5
- */
6
- export function addBuildPhases(xcodeProject, options) {
7
- const { targetUuid, groupName, productFile, widgetFiles } = options;
8
- const buildPath = `""`;
9
- const folderType = 'app_extension';
10
- const { swiftFiles, intentFiles, assetDirectories } = widgetFiles;
11
- // Sources build phase
12
- xcodeProject.addBuildPhase([...swiftFiles, ...intentFiles], 'PBXSourcesBuildPhase', 'Sources', targetUuid, folderType, buildPath);
13
- // Copy files build phase
14
- xcodeProject.addBuildPhase([], 'PBXCopyFilesBuildPhase', groupName, xcodeProject.getFirstTarget().uuid, folderType, buildPath);
15
- xcodeProject.buildPhaseObject('PBXCopyFilesBuildPhase', groupName, productFile.target).files.push({
16
- value: productFile.uuid,
17
- comment: util.format('%s in %s', productFile.basename, productFile.group),
18
- });
19
- xcodeProject.addToPbxBuildFileSection(productFile);
20
- // Frameworks build phase
21
- xcodeProject.addBuildPhase([], 'PBXFrameworksBuildPhase', 'Frameworks', targetUuid, folderType, buildPath);
22
- // Resources build phase
23
- xcodeProject.addBuildPhase([...assetDirectories], 'PBXResourcesBuildPhase', 'Resources', targetUuid);
24
- }
25
- /**
26
- * Ensures all required build phases and files exist for the widget extension target.
27
- */
28
- export function ensureBuildPhases(xcodeProject, options) {
29
- const { targetUuid, groupName, productFile, widgetFiles } = options;
30
- const buildPath = `""`;
31
- const folderType = 'app_extension';
32
- const mainTargetUuid = options.mainTargetUuid ?? xcodeProject.getFirstTarget().uuid;
33
- const { swiftFiles, intentFiles, assetDirectories } = widgetFiles;
34
- dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXSourcesBuildPhase', 'Sources');
35
- dedupeBuildPhasesForTarget(xcodeProject, targetUuid, 'PBXFrameworksBuildPhase', 'Frameworks');
36
- dedupeBuildPhasesByComment(xcodeProject, mainTargetUuid, 'PBXCopyFilesBuildPhase', groupName);
37
- // Sources build phase
38
- let sourcesPhase = xcodeProject.buildPhaseObject('PBXSourcesBuildPhase', 'Sources', targetUuid);
39
- if (!sourcesPhase) {
40
- xcodeProject.addBuildPhase([...swiftFiles, ...intentFiles], 'PBXSourcesBuildPhase', 'Sources', targetUuid, folderType, buildPath);
41
- sourcesPhase = xcodeProject.buildPhaseObject('PBXSourcesBuildPhase', 'Sources', targetUuid);
42
- }
43
- if (sourcesPhase) {
44
- ensureBuildPhaseFiles(xcodeProject, sourcesPhase, [...swiftFiles, ...intentFiles]);
45
- }
46
- // Copy files build phase (embed extension into main app)
47
- let copyFilesPhase = xcodeProject.buildPhaseObject('PBXCopyFilesBuildPhase', groupName, mainTargetUuid);
48
- if (!copyFilesPhase) {
49
- xcodeProject.addBuildPhase([], 'PBXCopyFilesBuildPhase', groupName, mainTargetUuid, folderType, buildPath);
50
- copyFilesPhase = xcodeProject.buildPhaseObject('PBXCopyFilesBuildPhase', groupName, mainTargetUuid);
51
- }
52
- if (copyFilesPhase) {
53
- ensureCopyFilesPhaseProduct(xcodeProject, copyFilesPhase, productFile);
54
- }
55
- // Frameworks build phase
56
- const frameworksPhase = xcodeProject.buildPhaseObject('PBXFrameworksBuildPhase', 'Frameworks', targetUuid);
57
- if (!frameworksPhase) {
58
- xcodeProject.addBuildPhase([], 'PBXFrameworksBuildPhase', 'Frameworks', targetUuid, folderType, buildPath);
59
- }
60
- // Resources build phase
61
- let resourcesPhase = xcodeProject.buildPhaseObject('PBXResourcesBuildPhase', 'Resources', targetUuid);
62
- if (!resourcesPhase) {
63
- xcodeProject.addBuildPhase([...assetDirectories], 'PBXResourcesBuildPhase', 'Resources', targetUuid);
64
- resourcesPhase = xcodeProject.buildPhaseObject('PBXResourcesBuildPhase', 'Resources', targetUuid);
65
- }
66
- if (resourcesPhase) {
67
- ensureBuildPhaseFiles(xcodeProject, resourcesPhase, [...assetDirectories]);
68
- }
69
- }
70
- function dedupeBuildPhasesForTarget(xcodeProject, targetUuid, phaseType, preferredComment) {
71
- const nativeTargets = xcodeProject.pbxNativeTargetSection();
72
- const target = nativeTargets[targetUuid];
73
- if (!target?.buildPhases) {
74
- return;
75
- }
76
- const phaseSection = xcodeProject.hash.project.objects[phaseType] || {};
77
- const matching = target.buildPhases.filter((entry) => phaseSection[entry.value]);
78
- if (matching.length <= 1) {
79
- return;
80
- }
81
- const keep = matching.find((entry) => entry.comment === preferredComment) ?? matching[0];
82
- keep.comment = preferredComment;
83
- target.buildPhases = target.buildPhases.filter((entry) => {
84
- if (!phaseSection[entry.value]) {
85
- return true;
86
- }
87
- return entry.value === keep.value;
88
- });
89
- }
90
- function dedupeBuildPhasesByComment(xcodeProject, targetUuid, phaseType, comment) {
91
- const nativeTargets = xcodeProject.pbxNativeTargetSection();
92
- const target = nativeTargets[targetUuid];
93
- if (!target?.buildPhases) {
94
- return;
95
- }
96
- const phaseSection = xcodeProject.hash.project.objects[phaseType] || {};
97
- const matching = target.buildPhases.filter((entry) => phaseSection[entry.value] && entry.comment === comment);
98
- if (matching.length <= 1) {
99
- return;
100
- }
101
- const keep = matching[0];
102
- target.buildPhases = target.buildPhases.filter((entry) => {
103
- if (!phaseSection[entry.value] || entry.comment !== comment) {
104
- return true;
105
- }
106
- return entry.value === keep.value;
107
- });
108
- }
109
- function normalizePath(value) {
110
- if (!value) {
111
- return '';
112
- }
113
- return value.replace(/^"|"$/g, '');
114
- }
115
- function findFileReferenceKey(xcodeProject, filePath) {
116
- const fileReferenceSection = xcodeProject.pbxFileReferenceSection();
117
- const normalizedPath = normalizePath(filePath);
118
- for (const key of Object.keys(fileReferenceSection)) {
119
- if (/_comment$/.test(key)) {
120
- continue;
121
- }
122
- const entry = fileReferenceSection[key];
123
- const entryPath = normalizePath(entry?.path);
124
- if (entryPath === normalizedPath) {
125
- return key;
126
- }
127
- }
128
- return null;
129
- }
130
- function findBuildFileKeyByFileRef(xcodeProject, fileRef) {
131
- const buildFileSection = xcodeProject.pbxBuildFileSection();
132
- for (const key of Object.keys(buildFileSection)) {
133
- if (/_comment$/.test(key)) {
134
- continue;
135
- }
136
- const entry = buildFileSection[key];
137
- if (entry?.fileRef === fileRef) {
138
- return key;
139
- }
140
- }
141
- return null;
142
- }
143
- function ensureFileReference(xcodeProject, filePath) {
144
- const existingFileRef = findFileReferenceKey(xcodeProject, filePath);
145
- const file = new pbxFile(filePath);
146
- if (existingFileRef) {
147
- return { fileRef: existingFileRef, basename: file.basename, group: file.group };
148
- }
149
- file.fileRef = xcodeProject.generateUuid();
150
- xcodeProject.addToPbxFileReferenceSection(file);
151
- return { fileRef: file.fileRef, basename: file.basename, group: file.group };
152
- }
153
- function ensureBuildFile(xcodeProject, filePath) {
154
- const fileReference = ensureFileReference(xcodeProject, filePath);
155
- const existingBuildFile = findBuildFileKeyByFileRef(xcodeProject, fileReference.fileRef);
156
- if (existingBuildFile) {
157
- return { uuid: existingBuildFile, ...fileReference };
158
- }
159
- const file = new pbxFile(filePath);
160
- file.uuid = xcodeProject.generateUuid();
161
- file.fileRef = fileReference.fileRef;
162
- xcodeProject.addToPbxBuildFileSection(file);
163
- return { uuid: file.uuid, ...fileReference, group: file.group };
164
- }
165
- function buildPhaseHasFile(xcodeProject, buildPhase, fileRef) {
166
- if (!buildPhase?.files) {
167
- return false;
168
- }
169
- const buildFileSection = xcodeProject.pbxBuildFileSection();
170
- return buildPhase.files.some((entry) => {
171
- const buildFile = buildFileSection[entry.value];
172
- return buildFile?.fileRef === fileRef;
173
- });
174
- }
175
- function ensureBuildPhaseFiles(xcodeProject, buildPhase, filePaths) {
176
- if (!buildPhase.files) {
177
- buildPhase.files = [];
178
- }
179
- for (const filePath of filePaths) {
180
- const fileReference = ensureFileReference(xcodeProject, filePath);
181
- if (buildPhaseHasFile(xcodeProject, buildPhase, fileReference.fileRef)) {
182
- continue;
183
- }
184
- const buildFile = ensureBuildFile(xcodeProject, filePath);
185
- buildPhase.files.push({
186
- value: buildFile.uuid,
187
- comment: util.format('%s in %s', buildFile.basename, buildFile.group),
188
- });
189
- }
190
- }
191
- function ensureCopyFilesPhaseProduct(xcodeProject, buildPhase, productFile) {
192
- if (!buildPhase.files) {
193
- buildPhase.files = [];
194
- }
195
- const alreadyExists = buildPhase.files.some((entry) => entry.value === productFile.uuid);
196
- if (alreadyExists) {
197
- return;
198
- }
199
- const buildFileSection = xcodeProject.pbxBuildFileSection();
200
- if (!buildFileSection[productFile.uuid]) {
201
- xcodeProject.addToPbxBuildFileSection(productFile);
202
- }
203
- buildPhase.files.push({
204
- value: productFile.uuid,
205
- comment: util.format('%s in %s', productFile.basename, productFile.group),
206
- });
207
- }
208
- //# sourceMappingURL=buildPhases.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildPhases.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/buildPhases.ts"],"names":[],"mappings":"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"}
@@ -1,87 +0,0 @@
1
- import { IOS } from '../../constants';
2
- function createCommonBuildSettings(options) {
3
- const { targetName, bundleIdentifier, deploymentTarget, codeSignStyle, developmentTeam, provisioningProfileSpecifier, } = options;
4
- const commonBuildSettings = {
5
- PRODUCT_NAME: `"$(TARGET_NAME)"`,
6
- SWIFT_VERSION: IOS.SWIFT_VERSION,
7
- TARGETED_DEVICE_FAMILY: `"${IOS.DEVICE_FAMILY}"`,
8
- INFOPLIST_FILE: `${targetName}/Info.plist`,
9
- INFOPLIST_OUTPUT_FORMAT: `"xml"`,
10
- CURRENT_PROJECT_VERSION: `"1"`,
11
- MARKETING_VERSION: `"1.0"`,
12
- IPHONEOS_DEPLOYMENT_TARGET: `"${deploymentTarget}"`,
13
- PRODUCT_BUNDLE_IDENTIFIER: `"${bundleIdentifier}"`,
14
- SWIFT_OPTIMIZATION_LEVEL: `"-Onone"`,
15
- CODE_SIGN_ENTITLEMENTS: `"${targetName}/${targetName}.entitlements"`,
16
- APPLICATION_EXTENSION_API_ONLY: '"YES"',
17
- ASSETCATALOG_COMPILER_APPICON_NAME: '""',
18
- };
19
- // Synchronize code signing settings from main app target
20
- if (codeSignStyle) {
21
- commonBuildSettings.CODE_SIGN_STYLE = `"${codeSignStyle}"`;
22
- }
23
- if (developmentTeam) {
24
- commonBuildSettings.DEVELOPMENT_TEAM = `"${developmentTeam}"`;
25
- }
26
- if (provisioningProfileSpecifier) {
27
- commonBuildSettings.PROVISIONING_PROFILE_SPECIFIER = `"${provisioningProfileSpecifier}"`;
28
- }
29
- return commonBuildSettings;
30
- }
31
- /**
32
- * Adds the XCConfigurationList for the widget extension target.
33
- */
34
- export function addXCConfigurationList(xcodeProject, options) {
35
- const { targetName } = options;
36
- const commonBuildSettings = createCommonBuildSettings(options);
37
- const buildConfigurationsList = [
38
- {
39
- name: 'Debug',
40
- isa: 'XCBuildConfiguration',
41
- buildSettings: {
42
- ...commonBuildSettings,
43
- },
44
- },
45
- {
46
- name: 'Release',
47
- isa: 'XCBuildConfiguration',
48
- buildSettings: {
49
- ...commonBuildSettings,
50
- },
51
- },
52
- ];
53
- const xCConfigurationList = xcodeProject.addXCConfigurationList(buildConfigurationsList, 'Release', `Build configuration list for PBXNativeTarget "${targetName}"`);
54
- return xCConfigurationList;
55
- }
56
- /**
57
- * Ensures an existing XCConfigurationList is updated, or adds a new one if missing.
58
- */
59
- export function ensureXCConfigurationList(xcodeProject, options, existingConfigurationListId) {
60
- const configurationListId = typeof existingConfigurationListId === 'string'
61
- ? existingConfigurationListId.split(' ')[0]
62
- : existingConfigurationListId?.value?.split(' ')[0];
63
- const configurationLists = xcodeProject.pbxXCConfigurationList();
64
- const configurationList = configurationListId ? configurationLists?.[configurationListId] : null;
65
- if (!configurationList || !configurationList.buildConfigurations) {
66
- return addXCConfigurationList(xcodeProject, options);
67
- }
68
- const commonBuildSettings = createCommonBuildSettings(options);
69
- const buildConfigurations = configurationList.buildConfigurations;
70
- const buildConfigurationSection = xcodeProject.pbxXCBuildConfigurationSection();
71
- for (const configRef of buildConfigurations) {
72
- const configId = typeof configRef === 'string' ? configRef.split(' ')[0] : configRef.value?.split(' ')[0];
73
- if (!configId) {
74
- continue;
75
- }
76
- const buildConfiguration = buildConfigurationSection[configId];
77
- if (!buildConfiguration) {
78
- continue;
79
- }
80
- buildConfiguration.buildSettings = {
81
- ...(buildConfiguration.buildSettings ?? {}),
82
- ...commonBuildSettings,
83
- };
84
- }
85
- return { uuid: configurationListId };
86
- }
87
- //# sourceMappingURL=configurationList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"configurationList.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/configurationList.ts"],"names":[],"mappings":"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"}
@@ -1,61 +0,0 @@
1
- const pbxFile = require('xcode/lib/pbxFile');
2
- /**
3
- * Adds a PBXGroup for the widget extension files.
4
- */
5
- export function addPbxGroup(xcodeProject, options) {
6
- const { targetName, widgetFiles } = options;
7
- const { swiftFiles, intentFiles, assetDirectories, entitlementFiles, plistFiles } = widgetFiles;
8
- // Add PBX group with all widget files
9
- const { uuid: pbxGroupUuid } = xcodeProject.addPbxGroup([...swiftFiles, ...intentFiles, ...entitlementFiles, ...plistFiles, ...assetDirectories], targetName, targetName);
10
- // Add PBXGroup to top level group
11
- const groups = xcodeProject.hash.project.objects['PBXGroup'];
12
- if (pbxGroupUuid) {
13
- Object.keys(groups).forEach(function (key) {
14
- if (groups[key].name === undefined && groups[key].path === undefined) {
15
- xcodeProject.addToPbxGroup(pbxGroupUuid, key);
16
- }
17
- });
18
- }
19
- }
20
- /**
21
- * Ensures a PBXGroup exists for the widget extension files.
22
- */
23
- export function ensurePbxGroup(xcodeProject, options) {
24
- const { targetName, widgetFiles } = options;
25
- const { swiftFiles, intentFiles, assetDirectories, entitlementFiles, plistFiles } = widgetFiles;
26
- const allFiles = [...swiftFiles, ...intentFiles, ...entitlementFiles, ...plistFiles, ...assetDirectories];
27
- const existingGroup = xcodeProject.pbxGroupByName(targetName);
28
- if (!existingGroup) {
29
- addPbxGroup(xcodeProject, options);
30
- return;
31
- }
32
- if (!existingGroup.children) {
33
- existingGroup.children = [];
34
- }
35
- for (const filePath of allFiles) {
36
- const file = new pbxFile(filePath);
37
- const fileRef = ensureFileReference(xcodeProject, filePath);
38
- const alreadyInGroup = existingGroup.children.some((child) => child.value === fileRef || child.comment === file.basename);
39
- if (!alreadyInGroup) {
40
- existingGroup.children.push({ value: fileRef, comment: file.basename });
41
- }
42
- }
43
- }
44
- function ensureFileReference(xcodeProject, filePath) {
45
- const fileReferenceSection = xcodeProject.pbxFileReferenceSection();
46
- const file = new pbxFile(filePath);
47
- for (const key of Object.keys(fileReferenceSection)) {
48
- if (/_comment$/.test(key)) {
49
- continue;
50
- }
51
- const entry = fileReferenceSection[key];
52
- const entryPath = typeof entry?.path === 'string' ? entry.path.replace(/^"|"$/g, '') : '';
53
- if (entryPath === file.path || entryPath === filePath) {
54
- return key;
55
- }
56
- }
57
- file.fileRef = xcodeProject.generateUuid();
58
- xcodeProject.addToPbxFileReferenceSection(file);
59
- return file.fileRef;
60
- }
61
- //# sourceMappingURL=groups.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"groups.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/groups.ts"],"names":[],"mappings":"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"}
@@ -1,118 +0,0 @@
1
- import { withXcodeProject } from '@expo/config-plugins';
2
- import * as path from 'path';
3
- import { getWidgetFiles } from '../../utils/fileDiscovery';
4
- import { addBuildPhases, ensureBuildPhases } from './buildPhases';
5
- import { addXCConfigurationList, ensureXCConfigurationList } from './configurationList';
6
- import { addPbxGroup, ensurePbxGroup } from './groups';
7
- import { getMainAppTargetSettings } from './mainAppSettings';
8
- import { addProductFile, ensureProductFile } from './productFile';
9
- import { configureTarget, ensureTargetAttributes, ensureTargetDependency } from './target';
10
- /**
11
- * Plugin step that configures the Xcode project for the widget extension.
12
- *
13
- * This:
14
- * - Adds XCConfigurationList with Debug/Release configurations
15
- * - Adds the product file (.appex)
16
- * - Configures the native target
17
- * - Adds build phases (Sources, CopyFiles, Frameworks, Resources)
18
- * - Adds PBXGroup for widget files
19
- *
20
- * This should run after generateWidgetExtensionFiles so the files exist.
21
- */
22
- export const configureXcodeProject = (config, props) => {
23
- const { targetName, bundleIdentifier, deploymentTarget } = props;
24
- return withXcodeProject(config, (config) => {
25
- if (config.modRequest.introspect) {
26
- return config;
27
- }
28
- const xcodeProject = config.modResults;
29
- const groupName = 'Embed Foundation Extensions';
30
- // Check if target already exists
31
- const nativeTargets = xcodeProject.pbxNativeTargetSection();
32
- const existingTargetKey = xcodeProject.findTargetKey(targetName);
33
- const existingTarget = existingTargetKey ? nativeTargets[existingTargetKey] : null;
34
- const { platformProjectRoot } = config.modRequest;
35
- const targetPath = path.join(platformProjectRoot, targetName);
36
- const widgetFiles = getWidgetFiles(targetPath, targetName);
37
- // Read main app target settings to synchronize code signing
38
- const mainAppSettings = getMainAppTargetSettings(xcodeProject);
39
- // Use the deploymentTarget from plugin config (or default), ignore main app's deployment target
40
- // This allows the widget extension to have its own deployment target independent of the main app
41
- if (existingTarget && existingTargetKey) {
42
- // Ensure configuration list is up to date
43
- const xCConfigurationList = ensureXCConfigurationList(xcodeProject, {
44
- targetName,
45
- bundleIdentifier,
46
- deploymentTarget,
47
- codeSignStyle: mainAppSettings?.codeSignStyle,
48
- developmentTeam: mainAppSettings?.developmentTeam,
49
- provisioningProfileSpecifier: mainAppSettings?.provisioningProfileSpecifier,
50
- }, existingTarget.buildConfigurationList);
51
- // Ensure product file exists
52
- const productFile = ensureProductFile(xcodeProject, {
53
- targetName,
54
- groupName,
55
- });
56
- // Update target references
57
- existingTarget.productReference = productFile.fileRef;
58
- existingTarget.buildConfigurationList = xCConfigurationList.uuid;
59
- existingTarget.productType = `"com.apple.product-type.app-extension"`;
60
- existingTarget.name = targetName;
61
- existingTarget.productName = targetName;
62
- if (!existingTarget.buildPhases) {
63
- existingTarget.buildPhases = [];
64
- }
65
- // Ensure build phases and groups
66
- ensureBuildPhases(xcodeProject, {
67
- targetUuid: existingTargetKey,
68
- groupName,
69
- productFile,
70
- widgetFiles,
71
- mainTargetUuid: xcodeProject.getFirstTarget().uuid,
72
- });
73
- ensurePbxGroup(xcodeProject, {
74
- targetName,
75
- widgetFiles,
76
- });
77
- ensureTargetAttributes(xcodeProject, existingTargetKey);
78
- ensureTargetDependency(xcodeProject, existingTargetKey);
79
- return config;
80
- }
81
- // Add configuration list
82
- const targetUuid = xcodeProject.generateUuid();
83
- const xCConfigurationList = addXCConfigurationList(xcodeProject, {
84
- targetName,
85
- bundleIdentifier,
86
- deploymentTarget,
87
- codeSignStyle: mainAppSettings?.codeSignStyle,
88
- developmentTeam: mainAppSettings?.developmentTeam,
89
- provisioningProfileSpecifier: mainAppSettings?.provisioningProfileSpecifier,
90
- });
91
- // Add product file
92
- const productFile = addProductFile(xcodeProject, {
93
- targetName,
94
- groupName,
95
- });
96
- // Configure target (native target, project section, dependency)
97
- configureTarget(xcodeProject, {
98
- targetName,
99
- targetUuid,
100
- productFile,
101
- xCConfigurationList,
102
- });
103
- // Add build phases
104
- addBuildPhases(xcodeProject, {
105
- targetUuid,
106
- groupName,
107
- productFile,
108
- widgetFiles,
109
- });
110
- // Add PBX group
111
- addPbxGroup(xcodeProject, {
112
- targetName,
113
- widgetFiles,
114
- });
115
- return config;
116
- });
117
- };
118
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/index.ts"],"names":[],"mappings":"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"}
@@ -1,68 +0,0 @@
1
- /**
2
- * Reads build settings from the main app target to synchronize code signing with the widget extension.
3
- *
4
- * @param xcodeProject The Xcode project instance
5
- * @returns The main app target's build settings, or null if not found
6
- */
7
- export function getMainAppTargetSettings(xcodeProject) {
8
- try {
9
- const mainAppTarget = xcodeProject.getFirstTarget()?.firstTarget;
10
- if (!mainAppTarget) {
11
- return null;
12
- }
13
- // Get the build configuration list for the main app target
14
- const buildConfigurationListId = mainAppTarget.buildConfigurationList;
15
- if (!buildConfigurationListId) {
16
- return null;
17
- }
18
- // Extract UUID from buildConfigurationListId (it might include a comment like "UUID /* comment */")
19
- const buildConfigurationListUuid = buildConfigurationListId.split(' ')[0];
20
- const buildConfigurationList = xcodeProject.hash.project.objects['XCConfigurationList']?.[buildConfigurationListUuid];
21
- if (!buildConfigurationList || !buildConfigurationList.buildConfigurations) {
22
- return null;
23
- }
24
- // Get the first build configuration (usually Debug) to read settings
25
- const firstConfigRef = buildConfigurationList.buildConfigurations[0];
26
- if (!firstConfigRef) {
27
- return null;
28
- }
29
- // Extract UUID from config reference (it might include a comment)
30
- const firstConfigUuid = typeof firstConfigRef === 'string' ? firstConfigRef.split(' ')[0] : firstConfigRef.value?.split(' ')[0];
31
- if (!firstConfigUuid) {
32
- return null;
33
- }
34
- const buildConfiguration = xcodeProject.hash.project.objects['XCBuildConfiguration']?.[firstConfigUuid];
35
- if (!buildConfiguration || !buildConfiguration.buildSettings) {
36
- return null;
37
- }
38
- const buildSettings = buildConfiguration.buildSettings;
39
- // Extract deployment target (remove quotes if present)
40
- const deploymentTarget = buildSettings.IPHONEOS_DEPLOYMENT_TARGET?.replace(/^"|"$/g, '') ||
41
- buildSettings['IPHONEOS_DEPLOYMENT_TARGET']?.replace(/^"|"$/g, '') ||
42
- null;
43
- // Extract code signing settings
44
- const codeSignStyle = buildSettings.CODE_SIGN_STYLE?.replace(/^"|"$/g, '') ||
45
- buildSettings['CODE_SIGN_STYLE']?.replace(/^"|"$/g, '') ||
46
- null;
47
- const developmentTeam = buildSettings.DEVELOPMENT_TEAM?.replace(/^"|"$/g, '') ||
48
- buildSettings['DEVELOPMENT_TEAM']?.replace(/^"|"$/g, '') ||
49
- null;
50
- const provisioningProfileSpecifier = buildSettings.PROVISIONING_PROFILE_SPECIFIER?.replace(/^"|"$/g, '') ||
51
- buildSettings['PROVISIONING_PROFILE_SPECIFIER']?.replace(/^"|"$/g, '') ||
52
- null;
53
- if (!deploymentTarget) {
54
- return null;
55
- }
56
- return {
57
- deploymentTarget,
58
- codeSignStyle: codeSignStyle || undefined,
59
- developmentTeam: developmentTeam || undefined,
60
- provisioningProfileSpecifier: provisioningProfileSpecifier || undefined,
61
- };
62
- }
63
- catch {
64
- // If we can't read the settings, return null and use fallback values
65
- return null;
66
- }
67
- }
68
- //# sourceMappingURL=mainAppSettings.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mainAppSettings.js","sourceRoot":"","sources":["../../../../src/ios-widget/xcode/mainAppSettings.ts"],"names":[],"mappings":"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"}