@provartesting/provardx-cli 0.0.3 → 0.0.5-beta

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 (81) hide show
  1. package/README.md +5 -0
  2. package/lib/Utility/errorCode.d.ts +1 -1
  3. package/lib/Utility/errorCode.js +1 -2
  4. package/lib/Utility/errorCode.js.map +1 -1
  5. package/lib/Utility/errorHandler.d.ts +1 -1
  6. package/lib/Utility/errorHandler.js +2 -7
  7. package/lib/Utility/errorHandler.js.map +1 -1
  8. package/lib/Utility/fileSupport.d.ts +1 -0
  9. package/lib/Utility/fileSupport.js +8 -36
  10. package/lib/Utility/fileSupport.js.map +1 -1
  11. package/lib/Utility/jsonSupport.js +4 -11
  12. package/lib/Utility/jsonSupport.js.map +1 -1
  13. package/lib/Utility/propertyFileValidator.d.ts +1 -1
  14. package/lib/Utility/propertyFileValidator.js +26 -44
  15. package/lib/Utility/propertyFileValidator.js.map +1 -1
  16. package/lib/Utility/provarConfig.d.ts +1 -1
  17. package/lib/Utility/provarConfig.js +3 -7
  18. package/lib/Utility/provarConfig.js.map +1 -1
  19. package/lib/Utility/provardxExecutor.d.ts +7 -0
  20. package/lib/Utility/provardxExecutor.js +31 -0
  21. package/lib/Utility/provardxExecutor.js.map +1 -0
  22. package/lib/Utility/sfProvarCommandResult.d.ts +1 -1
  23. package/lib/Utility/sfProvarCommandResult.js +1 -5
  24. package/lib/Utility/sfProvarCommandResult.js.map +1 -1
  25. package/lib/Utility/stringSupport.d.ts +2 -0
  26. package/lib/Utility/stringSupport.js +12 -7
  27. package/lib/Utility/stringSupport.js.map +1 -1
  28. package/lib/Utility/userSupport.d.ts +15 -0
  29. package/lib/Utility/userSupport.js +56 -0
  30. package/lib/Utility/userSupport.js.map +1 -0
  31. package/lib/commands/{sf/provar → provar/automation}/config/generate.d.ts +3 -3
  32. package/lib/commands/provar/automation/config/generate.js +70 -0
  33. package/lib/commands/provar/automation/config/generate.js.map +1 -0
  34. package/lib/commands/{sf/provar → provar/automation}/config/get.d.ts +1 -1
  35. package/lib/commands/provar/automation/config/get.js +74 -0
  36. package/lib/commands/provar/automation/config/get.js.map +1 -0
  37. package/lib/commands/{sf/provar → provar/automation}/config/load.d.ts +2 -2
  38. package/lib/commands/provar/automation/config/load.js +55 -0
  39. package/lib/commands/provar/automation/config/load.js.map +1 -0
  40. package/lib/commands/{sf/provar → provar/automation}/config/set.d.ts +1 -1
  41. package/lib/commands/provar/automation/config/set.js +85 -0
  42. package/lib/commands/provar/automation/config/set.js.map +1 -0
  43. package/lib/commands/{sf/provar → provar/automation}/config/validate.d.ts +1 -1
  44. package/lib/commands/provar/automation/config/validate.js +31 -0
  45. package/lib/commands/provar/automation/config/validate.js.map +1 -0
  46. package/lib/commands/provar/automation/metadata/download.d.ts +13 -0
  47. package/lib/commands/provar/automation/metadata/download.js +94 -0
  48. package/lib/commands/provar/automation/metadata/download.js.map +1 -0
  49. package/lib/constants/commandConstants.d.ts +6 -5
  50. package/lib/constants/commandConstants.js +8 -10
  51. package/lib/constants/commandConstants.js.map +1 -1
  52. package/lib/constants/errorMessages.js +2 -5
  53. package/lib/constants/errorMessages.js.map +1 -1
  54. package/lib/constants/propertyFileContent.d.ts +24 -0
  55. package/lib/constants/propertyFileContent.js +25 -0
  56. package/lib/constants/propertyFileContent.js.map +1 -0
  57. package/lib/constants/propertyFileSchema.d.ts +7 -0
  58. package/lib/constants/propertyFileSchema.js +9 -4
  59. package/lib/constants/propertyFileSchema.js.map +1 -1
  60. package/lib/constants/sfCommandConstants.d.ts +4 -0
  61. package/lib/constants/sfCommandConstants.js +6 -0
  62. package/lib/constants/sfCommandConstants.js.map +1 -0
  63. package/messages/provar.metadata.download.md +23 -0
  64. package/messages/sf.provar.config.generate.md +3 -3
  65. package/messages/sf.provar.config.get.md +3 -3
  66. package/messages/sf.provar.config.load.md +3 -3
  67. package/messages/sf.provar.config.set.md +3 -3
  68. package/messages/sf.provar.config.validate.md +3 -3
  69. package/oclif.manifest.json +341 -73
  70. package/package.json +37 -48
  71. package/lib/commands/sf/provar/config/generate.js +0 -102
  72. package/lib/commands/sf/provar/config/generate.js.map +0 -1
  73. package/lib/commands/sf/provar/config/get.js +0 -106
  74. package/lib/commands/sf/provar/config/get.js.map +0 -1
  75. package/lib/commands/sf/provar/config/load.js +0 -87
  76. package/lib/commands/sf/provar/config/load.js.map +0 -1
  77. package/lib/commands/sf/provar/config/set.js +0 -117
  78. package/lib/commands/sf/provar/config/set.js.map +0 -1
  79. package/lib/commands/sf/provar/config/validate.js +0 -40
  80. package/lib/commands/sf/provar/config/validate.js.map +0 -1
  81. package/lib/constants/propertyFileContent.json +0 -24
@@ -0,0 +1,56 @@
1
+ import { sfCommandConstants } from '../constants/sfCommandConstants.js';
2
+ import { executeCommand } from './provardxExecutor.js';
3
+ export default class UserSupport {
4
+ /**
5
+ * Updates the dx properties json string before it is send to command executer.
6
+ */
7
+ /* eslint-disable */
8
+ prepareRawProperties(rawProperties) {
9
+ return '"' + rawProperties.replace(/"/g, '\\"') + '"';
10
+ }
11
+ /**
12
+ * Gets the dx user info and generated the password for dx user if not already created.
13
+ *
14
+ * @param overrides Connection overrides provided in dx property file.
15
+ */
16
+ async getDxUsersInfo(overrides, errorHandler) {
17
+ const dxUsers = [];
18
+ if (overrides === undefined || overrides.length === 0) {
19
+ return dxUsers;
20
+ }
21
+ for (const override of overrides) {
22
+ const username = override.username;
23
+ const message = 'Validating and retrieving dx user info: ' + username;
24
+ let dxUserInfo = await executeCommand(sfCommandConstants.DISPLAY_USER_INFO + username, message);
25
+ let jsonDxUser = JSON.parse(dxUserInfo);
26
+ if (jsonDxUser.status !== 0) {
27
+ errorHandler.addErrorsToList('DOWNLOAD_ERROR', `The following connectionOverride username is not valid: ${username}`);
28
+ continue;
29
+ }
30
+ ({ jsonDxUser, dxUserInfo } = await this.generatePasswordIfNotPresent(jsonDxUser, username, dxUserInfo));
31
+ jsonDxUser.result.connection = override['connection'];
32
+ jsonDxUser.result.password = this.handleSpecialCharacters(jsonDxUser.result.password);
33
+ dxUsers.push(jsonDxUser);
34
+ }
35
+ if (dxUsers.length === 0) {
36
+ return null;
37
+ }
38
+ return dxUsers;
39
+ }
40
+ async generatePasswordIfNotPresent(jsonDxUser, username, dxUserInfo) {
41
+ if (jsonDxUser.result.password == null) {
42
+ const generatePasswordCommand = sfCommandConstants.GENERATE_PASSWORD + username;
43
+ await executeCommand(generatePasswordCommand, 'Generating password for user: ' + username);
44
+ dxUserInfo = await executeCommand(sfCommandConstants.DISPLAY_USER_INFO + username, 'Getting generated password for user: ' + username);
45
+ jsonDxUser = JSON.parse(dxUserInfo.toString());
46
+ }
47
+ return { jsonDxUser, dxUserInfo };
48
+ }
49
+ handleSpecialCharacters(password) {
50
+ if (password) {
51
+ password = encodeURIComponent(password);
52
+ }
53
+ return password;
54
+ }
55
+ }
56
+ //# sourceMappingURL=userSupport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userSupport.js","sourceRoot":"","sources":["../../src/Utility/userSupport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,CAAC,OAAO,OAAO,WAAW;IAC9B;;OAEG;IACH,oBAAoB;IACb,oBAAoB,CAAC,aAAqB;QAC/C,OAAO,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,GAAG,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,cAAc,CAAC,SAAc,EAAE,YAA0B;QACpE,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtD,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;YACnC,MAAM,OAAO,GAAG,0CAA0C,GAAG,QAAQ,CAAC;YACtE,IAAI,UAAU,GAAG,MAAM,cAAc,CAAC,kBAAkB,CAAC,iBAAiB,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChG,IAAI,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5B,YAAY,CAAC,eAAe,CAC1B,gBAAgB,EAChB,2DAA2D,QAAQ,EAAE,CACtE,CAAC;gBACF,SAAS;YACX,CAAC;YACD,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,4BAA4B,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;YACzG,UAAU,CAAC,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;YACtD,UAAU,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,4BAA4B,CAAC,UAAe,EAAE,QAAa,EAAE,UAAe;QACxF,IAAI,UAAU,CAAC,MAAM,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC;YACvC,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,iBAAiB,GAAG,QAAQ,CAAC;YAChF,MAAM,cAAc,CAAC,uBAAuB,EAAE,gCAAgC,GAAG,QAAQ,CAAC,CAAC;YAC3F,UAAU,GAAG,MAAM,cAAc,CAC/B,kBAAkB,CAAC,iBAAiB,GAAG,QAAQ,EAC/C,uCAAuC,GAAG,QAAQ,CACnD,CAAC;YACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;IACpC,CAAC;IAEO,uBAAuB,CAAC,QAAgB;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
@@ -1,12 +1,12 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
3
  export default class SfProvarConfigGenerate extends SfCommand<SfProvarCommandResult> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
6
6
  static readonly examples: string[];
7
7
  static readonly flags: {
8
- 'properties-file': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
9
- 'no-prompt': import("@oclif/core/lib/interfaces").BooleanFlag<boolean>;
8
+ 'properties-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ 'no-prompt': import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
10
  };
11
11
  private errorHandler;
12
12
  run(): Promise<SfProvarCommandResult>;
@@ -0,0 +1,70 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import fs from 'node:fs';
8
+ import { Messages } from '@salesforce/core';
9
+ import { Flags, SfCommand } from '@salesforce/sf-plugins-core';
10
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
11
+ import { generateFile, getExtension } from '../../../../Utility/fileSupport.js';
12
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
13
+ import { errorMessages } from '../../../../constants/errorMessages.js';
14
+ /**
15
+ * Generates the boiler plate provardx-properties.json
16
+ *
17
+ */
18
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
19
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.config.generate');
20
+ export default class SfProvarConfigGenerate extends SfCommand {
21
+ static summary = messages.getMessage('summary');
22
+ static description = messages.getMessage('description');
23
+ static examples = messages.getMessages('examples');
24
+ static flags = {
25
+ 'properties-file': Flags.string({
26
+ summary: messages.getMessage('flags.properties-file.summary'),
27
+ char: 'p',
28
+ required: true,
29
+ }),
30
+ 'no-prompt': Flags.boolean({
31
+ summary: messages.getMessage('flags.no-prompt.summary'),
32
+ char: 'n',
33
+ }),
34
+ };
35
+ errorHandler = new ErrorHandler();
36
+ async run() {
37
+ const { flags } = await this.parse(SfProvarConfigGenerate);
38
+ const PropertiesFileName = flags['properties-file'];
39
+ if (getExtension(PropertiesFileName) !== '.json') {
40
+ this.errorHandler.addErrorsToList('INVALID_FILE_EXTENSION', 'Only the .json file extension is supported.');
41
+ }
42
+ else if (fs.existsSync(PropertiesFileName) && !flags['no-prompt']) {
43
+ if (!(await this.confirm({ message: messages.getMessage('PropertiesFileOverwritePromptConfirm') }))) {
44
+ this.errorHandler.addErrorsToList('GENERATE_OPERATION_DENIED', errorMessages.GENERATE_OPERATION_DENIED);
45
+ }
46
+ else {
47
+ this.generatePropertiesFile(PropertiesFileName);
48
+ }
49
+ }
50
+ else {
51
+ this.generatePropertiesFile(PropertiesFileName);
52
+ }
53
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
54
+ }
55
+ generatePropertiesFile(PropertiesFileName) {
56
+ try {
57
+ generateFile(PropertiesFileName);
58
+ /* eslint-disable */
59
+ }
60
+ catch (error) {
61
+ if (error.code === 'ENOENT') {
62
+ this.errorHandler.addErrorsToList('INVALID_PATH', errorMessages.INVALID_PATH);
63
+ }
64
+ else if (error.code === 'EPERM' || error.code === 'EACCES') {
65
+ this.errorHandler.addErrorsToList('INSUFFICIENT_PERMISSIONS', 'The user does not have permissions to create the file.');
66
+ }
67
+ }
68
+ }
69
+ }
70
+ //# sourceMappingURL=generate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/generate.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
3
  export default class SfProvarConfigGet extends SfCommand<SfProvarCommandResult> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
@@ -0,0 +1,74 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import * as fileSystem from 'node:fs';
8
+ import { SfCommand } from '@salesforce/sf-plugins-core';
9
+ import { Messages } from '@salesforce/core';
10
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
11
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
12
+ import { ProvarConfig } from '../../../../Utility/provarConfig.js';
13
+ import { errorMessages } from '../../../../constants/errorMessages.js';
14
+ import { checkNestedProperty, getNestedProperty } from '../../../../Utility/jsonSupport.js';
15
+ /**
16
+ * Gets the value for specified propertykey under arguments from provardx-properties.json
17
+ * laoded under config.json
18
+ *
19
+ */
20
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
21
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.config.get');
22
+ export default class SfProvarConfigGet extends SfCommand {
23
+ static summary = messages.getMessage('summary');
24
+ static description = messages.getMessage('description');
25
+ static examples = messages.getMessages('examples');
26
+ static strict = false;
27
+ errorHandler = new ErrorHandler();
28
+ async run() {
29
+ const { argv, flags } = await this.parse(SfProvarConfigGet);
30
+ const config = await ProvarConfig.loadConfig(this.errorHandler);
31
+ const propertiesFilePath = config.get('PROVARDX_PROPERTIES_FILE_PATH')?.toString();
32
+ let attributeValue = null;
33
+ if (propertiesFilePath === undefined || !fileSystem.existsSync(propertiesFilePath)) {
34
+ this.errorHandler.addErrorsToList('MISSING_FILE', errorMessages.MISSINGFILEERROR);
35
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
36
+ }
37
+ try {
38
+ /* eslint-disable */
39
+ if (!argv.length) {
40
+ this.errorHandler.addErrorsToList('MISSING_PROPERTY', errorMessages.MISSING_PROPERTY_GET);
41
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
42
+ }
43
+ const data = fileSystem.readFileSync(propertiesFilePath, { encoding: 'utf8' });
44
+ const propertyFileContent = JSON.parse(data);
45
+ const propertyName = argv[0];
46
+ if (propertyName.includes('.')) {
47
+ if (!checkNestedProperty(propertyFileContent, propertyName)) {
48
+ this.errorHandler.addErrorsToList('UNKNOWN_PROPERTY', errorMessages.UNKNOWN_PROPERTY);
49
+ }
50
+ else {
51
+ attributeValue = getNestedProperty(propertyFileContent, propertyName);
52
+ }
53
+ }
54
+ else {
55
+ if (!propertyFileContent.hasOwnProperty(propertyName)) {
56
+ this.errorHandler.addErrorsToList('UNKNOWN_PROPERTY', errorMessages.UNKNOWN_PROPERTY);
57
+ }
58
+ else {
59
+ attributeValue = propertyFileContent[propertyName];
60
+ }
61
+ }
62
+ }
63
+ catch (err) {
64
+ if (err.name === 'SyntaxError') {
65
+ this.errorHandler.addErrorsToList('MALFORMED_FILE', errorMessages.MALFORMEDFILEERROR);
66
+ }
67
+ else {
68
+ throw err;
69
+ }
70
+ }
71
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this), attributeValue);
72
+ }
73
+ }
74
+ //# sourceMappingURL=get.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/get.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
3
  export default class SfProvarConfigLoad extends SfCommand<SfProvarCommandResult> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
6
6
  static readonly examples: string[];
7
7
  static readonly flags: {
8
- 'properties-file': import("@oclif/core/lib/interfaces").OptionFlag<string, import("@oclif/core/lib/interfaces/parser").CustomOptions>;
8
+ 'properties-file': import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
9
  };
10
10
  private errorHandler;
11
11
  run(): Promise<SfProvarCommandResult>;
@@ -0,0 +1,55 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import * as fileSystem from 'node:fs';
8
+ import { resolve } from 'node:path';
9
+ import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
10
+ import { Messages } from '@salesforce/core';
11
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
12
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
13
+ import { ProvarConfig } from '../../../../Utility/provarConfig.js';
14
+ import PropertyFileValidator from '../../../../Utility/propertyFileValidator.js';
15
+ import { errorMessages } from '../../../../constants/errorMessages.js';
16
+ /**
17
+ * Loads the path to provardx-properties.json to the user directory ${user}/.sf/config.json
18
+ * So, that further any command can be run at any location by picking up the properties.json file
19
+ * from config.json file.
20
+ *
21
+ */
22
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
23
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.config.load');
24
+ export default class SfProvarConfigLoad extends SfCommand {
25
+ static summary = messages.getMessage('summary');
26
+ static description = messages.getMessage('description');
27
+ static examples = messages.getMessages('examples');
28
+ static flags = {
29
+ 'properties-file': Flags.string({
30
+ summary: messages.getMessage('flags.properties-file.summary'),
31
+ char: 'p',
32
+ required: true,
33
+ }),
34
+ };
35
+ errorHandler = new ErrorHandler();
36
+ async run() {
37
+ const { flags } = await this.parse(SfProvarConfigLoad);
38
+ /* eslint-disable */
39
+ const propertiesFileName = resolve(flags['properties-file']);
40
+ const propertyFileValidator = new PropertyFileValidator(this.errorHandler);
41
+ const config = await ProvarConfig.loadConfig(this.errorHandler);
42
+ if (!fileSystem.existsSync(propertiesFileName)) {
43
+ this.errorHandler.addErrorsToList('INVALID_PATH', errorMessages.INVALID_PATH);
44
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
45
+ }
46
+ config.set('PROVARDX_PROPERTIES_FILE_PATH', propertiesFileName);
47
+ await config.write();
48
+ if (!(await propertyFileValidator.validate())) {
49
+ config.unset('PROVARDX_PROPERTIES_FILE_PATH');
50
+ await config.write();
51
+ }
52
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
53
+ }
54
+ }
55
+ //# sourceMappingURL=load.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/load.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,UAAU,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAyB,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACrG,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAEvE;;;;;GAKG;AAEH,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,uBAAuB,CAAC,CAAC;AAE/F,MAAM,CAAC,OAAO,OAAO,kBAAmB,SAAQ,SAAgC;IACvE,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5D,MAAM,CAAU,KAAK,GAAG;QAC7B,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC9B,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;YAC7D,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;SACf,CAAC;KACH,CAAC;IACM,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAEjD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACvD,oBAAoB;QACpB,MAAM,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAC7D,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAiB,MAAM,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE9E,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,cAAc,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;YAC9E,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACjF,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,+BAA+B,EAAE,kBAAkB,CAAC,CAAC;QAChE,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,CAAC,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAC9C,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAED,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
3
  export default class SfProvarConfigSet extends SfCommand<SfProvarCommandResult> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
@@ -0,0 +1,85 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import * as fileSystem from 'node:fs';
8
+ import { SfCommand, parseVarArgs } from '@salesforce/sf-plugins-core';
9
+ import { Messages } from '@salesforce/core';
10
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
11
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
12
+ import { errorMessages } from '../../../../constants/errorMessages.js';
13
+ import { ProvarConfig } from '../../../../Utility/provarConfig.js';
14
+ import { parseJSONString, setNestedProperty } from '../../../../Utility/jsonSupport.js';
15
+ /**
16
+ * Sets the specified property key and value inside provardx-properties.json
17
+ * loaded under config file
18
+ *
19
+ */
20
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
21
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.config.set');
22
+ export default class SfProvarConfigSet extends SfCommand {
23
+ static summary = messages.getMessage('summary');
24
+ static description = messages.getMessage('description');
25
+ static examples = messages.getMessages('examples');
26
+ static strict = false;
27
+ errorHandler = new ErrorHandler();
28
+ async run() {
29
+ const { argv, flags } = await this.parse(SfProvarConfigSet);
30
+ // eslint-disable-next-line
31
+ const config = await ProvarConfig.loadConfig(this.errorHandler);
32
+ const propertiesFilePath = config.get('PROVARDX_PROPERTIES_FILE_PATH')?.toString();
33
+ if (propertiesFilePath === undefined || !fileSystem.existsSync(propertiesFilePath)) {
34
+ this.errorHandler.addErrorsToList('MISSING_FILE', errorMessages.MISSINGFILEERROR);
35
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
36
+ }
37
+ try {
38
+ /* eslint-disable */
39
+ const parsed = parseVarArgs({}, argv);
40
+ if (Object.keys(parsed).length === 0) {
41
+ this.errorHandler.addErrorsToList('MISSING_PROPERTY', errorMessages.MISSING_PROPERTY);
42
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
43
+ }
44
+ const data = fileSystem.readFileSync(propertiesFilePath, { encoding: 'utf8' });
45
+ const propertyFileContent = JSON.parse(data);
46
+ for (let [propertyName, propertyValue] of Object.entries(parsed)) {
47
+ if (!propertyValue) {
48
+ this.errorHandler.addErrorsToList('MISSING_VALUE', errorMessages.MISSING_VALUE);
49
+ }
50
+ if (propertyName.length < 1) {
51
+ this.errorHandler.addErrorsToList('MISSING_PROPERTY', errorMessages.MISSING_PROPERTY);
52
+ }
53
+ try {
54
+ propertyValue = parseJSONString(propertyValue);
55
+ }
56
+ catch (err) {
57
+ this.errorHandler.addErrorsToList('INVALID_VALUE', errorMessages.INVALID_VALUE);
58
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
59
+ }
60
+ if (propertyName.includes('.')) {
61
+ setNestedProperty(propertyFileContent, propertyName, propertyValue);
62
+ }
63
+ else {
64
+ propertyFileContent[propertyName] = propertyValue;
65
+ }
66
+ }
67
+ if (this.errorHandler.getErrors().length == 0) {
68
+ fileSystem.writeFileSync(propertiesFilePath, JSON.stringify(propertyFileContent, null, 3));
69
+ }
70
+ }
71
+ catch (err) {
72
+ if (err.name === 'InvalidArgumentFormatError') {
73
+ this.errorHandler.addErrorsToList('INVALID_ARGUMENT', errorMessages.INVALID_ARGUMENT);
74
+ }
75
+ else if (err.name === 'SyntaxError') {
76
+ this.errorHandler.addErrorsToList('MALFORMED_FILE', errorMessages.MALFORMEDFILEERROR);
77
+ }
78
+ else {
79
+ throw err;
80
+ }
81
+ }
82
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
83
+ }
84
+ }
85
+ //# sourceMappingURL=set.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/set.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { SfCommand } from '@salesforce/sf-plugins-core';
2
- import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
3
  export default class SfProvarConfigValidate extends SfCommand<SfProvarCommandResult> {
4
4
  static readonly summary: string;
5
5
  static readonly description: string;
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright (c) 2024 Provar Limited.
3
+ * All rights reserved.
4
+ * Licensed under the BSD 3-Clause license.
5
+ * For full license text, see LICENSE.md file in the repo root or https://opensource.org/licenses/BSD-3-Clause
6
+ */
7
+ import { SfCommand } from '@salesforce/sf-plugins-core';
8
+ import { Messages } from '@salesforce/core';
9
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
10
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
11
+ import PropertyFileValidator from '../../../../Utility/propertyFileValidator.js';
12
+ /**
13
+ * Validates the provardx-properties.json against JSON standards and provardx schema
14
+ * mentioned under PropertyFileSchema.ts
15
+ *
16
+ */
17
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
18
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'sf.provar.config.validate');
19
+ export default class SfProvarConfigValidate extends SfCommand {
20
+ static summary = messages.getMessage('summary');
21
+ static description = messages.getMessage('description');
22
+ static examples = messages.getMessages('examples');
23
+ errorHandler = new ErrorHandler();
24
+ async run() {
25
+ const { flags } = await this.parse(SfProvarConfigValidate);
26
+ const propertyFileValidator = new PropertyFileValidator(this.errorHandler);
27
+ await propertyFileValidator.validate();
28
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
29
+ }
30
+ }
31
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/config/validate.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,YAAY,MAAM,qCAAqC,CAAC;AAC/D,OAAO,EAAyB,cAAc,EAAE,MAAM,8CAA8C,CAAC;AACrG,OAAO,qBAAqB,MAAM,8CAA8C,CAAC;AAEjF;;;;GAIG;AAEH,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;AAEnG,MAAM,CAAC,OAAO,OAAO,sBAAuB,SAAQ,SAAgC;IAC3E,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC3D,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAEjD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC3D,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,MAAM,qBAAqB,CAAC,QAAQ,EAAE,CAAC;QAEvC,OAAO,cAAc,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACjF,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { SfCommand } from '@salesforce/sf-plugins-core';
2
+ import { SfProvarCommandResult } from '../../../../Utility/sfProvarCommandResult.js';
3
+ export default class ProvarMetadataDownload extends SfCommand<SfProvarCommandResult> {
4
+ static readonly summary: string;
5
+ static readonly description: string;
6
+ static readonly examples: string[];
7
+ static readonly flags: {
8
+ connections: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
+ };
10
+ private errorHandler;
11
+ run(): Promise<SfProvarCommandResult>;
12
+ private doConnectionOverrides;
13
+ }
@@ -0,0 +1,94 @@
1
+ import fileSystem from 'node:fs';
2
+ import { spawnSync } from 'node:child_process';
3
+ import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
4
+ import { Messages } from '@salesforce/core';
5
+ import ErrorHandler from '../../../../Utility/errorHandler.js';
6
+ import { ProvarConfig } from '../../../../Utility/provarConfig.js';
7
+ import { errorMessages } from '../../../../constants/errorMessages.js';
8
+ import { populateResult } from '../../../../Utility/sfProvarCommandResult.js';
9
+ import UserSupport from '../../../../Utility/userSupport.js';
10
+ import { fileContainsString } from '../../../../Utility/fileSupport.js';
11
+ import { removeSpaces, getStringAfterSubstring } from '../../../../Utility/stringSupport.js';
12
+ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
13
+ const messages = Messages.loadMessages('@provartesting/provardx-cli', 'provar.metadata.download');
14
+ export default class ProvarMetadataDownload extends SfCommand {
15
+ static summary = messages.getMessage('summary');
16
+ static description = messages.getMessage('description');
17
+ static examples = messages.getMessages('examples');
18
+ static flags = {
19
+ connections: Flags.string({
20
+ summary: messages.getMessage('flags.connections.summary'),
21
+ char: 'c',
22
+ required: true,
23
+ }),
24
+ };
25
+ errorHandler = new ErrorHandler();
26
+ async run() {
27
+ const { flags } = await this.parse(ProvarMetadataDownload);
28
+ const config = await ProvarConfig.loadConfig(this.errorHandler);
29
+ const propertiesFilePath = config.get('PROVARDX_PROPERTIES_FILE_PATH')?.toString();
30
+ if (propertiesFilePath === undefined || !fileSystem.existsSync(propertiesFilePath)) {
31
+ this.errorHandler.addErrorsToList('MISSING_FILE', errorMessages.MISSINGFILEERROR);
32
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
33
+ }
34
+ try {
35
+ const propertiesdata = fileSystem.readFileSync(propertiesFilePath, { encoding: 'utf8' });
36
+ /* eslint-disable */
37
+ const propertiesInstance = JSON.parse(propertiesdata);
38
+ if (flags.connections) {
39
+ propertiesInstance.connectionName = removeSpaces(flags.connections);
40
+ }
41
+ this.doConnectionOverrides(propertiesInstance);
42
+ const rawProperties = JSON.stringify(propertiesInstance);
43
+ const userSupport = new UserSupport();
44
+ const updateProperties = userSupport.prepareRawProperties(rawProperties);
45
+ const userInfo = await userSupport.getDxUsersInfo(propertiesInstance.connectionOverride, this.errorHandler);
46
+ if (userInfo === null) {
47
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
48
+ }
49
+ const userInfoString = userSupport.prepareRawProperties(JSON.stringify({ dxUsers: userInfo }));
50
+ const provarDxJarPath = propertiesInstance.provarHome + '/provardx/provardx.jar';
51
+ const downloadMetadatacommand = 'java -cp "' +
52
+ provarDxJarPath +
53
+ '" com.provar.provardx.DxCommandExecuter ' +
54
+ updateProperties +
55
+ ' ' +
56
+ userInfoString +
57
+ ' Metadata';
58
+ const javaProcessOutput = spawnSync(downloadMetadatacommand, { shell: true });
59
+ const downloadSuccessMessage = 'Download completed successfully';
60
+ if (!fileContainsString(javaProcessOutput.stderr.toString(), downloadSuccessMessage)) {
61
+ const errorMessage = getStringAfterSubstring(javaProcessOutput.stderr.toString(), 'ERROR');
62
+ this.errorHandler.addErrorsToList('DOWNLOAD_ERROR', `${errorMessage}`);
63
+ }
64
+ }
65
+ catch (error) {
66
+ if (error.name === 'SyntaxError') {
67
+ this.errorHandler.addErrorsToList('MALFORMED_FILE', errorMessages.MALFORMEDFILEERROR);
68
+ }
69
+ else if (error.name === 'MULTIPLE_ERRORSError') {
70
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
71
+ }
72
+ else {
73
+ this.errorHandler.addErrorsToList('DOWNLOAD_ERROR', `${error.errorMessage}`);
74
+ }
75
+ }
76
+ return populateResult(flags, this.errorHandler, messages, this.log.bind(this));
77
+ }
78
+ doConnectionOverrides(properties) {
79
+ if (!properties.connectionOverride && !properties.connectionName) {
80
+ return;
81
+ }
82
+ if (properties.connectionName && properties.connectionOverride) {
83
+ const connections = properties.connectionName.split(',');
84
+ const connectionOverride = [];
85
+ for (const override of properties.connectionOverride) {
86
+ if (connections.indexOf(override.connection) !== -1) {
87
+ connectionOverride.push(override);
88
+ }
89
+ }
90
+ properties.connectionOverride = connectionOverride;
91
+ }
92
+ }
93
+ }
94
+ //# sourceMappingURL=download.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"download.js","sourceRoot":"","sources":["../../../../../src/commands/provar/automation/metadata/download.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export declare enum commandConstants {
2
- SF_PROVAR_CONFIG_GENERATE_COMMAND = "sf provar config generate",
3
- SF_PROVAR_CONFIG_LOAD_COMMAND = "sf provar config load",
4
- SF_PROVAR_CONFIG_VALIDATE_COMMAND = "sf provar config validate",
5
- SF_PROVAR_CONFIG_SET_COMMAND = "sf provar config set",
6
- SF_PROVAR_CONFIG_GET_COMMAND = "sf provar config get"
2
+ SF_PROVAR_AUTOMATION_CONFIG_GENERATE_COMMAND = "provar automation config generate",
3
+ SF_PROVAR_AUTOMATION_CONFIG_LOAD_COMMAND = "provar automation config load",
4
+ SF_PROVAR_AUTOMATION_CONFIG_VALIDATE_COMMAND = "provar automation config validate",
5
+ SF_PROVAR_AUTOMATION_CONFIG_SET_COMMAND = "provar automation config set",
6
+ SF_PROVAR_AUTOMATION_CONFIG_GET_COMMAND = "provar automation config get",
7
+ SF_PROVAR_AUTOMATION_METADATA_DOWNLOAD_COMMAND = "provar automation metadata download"
7
8
  }