Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 59 additions & 3 deletions .talismanrc
Original file line number Diff line number Diff line change
@@ -1,4 +1,60 @@
fileignoreconfig:
- filename: package-lock.json
checksum: 62d4e616575696750cc428c6bc327058f68fcf7ef0194b4a68aac3cea9551f81
version: ''
- filename: package-lock.json
checksum: 18ea9af7cba162326531c904db8e4c81f20313624e32d6123382f8e0c8be1382
- filename: pnpm-lock.yaml
checksum: 002a7774ddf508950ca2b1cfb277f9439d0d3a57a84cb61804e580905ba4fa5e
- filename: packages/contentstack-import-setup/test/unit/backup-handler.test.ts
checksum: 0582d62b88834554cf12951c8690a73ef3ddbb78b82d2804d994cf4148e1ef93
- filename: packages/contentstack-import-setup/test/config.json
checksum: 187fd202d00e7d2c3d8b00f983ff21d8535e0fdb76cebec3f39c400258c88d05
- filename: packages/contentstack-command/test/config.json
checksum: 7c15663b3a6562b99d3082ead5035932b0276e4fd53774b3f838372a19b291ef
- filename: packages/contentstack-import-setup/test/unit/modules/content-types.test.ts
checksum: ce8772281171927e7dee7d6a761a029c902393b808e2696624fdcf0f5b80ea5c
- filename: packages/contentstack-import-setup/test/unit/modules/entries.test.ts
checksum: 17652bfc125879bb37facf8ea9f54dc4f97627ca625ec148c9d551a20196d85b
- filename: packages/contentstack-import-setup/test/unit/modules/extensions.test.ts
checksum: eaafdf39fc8a947aa490232bfc7da950c882bd69b5b27a0362ef2bee21f6a177
- filename: packages/contentstack-import-setup/test/unit/modules/global-fields.test.ts
checksum: fd49cfab6d374254c0c6eb4c7e7ee8ff4fe6c2b46e7b0d7f7437cbe665d1ce8b
- filename: packages/contentstack-import-setup/test/unit/modules/marketplace-apps.test.ts
checksum: c35dfe96d685fb12427de4b77c9240b34b9bee5e158ad7489acaa0d061ad562e
- filename: packages/contentstack-import-setup/test/unit/modules/taxonomies.test.ts
checksum: 3868ff9e8833a670350590f070c6f635807f2a1f534accba677af4709fab0e4a
- filename: packages/contentstack-import-setup/test/unit/import-config-handler.test.ts
checksum: f2f2c994543c388f2eecaf8128f789eab2895f1f78d659e58ef9491972c6f9a8
- filename: packages/contentstack-import-setup/test/unit/common-helper.test.ts
checksum: a0c98c6f0ee88a398e3f1bd80cac0a6cc0ede7eee01957cf7d6e1f199f3da643
- filename: packages/contentstack-import-setup/test/unit/modules/base-setup.test.ts
checksum: 862c52e2bbd1975b963f45ce3e89c243d047858cdbe7339918395ce2fc52bf89
- filename: packages/contentstack-import-setup/test/unit/import-setup.test.ts
checksum: 1eee4f461fa5b115894d1806a14af6f45336cbe6c0392f16078bd2877fadff67
- filename: packages/contentstack-import-setup/test/unit/login-handler.test.ts
checksum: e549f9ca3a9aae0d93b7284f7e771d55c0610725ddcb4333612df2f215e92769
- filename: packages/contentstack/README.md
checksum: 5425309ed404d1699e9dbac73c4cfaa9f33edef5e814196ae64b0f7279010569
- filename: packages/contentstack-import-setup/test/unit/modules/assets.test.ts
checksum: 449a5e3383631a6f78d1291aa3c28c91681879289398f0a933158fba5c5d5acf
- filename: packages/contentstack-auth/env.example
checksum: 72c9ed18a449c42b03ec54795898f6bad4e15d23a3d701c05b96fb17c3bbd93b
- filename: packages/contentstack-auth/test/integration/auth.test.ts
checksum: 9933a64d17d6d6dd7dd87ff210ce5e8a215bf36fac0cfd333894612ed10fb81b
- filename: packages/contentstack-auth/src/utils/mfa-handler.ts
checksum: ca9c34a3fe6c3b957debff987aefbceb641bf4954f15541d07d901f91e5ff014
- filename: packages/contentstack-auth/messages/index.json
checksum: 95856ad6273f17a9e853cda9c2cf0bdd782e47aeab93385e73ab870b5e814f89
- filename: packages/contentstack-auth/test/utils/auth-handler.test.ts
checksum: f88dded3a326f191844e39258e7fe390a72fefeb387d09c7f97e4e8aed520c97
- filename: packages/contentstack-auth/src/commands/auth/login.ts
checksum: 89204be8dfc1f670a568af992b54f34845e49bd4a8046c0cf041dd3759150718
- filename: packages/contentstack-auth/test/unit/commands/tokens-add.test.ts
checksum: 1e7247908e1887998210381c03caca93a3983e1c8967483464cf1c3bd3209cd1
- filename: packages/contentstack-auth/test/unit/commands/logout.test.ts
checksum: cd22dd04bd6a77cafa7dd0960cd4691201a3e228216d5a10041b8e39d7ebba1f
- filename: packages/contentstack-auth/src/utils/auth-handler.ts
checksum: 1261d02e8215da2db28557b77d6a8c8c604e11df88520e1cc5c8561e26bdd150
- filename: packages/contentstack-auth/test/unit/commands/login.test.ts
checksum: f93aa9b0c964608b60c88d4c72ff33840b58ec900297c4bae1f4ea365aa51048
- filename: packages/contentstack-auth/test/utils/mfa-handler.test.ts
checksum: b067f93cf0185d794e8419cc41e8fac96ed790dea8fc48dc083ee242ccacbd4d
version: "1.0"
555 changes: 278 additions & 277 deletions package-lock.json

Large diffs are not rendered by default.

3 changes: 1 addition & 2 deletions packages/contentstack-audit/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,4 @@ dependabot.yml
.editorconfig
oclif.manifest.json
*.env
.vscode/
audit-report
.vscode/
2 changes: 1 addition & 1 deletion packages/contentstack-bootstrap/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ $ npm install -g @contentstack/cli-cm-bootstrap
$ csdx COMMAND
running command...
$ csdx (--version)
@contentstack/cli-cm-bootstrap/1.15.0 darwin-arm64 node-v22.13.1
@contentstack/cli-cm-bootstrap/1.15.0 darwin-arm64 node-v22.14.0
$ csdx --help [COMMAND]
USAGE
$ csdx COMMAND
Expand Down
2 changes: 1 addition & 1 deletion packages/contentstack-bulk-publish/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli-cm-bulk-publish
$ csdx COMMAND
running command...
$ csdx (--version)
@contentstack/cli-cm-bulk-publish/1.9.0 darwin-arm64 node-v23.11.0
@contentstack/cli-cm-bulk-publish/1.9.1 darwin-arm64 node-v22.14.0
$ csdx --help [COMMAND]
USAGE
$ csdx COMMAND
Expand Down
3 changes: 2 additions & 1 deletion packages/contentstack-bulk-publish/package.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"name": "@contentstack/cli-cm-bulk-publish",
"description": "Contentstack CLI plugin for bulk publish actions",
"version": "1.9.0",
"version": "1.9.1",
"author": "Contentstack",
"bugs": "https://github.com/contentstack/cli/issues",
"dependencies": {
"@contentstack/cli-command": "~1.6.0",
"@contentstack/cli-config": "~1.15.0",
"@contentstack/cli-utilities": "~1.13.1",
"@oclif/core": "^4.3.0",
"@oclif/plugin-help": "^6.2.28",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* eslint-disable camelcase */
/* eslint-disable complexity */
/* eslint-disable max-params */
const { configHandler } = require('@contentstack/cli-utilities');
const { configHandler, cliux } = require('@contentstack/cli-utilities');
const { getQueue } = require('../util/queue');
const { performBulkPublish, publishEntry, publishAsset, initializeLogger } = require('../consumer/publish');
const retryFailedLogs = require('../util/retryfailed');
Expand All @@ -15,6 +15,7 @@ const { Command } = require('@contentstack/cli-command');
const command = new Command();
const { isEmpty } = require('../util');
const { fetchBulkPublishLimit } = require('../util/common-utility');
const { generateBulkPublishStatusUrl } = require('../util/bulk-publish-utils');
const VARIANTS_PUBLISH_API_VERSION = '3.2';

let bulkPublishSet = [];
Expand Down Expand Up @@ -334,6 +335,18 @@ async function start(
} else if (!isSuccessLogEmpty) {
console.log(`The success log for this session is stored at ${filePath}.success`);
}

// Generate and display the bulk publish status link
if (bulkPublish && stack && config) {
const statusUrl = generateBulkPublishStatusUrl(stack, config);
if (statusUrl) {
process.stdout.write('\n');
process.stdout.write('\x1b[37mHere is the link to check the bulk publish status: \x1b[0m');
process.stdout.write('\x1b[34m' + statusUrl + '\x1b[0m');
process.stdout.write('\n');
}
}

process.exit(0);
});

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
/* eslint-disable no-console */
/* eslint-disable new-cap */
/* eslint-disable camelcase */
const { cliux } = require('@contentstack/cli-utilities');
const { getQueue } = require('../util/queue');
const { performBulkPublish, publishAsset, initializeLogger } = require('../consumer/publish');
const retryFailedLogs = require('../util/retryfailed');
const { validateFile } = require('../util/fs');
const { isEmpty } = require('../util');
const { fetchBulkPublishLimit } = require('../util/common-utility');
const { generateBulkPublishStatusUrl } = require('../util/bulk-publish-utils');

const queue = getQueue();
let logFileName;
Expand Down Expand Up @@ -129,6 +131,18 @@ async function start({ retryFailed, bulkPublish, environments, folderUid, locale
} else if (!isSuccessLogEmpty) {
console.log(`The success log for this session is stored at ${filePath}.success`);
}

// Generate and display the bulk publish status link
if (bulkPublish && stack && config) {
const statusUrl = generateBulkPublishStatusUrl(stack, config);
if (statusUrl) {
process.stdout.write('\n');
process.stdout.write('\x1b[37mHere is the link to check the bulk publish status: \x1b[0m');
process.stdout.write('\x1b[34m' + statusUrl + '\x1b[0m');
process.stdout.write('\n');
}
}

process.exit(0);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,14 @@
/* eslint-disable camelcase */
/* eslint-disable max-depth */
/* eslint-disable no-console */
const { cliux } = require('@contentstack/cli-utilities');
const { getQueue } = require('../util/queue');
const { performBulkPublish, publishEntry, initializeLogger } = require('../consumer/publish');
const retryFailedLogs = require('../util/retryfailed');
const { validateFile } = require('../util/fs');
const { isEmpty } = require('../util');
const { fetchBulkPublishLimit } = require('../util/common-utility');
const { generateBulkPublishStatusUrl } = require('../util/bulk-publish-utils');
const VARIANTS_PUBLISH_API_VERSION = '3.2';

const queue = getQueue();
Expand Down Expand Up @@ -253,6 +255,18 @@ async function start(
} else if (!isSuccessLogEmpty) {
console.log(`The success log for this session is stored at ${filePath}.success`);
}

// Generate and display the bulk publish status link
if (bulkPublish && stack && config) {
const statusUrl = generateBulkPublishStatusUrl(stack, config);
if (statusUrl) {
process.stdout.write('\n');
process.stdout.write('\x1b[37mHere is the link to check the bulk publish status: \x1b[0m');
process.stdout.write('\x1b[34m' + statusUrl + '\x1b[0m');
process.stdout.write('\n');
}
}

process.exit(0);
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
/* eslint-disable no-console */
/* eslint-disable new-cap */
/* eslint-disable camelcase */
const { cliux } = require('@contentstack/cli-utilities');
const { getQueue } = require('../util/queue');
const { performBulkPublish, publishEntry, initializeLogger } = require('../consumer/publish');
const retryFailedLogs = require('../util/retryfailed');
const { validateFile } = require('../util/fs');
const { isEmpty } = require('../util');
const { fetchBulkPublishLimit } = require('../util/common-utility');
const { generateBulkPublishStatusUrl } = require('../util/bulk-publish-utils');

const queue = getQueue();
let skipCount;
Expand Down Expand Up @@ -142,6 +144,18 @@ async function start({ sourceEnv, environments, locale, contentTypes, bulkPublis
} else if (!isSuccessLogEmpty) {
console.log(`The success log for this session is stored at ${filePath}.success`);
}

// Generate and display the bulk publish status link
if (bulkPublish && stack && config) {
const statusUrl = generateBulkPublishStatusUrl(stack, config);
if (statusUrl) {
process.stdout.write('\n');
process.stdout.write('\x1b[37mHere is the link to check the bulk unpublish status: \x1b[0m');
process.stdout.write('\x1b[34m' + statusUrl + '\x1b[0m');
process.stdout.write('\n');
}
}

process.exit(0);
});

Expand Down
15 changes: 14 additions & 1 deletion packages/contentstack-bulk-publish/src/producer/unpublish.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
/* eslint-disable complexity */
/* eslint-disable no-console */
/* eslint-disable camelcase */
const { configHandler } = require('@contentstack/cli-utilities');
const { configHandler, cliux } = require('@contentstack/cli-utilities');
const { getQueue } = require('../util/queue');
const { performBulkUnPublish, UnpublishEntry, UnpublishAsset, initializeLogger } = require('../consumer/publish');
const retryFailedLogs = require('../util/retryfailed');
Expand All @@ -15,6 +15,7 @@ const { Command } = require('@contentstack/cli-command');
const command = new Command();
const { isEmpty } = require('../util');
const { fetchBulkPublishLimit } = require('../util/common-utility');
const { generateBulkPublishStatusUrl } = require('../util/bulk-publish-utils');
const VARIANTS_UNPUBLISH_API_VERSION = '3.2';
const delay = (ms) => new Promise((res) => setTimeout(res, ms));

Expand Down Expand Up @@ -325,6 +326,18 @@ async function start(
} else if (!isSuccessLogEmpty) {
console.log(`The success log for this session is stored at ${filePath}.success`);
}

// Generate and display the bulk publish status link
if (bulkUnpublish && stack && config) {
const statusUrl = generateBulkPublishStatusUrl(stack, config);
if (statusUrl) {
process.stdout.write('\n');
process.stdout.write('\x1b[37mHere is the link to check the bulk unpublish status: \x1b[0m');
process.stdout.write('\x1b[34m' + statusUrl + '\x1b[0m');
process.stdout.write('\n');
}
}

process.exit(0);
});
if (includeVariants) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
const { regions } = require('@contentstack/cli-config/lib/utils/region-handler');
const { configHandler } = require('@contentstack/cli-utilities');

/**
* Get the appropriate app URL based on the host
* Uses the configured region from configHandler to get the uiHost
* @param {string} host - The host URL
* @returns {string} The app URL
*/
function getAppUrlFromHost(host) {
// Get the current region from configHandler
const currentRegion = configHandler.get('region');
if (currentRegion && currentRegion.uiHost) {
return currentRegion.uiHost;
}
// Default to NA region if no region is configured
return regions['AWS-NA'].uiHost;
}

/**
* Generate the bulk publish status URL based on stack configuration
* @param {Object} stack - Stack object containing api_key and host
* @param {Object} config - Config object containing stackApiKey, branch, and host
* @returns {string|null} The status URL or null if apiKey is not available
*/
function generateBulkPublishStatusUrl(stack, config) {
const apiKey = stack?.api_key || config?.stackApiKey;
if (!apiKey) {
return null;
}
const branch = config?.branch || 'main';
const host = stack?.host || config?.host || 'app.contentstack.com';
const appUrl = getAppUrlFromHost(host);
return `${appUrl}/#!/stack/${apiKey}/publish-queue?branch=${branch}`;
}

module.exports = {
generateBulkPublishStatusUrl,
};
15 changes: 5 additions & 10 deletions packages/contentstack-config/.mocharc.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
{
"require": [
"ts-node/register",
"source-map-support/register"
],
"watch-extensions": [
"ts"
],
"recursive": true,
"timeout": 10000
}
"require": ["ts-node/register", "source-map-support/register"],
"watch-extensions": ["ts"],
"recursive": true,
"timeout": 10000
}
3 changes: 3 additions & 0 deletions packages/contentstack-config/src/utils/region-handler.ts
Original file line number Diff line number Diff line change
Expand Up @@ -201,4 +201,7 @@ class UserConfig {
}
}

// Export the regions object for use in other packages
export { regions };

export default new UserConfig();
15 changes: 9 additions & 6 deletions packages/contentstack-config/test/run.test.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
import { join, resolve } from "path";
import { existsSync, readdirSync } from "fs";
import filter from "lodash/filter.js";
import forEach from "lodash/forEach.js";
import isEmpty from "lodash/isEmpty.js";
import isArray from "lodash/isArray.js";
import includes from "lodash/includes.js";
import { existsSync, readdirSync, readFileSync } from "fs";

// Import lodash functions
import filter from "lodash/filter";
import forEach from "lodash/forEach";
import isEmpty from "lodash/isEmpty";
import isArray from "lodash/isArray";
import includes from "lodash/includes";

// @ts-ignore
import config from "./config.json" with { type: "json" };

Expand Down
12 changes: 12 additions & 0 deletions packages/contentstack-config/test/unit/helpers/init.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,15 @@ const path = require('path');

process.env.TS_NODE_PROJECT = path.resolve('test/tsconfig.json');
process.env.CLI_ENV = 'TEST';

// Handle unhandled promise rejections to prevent exit code 1
process.on('unhandledRejection', (reason, promise) => {
console.error('Unhandled Rejection at:', promise, 'reason:', reason);
// Don't exit the process, just log the error
});

// Handle uncaught exceptions
process.on('uncaughtException', (error) => {
console.error('Uncaught Exception:', error);
// Don't exit the process, just log the error
});
2 changes: 1 addition & 1 deletion packages/contentstack-migrate-rte/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ $ npm install -g @contentstack/cli-cm-migrate-rte
$ csdx COMMAND
running command...
$ csdx (--version)
@contentstack/cli-cm-migrate-rte/1.6.0 darwin-arm64 node-v22.13.1
@contentstack/cli-cm-migrate-rte/1.6.0 darwin-arm64 node-v22.14.0
$ csdx --help [COMMAND]
USAGE
$ csdx COMMAND
Expand Down
2 changes: 1 addition & 1 deletion packages/contentstack-migration/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ $ npm install -g @contentstack/cli-migration
$ csdx COMMAND
running command...
$ csdx (--version)
@contentstack/cli-migration/1.8.0 darwin-arm64 node-v22.13.1
@contentstack/cli-migration/1.8.0 darwin-arm64 node-v22.14.0
$ csdx --help [COMMAND]
USAGE
$ csdx COMMAND
Expand Down
Loading
Loading