File tree Expand file tree Collapse file tree 2 files changed +19
-15
lines changed
packages/app/src/cli/services/bulk-operations Expand file tree Collapse file tree 2 files changed +19
-15
lines changed Original file line number Diff line number Diff 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)) {
Original file line number Diff line number Diff line change 11import { 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
34type 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}
You can’t perform that action at this time.
0 commit comments