diff --git a/package-lock.json b/package-lock.json index c589e071da..4728d39304 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23528,12 +23528,12 @@ "@contentstack/cli-audit": "~1.3.3", "@contentstack/cli-auth": "~1.3.17", "@contentstack/cli-cm-bootstrap": "~1.7.1", - "@contentstack/cli-cm-branches": "~1.0.20", + "@contentstack/cli-cm-branches": "~1.0.21", "@contentstack/cli-cm-bulk-publish": "~1.4.0", "@contentstack/cli-cm-clone": "~1.9.0", "@contentstack/cli-cm-export": "~1.10.2", "@contentstack/cli-cm-export-to-csv": "~1.6.2", - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-cm-migrate-rte": "~1.4.15", "@contentstack/cli-cm-seed": "~1.7.1", "@contentstack/cli-command": "~1.2.17", @@ -24139,7 +24139,7 @@ }, "packages/contentstack-branches": { "name": "@contentstack/cli-cm-branches", - "version": "1.0.20", + "version": "1.0.21", "license": "MIT", "dependencies": { "@contentstack/cli-command": "~1.2.16", @@ -24249,7 +24249,7 @@ "dependencies": { "@colors/colors": "^1.5.0", "@contentstack/cli-cm-export": "~1.10.2", - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.5.10", "async": "^3.2.4", @@ -25306,7 +25306,7 @@ }, "packages/contentstack-import": { "name": "@contentstack/cli-cm-import", - "version": "1.13.0", + "version": "1.13.1", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "^1.3.3", @@ -25881,7 +25881,7 @@ "version": "1.7.1", "license": "MIT", "dependencies": { - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.5.10", "inquirer": "8.2.4", diff --git a/packages/contentstack-audit/src/commands/cm/stacks/audit/index.ts b/packages/contentstack-audit/src/commands/cm/stacks/audit/index.ts index f0dcd81221..57113bd0cb 100644 --- a/packages/contentstack-audit/src/commands/cm/stacks/audit/index.ts +++ b/packages/contentstack-audit/src/commands/cm/stacks/audit/index.ts @@ -42,6 +42,7 @@ export default class Audit extends AuditBaseCommand { try { await this.start('cm:stacks:audit'); } catch (error) { + console.trace(error); this.log(error instanceof Error ? error.message : error, 'error'); ux.action.stop('Process failed.!'); this.exit(1); diff --git a/packages/contentstack-audit/src/config/index.ts b/packages/contentstack-audit/src/config/index.ts index fd25645bfb..7a5a773273 100644 --- a/packages/contentstack-audit/src/config/index.ts +++ b/packages/contentstack-audit/src/config/index.ts @@ -1,6 +1,7 @@ const config = { showTerminalOutput: true, skipRefs: ['sys_assets'], + skipFieldTypes: ['taxonomy'], modules: ['content-types', 'global-fields', 'entries'], 'fix-fields': ['reference', 'global_field', 'json:rte', 'json:custom-field', 'blocks', 'group'], moduleConfig: { diff --git a/packages/contentstack-audit/src/modules/content-types.ts b/packages/contentstack-audit/src/modules/content-types.ts index 0b544992f5..8e26bdb6f4 100644 --- a/packages/contentstack-audit/src/modules/content-types.ts +++ b/packages/contentstack-audit/src/modules/content-types.ts @@ -379,8 +379,9 @@ export default class ContentType { } }) .filter((val: any) => { - if (val?.schema && isEmpty(val.schema)) return false; - if (val?.reference_to && isEmpty(val.reference_to)) return false; + if (this.config.skipFieldTypes.includes(val?.data_type)) return true; + if (val?.schema && isEmpty(val?.schema)) return false; + if (val?.reference_to && isEmpty(val?.reference_to)) return false; return !!val; }) as ContentTypeSchemaType[]; diff --git a/packages/contentstack-branches/README.md b/packages/contentstack-branches/README.md index 2ecc88b069..d0ae021d5d 100755 --- a/packages/contentstack-branches/README.md +++ b/packages/contentstack-branches/README.md @@ -37,7 +37,7 @@ $ npm install -g @contentstack/cli-cm-branches $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-branches/1.0.20 darwin-arm64 node-v20.8.0 +@contentstack/cli-cm-branches/1.0.21 darwin-arm64 node-v20.8.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-branches/package.json b/packages/contentstack-branches/package.json index 29b95f9d6b..de7336ecdd 100644 --- a/packages/contentstack-branches/package.json +++ b/packages/contentstack-branches/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-branches", "description": "Contentstack CLI plugin to do branches operations", - "version": "1.0.20", + "version": "1.0.21", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { diff --git a/packages/contentstack-branches/src/branch/merge-handler.ts b/packages/contentstack-branches/src/branch/merge-handler.ts index aa91ede899..f68f36bb6c 100644 --- a/packages/contentstack-branches/src/branch/merge-handler.ts +++ b/packages/contentstack-branches/src/branch/merge-handler.ts @@ -241,7 +241,6 @@ export default class MergeHandler { async executeEntryExpFlow(mergeJobUID: string, mergePayload) { const { mergeContent } = this.mergeSettings; let mergePreference = await selectContentMergePreference(); - let selectedMergePreference; const updateEntryMergeStrategy = (items, mergeStrategy) => { items && @@ -250,25 +249,16 @@ export default class MergeHandler { }); }; - switch (mergePreference) { - case 'existing_new': - selectedMergePreference = 'merge_existing_new'; - updateEntryMergeStrategy(mergeContent.content_types.added, selectedMergePreference); - updateEntryMergeStrategy(mergeContent.content_types.modified, selectedMergePreference); - break; - - case 'new': - selectedMergePreference = 'merge_new'; - updateEntryMergeStrategy(mergeContent.content_types.added, selectedMergePreference); - break; - - case 'existing': - selectedMergePreference = 'merge_existing'; - updateEntryMergeStrategy(mergeContent.content_types.modified, selectedMergePreference); - break; + const mergePreferencesMap = { + 'existing_new': 'merge_existing_new', + 'new': 'merge_new', + 'existing': 'merge_existing', + 'ask_preference': 'custom', + }; + const selectedMergePreference = mergePreferencesMap[mergePreference]; - case 'ask_preference': - selectedMergePreference = 'custom'; + if (selectedMergePreference) { + if (selectedMergePreference === 'custom') { const selectedMergeItems = await selectContentMergeCustomPreferences(mergeContent.content_types); mergeContent.content_types = { added: [], @@ -279,23 +269,25 @@ export default class MergeHandler { selectedMergeItems?.forEach((item) => { mergeContent.content_types[item.status].push(item.value); }); - break; - - default: - cliux.error(`error: Invalid preference ${mergePreference}`); - process.exit(1); + } else { + updateEntryMergeStrategy(mergeContent.content_types.added, selectedMergePreference); + updateEntryMergeStrategy(mergeContent.content_types.modified, selectedMergePreference); + } + } else { + cliux.error(`error: Invalid preference ${mergePreference}`); + process.exit(1); } let scriptFolderPath = generateMergeScripts(mergeContent.content_types, mergeJobUID); if (scriptFolderPath !== undefined) { cliux.success(`\nSuccess! We have generated entry migration files in the folder ${scriptFolderPath}`); - cliux.print('\nWARNING!!! Migration is not intended to be run more than once. Migrated(entries/assets) will be duplicated if run more than once', {color: 'yellow'}); + cliux.print('\nWARNING!!! Migration is not intended to be run more than once. Migrated(entries/assets) will be duplicated if run more than once', { color: 'yellow' }); let migrationCommand: string; - if(os.platform() === 'win32'){ - migrationCommand = `csdx cm:stacks:migration --multiple --file-path ./${scriptFolderPath} --config compare-branch:${mergePayload.compare_branch},file-path:./${scriptFolderPath} --branch ${mergePayload.base_branch} --stack-api-key ${this.stackAPIKey}`; - }else{ + if (os.platform() === 'win32') { + migrationCommand = `csdx cm:stacks:migration --multiple --file-path ./${scriptFolderPath} --config compare-branch:${mergePayload.compare_branch} file-path:./${scriptFolderPath} --branch ${mergePayload.base_branch} --stack-api-key ${this.stackAPIKey}`; + } else { migrationCommand = `csdx cm:stacks:migration --multiple --file-path ./${scriptFolderPath} --config {compare-branch:${mergePayload.compare_branch},file-path:./${scriptFolderPath}} --branch ${mergePayload.base_branch} --stack-api-key ${this.stackAPIKey}`; } diff --git a/packages/contentstack-branches/src/utils/create-merge-scripts.ts b/packages/contentstack-branches/src/utils/create-merge-scripts.ts index 95c2cf1bbc..7b86b04358 100644 --- a/packages/contentstack-branches/src/utils/create-merge-scripts.ts +++ b/packages/contentstack-branches/src/utils/create-merge-scripts.ts @@ -34,21 +34,20 @@ export function generateMergeScripts(mergeSummary, mergeJobUID) { const processContentTypes = (contentTypes, messageType) => { if (contentTypes && contentTypes.length > 0) { - processContentType( - { type: 'assets', uid: '', entry_merge_strategy: '' }, - mergeStrategies['asset_create_folder'], - ); contentTypes.forEach((contentType) => { const mergeStrategy = contentType.entry_merge_strategy; if (mergeStrategies.hasOwnProperty(mergeStrategy)) { processContentType(contentType, mergeStrategies[mergeStrategy]); } }); - } else { - cliux.print(`No ${messageType} entries selected for merge`, { color: 'yellow' }); + cliux.print(`Info: Entries of ${messageType} content types selected for the migration`, { color: 'blue' }); } }; - + + processContentType( + { type: 'assets', uid: '', entry_merge_strategy: '' }, + mergeStrategies['asset_create_folder'], + ); processContentTypes(mergeSummary.modified, 'Modified'); processContentTypes(mergeSummary.added, 'New'); @@ -93,10 +92,11 @@ export function createMergeScripts(contentType: CreateMergeScriptsProps, mergeJo fs.mkdirSync(fullPath); } let filePath: string; + let milliSeconds = date.getMilliseconds().toString().padStart(3, '0') if (contentType.type === 'assets') { - filePath = `${fullPath}/${fileCreatedAt}_create_assets_folder.js`; + filePath = `${fullPath}/${fileCreatedAt}${milliSeconds}_create_assets_folder.js`; } else { - filePath = `${fullPath}/${fileCreatedAt}_${getContentTypeMergeStatus(contentType.entry_merge_strategy)}_${ + filePath = `${fullPath}/${fileCreatedAt}${milliSeconds}_${getContentTypeMergeStatus(contentType.entry_merge_strategy)}_${ contentType.uid }.js`; } diff --git a/packages/contentstack-bulk-publish/README.md b/packages/contentstack-bulk-publish/README.md index 2518496f86..d7f25b559d 100644 --- a/packages/contentstack-bulk-publish/README.md +++ b/packages/contentstack-bulk-publish/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli-cm-bulk-publish $ csdx COMMAND running command... $ csdx (--version) -@contentstack/cli-cm-bulk-publish/1.4.0 darwin-arm64 node-v20.8.0 +@contentstack/cli-cm-bulk-publish/1.4.0 darwin-arm64 node-v20.10.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND diff --git a/packages/contentstack-clone/package.json b/packages/contentstack-clone/package.json index 46e1791133..fe7fda0654 100644 --- a/packages/contentstack-clone/package.json +++ b/packages/contentstack-clone/package.json @@ -6,7 +6,7 @@ "bugs": "https://github.com/rohitmishra209/cli-cm-clone/issues", "dependencies": { "@contentstack/cli-cm-export": "~1.10.2", - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.5.10", "@colors/colors": "^1.5.0", diff --git a/packages/contentstack-import/package.json b/packages/contentstack-import/package.json index ec13b7aec3..c87eb72a3c 100644 --- a/packages/contentstack-import/package.json +++ b/packages/contentstack-import/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli-cm-import", "description": "Contentstack CLI plugin to import content into stack", - "version": "1.13.0", + "version": "1.13.1", "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { diff --git a/packages/contentstack-import/src/import/module-importer.ts b/packages/contentstack-import/src/import/module-importer.ts index 18744bd406..d111df834c 100755 --- a/packages/contentstack-import/src/import/module-importer.ts +++ b/packages/contentstack-import/src/import/module-importer.ts @@ -130,6 +130,12 @@ class ModuleImporter { if (this.importConfig.moduleName) { args.push('--modules', this.importConfig.moduleName); + } else if (this.importConfig.modules.types.length) { + this.importConfig.modules.types + .filter((val) => ['content-types', 'global-fields', 'entries'].includes(val)) + .forEach((val) => { + args.push('--modules', val); + }); } log(this.importConfig, 'Starting audit process', 'info'); @@ -159,7 +165,6 @@ class ModuleImporter { return true; } catch (error) { - trace(error); log(this.importConfig, `Audit failed with following error. ${error}`, 'error'); } } diff --git a/packages/contentstack-import/src/utils/content-type-helper.ts b/packages/contentstack-import/src/utils/content-type-helper.ts index 9fe732c849..1f6694481d 100644 --- a/packages/contentstack-import/src/utils/content-type-helper.ts +++ b/packages/contentstack-import/src/utils/content-type-helper.ts @@ -147,6 +147,16 @@ export const removeReferenceFields = async function ( flag.supressed = true; schema[i].reference_to = ['sys_assets']; } + else if ( + // handling entry references in rte + schema[i].data_type === 'text' && + schema[i].field_metadata.rich_text_type && + schema[i].field_metadata.embed_entry && + schema[i].reference_to.length >= 1 + ) { + flag.supressed = true; + schema[i].reference_to = ['sys_assets']; + } } }; diff --git a/packages/contentstack-seed/package.json b/packages/contentstack-seed/package.json index a5998b0e1f..911afc2dd4 100644 --- a/packages/contentstack-seed/package.json +++ b/packages/contentstack-seed/package.json @@ -5,7 +5,7 @@ "author": "Contentstack", "bugs": "https://github.com/contentstack/cli/issues", "dependencies": { - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-command": "~1.2.16", "@contentstack/cli-utilities": "~1.5.10", "inquirer": "8.2.4", diff --git a/packages/contentstack/README.md b/packages/contentstack/README.md index d89bc05d95..228fedcb1c 100644 --- a/packages/contentstack/README.md +++ b/packages/contentstack/README.md @@ -18,7 +18,7 @@ $ npm install -g @contentstack/cli $ csdx COMMAND running command... $ csdx (--version|-v) -@contentstack/cli/1.12.1 darwin-arm64 node-v20.8.0 +@contentstack/cli/1.12.2 darwin-arm64 node-v20.8.0 $ csdx --help [COMMAND] USAGE $ csdx COMMAND @@ -3217,7 +3217,7 @@ DESCRIPTION Display help for csdx. ``` -_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.2.14/src/commands/help.ts)_ +_See code: [@oclif/plugin-help](https://github.com/oclif/plugin-help/blob/v5.2.20/src/commands/help.ts)_ ## `csdx launch` diff --git a/packages/contentstack/package.json b/packages/contentstack/package.json index 7d99546675..827610a276 100755 --- a/packages/contentstack/package.json +++ b/packages/contentstack/package.json @@ -25,12 +25,12 @@ "@contentstack/cli-audit": "~1.3.3", "@contentstack/cli-auth": "~1.3.17", "@contentstack/cli-cm-bootstrap": "~1.7.1", - "@contentstack/cli-cm-branches": "~1.0.20", + "@contentstack/cli-cm-branches": "~1.0.21", "@contentstack/cli-cm-bulk-publish": "~1.4.0", "@contentstack/cli-cm-clone": "~1.9.0", "@contentstack/cli-cm-export": "~1.10.2", "@contentstack/cli-cm-export-to-csv": "~1.6.2", - "@contentstack/cli-cm-import": "~1.13.0", + "@contentstack/cli-cm-import": "~1.13.1", "@contentstack/cli-cm-migrate-rte": "~1.4.15", "@contentstack/cli-cm-seed": "~1.7.1", "@contentstack/cli-command": "~1.2.17", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8635038122..32a3ef8274 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,12 +13,12 @@ importers: '@contentstack/cli-audit': ~1.3.3 '@contentstack/cli-auth': ~1.3.17 '@contentstack/cli-cm-bootstrap': ~1.7.1 - '@contentstack/cli-cm-branches': ~1.0.20 + '@contentstack/cli-cm-branches': ~1.0.21 '@contentstack/cli-cm-bulk-publish': ~1.4.0 '@contentstack/cli-cm-clone': ~1.9.0 '@contentstack/cli-cm-export': ~1.10.2 '@contentstack/cli-cm-export-to-csv': ~1.6.2 - '@contentstack/cli-cm-import': ~1.13.0 + '@contentstack/cli-cm-import': ~1.13.1 '@contentstack/cli-cm-migrate-rte': ~1.4.15 '@contentstack/cli-cm-seed': ~1.7.1 '@contentstack/cli-command': ~1.2.17 @@ -424,7 +424,7 @@ importers: specifiers: '@colors/colors': ^1.5.0 '@contentstack/cli-cm-export': ~1.10.2 - '@contentstack/cli-cm-import': ~1.13.0 + '@contentstack/cli-cm-import': ~1.13.1 '@contentstack/cli-command': ~1.2.16 '@contentstack/cli-utilities': ~1.5.10 '@oclif/test': ^1.2.7 @@ -986,7 +986,7 @@ importers: packages/contentstack-seed: specifiers: - '@contentstack/cli-cm-import': ~1.13.0 + '@contentstack/cli-cm-import': ~1.13.1 '@contentstack/cli-command': ~1.2.16 '@contentstack/cli-utilities': ~1.5.10 '@oclif/plugin-help': ^5.1.19