sfdx-jayree 4.5.1 → 4.6.0

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 (50) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/README.md +71 -198
  3. package/lib/commands/jayree/flowtestcoverage.d.ts +8 -7
  4. package/lib/commands/jayree/flowtestcoverage.js +24 -15
  5. package/lib/commands/jayree/flowtestcoverage.js.map +1 -1
  6. package/lib/commands/jayree/org/settings.d.ts +9 -10
  7. package/lib/commands/jayree/org/settings.js +30 -26
  8. package/lib/commands/jayree/org/settings.js.map +1 -1
  9. package/lib/commands/jayree/org/streaming.d.ts +8 -9
  10. package/lib/commands/jayree/org/streaming.js +14 -14
  11. package/lib/commands/jayree/org/streaming.js.map +1 -1
  12. package/lib/commands/jayree/source/fix.d.ts +8 -9
  13. package/lib/commands/jayree/source/fix.js +12 -11
  14. package/lib/commands/jayree/source/fix.js.map +1 -1
  15. package/lib/commands/jayree/version.d.ts +3 -3
  16. package/lib/commands/jayree/version.js +4 -3
  17. package/lib/commands/jayree/version.js.map +1 -1
  18. package/lib/utils/config.js +0 -25
  19. package/lib/utils/config.js.map +1 -1
  20. package/lib/utils/stateFolderHandler.js +1 -2
  21. package/lib/utils/stateFolderHandler.js.map +1 -1
  22. package/oclif.manifest.json +76 -510
  23. package/package.json +86 -39
  24. package/config/countrystate.json +0 -93
  25. package/lib/commands/jayree/org/configure/country.d.ts +0 -11
  26. package/lib/commands/jayree/org/configure/country.js +0 -137
  27. package/lib/commands/jayree/org/configure/country.js.map +0 -1
  28. package/lib/commands/jayree/org/configure/index.d.ts +0 -15
  29. package/lib/commands/jayree/org/configure/index.js +0 -135
  30. package/lib/commands/jayree/org/configure/index.js.map +0 -1
  31. package/lib/commands/jayree/org/configure/state.d.ts +0 -16
  32. package/lib/commands/jayree/org/configure/state.js +0 -239
  33. package/lib/commands/jayree/org/configure/state.js.map +0 -1
  34. package/lib/jayreeSfdxCommand.d.ts +0 -4
  35. package/lib/jayreeSfdxCommand.js +0 -15
  36. package/lib/jayreeSfdxCommand.js.map +0 -1
  37. package/lib/utils/puppeteer/configuretasks.d.ts +0 -14
  38. package/lib/utils/puppeteer/configuretasks.js +0 -270
  39. package/lib/utils/puppeteer/configuretasks.js.map +0 -1
  40. package/lib/utils/puppeteer/statetasks.d.ts +0 -51
  41. package/lib/utils/puppeteer/statetasks.js +0 -385
  42. package/lib/utils/puppeteer/statetasks.js.map +0 -1
  43. package/lib/utils/renderer.d.ts +0 -45
  44. package/lib/utils/renderer.js +0 -461
  45. package/lib/utils/renderer.js.map +0 -1
  46. package/messages/configure.json +0 -5
  47. package/messages/createstatecountry.json +0 -9
  48. package/messages/scratchorgtrackingget.json +0 -3
  49. package/messages/scratchorgtrackinglist.json +0 -4
  50. package/messages/scratchorgtrackingset.json +0 -4
@@ -1,385 +0,0 @@
1
- /*
2
- * Copyright (c) 2021, jayree
3
- * All rights reserved.
4
- * Licensed under the BSD 3-Clause license.
5
- * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
- */
7
- import { createRequire } from 'module';
8
- import playwright from 'playwright-chromium';
9
- import { Tabletojson as tabletojson } from 'tabletojson';
10
- import Debug from 'debug';
11
- import config from '../config.js';
12
- const require = createRequire(import.meta.url);
13
- const CSconfig = require('../../../config/countrystate.json');
14
- const debug = Debug('jayree:x:y');
15
- export class PuppeteerStateTasks {
16
- constructor(auth) {
17
- this.nextAddTaskIndex = -1;
18
- this.nextDeactivateTaskIndex = -1;
19
- this.auth = auth;
20
- }
21
- static async setHTMLInputElementValue(page, element, newvalue) {
22
- element = element.replace(/:/g, '\\:');
23
- const elementCurrentValue = await page.evaluate((s) => {
24
- const result = document.querySelector(s);
25
- if (result != null) {
26
- return result.value;
27
- }
28
- else {
29
- return '';
30
- }
31
- }, element);
32
- if (!(elementCurrentValue === newvalue)) {
33
- const elementDisabled = await page.evaluate((s) => {
34
- const result = document.querySelector(s);
35
- if (result != null) {
36
- return result['disabled'];
37
- }
38
- else {
39
- return true;
40
- }
41
- }, element);
42
- if (!elementDisabled) {
43
- await page.fill(element, newvalue);
44
- return 'changed';
45
- }
46
- else {
47
- return 'disabled';
48
- }
49
- }
50
- else {
51
- return 'unchanged';
52
- }
53
- }
54
- static async setHTMLInputElementChecked(page, element, newstate, waitForEnable) {
55
- element = element.replace(/:/g, '\\:');
56
- const elementCheckedState = await page.evaluate((s) => document.querySelector(s)['checked'], element);
57
- if (!elementCheckedState === newstate) {
58
- if (waitForEnable) {
59
- await page.waitForFunction((s) => {
60
- const val = document.querySelector(s)['disabled'];
61
- return val === false;
62
- }, element, {
63
- timeout: 0,
64
- });
65
- }
66
- const elementDisabledState = await page.evaluate((s) => document.querySelector(s)['disabled'], element);
67
- if (!elementDisabledState) {
68
- await page.click(element);
69
- return 'changed';
70
- }
71
- else {
72
- return 'disabled';
73
- }
74
- }
75
- else {
76
- return 'unchanged';
77
- }
78
- }
79
- async validateParameterCountryCode(countrycode) {
80
- const page = await this.context.newPage();
81
- try {
82
- if (!this.countries) {
83
- await page.goto('https://www.iso.org/obp/ui/#search', {
84
- waitUntil: 'networkidle',
85
- });
86
- await page.waitForSelector('#gwt-uid-12');
87
- await page.click('#gwt-uid-12');
88
- await page.evaluate(() => document.querySelector('#gwt-uid-12')['checked']);
89
- await page.click('.go');
90
- await page.waitForSelector('.v-grid-tablewrapper');
91
- await page.selectOption('.v-select-select', '8');
92
- await page.waitForFunction(() => document.querySelector('.paging-align-fix').innerHTML === '');
93
- let converted = [];
94
- do {
95
- // eslint-disable-next-line no-await-in-loop
96
- const table = await page.evaluate(() => document.querySelector('.v-grid-tablewrapper').outerHTML);
97
- converted = tabletojson.convert(table)[0];
98
- } while (converted.length !== converted.map((x) => x['Alpha-2 code']).filter(Boolean).length);
99
- this.countries = converted
100
- .map((x) => ({ name: `${x['English short name']} (${x['Alpha-2 code']})`, value: x['Alpha-2 code'] }))
101
- .filter(Boolean)
102
- .sort((a, b) => {
103
- const x = a.value;
104
- const y = b.value;
105
- return x < y ? -1 : x > y ? 1 : 0;
106
- });
107
- }
108
- if (this.countries.map((x) => x.value).includes(countrycode)) {
109
- await page.goto(`https://www.iso.org/obp/ui/#iso:code:3166:${countrycode}`, {
110
- waitUntil: 'networkidle',
111
- });
112
- await page.waitForSelector('.tablesorter', { state: 'visible' });
113
- this.countrycode = countrycode.toUpperCase();
114
- const table = await page.evaluate(() => document.querySelector('table#subdivision').outerHTML);
115
- // eslint-disable-next-line @typescript-eslint/no-shadow
116
- const converted = tabletojson.convert(table)[0];
117
- const jsonParsed = {};
118
- if (typeof converted !== 'undefined') {
119
- converted.forEach((value) => {
120
- const keyval = value[Object.keys(value)[0]];
121
- delete value[Object.keys(value)[0]];
122
- if (jsonParsed[keyval] === undefined) {
123
- jsonParsed[keyval] = [];
124
- }
125
- jsonParsed[keyval].push(value);
126
- });
127
- }
128
- this.ISOData = jsonParsed;
129
- }
130
- else {
131
- this.countrycode = undefined;
132
- }
133
- }
134
- catch (error) {
135
- debug(error);
136
- }
137
- await page.close();
138
- return { selected: this.countrycode, values: this.countries };
139
- }
140
- validateParameterCategory(category) {
141
- let categories;
142
- if (this.ISOData) {
143
- categories = Object.keys(this.ISOData);
144
- }
145
- if (categories?.includes(category)) {
146
- this.category = category;
147
- }
148
- else if (categories) {
149
- if (categories.length === 1) {
150
- this.category = categories[0];
151
- }
152
- }
153
- else {
154
- this.category = undefined;
155
- }
156
- return { selected: this.category, values: categories };
157
- }
158
- validateParameterLanguage(language) {
159
- let languagecodes;
160
- if (this.category && this.ISOData) {
161
- languagecodes = this.ISOData[this.category]
162
- .map((v) => v['Language code'])
163
- .filter((v, i, s) => s.indexOf(v) === i);
164
- }
165
- if (languagecodes?.includes(language)) {
166
- this.language = language;
167
- }
168
- else if (languagecodes) {
169
- if (languagecodes.length === 1) {
170
- this.language = languagecodes[0];
171
- }
172
- }
173
- else {
174
- this.language = undefined;
175
- }
176
- return { selected: this.language, values: languagecodes };
177
- }
178
- async validateParameter(countrycode, category, language) {
179
- const page = await this.context.newPage();
180
- try {
181
- await page.goto(`https://www.iso.org/obp/ui/#iso:code:3166:${this.countrycode}`, {
182
- waitUntil: 'networkidle',
183
- });
184
- await page.waitForSelector('.tablesorter', { state: 'visible' });
185
- this.countrycode = countrycode.toUpperCase();
186
- }
187
- catch (error) {
188
- this.countrycode = undefined;
189
- }
190
- const table = await page.evaluate(() => document.querySelector('table#subdivision').outerHTML);
191
- const converted = tabletojson.convert(table)[0];
192
- const jsonParsed = {};
193
- if (typeof converted !== 'undefined') {
194
- converted.forEach((value) => {
195
- const keyval = value[Object.keys(value)[0]];
196
- delete value[Object.keys(value)[0]];
197
- if (jsonParsed[keyval] === undefined) {
198
- jsonParsed[keyval] = [];
199
- }
200
- jsonParsed[keyval].push(value);
201
- });
202
- }
203
- if (Object.keys(jsonParsed).includes(category)) {
204
- this.category = category;
205
- const languagecodes = jsonParsed[category].map((v) => v['Language code']).filter((v, i, s) => s.indexOf(v) === i);
206
- if (!languagecodes.includes(language)) {
207
- this.language = undefined;
208
- }
209
- else {
210
- this.language = language;
211
- }
212
- }
213
- else {
214
- this.category = undefined;
215
- }
216
- return { countrycode, category, language };
217
- }
218
- validateData() {
219
- if (this.countrycode === undefined) {
220
- // throw Error('The country code element was not found');
221
- throw Error('Expected --countrycode= to be one of: ' + this.countries.map((x) => x.value).toString());
222
- }
223
- if (this.category === undefined) {
224
- throw Error('Expected --category= to be one of: ' + Object.keys(this.ISOData).toString());
225
- }
226
- if (this.language === undefined) {
227
- const languagecodes = this.ISOData[this.category]
228
- .map((v) => v['Language code'])
229
- .filter((v, i, s) => s.indexOf(v) === i);
230
- throw Error('Expected --language to be one of: ' + languagecodes.toString());
231
- }
232
- this.addTasks = this.ISOData[this.category].filter((v) => v['Language code'] === this.language);
233
- this.deactivateTasks = CSconfig.deactivate[this.countrycode]
234
- ? CSconfig.deactivate[this.countrycode][this.category]
235
- : [];
236
- return { add: this.addTasks, deactivate: this.deactivateTasks };
237
- }
238
- async getData(countrycode, category, language) {
239
- this.countrycode = countrycode.toUpperCase();
240
- const page = await this.context.newPage();
241
- const list = { add: [], deactivate: [] };
242
- try {
243
- await page.goto(`https://www.iso.org/obp/ui/#iso:code:3166:${this.countrycode}`, {
244
- waitUntil: 'networkidle',
245
- });
246
- await page.waitForSelector('.tablesorter', { state: 'visible' });
247
- }
248
- catch (error) {
249
- throw Error(`The country code element (${this.countrycode}) was not found`);
250
- }
251
- const table = await page.evaluate(() => document.querySelector('table#subdivision').outerHTML);
252
- const converted = tabletojson.convert(table)[0];
253
- const jsonParsed = {};
254
- if (typeof converted !== 'undefined') {
255
- converted.forEach((value) => {
256
- const keyval = value[Object.keys(value)[0]];
257
- delete value[Object.keys(value)[0]];
258
- if (jsonParsed[keyval] === undefined) {
259
- jsonParsed[keyval] = [];
260
- }
261
- jsonParsed[keyval].push(value);
262
- });
263
- }
264
- if (Object.keys(jsonParsed).includes(category)) {
265
- const languagecodes = jsonParsed[category].map((v) => v['Language code']).filter((v, i, s) => s.indexOf(v) === i);
266
- if (!languagecodes.includes(language)) {
267
- throw Error('Expected --language to be one of: ' + languagecodes.toString());
268
- }
269
- list.add = jsonParsed[category].filter((v) => v['Language code'] === language);
270
- list.deactivate = CSconfig.deactivate[this.countrycode] ? CSconfig.deactivate[this.countrycode][category] : [];
271
- }
272
- else {
273
- throw Error('Expected --category= to be one of: ' + Object.keys(jsonParsed).toString());
274
- }
275
- this.addTasks = list.add;
276
- this.deactivateTasks = list.deactivate;
277
- return list;
278
- }
279
- async setCountryIntegrationValue() {
280
- const page = await this.context.newPage();
281
- await page.goto(this.auth.instanceUrl +
282
- `/i18n/ConfigureCountry.apexp?countryIso=${this.countrycode}&setupid=AddressCleanerOverview`, {
283
- waitUntil: 'networkidle',
284
- });
285
- const setCountrySelector = CSconfig.setCountry;
286
- const editIntValResult = await PuppeteerStateTasks.setHTMLInputElementValue(page, setCountrySelector.editIntVal, this.countrycode);
287
- debug({ editIntValResult });
288
- await page.click(setCountrySelector.save.replace(/:/g, '\\:'));
289
- await page.waitForSelector('.message.confirmM3', { state: 'visible' });
290
- return editIntValResult === 'changed' ? true : false;
291
- }
292
- async executeAdd() {
293
- const task = this.currentAddTask;
294
- const page = await this.context.newPage();
295
- const countrycode = task['3166-2 code'].split('-')[0];
296
- const stateintVal = task['3166-2 code'].split('*')[0];
297
- let stateIsoCode = task['3166-2 code'].split('-')[1].split('*')[0];
298
- const stateName = task['Local variant'] !== '' ? task['Local variant'] : task['Subdivision name'].split('(')[0].trim();
299
- if (Object.keys(CSconfig.fix).includes(countrycode)) {
300
- if (Object.keys(CSconfig.fix[countrycode]).includes(stateIsoCode)) {
301
- // this.ux.log(`Fix ${stateintVal}: ${stateIsoCode} -> ${CSconfig.fix[countrycode][stateIsoCode]}`);
302
- stateIsoCode = CSconfig.fix[countrycode][stateIsoCode];
303
- }
304
- }
305
- await page.goto(this.auth.instanceUrl +
306
- `/i18n/ConfigureState.apexp?countryIso=${countrycode}&setupid=AddressCleanerOverview&stateIso=${stateIsoCode}`, {
307
- waitUntil: 'networkidle',
308
- });
309
- let update = true;
310
- if (await page.$('#errorTitle')) {
311
- update = false;
312
- }
313
- if (update === false) {
314
- await page.goto(this.auth.instanceUrl +
315
- `/i18n/ConfigureNewState.apexp?countryIso=${countrycode}&setupid=AddressCleanerOverview`, {
316
- waitUntil: 'networkidle',
317
- });
318
- await page.waitForSelector('.mainTitle');
319
- }
320
- const selector = update ? CSconfig.update : CSconfig.create;
321
- const editNameResult = await PuppeteerStateTasks.setHTMLInputElementValue(page, selector.editName, stateName);
322
- const editIsoCodeResult = await PuppeteerStateTasks.setHTMLInputElementValue(page, selector.editIsoCode, stateIsoCode);
323
- const editIntValResult = await PuppeteerStateTasks.setHTMLInputElementValue(page, selector.editIntVal, stateintVal);
324
- const editActiveResult = await PuppeteerStateTasks.setHTMLInputElementChecked(page, selector.editActive, true, false);
325
- const editVisibleResult = await PuppeteerStateTasks.setHTMLInputElementChecked(page, selector.editVisible, true, true);
326
- debug({ editNameResult, editIsoCodeResult, editIntValResult, editActiveResult, editVisibleResult });
327
- await page.click(selector.save.replace(/:/g, '\\:'));
328
- await page.waitForSelector('.message.confirmM3', { state: 'visible' });
329
- await page.close();
330
- if (update) {
331
- if (editNameResult === 'changed' || editIntValResult === 'changed' || editVisibleResult === 'changed') {
332
- return 'updated';
333
- }
334
- }
335
- else if (editNameResult === 'changed' || editIntValResult === 'changed' || editVisibleResult === 'changed') {
336
- return 'created';
337
- }
338
- return 'skipped';
339
- }
340
- async executeDeactivate() {
341
- const task = this.currentDeactivateTask;
342
- const page = await this.context.newPage();
343
- const countrycode = task.split('-')[0];
344
- const stateIsoCode = task.split('-')[1].split('*')[0];
345
- await page.goto(this.auth.instanceUrl +
346
- `/i18n/ConfigureState.apexp?countryIso=${countrycode}&setupid=AddressCleanerOverview&stateIso=${stateIsoCode}`, {
347
- waitUntil: 'networkidle',
348
- });
349
- const selector = CSconfig.update;
350
- const editVisibleResult = await PuppeteerStateTasks.setHTMLInputElementChecked(page, selector.editVisible, false, false);
351
- const editActiveResult = await PuppeteerStateTasks.setHTMLInputElementChecked(page, selector.editActive, false, false);
352
- debug({ editVisibleResult, editActiveResult });
353
- await page.click(selector.save.replace(/:/g, '\\:'));
354
- await page.waitForSelector('.message.confirmM3', { state: 'visible' });
355
- await page.close();
356
- return editVisibleResult === 'changed' ? true : false;
357
- }
358
- getNextAdd() {
359
- this.nextAddTaskIndex = this.nextAddTaskIndex + 1;
360
- this.currentAddTask = this.addTasks[this.nextAddTaskIndex];
361
- return this;
362
- }
363
- getNextDeactivate() {
364
- this.nextDeactivateTaskIndex = this.nextDeactivateTaskIndex + 1;
365
- this.currentDeactivateTask = this.deactivateTasks[this.nextDeactivateTaskIndex];
366
- return this;
367
- }
368
- async close() {
369
- if (this.browser) {
370
- await this.browser.close();
371
- }
372
- }
373
- async open() {
374
- if (!this.browser) {
375
- this.browser = await playwright['chromium'].launch(config().puppeteer);
376
- this.context = await this.browser.newContext();
377
- const login = await this.context.newPage();
378
- await login.goto(`${this.auth.instanceUrl}/secur/frontdoor.jsp?sid=${this.auth.accessToken}`, {
379
- waitUntil: 'networkidle',
380
- timeout: 300000,
381
- });
382
- }
383
- }
384
- }
385
- //# sourceMappingURL=statetasks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"statetasks.js","sourceRoot":"","sources":["../../../src/utils/puppeteer/statetasks.ts"],"names":[],"mappings":"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"}
@@ -1,45 +0,0 @@
1
- import type { ListrRenderer, ListrEventManager, ListrDefaultRendererOptions, ListrDefaultRendererTask, ListrDefaultRendererTaskOptions } from 'listr2';
2
- interface MyListrDefaultRendererOptions extends ListrDefaultRendererOptions {
3
- maxSubTasks?: number;
4
- hideAfterSeconds?: number;
5
- }
6
- export declare class MyDefaultRenderer implements ListrRenderer {
7
- private readonly tasks;
8
- private readonly options;
9
- private readonly events;
10
- static nonTTY: boolean;
11
- static rendererOptions: MyListrDefaultRendererOptions;
12
- static rendererTaskOptions: ListrDefaultRendererTaskOptions;
13
- private bottom;
14
- private prompt;
15
- private activePrompt;
16
- private readonly spinner;
17
- private readonly logger;
18
- private updater;
19
- private truncate;
20
- private wrap;
21
- private taskTime;
22
- private currentTasks;
23
- private hiddenTasks;
24
- constructor(tasks: ListrDefaultRendererTask[], options: MyListrDefaultRendererOptions, events: ListrEventManager);
25
- getTaskOptions(task: ListrDefaultRendererTask): ListrDefaultRendererTaskOptions;
26
- isBottomBar(task: ListrDefaultRendererTask): boolean;
27
- hasPersistentOutput(task: ListrDefaultRendererTask): boolean;
28
- getSelfOrParentOption<K extends keyof ListrDefaultRendererOptions>(task: ListrDefaultRendererTask, key: K): ListrDefaultRendererOptions[K];
29
- render(): Promise<void>;
30
- update(): void;
31
- end(): void;
32
- create(options?: {
33
- tasks?: boolean;
34
- bottomBar?: boolean;
35
- prompt?: boolean;
36
- }): string;
37
- protected style(task: ListrDefaultRendererTask, output?: boolean): string;
38
- protected format(message: string, icon: string, level: number): string[];
39
- private renderer;
40
- private renderBottomBar;
41
- private renderPrompt;
42
- private dump;
43
- private indent;
44
- }
45
- export {};