Skip to content

Commit ebb72f9

Browse files
committed
feat(buddy): add Safari App Review command
1 parent 1a76dbb commit ebb72f9

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

storage/framework/core/buddy/src/commands/extension.ts

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -294,5 +294,31 @@ export function extension(buddy: CLI): void {
294294
log.success(options.validateOnly
295295
? `Validated Safari ${result.artifacts.map(artifact => artifact.platform).join(' + ')} archives (build ${result.buildNumber})`
296296
: `Uploaded and selected Safari ${result.attachments.map(attachment => attachment.platform).join(' + ')} build ${result.buildNumber} in App Store Connect`)
297+
if (result.appStoreSubmission?.reviewSubmissionIds.length)
298+
log.success(`Submitted ${result.appStoreSubmission.reviewSubmissionIds.length} Safari version(s) to App Review`)
299+
})
300+
301+
buddy
302+
.command('extension:safari:submit', 'Synchronize metadata and submit an existing Safari version to App Review')
303+
.option('--version <version>', 'Marketing version to submit (defaults to package.json)')
304+
.option('--api-key-id <id>', 'App Store Connect API key ID')
305+
.option('--api-issuer-id <id>', 'App Store Connect API issuer ID')
306+
.option('--api-key-path <path>', 'Path to the App Store Connect AuthKey_*.p8 file')
307+
.option('--platform <platform>', 'Submit macos, ios, or all (defaults to config safariPlatforms)')
308+
.option('--prepare-only', 'Synchronize the listing without submitting it for review')
309+
.action(async (options: { version?: string, apiKeyId?: string, apiIssuerId?: string, apiKeyPath?: string, platform?: string, prepareOnly?: boolean }) => {
310+
const { submitSafariAppStore } = await import('@stacksjs/browser-extension')
311+
const { config, version } = await load()
312+
const result = await submitSafariAppStore(config, {
313+
version: options.version ?? version,
314+
keyId: options.apiKeyId,
315+
issuerId: options.apiIssuerId,
316+
keyPath: options.apiKeyPath,
317+
platforms: parseSafariPlatforms(options.platform),
318+
submit: !options.prepareOnly,
319+
})
320+
log.success(`Synchronized ${result.versions.map(item => item.platform).join(' + ')} App Store listings`)
321+
if (result.reviewSubmissionIds.length)
322+
log.success(`Submitted ${result.reviewSubmissionIds.length} Safari version(s) to App Review`)
297323
})
298324
}

0 commit comments

Comments
 (0)