Skip to content

Commit 37de611

Browse files
keep format-bulk-operation-status
1 parent aab730c commit 37de611

File tree

2 files changed

+19
-15
lines changed

2 files changed

+19
-15
lines changed

packages/app/src/cli/services/bulk-operations/execute-bulk-operation.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ export async function executeBulkOperation(input: ExecuteBulkOperationInput): Pr
114114
=======
115115
if (watch) {
116116
const finalOperation = await renderSingleTask<BulkOperation>({
117-
title: outputContent`starting bulk operation...`,
117+
title: outputContent`Starting bulk operation...`,
118118
task: async (updateStatus) => {
119119
let lastObjectCount = ''
120120
while (true) {
@@ -126,19 +126,20 @@ export async function executeBulkOperation(input: ExecuteBulkOperationInput): Pr
126126
version: '2026-01',
127127
})
128128
129+
if (!response.bulkOperation) {
130+
throw new Error('bulk operation not found')
131+
}
132+
129133
const op = response.bulkOperation as BulkOperation
130134
131135
if (op.status === 'RUNNING') {
132136
const currentObjectCount = String(op.objectCount)
133137
if (currentObjectCount !== lastObjectCount) {
134-
const status = outputContent`bulk operation in progress... ${outputToken.gray(
135-
`(${currentObjectCount} objects)`,
136-
)}`
137-
updateStatus(status)
138+
updateStatus(formatBulkOperationStatus(op))
138139
lastObjectCount = currentObjectCount
139140
}
140141
} else if (op.status === 'CREATED') {
141-
updateStatus(outputContent`starting...`)
142+
updateStatus(formatBulkOperationStatus(op))
142143
}
143144
144145
if (TERMINAL_STATUSES.includes(op.status)) {
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,30 @@
11
import {GetBulkOperationByIdQuery} from '../../api/graphql/bulk-operations/generated/get-bulk-operation-by-id.js'
2+
import {outputContent, outputToken, TokenizedString} from '@shopify/cli-kit/node/output'
23

34
type BulkOperation = NonNullable<GetBulkOperationByIdQuery['bulkOperation']> & {
45
status: string
56
objectCount: unknown
67
}
78

8-
export function formatBulkOperationStatus(operation: BulkOperation): string {
9+
export function formatBulkOperationStatus(operation: BulkOperation): TokenizedString {
910
switch (operation.status) {
1011
case 'RUNNING':
11-
return `bulk operation in progress... (${String(operation.objectCount)} objects)`
12+
return outputContent`Bulk operation in progress... ${outputToken.gray(
13+
`(${String(operation.objectCount)} objects)`,
14+
)}`
1215
case 'CREATED':
13-
return 'starting...'
16+
return outputContent`Starting...`
1417
case 'COMPLETED':
15-
return 'bulk operation succeeded.'
18+
return outputContent`Bulk operation succeeded.`
1619
case 'FAILED':
17-
return `bulk operation failed. (error: ${operation.errorCode ?? 'unknown'})`
20+
return outputContent`Bulk operation failed. ${outputToken.gray(`(error: ${operation.errorCode ?? 'unknown'})`)}`
1821
case 'CANCELING':
19-
return 'bulk operation canceling...'
22+
return outputContent`Bulk operation canceling...`
2023
case 'CANCELED':
21-
return 'bulk operation canceled.'
24+
return outputContent`Bulk operation canceled.`
2225
case 'EXPIRED':
23-
return 'bulk operation expired.'
26+
return outputContent`Bulk operation expired.`
2427
default:
25-
return `bulk operation status: ${operation.status}`
28+
return outputContent`Bulk operation status: ${operation.status}`
2629
}
2730
}

0 commit comments

Comments
 (0)