From 560e9c054c1a40858d3bf163d8c3c885bdff65e9 Mon Sep 17 00:00:00 2001 From: aniket-shikhare-cstk Date: Tue, 30 Jun 2026 15:15:59 +0530 Subject: [PATCH 1/2] fix(bulk-publish): add null guard on asset.publish_details before forEach Assets loaded from --data-dir backup may not have a publish_details field if they were never published. The optional chain only guarded `asset`, not `publish_details`, causing a TypeError in displayAssetsDetails(). --- packages/contentstack-bulk-publish/src/consumer/publish.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/contentstack-bulk-publish/src/consumer/publish.js b/packages/contentstack-bulk-publish/src/consumer/publish.js index f466b250c..ad25da96f 100644 --- a/packages/contentstack-bulk-publish/src/consumer/publish.js +++ b/packages/contentstack-bulk-publish/src/consumer/publish.js @@ -61,7 +61,7 @@ function displayEntriesDetails(sanitizedData, action, mapping = []) { function displayAssetsDetails(sanitizedData, action, mapping) { if (action === 'bulk_publish') { sanitizedData.forEach((asset) => { - asset?.publish_details.forEach((pd) => { + asset?.publish_details?.forEach((pd) => { if (Object.keys(mapping).includes(pd.environment)) { console.log( chalk.green( From 1eb074a6ea38ffecda28f1733ea6cfc0a31cacde Mon Sep 17 00:00:00 2001 From: aniket-shikhare-cstk Date: Tue, 30 Jun 2026 15:37:10 +0530 Subject: [PATCH 2/2] fix(bulk-publish): declare module-level config variable in publish-assets.js setConfig() assigned to `config` at module scope but the variable was never declared, causing a ReferenceError on any cm:assets:publish run that goes through the data-dir flow. --- .../contentstack-bulk-publish/src/producer/publish-assets.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/contentstack-bulk-publish/src/producer/publish-assets.js b/packages/contentstack-bulk-publish/src/producer/publish-assets.js index df5af5da4..07c58a7d3 100644 --- a/packages/contentstack-bulk-publish/src/producer/publish-assets.js +++ b/packages/contentstack-bulk-publish/src/producer/publish-assets.js @@ -15,6 +15,7 @@ const { generateBulkPublishStatusUrl } = require('../util/generate-bulk-publish- const { resolveInQueueAssets, fetchScanStatusBatch, ASSET_SCAN_STATUS } = require('../util/asset-scan'); const queue = getQueue(); +let config; let logFileName; let bulkPublishSet = []; let pendingAssetsForRetry = [];