From 859f315a2de92a54326c7f50c548fe5ed67cfb87 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Thu, 18 Jan 2024 19:09:42 +0530 Subject: [PATCH 1/3] fix: command not working on window os & script not generated for all CT --- .../src/branch/merge-handler.ts | 48 ++++++++----------- .../src/utils/create-merge-scripts.ts | 18 +++---- 2 files changed, 30 insertions(+), 36 deletions(-) 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..42882734ec 100644 --- a/packages/contentstack-branches/src/utils/create-merge-scripts.ts +++ b/packages/contentstack-branches/src/utils/create-merge-scripts.ts @@ -34,21 +34,22 @@ 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]); } }); + cliux.print(`Info: ${messageType} content types' entries selected for merge`, { color: 'blue' }); } else { - cliux.print(`No ${messageType} entries selected for merge`, { color: 'yellow' }); + cliux.print(`Info: No ${messageType} content types' entries selected for merge`, { color: 'blue' }); } }; - + + processContentType( + { type: 'assets', uid: '', entry_merge_strategy: '' }, + mergeStrategies['asset_create_folder'], + ); processContentTypes(mergeSummary.modified, 'Modified'); processContentTypes(mergeSummary.added, 'New'); @@ -93,10 +94,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`; } From 3bfa0e49ac800dee2a0b94a26f2fe3e893575c63 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Fri, 19 Jan 2024 12:44:01 +0530 Subject: [PATCH 2/3] refactor: entries migration msg --- .../contentstack-branches/src/utils/create-merge-scripts.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/contentstack-branches/src/utils/create-merge-scripts.ts b/packages/contentstack-branches/src/utils/create-merge-scripts.ts index 42882734ec..7b86b04358 100644 --- a/packages/contentstack-branches/src/utils/create-merge-scripts.ts +++ b/packages/contentstack-branches/src/utils/create-merge-scripts.ts @@ -40,9 +40,7 @@ export function generateMergeScripts(mergeSummary, mergeJobUID) { processContentType(contentType, mergeStrategies[mergeStrategy]); } }); - cliux.print(`Info: ${messageType} content types' entries selected for merge`, { color: 'blue' }); - } else { - cliux.print(`Info: No ${messageType} content types' entries selected for merge`, { color: 'blue' }); + cliux.print(`Info: Entries of ${messageType} content types selected for the migration`, { color: 'blue' }); } }; From 2f48a18fd7eaa32efdf7f10229188f07413f0320 Mon Sep 17 00:00:00 2001 From: Aman Kumar Date: Tue, 23 Jan 2024 10:20:10 +0530 Subject: [PATCH 3/3] version bump --- package-lock.json | 6 +++--- packages/contentstack-branches/README.md | 2 +- packages/contentstack-branches/package.json | 2 +- packages/contentstack/README.md | 4 ++-- packages/contentstack/package.json | 4 ++-- pnpm-lock.yaml | 16 ++++++++-------- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package-lock.json b/package-lock.json index e7cf5847c3..e53a535649 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23490,13 +23490,13 @@ }, "packages/contentstack": { "name": "@contentstack/cli", - "version": "1.12.1", + "version": "1.12.2", "license": "MIT", "dependencies": { "@contentstack/cli-audit": "~1.3.2", "@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", @@ -23923,7 +23923,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", 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/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 9e4921c8d7..99c0982b14 100755 --- a/packages/contentstack/package.json +++ b/packages/contentstack/package.json @@ -1,7 +1,7 @@ { "name": "@contentstack/cli", "description": "Command-line tool (CLI) to interact with Contentstack", - "version": "1.12.1", + "version": "1.12.2", "author": "Contentstack", "bin": { "csdx": "./bin/run" @@ -25,7 +25,7 @@ "@contentstack/cli-audit": "~1.3.2", "@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", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9cfe8e1a66..4404727212 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,7 @@ importers: '@contentstack/cli-audit': ~1.3.2 '@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 @@ -1565,11 +1565,11 @@ packages: resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==} engines: {node: '>=0.1.90'} - /@contentstack/cli-command/1.2.16_typescript@4.9.5: - resolution: {integrity: sha512-u8GecSKkRgMPAmsib1xtfcUF8T/+ZbHe4JKAibRLkVc7jIjwuToq36hPgGFMfUAK4HX/UZ09stS+f3dUN1maOA==} + /@contentstack/cli-command/1.2.17_typescript@4.9.5: + resolution: {integrity: sha512-z5DWK+S+fRAXIZc0eZH1aw/Vb84wqICzYlGi4nKtov56H7QMWHwb+dORmzQvBHCUjbT/5/cZc6wpBZkebAUc7Q==} engines: {node: '>=14.0.0'} dependencies: - '@contentstack/cli-utilities': 1.5.9_typescript@4.9.5 + '@contentstack/cli-utilities': 1.5.10_typescript@4.9.5 contentstack: 3.17.2 transitivePeerDependencies: - '@swc/core' @@ -1584,8 +1584,8 @@ packages: resolution: {integrity: sha512-JMfVLK3846DfaHfZxtvpiy5JZsDsLQjZwZiG9NxQnrN3ZQ1qfz4p8pIppBOf/e25yEF/OZRwuMrdvyB0UY1LXA==} engines: {node: '>=14.0.0'} dependencies: - '@contentstack/cli-command': 1.2.16_typescript@4.9.5 - '@contentstack/cli-utilities': 1.5.9_typescript@4.9.5 + '@contentstack/cli-command': 1.2.17_typescript@4.9.5 + '@contentstack/cli-utilities': 1.5.10_typescript@4.9.5 chalk: 4.1.2 debug: 4.3.4 inquirer: 8.2.4 @@ -1601,8 +1601,8 @@ packages: - typescript dev: true - /@contentstack/cli-utilities/1.5.9_typescript@4.9.5: - resolution: {integrity: sha512-VaLmJdn+4HHhcVLPpMOtlwX8Q8sCoF+gHcSAgPd/eUPOZeksHdC8shjl2ka7RTuT2XVHYusqD1OEVFZztdLlMA==} + /@contentstack/cli-utilities/1.5.10_typescript@4.9.5: + resolution: {integrity: sha512-UMypT6q+XqgeKp3mETcZo6WmSl4IVkz/FDWAqm/agnbHturovSvmbxjFxtSNX/8iLNe9E1bQC3n6KPGmxeWtlQ==} dependencies: '@contentstack/management': 1.13.0_debug@4.3.4 '@contentstack/marketplace-sdk': 1.0.1_debug@4.3.4