Skip to content

Commit 592569b

Browse files
author
naman-contentstack
committed
Merge branch 'v2-dev' into feat/DX-5418
2 parents 9e4d9b8 + 3a87a46 commit 592569b

31 files changed

Lines changed: 1304 additions & 633 deletions

File tree

.talismanrc

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,15 @@ fileignoreconfig:
1616
- filename: skills/testing/SKILL.md
1717
checksum: ee1c82f1bb51860cb26fb9f112a53df0127e316fcb22a094034024741251fa3c
1818
- filename: pnpm-lock.yaml
19-
checksum: ee02fe945dcc49e5755198d7eb815f03aa8ba0ea9e269e2df396632a7f80212a
20-
- filename: packages/contentstack-asset-management/src/import/assets.ts
21-
checksum: ed6af5d798282808c09643e1dcd1eaede89ce2b09bd0425998af64849b4f3f61
19+
checksum: 4861082320d7011b7adb96b6ca07f953f69e391d046a392e8f2b55cdd77b684f
20+
- filename: packages/contentstack-branches/src/utils/create-branch.ts
21+
checksum: d0613295ee26f7a77d026e40db0a4ab726fabd0a74965f729f1a66d1ef14768f
22+
- filename: packages/contentstack-branches/README.md
23+
checksum: ad32bd365db7f085cc2ea133d69748954606131ec6157a272a3471aea60011c2
24+
- filename: packages/contentstack-branches/src/branch/diff-handler.ts
25+
checksum: 3cd4d26a2142cab7cbf2094c9251e028467d17d6a1ed6daf22f21975133805f1
26+
- filename: packages/contentstack-branches/src/commands/cm/branches/merge-status.ts
27+
checksum: 6e5b959ddcc5ff68e03c066ea185fcf6c6e57b1819069730340af35aad8a93a8
28+
- filename: packages/contentstack-branches/src/branch/merge-handler.ts
29+
checksum: 4fd8dba9b723733530b9ba12e81e1d3e5d60b73ac4c082defb10593f257bb133
2230
version: '1.0'

packages/contentstack-audit/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,10 @@
2727
"fs-extra": "^11.3.0",
2828
"lodash": "^4.18.1",
2929
"uuid": "^9.0.1",
30-
"winston": "^3.17.0"
30+
"winston": "^3.19.0"
3131
},
3232
"devDependencies": {
33-
"@oclif/test": "^4.1.13",
33+
"@oclif/test": "^4.1.18",
3434
"@types/chai": "^4.3.20",
3535
"@types/fs-extra": "^11.0.4",
3636
"@types/mocha": "^10.0.10",

packages/contentstack-bootstrap/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"tar": "^7.5.11"
2828
},
2929
"devDependencies": {
30-
"@oclif/test": "^4.1.13",
30+
"@oclif/test": "^4.1.18",
3131
"@types/inquirer": "^9.0.8",
3232
"@types/mkdirp": "^1.0.2",
3333
"@types/node": "^18.11.9",

packages/contentstack-branches/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ USAGE
5353
* [`csdx cm:branches:delete [-uid <value>] [-k <value>]`](#csdx-cmbranchesdelete--uid-value--k-value)
5454
* [`csdx cm:branches:diff [--base-branch <value>] [--compare-branch <value>] [-k <value>][--module <value>] [--format <value>] [--csv-path <value>]`](#csdx-cmbranchesdiff---base-branch-value---compare-branch-value--k-value--module-value---format-value---csv-path-value)
5555
* [`csdx cm:branches:merge [-k <value>][--compare-branch <value>] [--no-revert] [--export-summary-path <value>] [--use-merge-summary <value>] [--comment <value>] [--base-branch <value>]`](#csdx-cmbranchesmerge--k-value--compare-branch-value---no-revert---export-summary-path-value---use-merge-summary-value---comment-value---base-branch-value)
56+
* [`csdx cm:branches:merge-status -k <value> --merge-uid <value>`](#csdx-cmbranchesmerge-status--k-value---merge-uid-value)
5657

5758
## `csdx cm:branches`
5859

@@ -230,4 +231,27 @@ EXAMPLES
230231
```
231232

232233
_See code: [src/commands/cm/branches/merge.ts](https://github.com/contentstack/cli/blob/main/packages/contentstack-export/src/commands/cm/branches/merge.ts)_
234+
235+
## `csdx cm:branches:merge-status -k <value> --merge-uid <value>`
236+
237+
Check the status of a branch merge job
238+
239+
```
240+
USAGE
241+
$ csdx cm:branches:merge-status -k <value> --merge-uid <value>
242+
243+
FLAGS
244+
-k, --stack-api-key=<value> (required) Provide your stack API key.
245+
--merge-uid=<value> (required) Merge job UID to check status for.
246+
247+
DESCRIPTION
248+
Check the status of a branch merge job
249+
250+
EXAMPLES
251+
$ csdx cm:branches:merge-status -k bltxxxxxxxx --merge-uid merge_abc123
252+
253+
$ csdx cm:branches:merge-status --stack-api-key bltxxxxxxxx --merge-uid merge_abc123
254+
```
255+
256+
_See code: [src/commands/cm/branches/merge-status.ts](https://github.com/contentstack/cli/blob/main/packages/contentstack-export/src/commands/cm/branches/merge-status.ts)_
233257
<!-- commandsstop -->

packages/contentstack-branches/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@
7575
"cm:branches:delete": "BRDEL",
7676
"cm:branches:diff": "BRDIF",
7777
"cm:branches:merge": "BRMRG",
78+
"cm:branches:merge-status": "BRMST",
7879
"cm:branches": "BRLS"
7980
}
8081
},
Lines changed: 69 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
1-
import startCase from 'lodash/startCase';
2-
import camelCase from 'lodash/camelCase';
31
import { cliux } from '@contentstack/cli-utilities';
2+
import camelCase from 'lodash/camelCase';
3+
import startCase from 'lodash/startCase';
4+
5+
import { BranchDiffPayload, BranchOptions } from '../interfaces';
46
import { getbranchConfig } from '../utils';
5-
import { BranchOptions, BranchDiffPayload } from '../interfaces';
6-
import { askBaseBranch, askCompareBranch, askStackAPIKey, selectModule } from '../utils/interactive';
77
import {
88
fetchBranchesDiff,
9-
parseSummary,
10-
printSummary,
9+
filterBranchDiffDataByModule,
1110
parseCompactText,
12-
printCompactTextView,
11+
parseSummary,
1312
parseVerbose,
13+
printCompactTextView,
14+
printSummary,
1415
printVerboseTextView,
15-
filterBranchDiffDataByModule,
1616
} from '../utils/branch-diff-utility';
1717
import { exportCSVReport } from '../utils/csv-utility';
18+
import { askBaseBranch, askCompareBranch, askStackAPIKey, selectModule } from '../utils/interactive';
1819

1920
export default class BranchDiffHandler {
2021
private options: BranchOptions;
@@ -23,46 +24,36 @@ export default class BranchDiffHandler {
2324
this.options = params;
2425
}
2526

26-
async run(): Promise<any> {
27-
await this.validateMandatoryFlags();
28-
await this.initBranchDiffUtility();
29-
}
30-
3127
/**
32-
* @methods validateMandatoryFlags - validate flags and prompt to select required flags
33-
* @returns {*} {Promise<void>}
28+
* @methods displayBranchDiffTextAndVerbose - to show branch differences in compactText or detailText format
29+
* @returns {*} {void}
3430
* @memberof BranchDiff
3531
*/
36-
async validateMandatoryFlags(): Promise<void> {
37-
let baseBranch: string;
38-
if (!this.options.stackAPIKey) {
39-
this.options.stackAPIKey = await askStackAPIKey();
40-
}
41-
42-
if (!this.options.baseBranch) {
43-
baseBranch = getbranchConfig(this.options.stackAPIKey);
44-
if (!baseBranch) {
45-
this.options.baseBranch = await askBaseBranch();
46-
} else {
47-
this.options.baseBranch = baseBranch;
48-
}
49-
}
50-
51-
if (!this.options.compareBranch) {
52-
this.options.compareBranch = await askCompareBranch();
53-
}
54-
55-
if (!this.options.module) {
56-
this.options.module = await selectModule();
57-
}
32+
async displayBranchDiffTextAndVerbose(branchDiffData: any[], payload: BranchDiffPayload): Promise<void> {
33+
const spinner = cliux.loaderV2('Loading branch differences...');
34+
if (this.options.format === 'compact-text') {
35+
const branchTextRes = parseCompactText(branchDiffData);
36+
cliux.loaderV2('', spinner);
37+
printCompactTextView(branchTextRes);
38+
} else if (this.options.format === 'detailed-text') {
39+
const verboseRes = await parseVerbose(branchDiffData, payload);
40+
cliux.loaderV2('', spinner);
41+
printVerboseTextView(verboseRes);
5842

59-
if (this.options.format === 'detailed-text' && !this.options.csvPath) {
60-
this.options.csvPath = process.cwd();
43+
exportCSVReport(payload.module, verboseRes, this.options.csvPath);
6144
}
45+
}
6246

63-
if(baseBranch){
64-
cliux.print(`\nBase branch: ${baseBranch}`, { color: 'grey' });
65-
}
47+
/**
48+
* @methods displaySummary - show branches summary on CLI
49+
* @returns {*} {void}
50+
* @memberof BranchDiff
51+
*/
52+
displaySummary(branchDiffData: any[], module: string): void {
53+
cliux.print(' ');
54+
cliux.print(`${startCase(camelCase(module))} Summary:`, { color: 'yellow' });
55+
const diffSummary = parseSummary(branchDiffData, this.options.baseBranch, this.options.compareBranch);
56+
printSummary(diffSummary);
6657
}
6758

6859
/**
@@ -73,11 +64,11 @@ export default class BranchDiffHandler {
7364
async initBranchDiffUtility(): Promise<void> {
7465
const spinner = cliux.loaderV2('Loading branch differences...');
7566
const payload: BranchDiffPayload = {
76-
module: '',
7767
apiKey: this.options.stackAPIKey,
7868
baseBranch: this.options.baseBranch,
7969
compareBranch: this.options.compareBranch,
80-
host: this.options.host
70+
host: this.options.host,
71+
module: ''
8172
};
8273

8374
if (this.options.module === 'content-types') {
@@ -91,7 +82,7 @@ export default class BranchDiffHandler {
9182
cliux.loaderV2('', spinner);
9283

9384
if(this.options.module === 'all'){
94-
for (let module in diffData) {
85+
for (const module in diffData) {
9586
const branchDiff = diffData[module];
9687
payload.module = module;
9788
this.displaySummary(branchDiff, module);
@@ -104,35 +95,45 @@ export default class BranchDiffHandler {
10495
}
10596
}
10697

107-
/**
108-
* @methods displaySummary - show branches summary on CLI
109-
* @returns {*} {void}
110-
* @memberof BranchDiff
111-
*/
112-
displaySummary(branchDiffData: any[], module: string): void {
113-
cliux.print(' ');
114-
cliux.print(`${startCase(camelCase(module))} Summary:`, { color: 'yellow' });
115-
const diffSummary = parseSummary(branchDiffData, this.options.baseBranch, this.options.compareBranch);
116-
printSummary(diffSummary);
98+
async run(): Promise<any> {
99+
await this.validateMandatoryFlags();
100+
await this.initBranchDiffUtility();
117101
}
118102

119103
/**
120-
* @methods displayBranchDiffTextAndVerbose - to show branch differences in compactText or detailText format
121-
* @returns {*} {void}
104+
* @methods validateMandatoryFlags - validate flags and prompt to select required flags
105+
* @returns {*} {Promise<void>}
122106
* @memberof BranchDiff
123107
*/
124-
async displayBranchDiffTextAndVerbose(branchDiffData: any[], payload: BranchDiffPayload): Promise<void> {
125-
const spinner = cliux.loaderV2('Loading branch differences...');
126-
if (this.options.format === 'compact-text') {
127-
const branchTextRes = parseCompactText(branchDiffData);
128-
cliux.loaderV2('', spinner);
129-
printCompactTextView(branchTextRes);
130-
} else if (this.options.format === 'detailed-text') {
131-
const verboseRes = await parseVerbose(branchDiffData, payload);
132-
cliux.loaderV2('', spinner);
133-
printVerboseTextView(verboseRes);
108+
async validateMandatoryFlags(): Promise<void> {
109+
let baseBranch: string;
110+
if (!this.options.stackAPIKey) {
111+
this.options.stackAPIKey = await askStackAPIKey();
112+
}
134113

135-
exportCSVReport(payload.module, verboseRes, this.options.csvPath);
114+
if (!this.options.baseBranch) {
115+
baseBranch = getbranchConfig(this.options.stackAPIKey);
116+
if (!baseBranch) {
117+
this.options.baseBranch = await askBaseBranch();
118+
} else {
119+
this.options.baseBranch = baseBranch;
120+
}
121+
}
122+
123+
if (!this.options.compareBranch) {
124+
this.options.compareBranch = await askCompareBranch();
125+
}
126+
127+
if (!this.options.module) {
128+
this.options.module = await selectModule();
129+
}
130+
131+
if (this.options.format === 'detailed-text' && !this.options.csvPath) {
132+
this.options.csvPath = process.cwd();
133+
}
134+
135+
if(baseBranch){
136+
cliux.print(`\nBase branch: ${baseBranch}`, { color: 'grey' });
136137
}
137138
}
138139
}

packages/contentstack-branches/src/branch/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22
* Business logics can be written inside this directory
33
*/
44

5-
export { default as MergeHandler } from './merge-handler';
65
export { default as BranchDiffHandler } from './diff-handler';
6+
export { default as MergeHandler } from './merge-handler';

0 commit comments

Comments
 (0)