rork-xcode 0.6.0 → 0.7.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/dist/index.d.ts CHANGED
@@ -723,6 +723,14 @@ declare class NativeTarget extends Target<NativeTargetProperties> {
723
723
  * target has no product reference to embed.
724
724
  */
725
725
  embed(extension: NativeTarget): CopyFilesBuildPhase | undefined;
726
+ /**
727
+ * The targets whose products this target's copy-files phases carry,
728
+ * in phase and file order. This is the read-side counterpart of
729
+ * {@link embed}: extensions, watch apps, and App Clips embedded here
730
+ * come back as their target views. Targets embedding further targets
731
+ * of their own can be walked recursively through this accessor.
732
+ */
733
+ embeddedTargets(): NativeTarget[];
726
734
  /**
727
735
  * The on-disk folder paths of the file-system-synchronized groups linked
728
736
  * to this target. Empty for targets without synchronized folders
@@ -942,6 +950,11 @@ declare class CopyFilesBuildPhase extends BuildPhase<CopyFilesBuildPhaseProperti
942
950
  * when present.
943
951
  */
944
952
  get dstPath(): string | undefined;
953
+ /**
954
+ * The destination folder code, when present. Compare against the
955
+ * {@link CopyFilesDestination} constants.
956
+ */
957
+ get dstSubfolderSpec(): number | undefined;
945
958
  }
946
959
  /**
947
960
  * A `PBXShellScriptBuildPhase` runs a script during the build.
package/dist/index.js CHANGED
@@ -1343,6 +1343,14 @@ var CopyFilesBuildPhase = class extends BuildPhase {
1343
1343
  get dstPath() {
1344
1344
  return this.getString("dstPath");
1345
1345
  }
1346
+ /**
1347
+ * The destination folder code, when present. Compare against the
1348
+ * {@link CopyFilesDestination} constants.
1349
+ */
1350
+ get dstSubfolderSpec() {
1351
+ const value = this.properties["dstSubfolderSpec"];
1352
+ return typeof value === "number" ? value : void 0;
1353
+ }
1346
1354
  };
1347
1355
  /**
1348
1356
  * A `PBXShellScriptBuildPhase` runs a script during the build.
@@ -3136,6 +3144,32 @@ var NativeTarget = class extends Target {
3136
3144
  return phase;
3137
3145
  }
3138
3146
  /**
3147
+ * The targets whose products this target's copy-files phases carry,
3148
+ * in phase and file order. This is the read-side counterpart of
3149
+ * {@link embed}: extensions, watch apps, and App Clips embedded here
3150
+ * come back as their target views. Targets embedding further targets
3151
+ * of their own can be walked recursively through this accessor.
3152
+ */
3153
+ embeddedTargets() {
3154
+ const ownersByProductId = /* @__PURE__ */ new Map();
3155
+ for (const candidate of this.project.nativeTargets()) {
3156
+ const product = candidate.productReference;
3157
+ if (product != null) ownersByProductId.set(product.id, candidate);
3158
+ }
3159
+ const embedded = [];
3160
+ for (const phase of this.buildPhases()) {
3161
+ if (!CopyFilesBuildPhase.is(phase)) continue;
3162
+ for (const buildFileId of phase.buildFileIds) {
3163
+ const buildFile = this.project.get(buildFileId);
3164
+ if (!BuildFile.is(buildFile)) continue;
3165
+ const reference = buildFile.fileReference();
3166
+ const owner = reference == null ? void 0 : ownersByProductId.get(reference.id);
3167
+ if (owner != null && owner !== this && !embedded.includes(owner)) embedded.push(owner);
3168
+ }
3169
+ }
3170
+ return embedded;
3171
+ }
3172
+ /**
3139
3173
  * The on-disk folder paths of the file-system-synchronized groups linked
3140
3174
  * to this target. Empty for targets without synchronized folders
3141
3175
  * (projects predating Xcode 16).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rork-xcode",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "Zero-dependency Xcode project (pbxproj) and scheme (xcscheme) parser, builder, and object model that runs identically in every JavaScript runtime",
5
5
  "keywords": [
6
6
  "apple",