@jayree/sfdx-plugin-org 1.0.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 (38) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/LICENSE.txt +12 -0
  3. package/README.md +107 -0
  4. package/bin/is-sfdx.js +3 -0
  5. package/lib/commands/jayree/org/configure/country.d.ts +11 -0
  6. package/lib/commands/jayree/org/configure/country.js +138 -0
  7. package/lib/commands/jayree/org/configure/country.js.map +1 -0
  8. package/lib/commands/jayree/org/configure/index.d.ts +14 -0
  9. package/lib/commands/jayree/org/configure/index.js +130 -0
  10. package/lib/commands/jayree/org/configure/index.js.map +1 -0
  11. package/lib/commands/jayree/org/configure/state.d.ts +15 -0
  12. package/lib/commands/jayree/org/configure/state.js +242 -0
  13. package/lib/commands/jayree/org/configure/state.js.map +1 -0
  14. package/lib/hooks/changelog.d.ts +2 -0
  15. package/lib/hooks/changelog.js +26 -0
  16. package/lib/hooks/changelog.js.map +1 -0
  17. package/lib/index.d.ts +2 -0
  18. package/lib/index.js +8 -0
  19. package/lib/index.js.map +1 -0
  20. package/lib/utils/config.d.ts +22 -0
  21. package/lib/utils/config.js +72 -0
  22. package/lib/utils/config.js.map +1 -0
  23. package/lib/utils/puppeteer/configuretasks.d.ts +50 -0
  24. package/lib/utils/puppeteer/configuretasks.js +270 -0
  25. package/lib/utils/puppeteer/configuretasks.js.map +1 -0
  26. package/lib/utils/puppeteer/countrystateconfig.d.ts +29 -0
  27. package/lib/utils/puppeteer/countrystateconfig.js +100 -0
  28. package/lib/utils/puppeteer/countrystateconfig.js.map +1 -0
  29. package/lib/utils/puppeteer/statetasks.d.ts +58 -0
  30. package/lib/utils/puppeteer/statetasks.js +302 -0
  31. package/lib/utils/puppeteer/statetasks.js.map +1 -0
  32. package/lib/utils/renderer.d.ts +47 -0
  33. package/lib/utils/renderer.js +499 -0
  34. package/lib/utils/renderer.js.map +1 -0
  35. package/messages/configure.md +12 -0
  36. package/messages/createstatecountry.md +27 -0
  37. package/oclif.manifest.json +184 -0
  38. package/package.json +209 -0
@@ -0,0 +1,242 @@
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 { dirname } from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+ import { Flags, SfCommand, requiredOrgFlagWithDeprecations, orgApiVersionFlagWithDeprecations, } from '@salesforce/sf-plugins-core';
10
+ import { Messages } from '@salesforce/core';
11
+ import { ListrLogger, Listr, PRESET_TIMER } from 'listr2';
12
+ import Debug from 'debug';
13
+ import { MyDefaultRenderer } from '../../../../utils/renderer.js';
14
+ import { PuppeteerStateTasks } from '../../../../utils/puppeteer/statetasks.js';
15
+ // eslint-disable-next-line no-underscore-dangle
16
+ const __filename = fileURLToPath(import.meta.url);
17
+ // eslint-disable-next-line no-underscore-dangle
18
+ const __dirname = dirname(__filename);
19
+ Messages.importMessagesDirectory(__dirname);
20
+ const messages = Messages.loadMessages('@jayree/sfdx-plugin-org', 'createstatecountry');
21
+ const logger = new ListrLogger({ useIcons: false });
22
+ const debug = Debug('jayree:x:y');
23
+ // eslint-disable-next-line sf-plugin/command-example
24
+ class ImportState extends SfCommand {
25
+ async run() {
26
+ const { flags } = await this.parse(ImportState);
27
+ const taskRunner = new PuppeteerStateTasks({
28
+ accessToken: flags['target-org'].getConnection(flags['api-version']).accessToken,
29
+ instanceUrl: flags['target-org'].getConnection(flags['api-version']).instanceUrl,
30
+ });
31
+ const mainTasks = new Listr([
32
+ {
33
+ title: 'Get ISO 3166 Data',
34
+ task: async (ctx, task) => {
35
+ ctx.countryCode = await taskRunner.validateParameterCountryCode(flags['country-code']);
36
+ ctx.category = taskRunner.validateParameterCategory(flags.category);
37
+ ctx.language = taskRunner.validateParameterLanguage(flags.language);
38
+ debug(ctx);
39
+ return task.newListr([
40
+ {
41
+ title: 'Country Code: ',
42
+ enabled: () => !this.jsonEnabled() && process.stdout.isTTY,
43
+ // eslint-disable-next-line @typescript-eslint/no-shadow
44
+ task: async (ctx, task) => {
45
+ if (ctx.countryCode.selected === undefined) {
46
+ ctx.countryCode.selected = await task.prompt({
47
+ type: 'AutoComplete',
48
+ message: 'Select Country',
49
+ choices: ctx.countryCode.values.map((v) => {
50
+ return { name: v.value, message: v.name };
51
+ }),
52
+ });
53
+ ctx.countryCode = await taskRunner.validateParameterCountryCode(ctx.countryCode.selected);
54
+ ctx.category = taskRunner.validateParameterCategory(ctx.category.selected);
55
+ ctx.language = taskRunner.validateParameterLanguage(ctx.language.selected);
56
+ }
57
+ debug(ctx);
58
+ task.title = task.title + ctx.countryCode.selected;
59
+ },
60
+ },
61
+ {
62
+ title: 'Category: ',
63
+ enabled: () => !this.jsonEnabled() && process.stdout.isTTY,
64
+ // eslint-disable-next-line @typescript-eslint/no-shadow
65
+ task: async (ctx, task) => {
66
+ if (ctx.category.selected === undefined) {
67
+ ctx.category.selected = await task.prompt({
68
+ type: 'AutoComplete',
69
+ message: 'Select Category',
70
+ choices: ctx.category.values,
71
+ });
72
+ ctx.category = taskRunner.validateParameterCategory(ctx.category.selected);
73
+ ctx.language = taskRunner.validateParameterLanguage(ctx.language.selected);
74
+ }
75
+ debug(ctx);
76
+ task.title = task.title + ctx.category.selected;
77
+ },
78
+ },
79
+ {
80
+ title: 'Language: ',
81
+ enabled: () => !this.jsonEnabled() && process.stdout.isTTY,
82
+ // eslint-disable-next-line @typescript-eslint/no-shadow
83
+ task: async (ctx, task) => {
84
+ if (ctx.language.selected === undefined) {
85
+ ctx.language.selected = await task.prompt({
86
+ type: 'AutoComplete',
87
+ message: 'Select Language',
88
+ choices: ctx.language.values,
89
+ });
90
+ ctx.language = taskRunner.validateParameterLanguage(ctx.language.selected);
91
+ }
92
+ debug(ctx);
93
+ task.title = task.title + ctx.language.selected;
94
+ },
95
+ },
96
+ ]);
97
+ },
98
+ },
99
+ {
100
+ task: (ctx) => {
101
+ try {
102
+ ctx.data = taskRunner.validateData();
103
+ ctx.result = [];
104
+ }
105
+ catch (error) {
106
+ ctx.error = error.message;
107
+ throw error;
108
+ }
109
+ },
110
+ },
111
+ {
112
+ title: 'Set Country Integration Value: ',
113
+ enabled: (ctx) => (ctx.data ? true : false),
114
+ task: async (ctx, task) => {
115
+ task.title = task.title + ctx.countryCode.selected;
116
+ if (!(await taskRunner.setCountryIntegrationValue())) {
117
+ task.skip();
118
+ }
119
+ },
120
+ },
121
+ {
122
+ title: 'Deactivate/Hide States',
123
+ enabled: (ctx) => (ctx.data?.deactivate ? ctx.data.deactivate.length > 0 : false),
124
+ task: (ctx, task) =>
125
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
126
+ task.newListr(() => {
127
+ const deactivateTasks = [];
128
+ ctx.data.deactivate.forEach((el) => {
129
+ deactivateTasks.push({
130
+ title: el.toString(),
131
+ // eslint-disable-next-line @typescript-eslint/no-shadow
132
+ skip: (ctx) => !ctx.data.deactivate.includes(el),
133
+ // eslint-disable-next-line @typescript-eslint/no-shadow
134
+ task: async (ctx, task) => {
135
+ const sTask = taskRunner.getNextDeactivate();
136
+ if (!(await sTask.executeDeactivate())) {
137
+ task.skip();
138
+ ctx.result.push({ '3166-2 code': el, status: 'skipped (deactivated)' });
139
+ }
140
+ else {
141
+ ctx.result.push({ '3166-2 code': el, status: 'updated (deactivated)' });
142
+ }
143
+ },
144
+ options: { persistentOutput: true },
145
+ });
146
+ });
147
+ return deactivateTasks;
148
+ }, { concurrent: flags.concurrent, exitOnError: false }),
149
+ },
150
+ {
151
+ title: 'Add States',
152
+ enabled: (ctx) => (ctx.data?.add ? ctx.data.add.length > 0 : false),
153
+ task: (ctx, task) =>
154
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
155
+ task.newListr(() => {
156
+ const addTasks = [];
157
+ ctx.data.add.forEach((el) => {
158
+ addTasks.push({
159
+ title: `${el['Subdivision name']} (${el['3166-2 code']})`,
160
+ // eslint-disable-next-line @typescript-eslint/no-shadow
161
+ skip: (ctx) => !ctx.data.add.includes(el),
162
+ // eslint-disable-next-line @typescript-eslint/no-shadow
163
+ task: async (ctx, task) => {
164
+ const sTask = taskRunner.getNextAdd();
165
+ const result = await sTask.executeAdd();
166
+ ctx.result.push({ ...el, status: result });
167
+ if (result === 'skipped') {
168
+ task.skip();
169
+ }
170
+ },
171
+ options: { persistentOutput: true },
172
+ });
173
+ });
174
+ return addTasks;
175
+ }, { concurrent: flags.concurrent, exitOnError: false }),
176
+ },
177
+ ], {
178
+ renderer: MyDefaultRenderer,
179
+ rendererOptions: {
180
+ timer: {
181
+ ...PRESET_TIMER,
182
+ condition: (duration) => duration > 250,
183
+ },
184
+ collapseErrors: false,
185
+ collapseSubtasks: false,
186
+ maxSubTasks: flags.concurrent >= 10 ? flags.concurrent : 10,
187
+ },
188
+ silentRendererCondition: this.jsonEnabled(),
189
+ fallbackRendererCondition: debug.enabled,
190
+ exitOnError: true,
191
+ });
192
+ try {
193
+ await taskRunner.open();
194
+ const context = await mainTasks.run();
195
+ if (context.error) {
196
+ throw new Error(context.error);
197
+ }
198
+ context.result = context.result?.sort((a, b) => a['3166-2 code'] < b['3166-2 code'] ? -1 : a['3166-2 code'] > b['3166-2 code'] ? 1 : 0);
199
+ if (debug.enabled) {
200
+ if (!this.jsonEnabled()) {
201
+ logger.toStderr(`Context: ${JSON.stringify(context, null, 2)}`);
202
+ }
203
+ return context;
204
+ }
205
+ return context.result;
206
+ }
207
+ catch (e) {
208
+ if (debug.enabled) {
209
+ if (!this.jsonEnabled()) {
210
+ logger.toStderr(e.message);
211
+ }
212
+ }
213
+ throw e;
214
+ }
215
+ finally {
216
+ await taskRunner.close();
217
+ }
218
+ }
219
+ }
220
+ ImportState.summary = messages.getMessage('commandStateDescription');
221
+ ImportState.description = messages.getMessage('commandStateDescription');
222
+ ImportState.flags = {
223
+ 'target-org': requiredOrgFlagWithDeprecations,
224
+ 'api-version': orgApiVersionFlagWithDeprecations,
225
+ 'country-code': Flags.string({
226
+ summary: messages.getMessage('countrycodeFlagDescription'),
227
+ deprecateAliases: true,
228
+ aliases: ['countrycode'],
229
+ }),
230
+ category: Flags.string({
231
+ summary: messages.getMessage('categoryFlagDescription'),
232
+ }),
233
+ language: Flags.string({
234
+ summary: messages.getMessage('languageFlagDescription'),
235
+ }),
236
+ concurrent: Flags.integer({
237
+ summary: messages.getMessage('concurrentFlagDescription'),
238
+ default: 1,
239
+ }),
240
+ };
241
+ export default ImportState;
242
+ //# sourceMappingURL=state.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../../../src/commands/jayree/org/configure/state.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { Hook } from '@oclif/core';
2
+ export declare const changelog: Hook<'update'>;
@@ -0,0 +1,26 @@
1
+ /*
2
+ * Copyright (c) 2022, 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
+ /* istanbul ignore file */
8
+ import { join, dirname } from 'node:path';
9
+ import { fileURLToPath } from 'node:url';
10
+ import printChangeLog from '@jayree/changelog';
11
+ import Debug from 'debug';
12
+ // eslint-disable-next-line no-underscore-dangle
13
+ const __filename = fileURLToPath(import.meta.url);
14
+ // eslint-disable-next-line no-underscore-dangle
15
+ const __dirname = dirname(__filename);
16
+ // eslint-disable-next-line @typescript-eslint/require-await
17
+ export const changelog = async function () {
18
+ const debug = Debug([this.config.bin, '@jayree/sfdx-plugin-org', 'hooks', 'update'].join(':'));
19
+ // eslint-disable-next-line @typescript-eslint/no-misused-promises
20
+ process.once('beforeExit', async () => {
21
+ const changes = await printChangeLog(this.config.cacheDir, join(__dirname, '..', '..'), debug);
22
+ if (changes)
23
+ this.log(changes);
24
+ });
25
+ };
26
+ //# sourceMappingURL=changelog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changelog.js","sourceRoot":"","sources":["../../src/hooks/changelog.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,0BAA0B;AAC1B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,gDAAgD;AAChD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,gDAAgD;AAChD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,SAAS,GAAmB,KAAK;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,yBAAyB,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/F,kEAAkE;IAClE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;QAC/F,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC"}
package/lib/index.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare const _default: {};
2
+ export default _default;
package/lib/index.js ADDED
@@ -0,0 +1,8 @@
1
+ /*
2
+ * Copyright (c) 2022, 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
+ export default {};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAe,EAAE,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Task } from './puppeteer/configuretasks.js';
2
+ type Config = {
3
+ ensureUserPermissions: string[];
4
+ ensureObjectPermissions: string[];
5
+ moveSourceFolders: string[];
6
+ applySourceFixes: string[];
7
+ runHooks: boolean;
8
+ puppeteerDocker: {
9
+ headless: boolean;
10
+ args: string[];
11
+ };
12
+ puppeteerWSL: {
13
+ headless: boolean;
14
+ executablePath: string;
15
+ };
16
+ puppeteer: {
17
+ headless: boolean;
18
+ };
19
+ setupTasks?: Task[];
20
+ };
21
+ declare const _default: (path?: string) => Config;
22
+ export default _default;
@@ -0,0 +1,72 @@
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
+ /* istanbul ignore file */
8
+ import { join } from 'path';
9
+ import fs from 'fs-extra';
10
+ import isDocker from 'is-docker';
11
+ import isWsl from 'is-wsl';
12
+ import { SfProject } from '@salesforce/core';
13
+ const CONFIG_DEFAULTS = {
14
+ ensureUserPermissions: [],
15
+ ensureObjectPermissions: [],
16
+ moveSourceFolders: [],
17
+ applySourceFixes: ['source:retrieve:full', 'source:retrieve:all'],
18
+ runHooks: false,
19
+ puppeteerDocker: {
20
+ headless: true,
21
+ args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-features=site-per-process'],
22
+ },
23
+ puppeteerWSL: {
24
+ headless: true,
25
+ executablePath: '/bin/google-chrome',
26
+ },
27
+ puppeteer: {
28
+ headless: true,
29
+ },
30
+ };
31
+ const resolvedConfigs = {};
32
+ // eslint-disable-next-line complexity
33
+ export default (path = SfProject.resolveProjectPathSync()) => {
34
+ if (path && resolvedConfigs[path]) {
35
+ return resolvedConfigs[path];
36
+ }
37
+ const defaults = CONFIG_DEFAULTS;
38
+ let configFromFile;
39
+ try {
40
+ configFromFile = fs.readJsonSync(join(path, '.sfdx-jayree.json'));
41
+ }
42
+ catch (error) {
43
+ if (error.code === 'ENOENT') {
44
+ configFromFile = undefined;
45
+ }
46
+ else {
47
+ throw error;
48
+ }
49
+ }
50
+ if (configFromFile?.puppeteer && isDocker()) {
51
+ configFromFile.puppeteer = { ...defaults.puppeteerDocker, ...configFromFile.puppeteer };
52
+ }
53
+ if (configFromFile?.puppeteer && isWsl) {
54
+ configFromFile.puppeteer = { ...defaults.puppeteerWSL, ...configFromFile.puppeteer };
55
+ }
56
+ const config = {
57
+ ensureUserPermissions: configFromFile?.ensureUserPermissions ?? defaults.ensureUserPermissions,
58
+ ensureObjectPermissions: configFromFile?.ensureObjectPermissions ?? defaults.ensureObjectPermissions,
59
+ moveSourceFolders: configFromFile?.moveSourceFolders ?? defaults.moveSourceFolders,
60
+ applySourceFixes: configFromFile?.applySourceFixes ?? defaults.applySourceFixes,
61
+ runHooks: configFromFile?.runHooks ?? defaults.runHooks,
62
+ puppeteerDocker: configFromFile?.puppeteerDocker ?? defaults.puppeteerDocker,
63
+ puppeteerWSL: configFromFile?.puppeteerWSL ?? defaults.puppeteerWSL,
64
+ puppeteer: configFromFile?.puppeteer ||
65
+ (isWsl && defaults.puppeteerWSL) ||
66
+ (isDocker() && defaults.puppeteerDocker) ||
67
+ defaults.puppeteer,
68
+ };
69
+ resolvedConfigs[path] = config;
70
+ return config;
71
+ };
72
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,0BAA0B;AAC1B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,KAAK,MAAM,QAAQ,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAW,MAAM,kBAAkB,CAAC;AAuBtD,MAAM,eAAe,GAAG;IACtB,qBAAqB,EAAE,EAAE;IACzB,uBAAuB,EAAE,EAAE;IAC3B,iBAAiB,EAAE,EAAE;IACrB,gBAAgB,EAAE,CAAC,sBAAsB,EAAE,qBAAqB,CAAC;IACjE,QAAQ,EAAE,KAAK;IACf,eAAe,EAAE;QACf,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,CAAC,cAAc,EAAE,0BAA0B,EAAE,qCAAqC,CAAC;KAC1F;IACD,YAAY,EAAE;QACZ,QAAQ,EAAE,IAAI;QACd,cAAc,EAAE,oBAAoB;KACrC;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,MAAM,eAAe,GAA+B,EAAE,CAAC;AAEvD,sCAAsC;AACtC,eAAe,CAAC,IAAI,GAAG,SAAS,CAAC,sBAAsB,EAAE,EAAU,EAAE;IACnE,IAAI,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE;QACjC,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,MAAM,QAAQ,GAAG,eAAe,CAAC;IACjC,IAAI,cAAkC,CAAC;IACvC,IAAI;QACF,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAW,CAAC;KAC7E;IAAC,OAAO,KAAK,EAAE;QACd,IAAK,KAAiB,CAAC,IAAI,KAAK,QAAQ,EAAE;YACxC,cAAc,GAAG,SAAS,CAAC;SAC5B;aAAM;YACL,MAAM,KAAK,CAAC;SACb;KACF;IAED,IAAI,cAAc,EAAE,SAAS,IAAI,QAAQ,EAAE,EAAE;QAC3C,cAAc,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,eAAe,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;KACzF;IAED,IAAI,cAAc,EAAE,SAAS,IAAI,KAAK,EAAE;QACtC,cAAc,CAAC,SAAS,GAAG,EAAE,GAAG,QAAQ,CAAC,YAAY,EAAE,GAAG,cAAc,CAAC,SAAS,EAAE,CAAC;KACtF;IAED,MAAM,MAAM,GAAG;QACb,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,IAAI,QAAQ,CAAC,qBAAqB;QAC9F,uBAAuB,EAAE,cAAc,EAAE,uBAAuB,IAAI,QAAQ,CAAC,uBAAuB;QACpG,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,IAAI,QAAQ,CAAC,iBAAiB;QAClF,gBAAgB,EAAE,cAAc,EAAE,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB;QAC/E,QAAQ,EAAE,cAAc,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ;QACvD,eAAe,EAAE,cAAc,EAAE,eAAe,IAAI,QAAQ,CAAC,eAAe;QAC5E,YAAY,EAAE,cAAc,EAAE,YAAY,IAAI,QAAQ,CAAC,YAAY;QACnE,SAAS,EACP,cAAc,EAAE,SAAS;YACzB,CAAC,KAAK,IAAI,QAAQ,CAAC,YAAY,CAAC;YAChC,CAAC,QAAQ,EAAE,IAAI,QAAQ,CAAC,eAAe,CAAC;YACxC,QAAQ,CAAC,SAAS;KACrB,CAAC;IAEF,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAC/B,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
@@ -0,0 +1,50 @@
1
+ type TaskEvaluate = Array<{
2
+ action: string;
3
+ value: string;
4
+ waitFor: string | {
5
+ querySelector: string;
6
+ property: string;
7
+ value: string;
8
+ };
9
+ querySelector: string;
10
+ querySelectorAll: string;
11
+ type: {
12
+ checkbox: {
13
+ checked: boolean;
14
+ };
15
+ list: {
16
+ selection: string;
17
+ };
18
+ };
19
+ }>;
20
+ export type Task = {
21
+ title?: string;
22
+ isactive?: boolean;
23
+ url?: string;
24
+ iframe?: number;
25
+ evaluate: TaskEvaluate;
26
+ tasks?: Array<{
27
+ title?: string;
28
+ evaluate: TaskEvaluate;
29
+ }>;
30
+ };
31
+ export declare class PuppeteerConfigureTasks {
32
+ currenTask: Task;
33
+ private tasks;
34
+ private nextTaskIndex;
35
+ private browser;
36
+ private context;
37
+ private auth;
38
+ constructor(auth: {
39
+ instanceUrl: string;
40
+ accessToken: string;
41
+ }, tasks: Task[]);
42
+ private static subExec;
43
+ getNext(): this;
44
+ close(): Promise<void>;
45
+ open(): Promise<void>;
46
+ execute(listrTask: {
47
+ output: string;
48
+ }): Promise<boolean>;
49
+ }
50
+ export {};