sfdx-jayree 4.3.10 → 4.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/README.md +224 -251
  3. package/lib/src/commands/jayree/flowtestcoverage.js +4 -10
  4. package/lib/src/commands/jayree/flowtestcoverage.js.map +1 -1
  5. package/lib/src/commands/jayree/org/configure/country.d.ts +2 -4
  6. package/lib/src/commands/jayree/org/configure/country.js +3 -6
  7. package/lib/src/commands/jayree/org/configure/country.js.map +1 -1
  8. package/lib/src/commands/jayree/org/configure/index.js +2 -1
  9. package/lib/src/commands/jayree/org/configure/index.js.map +1 -1
  10. package/lib/src/commands/jayree/org/configure/state.d.ts +2 -4
  11. package/lib/src/commands/jayree/org/configure/state.js +1 -9
  12. package/lib/src/commands/jayree/org/configure/state.js.map +1 -1
  13. package/lib/src/commands/jayree/org/settings.d.ts +2 -4
  14. package/lib/src/commands/jayree/org/settings.js +5 -7
  15. package/lib/src/commands/jayree/org/settings.js.map +1 -1
  16. package/lib/src/commands/jayree/org/streaming.js +1 -1
  17. package/lib/src/commands/jayree/org/streaming.js.map +1 -1
  18. package/lib/src/commands/jayree/source/tracking/list.js +23 -24
  19. package/lib/src/commands/jayree/source/tracking/list.js.map +1 -1
  20. package/lib/src/commands/jayree/source/tracking/store/get.js +14 -15
  21. package/lib/src/commands/jayree/source/tracking/store/get.js.map +1 -1
  22. package/lib/src/commands/jayree/source/tracking/store/set.js +14 -15
  23. package/lib/src/commands/jayree/source/tracking/store/set.js.map +1 -1
  24. package/lib/src/hooks/changelog.d.ts +1 -1
  25. package/lib/src/hooks/changelog.js +4 -3
  26. package/lib/src/hooks/changelog.js.map +1 -1
  27. package/lib/src/hooks/postretrieve.d.ts +3 -3
  28. package/lib/src/hooks/postretrieve.js +5 -5
  29. package/lib/src/hooks/postretrieve.js.map +1 -1
  30. package/lib/src/hooks/preretrieve.d.ts +3 -3
  31. package/lib/src/hooks/prerun.d.ts +1 -1
  32. package/lib/src/hooks/prerun.js +9 -13
  33. package/lib/src/hooks/prerun.js.map +1 -1
  34. package/lib/src/utils/config.js +1 -1
  35. package/lib/src/utils/config.js.map +1 -1
  36. package/lib/src/utils/hookUtils.js +1 -1
  37. package/lib/src/utils/hookUtils.js.map +1 -1
  38. package/lib/src/utils/souceUtils.js +17 -12
  39. package/lib/src/utils/souceUtils.js.map +1 -1
  40. package/lib/src/utils/stateFolderHandler.d.ts +1 -0
  41. package/lib/src/utils/stateFolderHandler.js +69 -0
  42. package/lib/src/utils/stateFolderHandler.js.map +1 -0
  43. package/oclif.manifest.json +1 -1
  44. package/package.json +67 -78
  45. package/bin/is-sfdx.js +0 -3
  46. package/lib/src/commands/jayree/automation/changeset/deploy.d.ts +0 -23
  47. package/lib/src/commands/jayree/automation/changeset/deploy.js +0 -397
  48. package/lib/src/commands/jayree/automation/changeset/deploy.js.map +0 -1
  49. package/lib/src/commands/jayree/automation/changeset/list.d.ts +0 -11
  50. package/lib/src/commands/jayree/automation/changeset/list.js +0 -98
  51. package/lib/src/commands/jayree/automation/changeset/list.js.map +0 -1
  52. package/lib/src/commands/jayree/automation/ltngsync/status.d.ts +0 -22
  53. package/lib/src/commands/jayree/automation/ltngsync/status.js +0 -239
  54. package/lib/src/commands/jayree/automation/ltngsync/status.js.map +0 -1
  55. package/lib/src/commands/jayree/packagedescription/create.d.ts +0 -17
  56. package/lib/src/commands/jayree/packagedescription/create.js +0 -62
  57. package/lib/src/commands/jayree/packagedescription/create.js.map +0 -1
  58. package/lib/src/commands/jayree/packagedescription/get.d.ts +0 -16
  59. package/lib/src/commands/jayree/packagedescription/get.js +0 -57
  60. package/lib/src/commands/jayree/packagedescription/get.js.map +0 -1
  61. package/lib/src/commands/jayree/packagedescription/remove.d.ts +0 -16
  62. package/lib/src/commands/jayree/packagedescription/remove.js +0 -82
  63. package/lib/src/commands/jayree/packagedescription/remove.js.map +0 -1
  64. package/lib/src/commands/jayree/packagedescription/set.d.ts +0 -17
  65. package/lib/src/commands/jayree/packagedescription/set.js +0 -76
  66. package/lib/src/commands/jayree/packagedescription/set.js.map +0 -1
  67. package/lib/src/hooks/postsourceupdate.d.ts +0 -23
  68. package/lib/src/hooks/postsourceupdate.js +0 -134
  69. package/lib/src/hooks/postsourceupdate.js.map +0 -1
  70. package/messages/createpackagedescription.json +0 -5
  71. package/messages/deploychangeset.json +0 -8
  72. package/messages/getpackagedescription.json +0 -4
  73. package/messages/gitdiff.js +0 -7
  74. package/messages/listchangeset.json +0 -3
  75. package/messages/ltngsyncstatus.json +0 -6
  76. package/messages/manifestcleanup.json +0 -5
  77. package/messages/packagexml.json +0 -10
  78. package/messages/removepackagedescription.json +0 -4
  79. package/messages/scratchorgrevision.json +0 -8
  80. package/messages/setpackagedescription.json +0 -5
  81. package/messages/sourceretrieveall.js +0 -7
  82. package/messages/sourceretrievefull.js +0 -7
  83. package/yarn.lock +0 -7093
@@ -1,397 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /*
7
- * Copyright (c) 2021, jayree
8
- * All rights reserved.
9
- * Licensed under the BSD 3-Clause license.
10
- * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
11
- */
12
- const command_1 = require("@salesforce/command");
13
- const core_1 = require("@salesforce/core");
14
- const inquirer_1 = require("inquirer");
15
- const puppeteer_1 = __importDefault(require("puppeteer"));
16
- core_1.Messages.importMessagesDirectory(__dirname);
17
- const messages = core_1.Messages.loadMessages('sfdx-jayree', 'deploychangeset');
18
- class DeployChangeSet extends command_1.SfdxCommand {
19
- async run() {
20
- const conn = this.org.getConnection();
21
- const browser = await puppeteer_1.default.launch({
22
- headless: true,
23
- });
24
- let job;
25
- try {
26
- const page = await browser.newPage();
27
- await this.login(conn, page);
28
- await page.goto(conn.instanceUrl + '/changemgmt/listInboundChangeSet.apexp', {
29
- waitUntil: 'networkidle2',
30
- });
31
- const tables = await this.gettables(page);
32
- let sCS;
33
- if (!this.flags.nodialog) {
34
- const questions = [
35
- {
36
- type: 'list',
37
- message: 'Change Sets Awaiting Deployment',
38
- name: 'selectedChangeSet',
39
- choices: tables.csad.map((element) => ({
40
- value: element.ChangeSetName,
41
- name: element.Description
42
- ? `${element.ChangeSetName} - ${element.SourceOrganization} - ${element.UploadedBy} - ${element.UploadedDate} - ${element.Description}`
43
- : `${element.ChangeSetName} - ${element.SourceOrganization} - ${element.UploadedBy} - ${element.UploadedDate}`,
44
- short: element.ChangeSetName,
45
- })),
46
- default: this.flags.changeset,
47
- },
48
- {
49
- type: 'list',
50
- name: 'selectedMode',
51
- message: 'Choose Validate or Deploy',
52
- choices: ['Validate', 'Deploy'],
53
- default: () => (this.flags.checkonly ? 'Validate' : 'Deploy'),
54
- },
55
- {
56
- type: 'list',
57
- name: 'testlevel',
58
- message: 'Choose a Test Option',
59
- choices: ['Default', 'Run Local Tests', 'Run All Tests In Org', 'Run Specified Tests'],
60
- default: () => (this.flags.testlevel ? this.flags.testlevel.replace(/([A-Z])/g, ' $1').trim() : 'Default'),
61
- filter: (val) => {
62
- return val.replace(/( )/g, '');
63
- },
64
- },
65
- {
66
- type: 'input',
67
- name: 'runtests',
68
- message: 'Only the tests that you specify are run. Provide the names of test classes in a comma-separated list:',
69
- default: this.flags.runtests,
70
- when: (answers) => {
71
- return answers.testlevel === 'RunSpecifiedTests';
72
- },
73
- validate: (answer) => {
74
- if (answer.length < 1) {
75
- return 'You must specify at least one test.';
76
- }
77
- return true;
78
- },
79
- },
80
- ];
81
- sCS = await (0, inquirer_1.prompt)(questions).then((answers) => {
82
- return answers;
83
- });
84
- }
85
- else {
86
- sCS = {
87
- selectedChangeSet: this.flags.changeset,
88
- selectedMode: this.flags.checkonly ? 'Validate' : 'Deploy',
89
- testlevel: this.flags.testlevel,
90
- };
91
- if (this.flags.testlevel === 'RunSpecifiedTests') {
92
- if (!this.flags.runtests) {
93
- throw Error('INVALID_OPERATION: runTests must not be empty when a testLevel of RunSpecifiedTests is used.');
94
- }
95
- else {
96
- sCS['runtests'] = this.flags.runtests;
97
- }
98
- }
99
- }
100
- // console.log(sCS);
101
- const changeset = tables.csad.filter((element) => sCS.selectedChangeSet.includes(element.ChangeSetName))[0];
102
- // for await (const changeset of tables.csad.filter(element => sCS.selectedChangeSet.includes(element['Change Set Name']))) {
103
- // console.log(changeset);
104
- if (!changeset) {
105
- throw Error(`Change Set '${sCS.selectedChangeSet}' not found!`);
106
- }
107
- // open detail page
108
- await page.goto(conn.instanceUrl + changeset.DetailPage, {
109
- waitUntil: 'networkidle2',
110
- });
111
- await this.clickvalidateordeploy(page, sCS.selectedMode);
112
- switch (sCS.testlevel) {
113
- case 'Default':
114
- await this.selecttest(page, '0');
115
- break;
116
- case 'RunSpecifiedTests':
117
- await this.selecttest(page, '3', sCS.runtests);
118
- break;
119
- case 'RunLocalTests': {
120
- await this.selecttest(page, '1');
121
- break;
122
- }
123
- case 'RunAllTestsInOrg':
124
- await this.selecttest(page, '2');
125
- break;
126
- default:
127
- await this.selecttest(page, '0');
128
- }
129
- await this.clickvalidateordeploy2(page, sCS.selectedMode);
130
- job = await this.getjob(conn, page, changeset);
131
- // console.log(job);
132
- // console.log(`sfdx force:mdapi:deploy:report -i ${jobId} -u ${conn.getUsername()} --json`);
133
- this.ux.log(`Deploying Change Set '${sCS.selectedChangeSet}'...`);
134
- this.ux.log('');
135
- if (changeset.HTMLDescription) {
136
- this.ux.styledHeader('Description');
137
- this.ux.log(changeset.HTMLDescription);
138
- this.ux.log('');
139
- }
140
- this.ux.styledHeader('Status');
141
- this.ux.log('Status: ' + job.status);
142
- this.ux.log('jobid: ' + job.id);
143
- // }
144
- }
145
- finally {
146
- await browser.close();
147
- }
148
- return {
149
- done: false,
150
- id: job.id,
151
- state: job.status,
152
- status: job.status,
153
- timedOut: true,
154
- };
155
- }
156
- async login(conn, page) {
157
- await page.goto(conn.instanceUrl + '/secur/frontdoor.jsp?sid=' + conn.accessToken, {
158
- waitUntil: 'networkidle2',
159
- });
160
- }
161
- async selecttest(page, index, runtests = '') {
162
- await page.evaluate((i) => {
163
- document
164
- .getElementById('inboundChangeSetTestOptions:pageForm:ics_test_level_block:testLevel_section:test_level_sub_section:deploymentTestLevel:' +
165
- i)
166
- .click();
167
- }, index);
168
- if (runtests !== '') {
169
- await page.waitForSelector('textarea[name="inboundChangeSetTestOptions:pageForm:ics_test_level_block:testLevel_section:test_level_sub_section:j_id7"]');
170
- await page.focus('textarea[name="inboundChangeSetTestOptions:pageForm:ics_test_level_block:testLevel_section:test_level_sub_section:j_id7"]');
171
- await page.keyboard.type(runtests);
172
- }
173
- }
174
- async clickvalidateordeploy(page, selectedMode) {
175
- if (selectedMode === 'Validate') {
176
- // click on validate
177
- await page.evaluate(() => {
178
- document
179
- .getElementById('inboundChangeSetDetailPage:inboundChangeSetDetailPageBody:inboundChangeSetDetailPageBody:detail_form:ics_detail_block:form_buttons:validate_button')
180
- .click();
181
- });
182
- }
183
- else {
184
- // click on deploy
185
- await page.evaluate(() => {
186
- document
187
- .getElementById('inboundChangeSetDetailPage:inboundChangeSetDetailPageBody:inboundChangeSetDetailPageBody:detail_form:ics_detail_block:form_buttons:deploy_button')
188
- .click();
189
- });
190
- }
191
- await page.waitForNavigation({
192
- waitUntil: 'networkidle2',
193
- });
194
- }
195
- async clickvalidateordeploy2(page, selectedMode) {
196
- if (selectedMode === 'Validate') {
197
- // click on validate
198
- await page.evaluate(() => {
199
- document
200
- .getElementById('inboundChangeSetTestOptions:pageForm:ics_test_level_block:form_buttons:validate_button')
201
- .click();
202
- });
203
- }
204
- else {
205
- // click on deploy
206
- await page.evaluate(() => {
207
- document
208
- .getElementById('inboundChangeSetTestOptions:pageForm:ics_test_level_block:form_buttons:deploy_button')
209
- .click();
210
- });
211
- }
212
- // click on ok
213
- await page.waitForSelector('#simpleDialog0button0');
214
- await page.evaluate(() => {
215
- document.getElementById('simpleDialog0button0').click();
216
- });
217
- await page.waitForNavigation({
218
- waitUntil: 'networkidle2',
219
- });
220
- }
221
- async getjob(conn, page, cs) {
222
- // open deployment status
223
- await page.goto(conn.instanceUrl + '/changemgmt/monitorDeployment.apexp', {
224
- waitUntil: 'networkidle0',
225
- });
226
- // try {
227
- const job = await page.evaluate((csN) => {
228
- let id;
229
- let currentname;
230
- // let pendinglist;
231
- let pendingid;
232
- let running = false;
233
- if (typeof document.getElementById('viewErrors') !== 'undefined' && document.getElementById('viewErrors')) {
234
- id = document.getElementById('viewErrors').getAttribute('onclick').split('asyncId=')[1].split("'")[0];
235
- running = true;
236
- }
237
- if (typeof document.querySelector('#inProgressSummaryContainer > ul > li:nth-child(1)') !== 'undefined' &&
238
- document.querySelector('#inProgressSummaryContainer > ul > li:nth-child(1)')) {
239
- currentname = document
240
- .querySelector('#inProgressSummaryContainer > ul > li:nth-child(1)')
241
- .textContent.replace(/(\t|\n)/g, '')
242
- .split(':')[1]
243
- .trim();
244
- running = true;
245
- }
246
- // const rows = [];
247
- if (typeof document.getElementById('MonitorDeploymentsPage:pendingDeploymentsList') !== 'undefined' &&
248
- document.getElementById('MonitorDeploymentsPage:pendingDeploymentsList')) {
249
- const table = document.getElementById('MonitorDeploymentsPage:pendingDeploymentsList');
250
- running = true;
251
- for (let r = 0, n = table.rows.length; r < n; r++) {
252
- const div = document.createElement('div');
253
- div.innerHTML = table.rows[r].cells[0].innerHTML;
254
- // rows.push({ Action: (div.firstChild as Element).getAttribute('href').split("\'")[1], Name: table.rows[r].cells[1].innerText.replace(/(:\t|\t)/g, '') });
255
- if (table.rows[r].cells[1].innerText.replace(/(:\t|\t)/g, '') === csN) {
256
- pendingid = div.firstChild.getAttribute('href').split("'")[1];
257
- }
258
- }
259
- }
260
- // pendinglist = rows;
261
- return { id, currentname, pendingid, running };
262
- }, cs.ChangeSetName);
263
- this.logger.warn(JSON.stringify(job));
264
- if (!job.running) {
265
- // open detail page
266
- await page.goto(conn.instanceUrl + cs.DetailPage, {
267
- waitUntil: 'networkidle2',
268
- });
269
- const csstatus = await page.evaluate(() => {
270
- const tableid = 'inboundChangeSetDetailPage:inboundChangeSetDetailPageBody:inboundChangeSetDetailPageBody:detail_form:ics_deploy_history:ics_deploy_history_BlockSection:ics_deploy_history_table';
271
- // const rows = [];
272
- if (typeof document.getElementById(tableid) !== 'undefined' && document.getElementById(tableid)) {
273
- const table = document.getElementById(tableid);
274
- const div = document.createElement('div');
275
- div.innerHTML = table.rows[1].cells[0].innerHTML;
276
- return {
277
- id: div.firstChild.getAttribute('href').split('asyncId=')[1].split('&')[0],
278
- status: table.rows[1].cells[1].innerText.replace(/(:\t|\t)/g, '').split(': ')[1],
279
- };
280
- }
281
- });
282
- return {
283
- id: csstatus.id,
284
- name: cs.ChangeSetName,
285
- status: csstatus.status,
286
- running: job.running,
287
- };
288
- }
289
- if (cs.ChangeSetName === job.currentname) {
290
- return {
291
- id: job.id,
292
- name: job.currentname,
293
- status: 'InProgress',
294
- running: job.running,
295
- };
296
- }
297
- else {
298
- return {
299
- id: job.pendingid,
300
- name: cs.ChangeSetName,
301
- status: 'Pending',
302
- running: job.running,
303
- };
304
- }
305
- // } catch {
306
- // return false;
307
- // }
308
- }
309
- async gettables(page) {
310
- return await page.evaluate(() => {
311
- const converttable = (document, tableid) => {
312
- const rows = [];
313
- if (typeof document.getElementById(tableid) !== 'undefined' && document.getElementById(tableid)) {
314
- const table = document.getElementById(tableid);
315
- for (let r = 1, n = table.rows.length; r < n; r++) {
316
- const cells = {};
317
- for (let c = 1, m = table.rows[r].cells.length; c < m; c++) {
318
- cells[table.rows[0].cells[c].innerText.replace(/(\n|\t| )/g, '')] = table.rows[r].cells[c].innerText.replace(/(:\t|\t)/g, '');
319
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Uploaded By') {
320
- cells[table.rows[0].cells[c].innerText.replace(/(\n|\t| )/g, '')] = table.rows[r].cells[c].innerText.replace(/( @.*)/g, '');
321
- }
322
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Description') {
323
- cells['HTMLDescription'] = table.rows[r].cells[c].innerHTML;
324
- }
325
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Change Set Name') {
326
- const div = document.createElement('div');
327
- div.innerHTML = table.rows[r].cells[c].innerHTML;
328
- cells['DetailPage'] = div.firstChild.getAttribute('href');
329
- }
330
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Source Organization') {
331
- const div = document.createElement('div');
332
- div.innerHTML = table.rows[r].cells[c].innerHTML;
333
- cells['SourceOrganizationID'] = div.firstChild.getAttribute('href').split('id=')[1];
334
- }
335
- }
336
- rows.push(cells);
337
- }
338
- }
339
- return rows;
340
- };
341
- return {
342
- csad: converttable(document, 'ListInboundChangeSetPage:listInboundChangeSetPageBody:listInboundChangeSetPageBody:ListInboundChangeSetForm:AwaitingDeploymentPageBlock:ListUnDeployedInboundChangeSetBlockSection:UnDeployedInboundChangeSetList'),
343
- dcs: converttable(document, 'ListInboundChangeSetPage:listInboundChangeSetPageBody:listInboundChangeSetPageBody:ListInboundChangeSetForm:DeployedPageBlock:ListDeployedInboundChangeSetBlockSection:DeployedInboundChangeSetList'),
344
- };
345
- });
346
- }
347
- }
348
- exports.default = DeployChangeSet;
349
- DeployChangeSet.description = messages.getMessage('commandDescription');
350
- DeployChangeSet.examples = [
351
- `$ sfdx jayree:automation:changeset:deploy -s ChangeSet -l RunLocalTests --nodialog
352
- Deploying Change Set 'ChangeSet'...
353
-
354
- === Status
355
- Status: Pending
356
- jobid: 0Xxx100000xx1x1
357
- `,
358
- `$ sfdx jayree:automation:changeset:deploy
359
- ? Change Sets Awaiting Deployment (Use arrow keys)
360
- ChangeSet3
361
- ChangeSet2
362
- ❯ ChangeSet1
363
- `,
364
- ];
365
- DeployChangeSet.flagsConfig = {
366
- changeset: command_1.flags.string({
367
- char: 's',
368
- description: messages.getMessage('changesetFlagDescription'),
369
- required: false,
370
- }),
371
- runtests: command_1.flags.string({
372
- char: 'r',
373
- description: messages.getMessage('runtestsFlagDescription'),
374
- required: false,
375
- dependsOn: ['testlevel'],
376
- }),
377
- testlevel: command_1.flags.string({
378
- char: 'l',
379
- description: messages.getMessage('testlevelFlagDescription'),
380
- required: false,
381
- options: ['Default', 'RunSpecifiedTests', 'RunLocalTests', 'RunAllTestsInOrg'],
382
- }),
383
- checkonly: command_1.flags.boolean({
384
- char: 'c',
385
- description: messages.getMessage('checkonlyFlagDescription'),
386
- required: false,
387
- }),
388
- nodialog: command_1.flags.boolean({
389
- description: messages.getMessage('nodialogFlagDescription'),
390
- required: false,
391
- dependsOn: ['changeset'],
392
- }),
393
- };
394
- DeployChangeSet.requiresUsername = true;
395
- DeployChangeSet.supportsDevhubUsername = false;
396
- DeployChangeSet.requiresProject = false;
397
- //# sourceMappingURL=deploy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../../../../src/commands/jayree/automation/changeset/deploy.ts"],"names":[],"mappings":"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"}
@@ -1,11 +0,0 @@
1
- import { SfdxCommand } from '@salesforce/command';
2
- import { AnyJson } from '@salesforce/ts-types';
3
- export default class ViewChangeSets extends SfdxCommand {
4
- static description: string;
5
- protected static requiresUsername: boolean;
6
- protected static supportsDevhubUsername: boolean;
7
- protected static requiresProject: boolean;
8
- run(): Promise<AnyJson>;
9
- private login;
10
- private gettables;
11
- }
@@ -1,98 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- /*
7
- * Copyright (c) 2021, jayree
8
- * All rights reserved.
9
- * Licensed under the BSD 3-Clause license.
10
- * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
11
- */
12
- const command_1 = require("@salesforce/command");
13
- const core_1 = require("@salesforce/core");
14
- const puppeteer_1 = __importDefault(require("puppeteer"));
15
- core_1.Messages.importMessagesDirectory(__dirname);
16
- const messages = core_1.Messages.loadMessages('sfdx-jayree', 'listchangeset');
17
- class ViewChangeSets extends command_1.SfdxCommand {
18
- async run() {
19
- const conn = this.org.getConnection();
20
- const browser = await puppeteer_1.default.launch({
21
- headless: true,
22
- });
23
- const page = await browser.newPage();
24
- await this.login(conn, page);
25
- await page.goto(conn.instanceUrl + '/changemgmt/listInboundChangeSet.apexp', {
26
- waitUntil: 'networkidle2',
27
- });
28
- const tables = await this.gettables(page);
29
- // eslint-disable-next-line @typescript-eslint/await-thenable
30
- await this.ux.styledJSON(tables.csad);
31
- /* const jsonParsed = {};
32
- tables.csad.forEach(value => {
33
- const keyval = value[Object.keys(value)[0]];
34
- delete value[Object.keys(value)[0]];
35
- jsonParsed[keyval] = value;
36
- });
37
- await this.ux.styledJSON(jsonParsed); */
38
- await browser.close();
39
- return tables.csad;
40
- }
41
- async login(conn, page) {
42
- await page.goto(conn.instanceUrl + '/secur/frontdoor.jsp?sid=' + conn.accessToken, {
43
- waitUntil: 'networkidle2',
44
- });
45
- }
46
- async gettables(page) {
47
- return await page.evaluate(() => {
48
- const converttable = (document, tableid) => {
49
- const rows = [];
50
- if (typeof document.getElementById(tableid) !== 'undefined' && document.getElementById(tableid)) {
51
- const table = document.getElementById(tableid);
52
- for (let r = 1, n = table.rows.length; r < n; r++) {
53
- const cells = {};
54
- for (let c = 1, m = table.rows[r].cells.length; c < m; c++) {
55
- cells[table.rows[0].cells[c].innerText.replace(/(\n|\t| )/g, '')] = table.rows[r].cells[c].innerText.replace(/(:\t|\t)/g, '');
56
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Uploaded By') {
57
- cells[table.rows[0].cells[c].innerText.replace(/(\n|\t| )/g, '')] = table.rows[r].cells[c].innerText.replace(/( @.*)/g, '');
58
- }
59
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Description') {
60
- cells['HTMLDescription'] = table.rows[r].cells[c].innerHTML;
61
- }
62
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Change Set Name') {
63
- const div = document.createElement('div');
64
- div.innerHTML = table.rows[r].cells[c].innerHTML;
65
- cells['DetailPage'] = div.firstChild.getAttribute('href');
66
- }
67
- if (table.rows[0].cells[c].innerText.replace(/(\n|\t)/g, '') === 'Source Organization') {
68
- const div = document.createElement('div');
69
- div.innerHTML = table.rows[r].cells[c].innerHTML;
70
- cells['SourceOrganizationID'] = div.firstChild.getAttribute('href').split('id=')[1];
71
- }
72
- }
73
- rows.push(cells);
74
- }
75
- }
76
- return rows;
77
- };
78
- return {
79
- csad: converttable(document, 'ListInboundChangeSetPage:listInboundChangeSetPageBody:listInboundChangeSetPageBody:ListInboundChangeSetForm:AwaitingDeploymentPageBlock:ListUnDeployedInboundChangeSetBlockSection:UnDeployedInboundChangeSetList'),
80
- dcs: converttable(document, 'ListInboundChangeSetPage:listInboundChangeSetPageBody:listInboundChangeSetPageBody:ListInboundChangeSetForm:DeployedPageBlock:ListDeployedInboundChangeSetBlockSection:DeployedInboundChangeSetList'),
81
- };
82
- });
83
- }
84
- }
85
- exports.default = ViewChangeSets;
86
- ViewChangeSets.description = messages.getMessage('commandDescription');
87
- /* public static examples = [
88
- `$ sfdx jayree:automation:usersyncstatus -o 'Name'
89
- configSetup: User assigned to active Lightning Sync configuration... Yes
90
- userContacts/userEvents: Salesforce and Exchange email addresses linked... Linked/Linked
91
- userContacts/userEvents: Salesforce to Exchange sync status... Initial sync completed/Initial sync completed
92
- userContacts/userEvents: Exchange to Salesforce sync status... Initial sync completed/Initial sync completed
93
- `
94
- ]; */
95
- ViewChangeSets.requiresUsername = true;
96
- ViewChangeSets.supportsDevhubUsername = false;
97
- ViewChangeSets.requiresProject = false;
98
- //# sourceMappingURL=list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/jayree/automation/changeset/list.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import { flags, SfdxCommand } from '@salesforce/command';
2
- import { AnyJson } from '@salesforce/ts-types';
3
- export default class LtngSyncStatus extends SfdxCommand {
4
- static description: string;
5
- static examples: string[];
6
- protected static flagsConfig: {
7
- officeuser: flags.Discriminated<flags.String>;
8
- statusonly: flags.Discriminated<flags.Boolean<boolean>>;
9
- wait: flags.Discriminated<flags.Number>;
10
- };
11
- protected static requiresUsername: boolean;
12
- protected static supportsDevhubUsername: boolean;
13
- protected static requiresProject: boolean;
14
- run(): Promise<AnyJson>;
15
- private checkUserSetup;
16
- private checkUserReset;
17
- private checkContactsEvents;
18
- private login;
19
- private resetuser;
20
- private gettables;
21
- private checkstatus;
22
- }