@sitepong/fastnode 0.2.0 → 0.2.2
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/actions/index.cjs +70 -24
- package/dist/actions/index.cjs.map +1 -1
- package/dist/actions/index.mjs +70 -24
- package/dist/actions/index.mjs.map +1 -1
- package/dist/cert/index.cjs +17822 -24
- package/dist/cert/index.cjs.map +1 -1
- package/dist/cert/index.d.cts +3 -3
- package/dist/cert/index.d.ts +3 -3
- package/dist/cert/index.mjs +17807 -6
- package/dist/cert/index.mjs.map +1 -1
- package/dist/{cert-DtYDJBjG.d.ts → cert-Ddl7FpFT.d.ts} +1 -1
- package/dist/{cert-6m1R8UeW.d.cts → cert-FehieKeb.d.cts} +1 -1
- package/dist/cli/index.cjs +70 -24
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.d.cts +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.mjs +70 -24
- package/dist/cli/index.mjs.map +1 -1
- package/dist/client/index.cjs +64 -6
- package/dist/client/index.cjs.map +1 -1
- package/dist/client/index.d.cts +1 -1
- package/dist/client/index.d.ts +1 -1
- package/dist/client/index.mjs +64 -6
- package/dist/client/index.mjs.map +1 -1
- package/dist/deliver/index.d.cts +2 -2
- package/dist/deliver/index.d.ts +2 -2
- package/dist/{index-CojSGJ7m.d.ts → index-B8FOfxOw.d.ts} +1 -1
- package/dist/{index-CdYdwxpQ.d.cts → index-B9QeTpQK.d.cts} +1 -1
- package/dist/{index-AD8QXY1T.d.cts → index-BICa8odo.d.cts} +1 -1
- package/dist/{index-CMH_GpN9.d.cts → index-BKUapQP2.d.cts} +30 -0
- package/dist/{index-Ce-WMV7c.d.cts → index-BZWmOTWE.d.cts} +1 -1
- package/dist/{index-BWK-T2-S.d.cts → index-Bk1Gd-qE.d.cts} +1 -1
- package/dist/{index-D2z7RiAM.d.ts → index-CCtYhPN9.d.ts} +30 -0
- package/dist/{index-CCs5irG7.d.cts → index-CNHf7I4v.d.cts} +1 -1
- package/dist/{index-CQKpbHZt.d.ts → index-CplRWSUc.d.ts} +1 -1
- package/dist/{index-BpiEBPVd.d.ts → index-CtPyeMLH.d.ts} +1 -1
- package/dist/{index-BW8wQUGC.d.cts → index-D13sn8DO.d.cts} +1 -1
- package/dist/{index-Kq3rbG0u.d.ts → index-DFni8oZt.d.ts} +1 -1
- package/dist/{index-D82CmjMP.d.ts → index-DI1ZHr-3.d.ts} +1 -1
- package/dist/{index-DZaPkUnC.d.ts → index-DZoPGCbE.d.ts} +3 -3
- package/dist/{index-KCB2q1-8.d.cts → index-OelCoOth.d.cts} +1 -1
- package/dist/{index-CLsvyTkh.d.ts → index-YcKz4aRS.d.ts} +1 -1
- package/dist/{index-CQd4bo3G.d.cts → index-oVyLLIEK.d.cts} +3 -3
- package/dist/{index-CsFIp7OO.d.ts → index-xykpq6Lz.d.ts} +1 -1
- package/dist/index.cjs +18237 -202
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +81 -21
- package/dist/index.d.ts +81 -21
- package/dist/index.mjs +18237 -201
- package/dist/index.mjs.map +1 -1
- package/dist/lane/index.cjs +70 -24
- package/dist/lane/index.cjs.map +1 -1
- package/dist/lane/index.mjs +70 -24
- package/dist/lane/index.mjs.map +1 -1
- package/dist/match/index.d.cts +4 -4
- package/dist/match/index.d.ts +4 -4
- package/dist/pem/index.d.cts +2 -2
- package/dist/pem/index.d.ts +2 -2
- package/dist/pilot/index.d.cts +2 -2
- package/dist/pilot/index.d.ts +2 -2
- package/dist/precheck/index.d.cts +2 -2
- package/dist/precheck/index.d.ts +2 -2
- package/dist/produce/index.cjs +6 -18
- package/dist/produce/index.cjs.map +1 -1
- package/dist/produce/index.d.cts +2 -2
- package/dist/produce/index.d.ts +2 -2
- package/dist/produce/index.mjs +6 -18
- package/dist/produce/index.mjs.map +1 -1
- package/dist/sigh/index.d.cts +2 -2
- package/dist/sigh/index.d.ts +2 -2
- package/package.json +1 -1
package/dist/match/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
import '../cert-
|
|
3
|
-
import '../index-
|
|
4
|
-
export { M as MatchOptions, a as MatchResult, d as decrypt, h as decryptFiles, f as decryptV1, c as decryptV2, e as encrypt, g as encryptFiles, b as encryptV2, s as syncSigningAssets } from '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
|
+
import '../cert-FehieKeb.cjs';
|
|
3
|
+
import '../index-BZWmOTWE.cjs';
|
|
4
|
+
export { M as MatchOptions, a as MatchResult, d as decrypt, h as decryptFiles, f as decryptV1, c as decryptV2, e as encrypt, g as encryptFiles, b as encryptV2, s as syncSigningAssets } from '../index-oVyLLIEK.cjs';
|
|
5
5
|
import '../enums-B609j2rb.cjs';
|
package/dist/match/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
import '../cert-
|
|
3
|
-
import '../index-
|
|
4
|
-
export { M as MatchOptions, a as MatchResult, d as decrypt, h as decryptFiles, f as decryptV1, c as decryptV2, e as encrypt, g as encryptFiles, b as encryptV2, s as syncSigningAssets } from '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
|
+
import '../cert-Ddl7FpFT.js';
|
|
3
|
+
import '../index-B8FOfxOw.js';
|
|
4
|
+
export { M as MatchOptions, a as MatchResult, d as decrypt, h as decryptFiles, f as decryptV1, c as decryptV2, e as encrypt, g as encryptFiles, b as encryptV2, s as syncSigningAssets } from '../index-DZoPGCbE.js';
|
|
5
5
|
import '../enums-B609j2rb.js';
|
package/dist/pem/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
2
|
import '../enums-B609j2rb.cjs';
|
|
3
|
-
export { a as PemOptions, b as PemResult, P as PushCertKind, d as checkExpiration, c as createPushCertificate, g as getPushCertificateType, r as renewPushCertificate } from '../index-
|
|
3
|
+
export { a as PemOptions, b as PemResult, P as PushCertKind, d as checkExpiration, c as createPushCertificate, g as getPushCertificateType, r as renewPushCertificate } from '../index-Bk1Gd-qE.cjs';
|
package/dist/pem/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
2
|
import '../enums-B609j2rb.js';
|
|
3
|
-
export { a as PemOptions, b as PemResult, P as PushCertKind, d as checkExpiration, c as createPushCertificate, g as getPushCertificateType, r as renewPushCertificate } from '../index-
|
|
3
|
+
export { a as PemOptions, b as PemResult, P as PushCertKind, d as checkExpiration, c as createPushCertificate, g as getPushCertificateType, r as renewPushCertificate } from '../index-DFni8oZt.js';
|
package/dist/pilot/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
export { P as PilotDistributeOptions, a as PilotUploadOptions, T as TransientUploadError, U as UploadBackend, b as UploadResult, g as classifyUploadError, d as distributeToGroups, e as expireBuild, h as isTransientUploadError, r as resolveTransporter, s as setChangelog, u as uploadToTestFlight, c as uploadWithAltool, f as uploadWithTransporter, v as verifyJava, w as waitForProcessing } from '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
|
+
export { P as PilotDistributeOptions, a as PilotUploadOptions, T as TransientUploadError, U as UploadBackend, b as UploadResult, g as classifyUploadError, d as distributeToGroups, e as expireBuild, h as isTransientUploadError, r as resolveTransporter, s as setChangelog, u as uploadToTestFlight, c as uploadWithAltool, f as uploadWithTransporter, v as verifyJava, w as waitForProcessing } from '../index-BICa8odo.cjs';
|
|
3
3
|
import '../enums-B609j2rb.cjs';
|
package/dist/pilot/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
export { P as PilotDistributeOptions, a as PilotUploadOptions, T as TransientUploadError, U as UploadBackend, b as UploadResult, g as classifyUploadError, d as distributeToGroups, e as expireBuild, h as isTransientUploadError, r as resolveTransporter, s as setChangelog, u as uploadToTestFlight, c as uploadWithAltool, f as uploadWithTransporter, v as verifyJava, w as waitForProcessing } from '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
|
+
export { P as PilotDistributeOptions, a as PilotUploadOptions, T as TransientUploadError, U as UploadBackend, b as UploadResult, g as classifyUploadError, d as distributeToGroups, e as expireBuild, h as isTransientUploadError, r as resolveTransporter, s as setChangelog, u as uploadToTestFlight, c as uploadWithAltool, f as uploadWithTransporter, v as verifyJava, w as waitForProcessing } from '../index-DI1ZHr-3.js';
|
|
3
3
|
import '../enums-B609j2rb.js';
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
export { A as ALL_RULES, P as PrecheckOptions, a as PrecheckRule, R as Rule, c as RuleResult, b as ValidationIssue, V as ValidationResult, v as validateMetadata } from '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
|
+
export { A as ALL_RULES, P as PrecheckOptions, a as PrecheckRule, R as Rule, c as RuleResult, b as ValidationIssue, V as ValidationResult, v as validateMetadata } from '../index-D13sn8DO.cjs';
|
|
3
3
|
import '../enums-B609j2rb.cjs';
|
package/dist/precheck/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
2
|
-
export { A as ALL_RULES, P as PrecheckOptions, a as PrecheckRule, R as Rule, c as RuleResult, b as ValidationIssue, V as ValidationResult, v as validateMetadata } from '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
|
+
export { A as ALL_RULES, P as PrecheckOptions, a as PrecheckRule, R as Rule, c as RuleResult, b as ValidationIssue, V as ValidationResult, v as validateMetadata } from '../index-YcKz4aRS.js';
|
|
3
3
|
import '../enums-B609j2rb.js';
|
package/dist/produce/index.cjs
CHANGED
|
@@ -167,25 +167,13 @@ async function createApp(options) {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
bundleId: options.bundleIdentifier,
|
|
177
|
-
name: options.appName,
|
|
178
|
-
sku,
|
|
179
|
-
primaryLocale
|
|
180
|
-
},
|
|
181
|
-
relationships: {
|
|
182
|
-
bundleId: {
|
|
183
|
-
data: { type: "bundleIds", id: bundleId.id }
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
170
|
+
return options.client.apps.create({
|
|
171
|
+
bundleIdentifier: options.bundleIdentifier,
|
|
172
|
+
bundleIdId: bundleId.id,
|
|
173
|
+
appName: options.appName,
|
|
174
|
+
sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,
|
|
175
|
+
primaryLocale: options.primaryLocale
|
|
187
176
|
});
|
|
188
|
-
return response.data;
|
|
189
177
|
}
|
|
190
178
|
|
|
191
179
|
exports.SERVICE_NAME_TO_CAPABILITY = SERVICE_NAME_TO_CAPABILITY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/produce/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { AppStoreConnectClient } from \"../client/index.js\";\nimport type { BundleId, App, BundleIdPlatform, CapabilityType } from \"../types/index.js\";\nimport type { CapabilitySettingInput } from \"../types/capability.js\";\n\nexport interface ProduceOptions {\n client: AppStoreConnectClient;\n bundleIdentifier: string;\n appName: string;\n platform?: BundleIdPlatform;\n sku?: string;\n primaryLocale?: string;\n companyName?: string;\n enableServices?: CapabilityType[];\n}\n\n/**\n * Map from Fastlane's `produce` service name → App Store Connect\n * `capabilityType`. Ported 1:1 from `produce/lib/produce/service.rb`'s\n * `valid_services_for` list and `update` method, covering every service\n * that Fastlane supports.\n */\nexport const SERVICE_NAME_TO_CAPABILITY: Record<string, CapabilityType> = {\n access_wifi: \"ACCESS_WIFI_INFORMATION\",\n app_attest: \"APP_ATTEST\",\n // Fastlane uses singular `app_group` — see service.rb line 59 & 105.\n app_group: \"APP_GROUPS\",\n apple_pay: \"APPLE_PAY\",\n associated_domains: \"ASSOCIATED_DOMAINS\",\n auto_fill_credential: \"AUTOFILL_CREDENTIAL_PROVIDER\",\n car_play_audio_app: \"CARPLAY_PLAYABLE_CONTENT\",\n car_play_messaging_app: \"CARPLAY_MESSAGING\",\n car_play_navigation_app: \"CARPLAY_NAVIGATION\",\n car_play_voip_calling_app: \"CARPLAY_VOIP\",\n class_kit: \"CLASSKIT\",\n declared_age_range: \"DECLARED_AGE_RANGE\",\n icloud: \"ICLOUD\",\n critical_alerts: \"CRITICAL_ALERTS\",\n custom_network_protocol: \"NETWORK_CUSTOM_PROTOCOL\",\n data_protection: \"DATA_PROTECTION\",\n extended_virtual_address_space: \"EXTENDED_VIRTUAL_ADDRESSING\",\n file_provider_testing_mode: \"FILEPROVIDER_TESTINGMODE\",\n family_controls: \"FAMILY_CONTROLS\",\n fonts: \"FONT_INSTALLATION\",\n game_center: \"GAME_CENTER\",\n health_kit: \"HEALTHKIT\",\n hls_interstitial_preview: \"HLS_INTERSTITIAL_PREVIEW\",\n home_kit: \"HOMEKIT\",\n hotspot: \"HOT_SPOT\",\n hotspot_helper: \"HOTSPOT_HELPER_MANAGED\",\n in_app_purchase: \"IN_APP_PURCHASE\",\n inter_app_audio: \"INTER_APP_AUDIO\",\n low_latency_hls: \"COREMEDIA_HLS_LOW_LATENCY\",\n managed_associated_domains: \"MDM_MANAGED_ASSOCIATED_DOMAINS\",\n maps: \"MAPS\",\n multipath: \"MULTIPATH\",\n network_extension: \"NETWORK_EXTENSIONS\",\n nfc_tag_reading: \"NFC_TAG_READING\",\n personal_vpn: \"PERSONAL_VPN\",\n push_notification: \"PUSH_NOTIFICATIONS\",\n sign_in_with_apple: \"APPLE_ID_AUTH\",\n siri_kit: \"SIRIKIT\",\n system_extension: \"SYSTEM_EXTENSION_INSTALL\",\n user_management: \"USER_MANAGEMENT\",\n wallet: \"WALLET\",\n wireless_accessory: \"WIRELESS_ACCESSORY_CONFIGURATION\",\n driver_kit: \"DRIVERKIT\",\n driver_kit_endpoint_security: \"DRIVERKIT_ENDPOINT_SECURITY\",\n driver_kit_family_hid_device: \"DRIVERKIT_HID_DEVICE\",\n driver_kit_family_networking: \"DRIVERKIT_NETWORKING\",\n driver_kit_family_serial: \"DRIVERKIT_SERIAL\",\n driver_kit_hid_event_service: \"DRIVERKIT_HID_EVENT_SERVICE\",\n driver_kit_transport_hid: \"DRIVERKIT_HID\",\n multitasking_camera_access: \"IPAD_CAMERA_MULTITASKING\",\n sf_universal_link_api: \"SFUNIVERSALLINK_API\",\n vp9_decoder: \"VP9_DECODER\",\n music_kit: \"MUSIC_KIT\",\n shazam_kit: \"SHAZAM_KIT\",\n communication_notifications: \"USERNOTIFICATIONS_COMMUNICATION\",\n group_activities: \"GROUP_ACTIVITIES\",\n health_kit_estimate_recalibration: \"HEALTHKIT_RECALIBRATE_ESTIMATES\",\n time_sensitive_notifications: \"USERNOTIFICATIONS_TIMESENSITIVE\",\n};\n\n/**\n * Build the `settings` payload for a capability whose service value is\n * more than a plain boolean. Mirrors Fastlane's\n * `Produce::Service#build_settings_for` applied per-service.\n *\n * Returns `undefined` when the service doesn't carry settings or the\n * value is just `true`/`false`.\n */\nexport function buildCapabilitySettings(\n serviceName: string,\n value: string | boolean\n): CapabilitySettingInput[] | undefined {\n if (value === true || value === false) return undefined;\n\n const wrap = (\n key: string,\n optionKey: string\n ): CapabilitySettingInput[] => [{ key, options: [{ key: optionKey }] }];\n\n switch (serviceName) {\n case \"data_protection\":\n switch (value) {\n case \"complete\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"COMPLETE_PROTECTION\");\n case \"unlessopen\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"PROTECTED_UNLESS_OPEN\");\n case \"untilfirstauth\":\n return wrap(\n \"DATA_PROTECTION_PERMISSION_LEVEL\",\n \"PROTECTED_UNTIL_FIRST_USER_AUTH\"\n );\n default:\n throw new Error(\n `Unknown value for data_protection: '${value}'. Valid values: 'complete', 'unlessopen', 'untilfirstauth'`\n );\n }\n case \"icloud\":\n switch (value) {\n case \"xcode6_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_6\");\n case \"xcode5_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_5\");\n default:\n throw new Error(\n `Unknown value for icloud: '${value}'. Valid values: 'xcode6_compatible', 'xcode5_compatible'`\n );\n }\n case \"game_center\":\n switch (value) {\n case \"mac\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_MAC\");\n case \"ios\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_IOS\");\n default:\n throw new Error(\n `Unknown value for game_center: '${value}'. Valid values: 'ios', 'mac'`\n );\n }\n case \"sign_in_with_apple\":\n return wrap(\"APPLE_ID_AUTH_APP_CONSENT\", \"PRIMARY_APP_CONSENT\");\n default:\n return undefined;\n }\n}\n\nexport async function registerBundleId(options: {\n client: AppStoreConnectClient;\n identifier: string;\n name: string;\n platform?: BundleIdPlatform;\n}): Promise<BundleId> {\n // Check if already exists (idempotent)\n const existing = await options.client.bundleIds.find(options.identifier);\n if (existing) return existing;\n\n return options.client.bundleIds.create({\n identifier: options.identifier,\n name: options.name,\n platform: options.platform ?? \"IOS\",\n });\n}\n\nexport async function addCapability(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n capabilityType: CapabilityType;\n settings?: CapabilitySettingInput[];\n}): Promise<void> {\n await options.client.capabilities.enable({\n bundleIdId: options.bundleIdId,\n capabilityType: options.capabilityType,\n settings: options.settings,\n });\n}\n\nexport async function removeCapability(options: {\n client: AppStoreConnectClient;\n capabilityId: string;\n}): Promise<void> {\n await options.client.capabilities.disable(options.capabilityId);\n}\n\nexport async function listCapabilities(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n}) {\n return options.client.capabilities.listForBundleId(options.bundleIdId);\n}\n\nexport async function enableServices(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n /**\n * Service names (Fastlane style, e.g. `data_protection`, `icloud`).\n * Pass either a plain list of names or a record of name → value, where\n * the value either is `true` or one of the per-service variants handled\n * by `buildCapabilitySettings`.\n */\n services: string[] | Record<string, string | boolean>;\n}): Promise<void> {\n const entries: Array<[string, string | boolean]> = Array.isArray(\n options.services\n )\n ? options.services.map((s) => [s, true])\n : Object.entries(options.services);\n\n for (const [service, value] of entries) {\n if (value === false) continue;\n const capType = SERVICE_NAME_TO_CAPABILITY[service];\n if (!capType) continue;\n const settings = buildCapabilitySettings(service, value);\n await addCapability({\n client: options.client,\n bundleIdId: options.bundleIdId,\n capabilityType: capType,\n settings,\n });\n }\n}\n\nexport async function createApp(options: ProduceOptions): Promise<App> {\n // Check if app already exists\n const existing = await options.client.apps.findByBundleId(options.bundleIdentifier);\n if (existing) return existing;\n\n // Register bundle ID\n const bundleId = await registerBundleId({\n client: options.client,\n identifier: options.bundleIdentifier,\n name: options.appName,\n platform: options.platform,\n });\n\n // Enable services\n if (options.enableServices) {\n for (const service of options.enableServices) {\n await addCapability({\n client: options.client,\n bundleIdId: bundleId.id,\n capabilityType: service,\n });\n }\n }\n\n // Create app on App Store Connect\n const sku = options.sku ?? `${options.bundleIdentifier}.${Date.now()}`;\n const primaryLocale = options.primaryLocale ?? \"en-US\";\n\n const response = await options.client.http.post<any>(\"/v1/apps\", {\n data: {\n type: \"apps\",\n attributes: {\n bundleId: options.bundleIdentifier,\n name: options.appName,\n sku,\n primaryLocale,\n },\n relationships: {\n bundleId: {\n data: { type: \"bundleIds\", id: bundleId.id },\n },\n },\n },\n });\n\n return response.data;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/produce/index.ts"],"names":[],"mappings":"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","file":"index.cjs","sourcesContent":["import type { AppStoreConnectClient } from \"../client/index.js\";\nimport type { BundleId, App, BundleIdPlatform, CapabilityType } from \"../types/index.js\";\nimport type { CapabilitySettingInput } from \"../types/capability.js\";\n\nexport interface ProduceOptions {\n client: AppStoreConnectClient;\n bundleIdentifier: string;\n appName: string;\n platform?: BundleIdPlatform;\n sku?: string;\n primaryLocale?: string;\n companyName?: string;\n enableServices?: CapabilityType[];\n}\n\n/**\n * Map from Fastlane's `produce` service name → App Store Connect\n * `capabilityType`. Ported 1:1 from `produce/lib/produce/service.rb`'s\n * `valid_services_for` list and `update` method, covering every service\n * that Fastlane supports.\n */\nexport const SERVICE_NAME_TO_CAPABILITY: Record<string, CapabilityType> = {\n access_wifi: \"ACCESS_WIFI_INFORMATION\",\n app_attest: \"APP_ATTEST\",\n // Fastlane uses singular `app_group` — see service.rb line 59 & 105.\n app_group: \"APP_GROUPS\",\n apple_pay: \"APPLE_PAY\",\n associated_domains: \"ASSOCIATED_DOMAINS\",\n auto_fill_credential: \"AUTOFILL_CREDENTIAL_PROVIDER\",\n car_play_audio_app: \"CARPLAY_PLAYABLE_CONTENT\",\n car_play_messaging_app: \"CARPLAY_MESSAGING\",\n car_play_navigation_app: \"CARPLAY_NAVIGATION\",\n car_play_voip_calling_app: \"CARPLAY_VOIP\",\n class_kit: \"CLASSKIT\",\n declared_age_range: \"DECLARED_AGE_RANGE\",\n icloud: \"ICLOUD\",\n critical_alerts: \"CRITICAL_ALERTS\",\n custom_network_protocol: \"NETWORK_CUSTOM_PROTOCOL\",\n data_protection: \"DATA_PROTECTION\",\n extended_virtual_address_space: \"EXTENDED_VIRTUAL_ADDRESSING\",\n file_provider_testing_mode: \"FILEPROVIDER_TESTINGMODE\",\n family_controls: \"FAMILY_CONTROLS\",\n fonts: \"FONT_INSTALLATION\",\n game_center: \"GAME_CENTER\",\n health_kit: \"HEALTHKIT\",\n hls_interstitial_preview: \"HLS_INTERSTITIAL_PREVIEW\",\n home_kit: \"HOMEKIT\",\n hotspot: \"HOT_SPOT\",\n hotspot_helper: \"HOTSPOT_HELPER_MANAGED\",\n in_app_purchase: \"IN_APP_PURCHASE\",\n inter_app_audio: \"INTER_APP_AUDIO\",\n low_latency_hls: \"COREMEDIA_HLS_LOW_LATENCY\",\n managed_associated_domains: \"MDM_MANAGED_ASSOCIATED_DOMAINS\",\n maps: \"MAPS\",\n multipath: \"MULTIPATH\",\n network_extension: \"NETWORK_EXTENSIONS\",\n nfc_tag_reading: \"NFC_TAG_READING\",\n personal_vpn: \"PERSONAL_VPN\",\n push_notification: \"PUSH_NOTIFICATIONS\",\n sign_in_with_apple: \"APPLE_ID_AUTH\",\n siri_kit: \"SIRIKIT\",\n system_extension: \"SYSTEM_EXTENSION_INSTALL\",\n user_management: \"USER_MANAGEMENT\",\n wallet: \"WALLET\",\n wireless_accessory: \"WIRELESS_ACCESSORY_CONFIGURATION\",\n driver_kit: \"DRIVERKIT\",\n driver_kit_endpoint_security: \"DRIVERKIT_ENDPOINT_SECURITY\",\n driver_kit_family_hid_device: \"DRIVERKIT_HID_DEVICE\",\n driver_kit_family_networking: \"DRIVERKIT_NETWORKING\",\n driver_kit_family_serial: \"DRIVERKIT_SERIAL\",\n driver_kit_hid_event_service: \"DRIVERKIT_HID_EVENT_SERVICE\",\n driver_kit_transport_hid: \"DRIVERKIT_HID\",\n multitasking_camera_access: \"IPAD_CAMERA_MULTITASKING\",\n sf_universal_link_api: \"SFUNIVERSALLINK_API\",\n vp9_decoder: \"VP9_DECODER\",\n music_kit: \"MUSIC_KIT\",\n shazam_kit: \"SHAZAM_KIT\",\n communication_notifications: \"USERNOTIFICATIONS_COMMUNICATION\",\n group_activities: \"GROUP_ACTIVITIES\",\n health_kit_estimate_recalibration: \"HEALTHKIT_RECALIBRATE_ESTIMATES\",\n time_sensitive_notifications: \"USERNOTIFICATIONS_TIMESENSITIVE\",\n};\n\n/**\n * Build the `settings` payload for a capability whose service value is\n * more than a plain boolean. Mirrors Fastlane's\n * `Produce::Service#build_settings_for` applied per-service.\n *\n * Returns `undefined` when the service doesn't carry settings or the\n * value is just `true`/`false`.\n */\nexport function buildCapabilitySettings(\n serviceName: string,\n value: string | boolean\n): CapabilitySettingInput[] | undefined {\n if (value === true || value === false) return undefined;\n\n const wrap = (\n key: string,\n optionKey: string\n ): CapabilitySettingInput[] => [{ key, options: [{ key: optionKey }] }];\n\n switch (serviceName) {\n case \"data_protection\":\n switch (value) {\n case \"complete\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"COMPLETE_PROTECTION\");\n case \"unlessopen\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"PROTECTED_UNLESS_OPEN\");\n case \"untilfirstauth\":\n return wrap(\n \"DATA_PROTECTION_PERMISSION_LEVEL\",\n \"PROTECTED_UNTIL_FIRST_USER_AUTH\"\n );\n default:\n throw new Error(\n `Unknown value for data_protection: '${value}'. Valid values: 'complete', 'unlessopen', 'untilfirstauth'`\n );\n }\n case \"icloud\":\n switch (value) {\n case \"xcode6_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_6\");\n case \"xcode5_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_5\");\n default:\n throw new Error(\n `Unknown value for icloud: '${value}'. Valid values: 'xcode6_compatible', 'xcode5_compatible'`\n );\n }\n case \"game_center\":\n switch (value) {\n case \"mac\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_MAC\");\n case \"ios\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_IOS\");\n default:\n throw new Error(\n `Unknown value for game_center: '${value}'. Valid values: 'ios', 'mac'`\n );\n }\n case \"sign_in_with_apple\":\n return wrap(\"APPLE_ID_AUTH_APP_CONSENT\", \"PRIMARY_APP_CONSENT\");\n default:\n return undefined;\n }\n}\n\nexport async function registerBundleId(options: {\n client: AppStoreConnectClient;\n identifier: string;\n name: string;\n platform?: BundleIdPlatform;\n}): Promise<BundleId> {\n // Check if already exists (idempotent)\n const existing = await options.client.bundleIds.find(options.identifier);\n if (existing) return existing;\n\n return options.client.bundleIds.create({\n identifier: options.identifier,\n name: options.name,\n platform: options.platform ?? \"IOS\",\n });\n}\n\nexport async function addCapability(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n capabilityType: CapabilityType;\n settings?: CapabilitySettingInput[];\n}): Promise<void> {\n await options.client.capabilities.enable({\n bundleIdId: options.bundleIdId,\n capabilityType: options.capabilityType,\n settings: options.settings,\n });\n}\n\nexport async function removeCapability(options: {\n client: AppStoreConnectClient;\n capabilityId: string;\n}): Promise<void> {\n await options.client.capabilities.disable(options.capabilityId);\n}\n\nexport async function listCapabilities(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n}) {\n return options.client.capabilities.listForBundleId(options.bundleIdId);\n}\n\nexport async function enableServices(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n /**\n * Service names (Fastlane style, e.g. `data_protection`, `icloud`).\n * Pass either a plain list of names or a record of name → value, where\n * the value either is `true` or one of the per-service variants handled\n * by `buildCapabilitySettings`.\n */\n services: string[] | Record<string, string | boolean>;\n}): Promise<void> {\n const entries: Array<[string, string | boolean]> = Array.isArray(\n options.services\n )\n ? options.services.map((s) => [s, true])\n : Object.entries(options.services);\n\n for (const [service, value] of entries) {\n if (value === false) continue;\n const capType = SERVICE_NAME_TO_CAPABILITY[service];\n if (!capType) continue;\n const settings = buildCapabilitySettings(service, value);\n await addCapability({\n client: options.client,\n bundleIdId: options.bundleIdId,\n capabilityType: capType,\n settings,\n });\n }\n}\n\nexport async function createApp(options: ProduceOptions): Promise<App> {\n // Check if app already exists\n const existing = await options.client.apps.findByBundleId(options.bundleIdentifier);\n if (existing) return existing;\n\n // Register bundle ID\n const bundleId = await registerBundleId({\n client: options.client,\n identifier: options.bundleIdentifier,\n name: options.appName,\n platform: options.platform,\n });\n\n // Enable services\n if (options.enableServices) {\n for (const service of options.enableServices) {\n await addCapability({\n client: options.client,\n bundleIdId: bundleId.id,\n capabilityType: service,\n });\n }\n }\n\n // Create app on App Store Connect\n return options.client.apps.create({\n bundleIdentifier: options.bundleIdentifier,\n bundleIdId: bundleId.id,\n appName: options.appName,\n sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,\n primaryLocale: options.primaryLocale,\n });\n}\n"]}
|
package/dist/produce/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
2
|
import '../enums-B609j2rb.cjs';
|
|
3
|
-
export { P as ProduceOptions, S as SERVICE_NAME_TO_CAPABILITY, a as addCapability, b as buildCapabilitySettings, d as createApp, e as enableServices, l as listCapabilities, r as registerBundleId, c as removeCapability } from '../index-
|
|
3
|
+
export { P as ProduceOptions, S as SERVICE_NAME_TO_CAPABILITY, a as addCapability, b as buildCapabilitySettings, d as createApp, e as enableServices, l as listCapabilities, r as registerBundleId, c as removeCapability } from '../index-OelCoOth.cjs';
|
package/dist/produce/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
2
|
import '../enums-B609j2rb.js';
|
|
3
|
-
export { P as ProduceOptions, S as SERVICE_NAME_TO_CAPABILITY, a as addCapability, b as buildCapabilitySettings, d as createApp, e as enableServices, l as listCapabilities, r as registerBundleId, c as removeCapability } from '../index-
|
|
3
|
+
export { P as ProduceOptions, S as SERVICE_NAME_TO_CAPABILITY, a as addCapability, b as buildCapabilitySettings, d as createApp, e as enableServices, l as listCapabilities, r as registerBundleId, c as removeCapability } from '../index-CtPyeMLH.js';
|
package/dist/produce/index.mjs
CHANGED
|
@@ -165,25 +165,13 @@ async function createApp(options) {
|
|
|
165
165
|
});
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
bundleId: options.bundleIdentifier,
|
|
175
|
-
name: options.appName,
|
|
176
|
-
sku,
|
|
177
|
-
primaryLocale
|
|
178
|
-
},
|
|
179
|
-
relationships: {
|
|
180
|
-
bundleId: {
|
|
181
|
-
data: { type: "bundleIds", id: bundleId.id }
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
}
|
|
168
|
+
return options.client.apps.create({
|
|
169
|
+
bundleIdentifier: options.bundleIdentifier,
|
|
170
|
+
bundleIdId: bundleId.id,
|
|
171
|
+
appName: options.appName,
|
|
172
|
+
sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,
|
|
173
|
+
primaryLocale: options.primaryLocale
|
|
185
174
|
});
|
|
186
|
-
return response.data;
|
|
187
175
|
}
|
|
188
176
|
|
|
189
177
|
export { SERVICE_NAME_TO_CAPABILITY, addCapability, buildCapabilitySettings, createApp, enableServices, listCapabilities, registerBundleId, removeCapability };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/produce/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import type { AppStoreConnectClient } from \"../client/index.js\";\nimport type { BundleId, App, BundleIdPlatform, CapabilityType } from \"../types/index.js\";\nimport type { CapabilitySettingInput } from \"../types/capability.js\";\n\nexport interface ProduceOptions {\n client: AppStoreConnectClient;\n bundleIdentifier: string;\n appName: string;\n platform?: BundleIdPlatform;\n sku?: string;\n primaryLocale?: string;\n companyName?: string;\n enableServices?: CapabilityType[];\n}\n\n/**\n * Map from Fastlane's `produce` service name → App Store Connect\n * `capabilityType`. Ported 1:1 from `produce/lib/produce/service.rb`'s\n * `valid_services_for` list and `update` method, covering every service\n * that Fastlane supports.\n */\nexport const SERVICE_NAME_TO_CAPABILITY: Record<string, CapabilityType> = {\n access_wifi: \"ACCESS_WIFI_INFORMATION\",\n app_attest: \"APP_ATTEST\",\n // Fastlane uses singular `app_group` — see service.rb line 59 & 105.\n app_group: \"APP_GROUPS\",\n apple_pay: \"APPLE_PAY\",\n associated_domains: \"ASSOCIATED_DOMAINS\",\n auto_fill_credential: \"AUTOFILL_CREDENTIAL_PROVIDER\",\n car_play_audio_app: \"CARPLAY_PLAYABLE_CONTENT\",\n car_play_messaging_app: \"CARPLAY_MESSAGING\",\n car_play_navigation_app: \"CARPLAY_NAVIGATION\",\n car_play_voip_calling_app: \"CARPLAY_VOIP\",\n class_kit: \"CLASSKIT\",\n declared_age_range: \"DECLARED_AGE_RANGE\",\n icloud: \"ICLOUD\",\n critical_alerts: \"CRITICAL_ALERTS\",\n custom_network_protocol: \"NETWORK_CUSTOM_PROTOCOL\",\n data_protection: \"DATA_PROTECTION\",\n extended_virtual_address_space: \"EXTENDED_VIRTUAL_ADDRESSING\",\n file_provider_testing_mode: \"FILEPROVIDER_TESTINGMODE\",\n family_controls: \"FAMILY_CONTROLS\",\n fonts: \"FONT_INSTALLATION\",\n game_center: \"GAME_CENTER\",\n health_kit: \"HEALTHKIT\",\n hls_interstitial_preview: \"HLS_INTERSTITIAL_PREVIEW\",\n home_kit: \"HOMEKIT\",\n hotspot: \"HOT_SPOT\",\n hotspot_helper: \"HOTSPOT_HELPER_MANAGED\",\n in_app_purchase: \"IN_APP_PURCHASE\",\n inter_app_audio: \"INTER_APP_AUDIO\",\n low_latency_hls: \"COREMEDIA_HLS_LOW_LATENCY\",\n managed_associated_domains: \"MDM_MANAGED_ASSOCIATED_DOMAINS\",\n maps: \"MAPS\",\n multipath: \"MULTIPATH\",\n network_extension: \"NETWORK_EXTENSIONS\",\n nfc_tag_reading: \"NFC_TAG_READING\",\n personal_vpn: \"PERSONAL_VPN\",\n push_notification: \"PUSH_NOTIFICATIONS\",\n sign_in_with_apple: \"APPLE_ID_AUTH\",\n siri_kit: \"SIRIKIT\",\n system_extension: \"SYSTEM_EXTENSION_INSTALL\",\n user_management: \"USER_MANAGEMENT\",\n wallet: \"WALLET\",\n wireless_accessory: \"WIRELESS_ACCESSORY_CONFIGURATION\",\n driver_kit: \"DRIVERKIT\",\n driver_kit_endpoint_security: \"DRIVERKIT_ENDPOINT_SECURITY\",\n driver_kit_family_hid_device: \"DRIVERKIT_HID_DEVICE\",\n driver_kit_family_networking: \"DRIVERKIT_NETWORKING\",\n driver_kit_family_serial: \"DRIVERKIT_SERIAL\",\n driver_kit_hid_event_service: \"DRIVERKIT_HID_EVENT_SERVICE\",\n driver_kit_transport_hid: \"DRIVERKIT_HID\",\n multitasking_camera_access: \"IPAD_CAMERA_MULTITASKING\",\n sf_universal_link_api: \"SFUNIVERSALLINK_API\",\n vp9_decoder: \"VP9_DECODER\",\n music_kit: \"MUSIC_KIT\",\n shazam_kit: \"SHAZAM_KIT\",\n communication_notifications: \"USERNOTIFICATIONS_COMMUNICATION\",\n group_activities: \"GROUP_ACTIVITIES\",\n health_kit_estimate_recalibration: \"HEALTHKIT_RECALIBRATE_ESTIMATES\",\n time_sensitive_notifications: \"USERNOTIFICATIONS_TIMESENSITIVE\",\n};\n\n/**\n * Build the `settings` payload for a capability whose service value is\n * more than a plain boolean. Mirrors Fastlane's\n * `Produce::Service#build_settings_for` applied per-service.\n *\n * Returns `undefined` when the service doesn't carry settings or the\n * value is just `true`/`false`.\n */\nexport function buildCapabilitySettings(\n serviceName: string,\n value: string | boolean\n): CapabilitySettingInput[] | undefined {\n if (value === true || value === false) return undefined;\n\n const wrap = (\n key: string,\n optionKey: string\n ): CapabilitySettingInput[] => [{ key, options: [{ key: optionKey }] }];\n\n switch (serviceName) {\n case \"data_protection\":\n switch (value) {\n case \"complete\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"COMPLETE_PROTECTION\");\n case \"unlessopen\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"PROTECTED_UNLESS_OPEN\");\n case \"untilfirstauth\":\n return wrap(\n \"DATA_PROTECTION_PERMISSION_LEVEL\",\n \"PROTECTED_UNTIL_FIRST_USER_AUTH\"\n );\n default:\n throw new Error(\n `Unknown value for data_protection: '${value}'. Valid values: 'complete', 'unlessopen', 'untilfirstauth'`\n );\n }\n case \"icloud\":\n switch (value) {\n case \"xcode6_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_6\");\n case \"xcode5_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_5\");\n default:\n throw new Error(\n `Unknown value for icloud: '${value}'. Valid values: 'xcode6_compatible', 'xcode5_compatible'`\n );\n }\n case \"game_center\":\n switch (value) {\n case \"mac\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_MAC\");\n case \"ios\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_IOS\");\n default:\n throw new Error(\n `Unknown value for game_center: '${value}'. Valid values: 'ios', 'mac'`\n );\n }\n case \"sign_in_with_apple\":\n return wrap(\"APPLE_ID_AUTH_APP_CONSENT\", \"PRIMARY_APP_CONSENT\");\n default:\n return undefined;\n }\n}\n\nexport async function registerBundleId(options: {\n client: AppStoreConnectClient;\n identifier: string;\n name: string;\n platform?: BundleIdPlatform;\n}): Promise<BundleId> {\n // Check if already exists (idempotent)\n const existing = await options.client.bundleIds.find(options.identifier);\n if (existing) return existing;\n\n return options.client.bundleIds.create({\n identifier: options.identifier,\n name: options.name,\n platform: options.platform ?? \"IOS\",\n });\n}\n\nexport async function addCapability(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n capabilityType: CapabilityType;\n settings?: CapabilitySettingInput[];\n}): Promise<void> {\n await options.client.capabilities.enable({\n bundleIdId: options.bundleIdId,\n capabilityType: options.capabilityType,\n settings: options.settings,\n });\n}\n\nexport async function removeCapability(options: {\n client: AppStoreConnectClient;\n capabilityId: string;\n}): Promise<void> {\n await options.client.capabilities.disable(options.capabilityId);\n}\n\nexport async function listCapabilities(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n}) {\n return options.client.capabilities.listForBundleId(options.bundleIdId);\n}\n\nexport async function enableServices(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n /**\n * Service names (Fastlane style, e.g. `data_protection`, `icloud`).\n * Pass either a plain list of names or a record of name → value, where\n * the value either is `true` or one of the per-service variants handled\n * by `buildCapabilitySettings`.\n */\n services: string[] | Record<string, string | boolean>;\n}): Promise<void> {\n const entries: Array<[string, string | boolean]> = Array.isArray(\n options.services\n )\n ? options.services.map((s) => [s, true])\n : Object.entries(options.services);\n\n for (const [service, value] of entries) {\n if (value === false) continue;\n const capType = SERVICE_NAME_TO_CAPABILITY[service];\n if (!capType) continue;\n const settings = buildCapabilitySettings(service, value);\n await addCapability({\n client: options.client,\n bundleIdId: options.bundleIdId,\n capabilityType: capType,\n settings,\n });\n }\n}\n\nexport async function createApp(options: ProduceOptions): Promise<App> {\n // Check if app already exists\n const existing = await options.client.apps.findByBundleId(options.bundleIdentifier);\n if (existing) return existing;\n\n // Register bundle ID\n const bundleId = await registerBundleId({\n client: options.client,\n identifier: options.bundleIdentifier,\n name: options.appName,\n platform: options.platform,\n });\n\n // Enable services\n if (options.enableServices) {\n for (const service of options.enableServices) {\n await addCapability({\n client: options.client,\n bundleIdId: bundleId.id,\n capabilityType: service,\n });\n }\n }\n\n // Create app on App Store Connect\n const sku = options.sku ?? `${options.bundleIdentifier}.${Date.now()}`;\n const primaryLocale = options.primaryLocale ?? \"en-US\";\n\n const response = await options.client.http.post<any>(\"/v1/apps\", {\n data: {\n type: \"apps\",\n attributes: {\n bundleId: options.bundleIdentifier,\n name: options.appName,\n sku,\n primaryLocale,\n },\n relationships: {\n bundleId: {\n data: { type: \"bundleIds\", id: bundleId.id },\n },\n },\n },\n });\n\n return response.data;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/produce/index.ts"],"names":[],"mappings":"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","file":"index.mjs","sourcesContent":["import type { AppStoreConnectClient } from \"../client/index.js\";\nimport type { BundleId, App, BundleIdPlatform, CapabilityType } from \"../types/index.js\";\nimport type { CapabilitySettingInput } from \"../types/capability.js\";\n\nexport interface ProduceOptions {\n client: AppStoreConnectClient;\n bundleIdentifier: string;\n appName: string;\n platform?: BundleIdPlatform;\n sku?: string;\n primaryLocale?: string;\n companyName?: string;\n enableServices?: CapabilityType[];\n}\n\n/**\n * Map from Fastlane's `produce` service name → App Store Connect\n * `capabilityType`. Ported 1:1 from `produce/lib/produce/service.rb`'s\n * `valid_services_for` list and `update` method, covering every service\n * that Fastlane supports.\n */\nexport const SERVICE_NAME_TO_CAPABILITY: Record<string, CapabilityType> = {\n access_wifi: \"ACCESS_WIFI_INFORMATION\",\n app_attest: \"APP_ATTEST\",\n // Fastlane uses singular `app_group` — see service.rb line 59 & 105.\n app_group: \"APP_GROUPS\",\n apple_pay: \"APPLE_PAY\",\n associated_domains: \"ASSOCIATED_DOMAINS\",\n auto_fill_credential: \"AUTOFILL_CREDENTIAL_PROVIDER\",\n car_play_audio_app: \"CARPLAY_PLAYABLE_CONTENT\",\n car_play_messaging_app: \"CARPLAY_MESSAGING\",\n car_play_navigation_app: \"CARPLAY_NAVIGATION\",\n car_play_voip_calling_app: \"CARPLAY_VOIP\",\n class_kit: \"CLASSKIT\",\n declared_age_range: \"DECLARED_AGE_RANGE\",\n icloud: \"ICLOUD\",\n critical_alerts: \"CRITICAL_ALERTS\",\n custom_network_protocol: \"NETWORK_CUSTOM_PROTOCOL\",\n data_protection: \"DATA_PROTECTION\",\n extended_virtual_address_space: \"EXTENDED_VIRTUAL_ADDRESSING\",\n file_provider_testing_mode: \"FILEPROVIDER_TESTINGMODE\",\n family_controls: \"FAMILY_CONTROLS\",\n fonts: \"FONT_INSTALLATION\",\n game_center: \"GAME_CENTER\",\n health_kit: \"HEALTHKIT\",\n hls_interstitial_preview: \"HLS_INTERSTITIAL_PREVIEW\",\n home_kit: \"HOMEKIT\",\n hotspot: \"HOT_SPOT\",\n hotspot_helper: \"HOTSPOT_HELPER_MANAGED\",\n in_app_purchase: \"IN_APP_PURCHASE\",\n inter_app_audio: \"INTER_APP_AUDIO\",\n low_latency_hls: \"COREMEDIA_HLS_LOW_LATENCY\",\n managed_associated_domains: \"MDM_MANAGED_ASSOCIATED_DOMAINS\",\n maps: \"MAPS\",\n multipath: \"MULTIPATH\",\n network_extension: \"NETWORK_EXTENSIONS\",\n nfc_tag_reading: \"NFC_TAG_READING\",\n personal_vpn: \"PERSONAL_VPN\",\n push_notification: \"PUSH_NOTIFICATIONS\",\n sign_in_with_apple: \"APPLE_ID_AUTH\",\n siri_kit: \"SIRIKIT\",\n system_extension: \"SYSTEM_EXTENSION_INSTALL\",\n user_management: \"USER_MANAGEMENT\",\n wallet: \"WALLET\",\n wireless_accessory: \"WIRELESS_ACCESSORY_CONFIGURATION\",\n driver_kit: \"DRIVERKIT\",\n driver_kit_endpoint_security: \"DRIVERKIT_ENDPOINT_SECURITY\",\n driver_kit_family_hid_device: \"DRIVERKIT_HID_DEVICE\",\n driver_kit_family_networking: \"DRIVERKIT_NETWORKING\",\n driver_kit_family_serial: \"DRIVERKIT_SERIAL\",\n driver_kit_hid_event_service: \"DRIVERKIT_HID_EVENT_SERVICE\",\n driver_kit_transport_hid: \"DRIVERKIT_HID\",\n multitasking_camera_access: \"IPAD_CAMERA_MULTITASKING\",\n sf_universal_link_api: \"SFUNIVERSALLINK_API\",\n vp9_decoder: \"VP9_DECODER\",\n music_kit: \"MUSIC_KIT\",\n shazam_kit: \"SHAZAM_KIT\",\n communication_notifications: \"USERNOTIFICATIONS_COMMUNICATION\",\n group_activities: \"GROUP_ACTIVITIES\",\n health_kit_estimate_recalibration: \"HEALTHKIT_RECALIBRATE_ESTIMATES\",\n time_sensitive_notifications: \"USERNOTIFICATIONS_TIMESENSITIVE\",\n};\n\n/**\n * Build the `settings` payload for a capability whose service value is\n * more than a plain boolean. Mirrors Fastlane's\n * `Produce::Service#build_settings_for` applied per-service.\n *\n * Returns `undefined` when the service doesn't carry settings or the\n * value is just `true`/`false`.\n */\nexport function buildCapabilitySettings(\n serviceName: string,\n value: string | boolean\n): CapabilitySettingInput[] | undefined {\n if (value === true || value === false) return undefined;\n\n const wrap = (\n key: string,\n optionKey: string\n ): CapabilitySettingInput[] => [{ key, options: [{ key: optionKey }] }];\n\n switch (serviceName) {\n case \"data_protection\":\n switch (value) {\n case \"complete\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"COMPLETE_PROTECTION\");\n case \"unlessopen\":\n return wrap(\"DATA_PROTECTION_PERMISSION_LEVEL\", \"PROTECTED_UNLESS_OPEN\");\n case \"untilfirstauth\":\n return wrap(\n \"DATA_PROTECTION_PERMISSION_LEVEL\",\n \"PROTECTED_UNTIL_FIRST_USER_AUTH\"\n );\n default:\n throw new Error(\n `Unknown value for data_protection: '${value}'. Valid values: 'complete', 'unlessopen', 'untilfirstauth'`\n );\n }\n case \"icloud\":\n switch (value) {\n case \"xcode6_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_6\");\n case \"xcode5_compatible\":\n return wrap(\"ICLOUD_VERSION\", \"XCODE_5\");\n default:\n throw new Error(\n `Unknown value for icloud: '${value}'. Valid values: 'xcode6_compatible', 'xcode5_compatible'`\n );\n }\n case \"game_center\":\n switch (value) {\n case \"mac\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_MAC\");\n case \"ios\":\n return wrap(\"GAME_CENTER_SETTING\", \"GAME_CENTER_IOS\");\n default:\n throw new Error(\n `Unknown value for game_center: '${value}'. Valid values: 'ios', 'mac'`\n );\n }\n case \"sign_in_with_apple\":\n return wrap(\"APPLE_ID_AUTH_APP_CONSENT\", \"PRIMARY_APP_CONSENT\");\n default:\n return undefined;\n }\n}\n\nexport async function registerBundleId(options: {\n client: AppStoreConnectClient;\n identifier: string;\n name: string;\n platform?: BundleIdPlatform;\n}): Promise<BundleId> {\n // Check if already exists (idempotent)\n const existing = await options.client.bundleIds.find(options.identifier);\n if (existing) return existing;\n\n return options.client.bundleIds.create({\n identifier: options.identifier,\n name: options.name,\n platform: options.platform ?? \"IOS\",\n });\n}\n\nexport async function addCapability(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n capabilityType: CapabilityType;\n settings?: CapabilitySettingInput[];\n}): Promise<void> {\n await options.client.capabilities.enable({\n bundleIdId: options.bundleIdId,\n capabilityType: options.capabilityType,\n settings: options.settings,\n });\n}\n\nexport async function removeCapability(options: {\n client: AppStoreConnectClient;\n capabilityId: string;\n}): Promise<void> {\n await options.client.capabilities.disable(options.capabilityId);\n}\n\nexport async function listCapabilities(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n}) {\n return options.client.capabilities.listForBundleId(options.bundleIdId);\n}\n\nexport async function enableServices(options: {\n client: AppStoreConnectClient;\n bundleIdId: string;\n /**\n * Service names (Fastlane style, e.g. `data_protection`, `icloud`).\n * Pass either a plain list of names or a record of name → value, where\n * the value either is `true` or one of the per-service variants handled\n * by `buildCapabilitySettings`.\n */\n services: string[] | Record<string, string | boolean>;\n}): Promise<void> {\n const entries: Array<[string, string | boolean]> = Array.isArray(\n options.services\n )\n ? options.services.map((s) => [s, true])\n : Object.entries(options.services);\n\n for (const [service, value] of entries) {\n if (value === false) continue;\n const capType = SERVICE_NAME_TO_CAPABILITY[service];\n if (!capType) continue;\n const settings = buildCapabilitySettings(service, value);\n await addCapability({\n client: options.client,\n bundleIdId: options.bundleIdId,\n capabilityType: capType,\n settings,\n });\n }\n}\n\nexport async function createApp(options: ProduceOptions): Promise<App> {\n // Check if app already exists\n const existing = await options.client.apps.findByBundleId(options.bundleIdentifier);\n if (existing) return existing;\n\n // Register bundle ID\n const bundleId = await registerBundleId({\n client: options.client,\n identifier: options.bundleIdentifier,\n name: options.appName,\n platform: options.platform,\n });\n\n // Enable services\n if (options.enableServices) {\n for (const service of options.enableServices) {\n await addCapability({\n client: options.client,\n bundleIdId: bundleId.id,\n capabilityType: service,\n });\n }\n }\n\n // Create app on App Store Connect\n return options.client.apps.create({\n bundleIdentifier: options.bundleIdentifier,\n bundleIdId: bundleId.id,\n appName: options.appName,\n sku: options.sku ?? `${options.bundleIdentifier}.${Date.now()}`,\n primaryLocale: options.primaryLocale,\n });\n}\n"]}
|
package/dist/sigh/index.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-BKUapQP2.cjs';
|
|
2
2
|
import '../enums-B609j2rb.cjs';
|
|
3
|
-
export { a as SighOptions, S as SighResult, c as createProfile, d as downloadProfile, f as findMatchingProfile, b as installProfile } from '../index-
|
|
3
|
+
export { a as SighOptions, S as SighResult, c as createProfile, d as downloadProfile, f as findMatchingProfile, b as installProfile } from '../index-BZWmOTWE.cjs';
|
package/dist/sigh/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import '../index-
|
|
1
|
+
import '../index-CCtYhPN9.js';
|
|
2
2
|
import '../enums-B609j2rb.js';
|
|
3
|
-
export { a as SighOptions, S as SighResult, c as createProfile, d as downloadProfile, f as findMatchingProfile, b as installProfile } from '../index-
|
|
3
|
+
export { a as SighOptions, S as SighResult, c as createProfile, d as downloadProfile, f as findMatchingProfile, b as installProfile } from '../index-B8FOfxOw.js';
|
package/package.json
CHANGED