sfdx-easy-sources 0.2.10 → 0.3.2

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 (193) hide show
  1. package/lib/commands/easysources/allmeta/merge.d.ts +3 -3
  2. package/lib/commands/easysources/allmeta/merge.js +14 -13
  3. package/lib/commands/easysources/allmeta/merge.js.map +1 -1
  4. package/lib/commands/easysources/allmeta/retrieve.d.ts +31 -0
  5. package/lib/commands/easysources/allmeta/retrieve.js +393 -0
  6. package/lib/commands/easysources/allmeta/retrieve.js.map +1 -0
  7. package/lib/commands/easysources/allmeta/split.d.ts +3 -2
  8. package/lib/commands/easysources/allmeta/split.js +14 -9
  9. package/lib/commands/easysources/allmeta/split.js.map +1 -1
  10. package/lib/commands/easysources/allmeta/upsert.d.ts +3 -2
  11. package/lib/commands/easysources/allmeta/upsert.js +14 -9
  12. package/lib/commands/easysources/allmeta/upsert.js.map +1 -1
  13. package/lib/commands/easysources/applications/merge.d.ts +2 -2
  14. package/lib/commands/easysources/applications/merge.js +9 -9
  15. package/lib/commands/easysources/applications/merge.js.map +1 -1
  16. package/lib/commands/easysources/applications/split.d.ts +2 -2
  17. package/lib/commands/easysources/applications/split.js +9 -9
  18. package/lib/commands/easysources/applications/split.js.map +1 -1
  19. package/lib/commands/easysources/applications/updatekey.d.ts +1 -1
  20. package/lib/commands/easysources/applications/updatekey.js +5 -5
  21. package/lib/commands/easysources/applications/updatekey.js.map +1 -1
  22. package/lib/commands/easysources/applications/upsert.d.ts +2 -2
  23. package/lib/commands/easysources/applications/upsert.js +9 -9
  24. package/lib/commands/easysources/applications/upsert.js.map +1 -1
  25. package/lib/commands/easysources/globalvaluesets/merge.d.ts +2 -2
  26. package/lib/commands/easysources/globalvaluesets/merge.js +7 -7
  27. package/lib/commands/easysources/globalvaluesets/merge.js.map +1 -1
  28. package/lib/commands/easysources/globalvaluesets/split.d.ts +2 -2
  29. package/lib/commands/easysources/globalvaluesets/split.js +7 -7
  30. package/lib/commands/easysources/globalvaluesets/split.js.map +1 -1
  31. package/lib/commands/easysources/globalvaluesets/updatekey.d.ts +1 -1
  32. package/lib/commands/easysources/globalvaluesets/updatekey.js +3 -3
  33. package/lib/commands/easysources/globalvaluesets/updatekey.js.map +1 -1
  34. package/lib/commands/easysources/globalvaluesets/upsert.d.ts +2 -2
  35. package/lib/commands/easysources/globalvaluesets/upsert.js +7 -7
  36. package/lib/commands/easysources/globalvaluesets/upsert.js.map +1 -1
  37. package/lib/commands/easysources/globalvaluesettranslations/merge.d.ts +2 -2
  38. package/lib/commands/easysources/globalvaluesettranslations/merge.js +7 -7
  39. package/lib/commands/easysources/globalvaluesettranslations/merge.js.map +1 -1
  40. package/lib/commands/easysources/globalvaluesettranslations/split.d.ts +2 -2
  41. package/lib/commands/easysources/globalvaluesettranslations/split.js +7 -7
  42. package/lib/commands/easysources/globalvaluesettranslations/split.js.map +1 -1
  43. package/lib/commands/easysources/globalvaluesettranslations/updatekey.d.ts +1 -1
  44. package/lib/commands/easysources/globalvaluesettranslations/updatekey.js +3 -3
  45. package/lib/commands/easysources/globalvaluesettranslations/updatekey.js.map +1 -1
  46. package/lib/commands/easysources/globalvaluesettranslations/upsert.d.ts +2 -2
  47. package/lib/commands/easysources/globalvaluesettranslations/upsert.js +7 -7
  48. package/lib/commands/easysources/globalvaluesettranslations/upsert.js.map +1 -1
  49. package/lib/commands/easysources/labels/merge.d.ts +2 -2
  50. package/lib/commands/easysources/labels/merge.js +6 -6
  51. package/lib/commands/easysources/labels/merge.js.map +1 -1
  52. package/lib/commands/easysources/labels/split.d.ts +2 -2
  53. package/lib/commands/easysources/labels/split.js +6 -6
  54. package/lib/commands/easysources/labels/split.js.map +1 -1
  55. package/lib/commands/easysources/labels/updatekey.d.ts +1 -1
  56. package/lib/commands/easysources/labels/updatekey.js +3 -3
  57. package/lib/commands/easysources/labels/updatekey.js.map +1 -1
  58. package/lib/commands/easysources/labels/upsert.d.ts +2 -2
  59. package/lib/commands/easysources/labels/upsert.js +6 -6
  60. package/lib/commands/easysources/labels/upsert.js.map +1 -1
  61. package/lib/commands/easysources/permissionsets/delete.d.ts +1 -1
  62. package/lib/commands/easysources/permissionsets/delete.js +7 -5
  63. package/lib/commands/easysources/permissionsets/delete.js.map +1 -1
  64. package/lib/commands/easysources/permissionsets/merge.d.ts +2 -2
  65. package/lib/commands/easysources/permissionsets/merge.js +7 -7
  66. package/lib/commands/easysources/permissionsets/merge.js.map +1 -1
  67. package/lib/commands/easysources/permissionsets/split.d.ts +2 -2
  68. package/lib/commands/easysources/permissionsets/split.js +7 -7
  69. package/lib/commands/easysources/permissionsets/split.js.map +1 -1
  70. package/lib/commands/easysources/permissionsets/updatekey.d.ts +1 -1
  71. package/lib/commands/easysources/permissionsets/updatekey.js +3 -3
  72. package/lib/commands/easysources/permissionsets/updatekey.js.map +1 -1
  73. package/lib/commands/easysources/permissionsets/upsert.d.ts +2 -2
  74. package/lib/commands/easysources/permissionsets/upsert.js +7 -7
  75. package/lib/commands/easysources/permissionsets/upsert.js.map +1 -1
  76. package/lib/commands/easysources/profiles/delete.d.ts +1 -1
  77. package/lib/commands/easysources/profiles/delete.js +6 -4
  78. package/lib/commands/easysources/profiles/delete.js.map +1 -1
  79. package/lib/commands/easysources/profiles/merge.d.ts +2 -2
  80. package/lib/commands/easysources/profiles/merge.js +7 -7
  81. package/lib/commands/easysources/profiles/merge.js.map +1 -1
  82. package/lib/commands/easysources/profiles/split.d.ts +2 -2
  83. package/lib/commands/easysources/profiles/split.js +7 -7
  84. package/lib/commands/easysources/profiles/split.js.map +1 -1
  85. package/lib/commands/easysources/profiles/updatekey.d.ts +1 -1
  86. package/lib/commands/easysources/profiles/updatekey.js +3 -3
  87. package/lib/commands/easysources/profiles/updatekey.js.map +1 -1
  88. package/lib/commands/easysources/profiles/upsert.d.ts +2 -2
  89. package/lib/commands/easysources/profiles/upsert.js +7 -7
  90. package/lib/commands/easysources/profiles/upsert.js.map +1 -1
  91. package/lib/commands/easysources/recordtypes/delete.d.ts +1 -1
  92. package/lib/commands/easysources/recordtypes/delete.js +6 -4
  93. package/lib/commands/easysources/recordtypes/delete.js.map +1 -1
  94. package/lib/commands/easysources/recordtypes/merge.d.ts +2 -2
  95. package/lib/commands/easysources/recordtypes/merge.js +11 -9
  96. package/lib/commands/easysources/recordtypes/merge.js.map +1 -1
  97. package/lib/commands/easysources/recordtypes/split.d.ts +2 -2
  98. package/lib/commands/easysources/recordtypes/split.js +11 -9
  99. package/lib/commands/easysources/recordtypes/split.js.map +1 -1
  100. package/lib/commands/easysources/recordtypes/updatekey.d.ts +1 -1
  101. package/lib/commands/easysources/recordtypes/updatekey.js +6 -4
  102. package/lib/commands/easysources/recordtypes/updatekey.js.map +1 -1
  103. package/lib/commands/easysources/recordtypes/upsert.d.ts +2 -2
  104. package/lib/commands/easysources/recordtypes/upsert.js +11 -9
  105. package/lib/commands/easysources/recordtypes/upsert.js.map +1 -1
  106. package/lib/commands/easysources/settings/init.d.ts +11 -0
  107. package/lib/commands/easysources/settings/init.js +36 -0
  108. package/lib/commands/easysources/settings/init.js.map +1 -0
  109. package/lib/utils/commands/keyupdater.js +3 -1
  110. package/lib/utils/commands/keyupdater.js.map +1 -1
  111. package/lib/utils/commands/merger.js +4 -2
  112. package/lib/utils/commands/merger.js.map +1 -1
  113. package/lib/utils/commands/splitter.js +4 -2
  114. package/lib/utils/commands/splitter.js.map +1 -1
  115. package/lib/utils/commands/upserter.js +7 -3
  116. package/lib/utils/commands/upserter.js.map +1 -1
  117. package/lib/utils/commands/utils.d.ts +4 -0
  118. package/lib/utils/commands/utils.js +89 -0
  119. package/lib/utils/commands/utils.js.map +1 -0
  120. package/lib/utils/constants/constants.d.ts +4 -1
  121. package/lib/utils/constants/constants.js +6 -2
  122. package/lib/utils/constants/constants.js.map +1 -1
  123. package/lib/utils/constants/constants_applications.d.ts +9 -3
  124. package/lib/utils/constants/constants_applications.js +4 -3
  125. package/lib/utils/constants/constants_applications.js.map +1 -1
  126. package/lib/utils/constants/constants_globalvaluesets.d.ts +1 -1
  127. package/lib/utils/constants/constants_globalvaluesets.js +2 -2
  128. package/lib/utils/constants/constants_globalvaluesets.js.map +1 -1
  129. package/lib/utils/constants/constants_globalvaluesettranslations.d.ts +9 -3
  130. package/lib/utils/constants/constants_globalvaluesettranslations.js +4 -3
  131. package/lib/utils/constants/constants_globalvaluesettranslations.js.map +1 -1
  132. package/lib/utils/constants/constants_labels.d.ts +1 -1
  133. package/lib/utils/constants/constants_labels.js +2 -2
  134. package/lib/utils/constants/constants_labels.js.map +1 -1
  135. package/lib/utils/constants/constants_permissionsets.d.ts +1 -20
  136. package/lib/utils/constants/constants_permissionsets.js +7 -6
  137. package/lib/utils/constants/constants_permissionsets.js.map +1 -1
  138. package/lib/utils/constants/constants_profiles.d.ts +1 -1
  139. package/lib/utils/constants/constants_profiles.js +2 -2
  140. package/lib/utils/constants/constants_profiles.js.map +1 -1
  141. package/lib/utils/constants/constants_recordtypes.d.ts +1 -1
  142. package/lib/utils/constants/constants_recordtypes.js +2 -2
  143. package/lib/utils/constants/constants_recordtypes.js.map +1 -1
  144. package/lib/utils/constants/constants_sourcesdownload.d.ts +21 -0
  145. package/lib/utils/constants/constants_sourcesdownload.js +67 -0
  146. package/lib/utils/constants/constants_sourcesdownload.js.map +1 -0
  147. package/lib/utils/filesUtils.d.ts +3 -0
  148. package/lib/utils/filesUtils.js +26 -1
  149. package/lib/utils/filesUtils.js.map +1 -1
  150. package/lib/utils/localSettings.d.ts +6 -0
  151. package/lib/utils/localSettings.js +20 -0
  152. package/lib/utils/localSettings.js.map +1 -0
  153. package/lib/utils/utils.d.ts +0 -2
  154. package/lib/utils/utils.js +1 -21
  155. package/lib/utils/utils.js.map +1 -1
  156. package/messages/all_merge.json +4 -3
  157. package/messages/all_split.json +5 -4
  158. package/messages/all_upsert.json +4 -3
  159. package/messages/allmeta_retrieve.json +20 -0
  160. package/messages/applications_merge.json +3 -3
  161. package/messages/applications_split.json +6 -6
  162. package/messages/applications_updatekey.json +2 -2
  163. package/messages/applications_upsert.json +3 -3
  164. package/messages/globalvaluesets_merge.json +3 -3
  165. package/messages/globalvaluesets_split.json +6 -6
  166. package/messages/globalvaluesets_updatekey.json +2 -2
  167. package/messages/globalvaluesets_upsert.json +3 -3
  168. package/messages/globalvaluesettranslations_merge.json +3 -3
  169. package/messages/globalvaluesettranslations_split.json +6 -6
  170. package/messages/globalvaluesettranslations_updatekey.json +2 -2
  171. package/messages/globalvaluesettranslations_upsert.json +3 -3
  172. package/messages/labels_merge.json +3 -3
  173. package/messages/labels_split.json +4 -4
  174. package/messages/labels_updatekey.json +2 -2
  175. package/messages/labels_upsert.json +3 -3
  176. package/messages/permissionsets_delete.json +1 -1
  177. package/messages/permissionsets_merge.json +3 -3
  178. package/messages/permissionsets_split.json +6 -6
  179. package/messages/permissionsets_updatekey.json +1 -1
  180. package/messages/permissionsets_upsert.json +3 -3
  181. package/messages/profiles_delete.json +1 -1
  182. package/messages/profiles_merge.json +3 -3
  183. package/messages/profiles_split.json +6 -6
  184. package/messages/profiles_updatekey.json +1 -1
  185. package/messages/profiles_upsert.json +3 -3
  186. package/messages/recordtypes_delete.json +2 -2
  187. package/messages/recordtypes_merge.json +5 -5
  188. package/messages/recordtypes_split.json +6 -6
  189. package/messages/recordtypes_updatekey.json +3 -3
  190. package/messages/recordtypes_upsert.json +5 -5
  191. package/messages/settings_init.json +7 -0
  192. package/oclif.manifest.json +1 -1
  193. package/package.json +25 -4
@@ -7,9 +7,9 @@ export default class Merge extends SfdxCommand {
7
7
  name: string;
8
8
  }[];
9
9
  protected static flagsConfig: {
10
- dir: flags.Discriminated<flags.String>;
11
- input: flags.Discriminated<flags.String>;
12
- output: flags.Discriminated<flags.String>;
10
+ "sf-xml": flags.Discriminated<flags.String>;
11
+ "es-csv": flags.Discriminated<flags.String>;
12
+ sequencial: flags.Discriminated<flags.Boolean<boolean>>;
13
13
  };
14
14
  run(): Promise<AnyJson>;
15
15
  }
@@ -11,16 +11,16 @@ const command_1 = require("@salesforce/command");
11
11
  const core_1 = require("@salesforce/core");
12
12
  const performance_1 = require("../../../utils/performance");
13
13
  const constants_1 = require("../../../utils/constants/constants");
14
- const utils_1 = require("../../../utils/utils");
14
+ const utils_1 = require("../../../utils/commands/utils");
15
15
  // Initialize Messages with the current plugin directory
16
16
  core_1.Messages.importMessagesDirectory(__dirname);
17
17
  // Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
18
18
  // or any library that is using the messages framework can also be loaded this way.
19
- const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'applications_merge');
19
+ const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'all_merge');
20
20
  class Merge extends command_1.SfdxCommand {
21
21
  async run() {
22
22
  performance_1.default.getInstance().start();
23
- await (0, utils_1.bulkExecuteCommands)(this.flags, 'merge');
23
+ await (0, utils_1.bulkExecuteCommands)(this.flags, 'merge', this.flags.sequencial);
24
24
  performance_1.default.getInstance().end();
25
25
  return 'OK';
26
26
  }
@@ -31,17 +31,18 @@ Merge.examples = messages.getMessage('examples').split(os.EOL);
31
31
  Merge.args = [{ name: 'file' }];
32
32
  Merge.flagsConfig = {
33
33
  // flag with a value (-n, --name=VALUE)
34
- dir: command_1.flags.string({
35
- char: 'd',
36
- description: messages.getMessage('dirFlagDescription', [constants_1.DEFAULT_PATH]),
34
+ "sf-xml": command_1.flags.string({
35
+ char: 'x',
36
+ description: messages.getMessage('sfXmlFlagDescription', [constants_1.DEFAULT_SFXML_PATH]),
37
37
  }),
38
- input: command_1.flags.string({
39
- char: 'i',
40
- description: messages.getMessage('inputFlagDescription'),
38
+ "es-csv": command_1.flags.string({
39
+ char: 'c',
40
+ description: messages.getMessage('esCsvFlagDescription', [constants_1.DEFAULT_ESCSV_PATH]),
41
+ }),
42
+ sequencial: command_1.flags.boolean({
43
+ char: 's',
44
+ description: messages.getMessage('sequencialFlagDescription', ["false"]),
45
+ default: false
41
46
  }),
42
- output: command_1.flags.string({
43
- char: 'o',
44
- description: messages.getMessage('outputFlagDescription', [constants_1.DEFAULT_PATH]),
45
- })
46
47
  };
47
48
  //# sourceMappingURL=merge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/merge.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAAkE;AAClE,gDAA2D;AAI3D,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAElF,MAAqB,KAAM,SAAQ,qBAAW;IAuBnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAA,2BAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/C,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;;AA/BL,wBAgCC;AA/BiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAEzD,UAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,GAAG,EAAE,eAAK,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,wBAAY,CAAC,CAAC;KACzE,CAAC;IACF,KAAK,EAAE,eAAK,CAAC,MAAM,CAAC;QAChB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;KAC3D,CAAC;IACF,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,wBAAY,CAAC,CAAC;KAC5E,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/merge.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAA4F;AAC5F,yDAAoE;AAIpE,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAEzE,MAAqB,KAAM,SAAQ,qBAAW;IAwBnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAA,2BAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtE,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;;AAhCL,wBAiCC;AAhCiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAEzD,UAAI,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAEvB,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,UAAU,EAAE,eAAK,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK;KACjB,CAAC;CACL,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { flags, SfdxCommand } from '@salesforce/command';
2
+ import { AnyJson } from '@salesforce/ts-types';
3
+ export default class Retrieve extends SfdxCommand {
4
+ static description: string;
5
+ static examples: string[];
6
+ protected static flagsConfig: {
7
+ manifest: flags.Discriminated<flags.String>;
8
+ "sf-xml": flags.Discriminated<flags.String>;
9
+ "es-csv": flags.Discriminated<flags.String>;
10
+ orgname: flags.Discriminated<flags.String>;
11
+ "dont-retrieve": flags.Discriminated<flags.Boolean<boolean>>;
12
+ resnumb: flags.Discriminated<flags.String>;
13
+ "log-dir": flags.Discriminated<flags.String>;
14
+ "split-merge": flags.Discriminated<flags.Boolean<boolean>>;
15
+ clean: flags.Discriminated<flags.Boolean<boolean>>;
16
+ sequencial: flags.Discriminated<flags.Boolean<boolean>>;
17
+ };
18
+ run(): Promise<AnyJson>;
19
+ }
20
+ export declare function splitCustomObjectTranslation(typeItemsMap: any, typesToDelete: any, objWeights: any, resourcesNum: any): Map<string, string[]>[];
21
+ export declare function splitChunksWithFixedTypes(typeItemsMap: any, typesToDelete: any, objWeights: any, resourcesNum: any, FIXED_TYPES: any, RELATED_TYPES: any): Map<string, string[]>[];
22
+ export declare function getTempPackageFilename(type: any, i: any): string;
23
+ export declare function writeChunkPackages(chunks: any, baseInputDir: any, type: any, counter: any): Promise<any[]>;
24
+ export declare function retrieveChunks(chunks: any, orgname: any, baseInputDir: any, type: any, filenames: any, logdir: any): Promise<void>;
25
+ export declare function writePackageXmlFile(dir: any, filename: any, obj: any): Promise<void>;
26
+ export declare function toPackageXml(map: any): {
27
+ Package: {};
28
+ };
29
+ export declare function splitTypeItemsToChunks(typeItemsMap: any, typeItemsMapChunkInit: any, objWeights: any, resourcesNum: any): Map<string, string[]>[];
30
+ export declare function jsonArrayToMap(jsonArray: any): Map<string, string[]>;
31
+ export declare function getSizeOfMapElements(map: any): number;
@@ -0,0 +1,393 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSizeOfMapElements = exports.jsonArrayToMap = exports.splitTypeItemsToChunks = exports.toPackageXml = exports.writePackageXmlFile = exports.retrieveChunks = exports.writeChunkPackages = exports.getTempPackageFilename = exports.splitChunksWithFixedTypes = exports.splitCustomObjectTranslation = void 0;
4
+ /*
5
+ * Copyright (c) 2020, salesforce.com, inc.
6
+ * All rights reserved.
7
+ * Licensed under the BSD 3-Clause license.
8
+ * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
9
+ */
10
+ const os = require("os");
11
+ const command_1 = require("@salesforce/command");
12
+ const core_1 = require("@salesforce/core");
13
+ const performance_1 = require("../../../utils/performance");
14
+ const constants_1 = require("../../../utils/constants/constants");
15
+ const path_1 = require("path");
16
+ const constants_sourcesdownload_1 = require("../../../utils/constants/constants_sourcesdownload");
17
+ const filesUtils_1 = require("../../../utils/filesUtils");
18
+ const utils_1 = require("../../../utils/commands/utils");
19
+ const utils_2 = require("../../../utils/commands/utils");
20
+ const localSettings_1 = require("../../../utils/localSettings");
21
+ const fs = require('fs-extra');
22
+ const _ = require('lodash');
23
+ const settings = (0, localSettings_1.loadSettings)();
24
+ // Initialize Messages with the current plugin directory
25
+ core_1.Messages.importMessagesDirectory(__dirname);
26
+ // Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
27
+ // or any library that is using the messages framework can also be loaded this way.
28
+ const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'allmeta_retrieve');
29
+ class Retrieve extends command_1.SfdxCommand {
30
+ async run() {
31
+ performance_1.default.getInstance().start();
32
+ // * STEP 0 - Set variables
33
+ var orgname = this.flags.orgname;
34
+ var manifest = this.flags.manifest;
35
+ var manifestDir = (0, path_1.join)('.', 'manifest');
36
+ var retrieve = !this.flags["dont-retrieve"];
37
+ var splitmerge = this.flags["split-merge"];
38
+ var clean = this.flags.clean;
39
+ const resourcesNum = this.flags.resnumb || constants_sourcesdownload_1.RESOURCES_MAXNUM;
40
+ if (manifest == null && !fs.existsSync(manifestDir)) {
41
+ fs.mkdirSync(manifestDir, { recursive: true });
42
+ }
43
+ const logdir = this.flags['log-dir'] || settings['easysources-log-path'] || constants_1.DEFAULT_LOG_PATH;
44
+ const xmldir = this.flags['sf-xml'] || settings['salesforce-xml-path'] || constants_1.DEFAULT_SFXML_PATH;
45
+ const csvdir = this.flags['es-csv'] || settings['easysources-csv-path'] || constants_1.DEFAULT_ESCSV_PATH;
46
+ if (!fs.existsSync(logdir)) {
47
+ fs.mkdirSync(logdir, { recursive: true });
48
+ }
49
+ // * STEP 0.1
50
+ if (clean) {
51
+ await Promise.all([
52
+ (0, filesUtils_1.cleanDir)(xmldir),
53
+ (0, filesUtils_1.cleanDir)(logdir),
54
+ (0, filesUtils_1.cleanDir)(csvdir)
55
+ ]);
56
+ }
57
+ // * STEP 1 - Retrieve AllMeta Package and/or read it
58
+ if (manifest == null) {
59
+ await (0, utils_1.retrieveAllMetadataPackage)(orgname, manifestDir);
60
+ }
61
+ if (manifest != null) {
62
+ manifestDir = manifest.substring(0, manifest.lastIndexOf('/'));
63
+ }
64
+ const inputFile = manifest || (0, path_1.join)(manifestDir, constants_sourcesdownload_1.DEFAULT_PACKAGE_EXT);
65
+ const xmlFileContent = (await (0, filesUtils_1.readXmlFromFile)(inputFile)) ?? {};
66
+ const typesProperties = xmlFileContent[constants_sourcesdownload_1.TYPES_ROOT_TAG] ?? {};
67
+ const typeItemsList = typesProperties[constants_sourcesdownload_1.TYPES_PICKVAL_ROOT];
68
+ var typeItemsMap = jsonArrayToMap(typeItemsList);
69
+ // * STEP 1.1 - Calculate objects weight
70
+ const strFileContent = await (0, filesUtils_1.readStringFromFile)(inputFile);
71
+ var objWeights = {};
72
+ if (typeItemsMap.has('CustomObject')) {
73
+ for (const member of typeItemsMap.get('CustomObject')) {
74
+ var str = member + ".";
75
+ objWeights[member] = (strFileContent.split(str) || []).length; // should be -1, but we count also the customObject itself as +1
76
+ }
77
+ }
78
+ // * STEP 2 - Start chunkization
79
+ var typeItemsMapChunks = [];
80
+ var typesToDelete = [];
81
+ // * STEP 2.1 - profiles chunkization
82
+ var profileChunks = splitChunksWithFixedTypes(typeItemsMap, typesToDelete, objWeights, resourcesNum, constants_sourcesdownload_1.PROFILE_FIX_TYPE, constants_sourcesdownload_1.PROFILE_REL_TYPES);
83
+ console.log('Profile chunks size: ' + profileChunks.length);
84
+ // * STEP 2.2 - permset chunkization
85
+ var permsetChunks = splitChunksWithFixedTypes(typeItemsMap, typesToDelete, objWeights, resourcesNum, constants_sourcesdownload_1.PERMSET_FIX_TYPE, constants_sourcesdownload_1.PROFILE_REL_TYPES);
86
+ console.log('Permset chunks size: ' + permsetChunks.length);
87
+ // * STEP 2.3 - translation chunkization
88
+ var translationChunks = splitChunksWithFixedTypes(typeItemsMap, typesToDelete, objWeights, resourcesNum, constants_sourcesdownload_1.TRANSL_FIX_TYPES, constants_sourcesdownload_1.TRANSL_REL_TYPES);
89
+ console.log('Translation chunks size: ' + translationChunks.length);
90
+ if (translationChunks.length > 1) {
91
+ // should always be one... but just in case
92
+ console.log('WARNING: translation chunks size is greater than 1! This situation was not expected at the moment of writing this code.');
93
+ }
94
+ // * STEP 2.4 - customObjectTranslation chunkization
95
+ // for customObjectTranslation we need to split the chunks in a different way
96
+ // the idea is to have some fixed types, and to cycle on every couple Object/CustomObjectTranslation
97
+ var customObjectTranslationChunks = splitCustomObjectTranslation(typeItemsMap, typesToDelete, objWeights, resourcesNum);
98
+ console.log('CustomObjectTranslation chunks size: ' + customObjectTranslationChunks.length);
99
+ // * STEP 2.5 - delete already retrieved types
100
+ var membersToDeleteUniq = [...new Set(typesToDelete)];
101
+ for (var type of membersToDeleteUniq) {
102
+ typeItemsMap.delete(type);
103
+ }
104
+ // * STEP 2.4 - general chunkization
105
+ // the general chunkization applies to all, except profiles / permsets // // except objects (and childrens..)
106
+ // we split the package in various chunks, in a sequencial way, each of resourcesNum number of members (except the last chunk)
107
+ // at the end each item of typeItemsMapChunks will be a package
108
+ typeItemsMapChunks.push(...splitTypeItemsToChunks(typeItemsMap, null, objWeights, resourcesNum));
109
+ console.log('Other chunks size: ' + typeItemsMapChunks.length);
110
+ // * STEP 3 - write chunk packages
111
+ var counter = { val: 0 };
112
+ var translFiles = await writeChunkPackages(translationChunks, manifestDir, 'translations', counter);
113
+ var cotFiles = await writeChunkPackages(customObjectTranslationChunks, manifestDir, 'customobjtranslations', counter);
114
+ var profFiles = await writeChunkPackages(profileChunks, manifestDir, 'profiles', counter);
115
+ var permsFiles = await writeChunkPackages(permsetChunks, manifestDir, 'permissionsets', counter);
116
+ var otherFiles = await writeChunkPackages(typeItemsMapChunks, manifestDir, null, counter);
117
+ // * STEP 4 - retrieve chunk packages
118
+ if (retrieve) {
119
+ await Promise.all([
120
+ retrieveChunks(translationChunks, orgname, manifestDir, 'translations', translFiles, logdir),
121
+ retrieveChunks(customObjectTranslationChunks, orgname, manifestDir, 'customobjtranslations', cotFiles, logdir),
122
+ retrieveChunks(profileChunks, orgname, manifestDir, 'profiles', profFiles, logdir),
123
+ retrieveChunks(permsetChunks, orgname, manifestDir, 'permissionsets', permsFiles, logdir),
124
+ retrieveChunks(typeItemsMapChunks, orgname, manifestDir, null, otherFiles, logdir)
125
+ ]);
126
+ }
127
+ // * STEP 5 - Split and merge
128
+ if (splitmerge) {
129
+ await (0, utils_1.bulkExecuteCommands)(this.flags, 'split', this.flags.sequencial);
130
+ await (0, utils_1.bulkExecuteCommands)(this.flags, 'merge', this.flags.sequencial);
131
+ }
132
+ performance_1.default.getInstance().end();
133
+ return 'OK';
134
+ }
135
+ }
136
+ exports.default = Retrieve;
137
+ Retrieve.description = messages.getMessage('commandDescription');
138
+ Retrieve.examples = messages.getMessage('examples').split(os.EOL);
139
+ Retrieve.flagsConfig = {
140
+ // flag with a value (-n, --name=VALUE)
141
+ manifest: command_1.flags.string({
142
+ char: 'm',
143
+ description: messages.getMessage('manifestFlagDescription', [""]),
144
+ }),
145
+ "sf-xml": command_1.flags.string({
146
+ char: 'x',
147
+ description: messages.getMessage('sfXmlFlagDescription', [constants_1.DEFAULT_SFXML_PATH]),
148
+ }),
149
+ "es-csv": command_1.flags.string({
150
+ char: 'c',
151
+ description: messages.getMessage('esCsvFlagDescription', [constants_1.DEFAULT_ESCSV_PATH]),
152
+ }),
153
+ orgname: command_1.flags.string({
154
+ char: 'r',
155
+ description: messages.getMessage('orgFlagDescription', [""]),
156
+ required: true
157
+ }),
158
+ "dont-retrieve": command_1.flags.boolean({
159
+ char: 'k',
160
+ description: messages.getMessage('dontRetrieveFlagDescription', ["false"]),
161
+ default: false
162
+ }),
163
+ resnumb: command_1.flags.string({
164
+ char: 'n',
165
+ description: messages.getMessage('resnumbFlagDescription', [constants_sourcesdownload_1.RESOURCES_MAXNUM]),
166
+ }),
167
+ "log-dir": command_1.flags.string({
168
+ char: 'l',
169
+ description: messages.getMessage('logdirFlagDescription', [constants_1.DEFAULT_LOG_PATH]),
170
+ }),
171
+ "split-merge": command_1.flags.boolean({
172
+ char: 't',
173
+ description: messages.getMessage('splitMergeFlagDescription', ["false"]),
174
+ default: false
175
+ }),
176
+ clean: command_1.flags.boolean({
177
+ char: 'e',
178
+ description: messages.getMessage('cleanFlagDescription', ["false"]),
179
+ default: false
180
+ }),
181
+ sequencial: command_1.flags.boolean({
182
+ char: 's',
183
+ description: messages.getMessage('sequencialFlagDescription', ["false"]),
184
+ default: false
185
+ }),
186
+ };
187
+ function splitCustomObjectTranslation(typeItemsMap, typesToDelete, objWeights, resourcesNum) {
188
+ // create fixed items
189
+ var typeItemsFix = new Map();
190
+ for (var type of constants_sourcesdownload_1.CUSTOBJTRANSL_FIX_TYPES) {
191
+ if (typeItemsMap.has(type)) {
192
+ typeItemsFix.set(type, typeItemsMap.get(type));
193
+ typesToDelete.push(type);
194
+ }
195
+ }
196
+ var typeItemsMapChunks = [];
197
+ // initialize variables
198
+ var typeItemsMapChunkInit = typeItemsFix;
199
+ var typeItemsMapChunk = _.cloneDeep(typeItemsMapChunkInit);
200
+ var currNum = getSizeOfMapElements(typeItemsMapChunk);
201
+ for (const customobject of typeItemsMap.get(constants_sourcesdownload_1.CUSTOMOBJECT_TYPE)) {
202
+ var increment = objWeights[customobject];
203
+ currNum = currNum + increment;
204
+ // if we reach the maximum number of resources
205
+ if (currNum > resourcesNum) {
206
+ // 1 - we save the part map
207
+ typeItemsMapChunks.push(typeItemsMapChunk);
208
+ // 2 - we refresh the variables
209
+ typeItemsMapChunk = _.cloneDeep(typeItemsMapChunkInit);
210
+ currNum = getSizeOfMapElements(typeItemsMapChunk) + increment;
211
+ }
212
+ // accumulate each member entry
213
+ for (const customobjecttranslation of typeItemsMap.get(constants_sourcesdownload_1.CUSTOMOBJECTTRANSL_TYPE)) {
214
+ var found = false;
215
+ if (customobjecttranslation.startsWith(customobject + '-')) {
216
+ if (!found) {
217
+ var memberArray = typeItemsMapChunk.get(constants_sourcesdownload_1.CUSTOMOBJECT_TYPE) || [];
218
+ memberArray.push(customobject);
219
+ typeItemsMapChunk.set(constants_sourcesdownload_1.CUSTOMOBJECT_TYPE, memberArray);
220
+ found = true;
221
+ }
222
+ var memberArray = typeItemsMapChunk.get(constants_sourcesdownload_1.CUSTOMOBJECTTRANSL_TYPE) || [];
223
+ memberArray.push(customobjecttranslation);
224
+ typeItemsMapChunk.set(constants_sourcesdownload_1.CUSTOMOBJECTTRANSL_TYPE, memberArray);
225
+ }
226
+ }
227
+ }
228
+ // accumulate the metadata type at the end of the list of members
229
+ typeItemsMapChunks.push(typeItemsMapChunk);
230
+ typesToDelete.push(constants_sourcesdownload_1.CUSTOMOBJECT_TYPE);
231
+ typesToDelete.push(constants_sourcesdownload_1.CUSTOMOBJECTTRANSL_TYPE);
232
+ return typeItemsMapChunks;
233
+ }
234
+ exports.splitCustomObjectTranslation = splitCustomObjectTranslation;
235
+ function splitChunksWithFixedTypes(typeItemsMap, typesToDelete, objWeights, resourcesNum, FIXED_TYPES, RELATED_TYPES) {
236
+ // if(typeItemsMap.has(FIXED_TYPES)){
237
+ // create related items
238
+ var typeItemsRelated = new Map();
239
+ for (var relatedType of RELATED_TYPES) {
240
+ if (typeItemsMap.has(relatedType)) {
241
+ typeItemsRelated.set(relatedType, typeItemsMap.get(relatedType));
242
+ typesToDelete.push(relatedType);
243
+ }
244
+ }
245
+ typesToDelete.push(...FIXED_TYPES);
246
+ // create fixed items
247
+ var typeItemsFix = new Map();
248
+ for (var type of FIXED_TYPES) {
249
+ if (typeItemsMap.has(type)) {
250
+ typeItemsFix.set(type, typeItemsMap.get(type));
251
+ }
252
+ }
253
+ // perform chunkization
254
+ return splitTypeItemsToChunks(typeItemsRelated, typeItemsFix, objWeights, resourcesNum);
255
+ // typeItemsMapChunks.push(...profileChunks);
256
+ // } else {
257
+ // return [];
258
+ // }
259
+ }
260
+ exports.splitChunksWithFixedTypes = splitChunksWithFixedTypes;
261
+ function getTempPackageFilename(type, i) {
262
+ var type = type == null ? 'all' : type;
263
+ return 'packageTemp_' + i + '_' + type + '.xml';
264
+ }
265
+ exports.getTempPackageFilename = getTempPackageFilename;
266
+ async function writeChunkPackages(chunks, baseInputDir, type, counter) {
267
+ var filenames = [];
268
+ for (var typeItemsMapChunk of chunks) {
269
+ counter['val'] = counter['val'] + 1;
270
+ var filename = getTempPackageFilename(type, counter['val']);
271
+ filenames.push(filename);
272
+ await writePackageXmlFile(baseInputDir, filename, typeItemsMapChunk);
273
+ }
274
+ return filenames;
275
+ }
276
+ exports.writeChunkPackages = writeChunkPackages;
277
+ async function retrieveChunks(chunks, orgname, baseInputDir, type, filenames, logdir) {
278
+ var isFirst = true;
279
+ for (var filename of filenames) {
280
+ await (0, utils_1.retrievePackage)(orgname, baseInputDir, filename, logdir);
281
+ if (type != null && constants_sourcesdownload_1.TYPES_TO_SPLIT.includes(type) && chunks.length > 1) {
282
+ if (isFirst) {
283
+ isFirst = false;
284
+ await (0, utils_2.executeCommand)(this.flags, 'split', type);
285
+ }
286
+ else {
287
+ await (0, utils_2.executeCommand)(this.flags, 'upsert', type);
288
+ }
289
+ }
290
+ }
291
+ if (type != null && chunks.length > 1) {
292
+ await (0, utils_2.executeCommand)(this.flags, 'merge', type);
293
+ }
294
+ }
295
+ exports.retrieveChunks = retrieveChunks;
296
+ async function writePackageXmlFile(dir, filename, obj) {
297
+ await (0, filesUtils_1.writeXmlToFile)((0, path_1.join)(dir, filename), toPackageXml(obj));
298
+ }
299
+ exports.writePackageXmlFile = writePackageXmlFile;
300
+ function toPackageXml(map) {
301
+ var pkg = {};
302
+ pkg['$'] = { xmlns: 'http://soap.sforce.com/2006/04/metadata' };
303
+ var types = [];
304
+ for (var [key, value] of map) {
305
+ var type = {};
306
+ type['members'] = value;
307
+ type['name'] = key;
308
+ types.push(type);
309
+ }
310
+ pkg['types'] = types;
311
+ pkg['version'] = constants_sourcesdownload_1.PACKAGE_VERSION;
312
+ return { Package: pkg };
313
+ }
314
+ exports.toPackageXml = toPackageXml;
315
+ function splitTypeItemsToChunks(typeItemsMap, typeItemsMapChunkInit, objWeights, resourcesNum) {
316
+ var typeItemsMapChunks = [];
317
+ // initialize variables
318
+ typeItemsMapChunkInit = typeItemsMapChunkInit == null ? new Map() : typeItemsMapChunkInit;
319
+ var typeItemsMapChunk = _.cloneDeep(typeItemsMapChunkInit);
320
+ var currNum = getSizeOfMapElements(typeItemsMapChunk);
321
+ // loop on each metadata type
322
+ if (typeItemsMap != null && typeItemsMap.size > 0) {
323
+ for (const [name, members] of typeItemsMap) {
324
+ var membersPart = [];
325
+ // loop on each member of the given metadata type
326
+ for (const member of members) {
327
+ var increment;
328
+ // since the customObject also downloads other subresources, to avoid hitting numResources
329
+ // the customObject weight is the one calculated in the STEP 1.1
330
+ if (name == 'CustomObject' && objWeights[member] != null) {
331
+ increment = objWeights[member];
332
+ }
333
+ else if (constants_sourcesdownload_1.OBJECT_SUBPART_SKIP.includes(name)
334
+ && objWeights.hasOwnProperty(member.substring(0, member.indexOf('.')))) {
335
+ // but we can optimize the process by removing the subparts that are automatically downloaded with the customObject
336
+ // this would improve scenarios where objects folder has more than 10000 resources
337
+ // TODO should be investigated later
338
+ // IDEA: add another if: if name == 'one type i want to skip' and member.substring(0, indexOf(.))
339
+ continue;
340
+ }
341
+ else {
342
+ increment = 1;
343
+ }
344
+ currNum = currNum + increment;
345
+ // if we reach the maximum number of resources:
346
+ if (currNum > resourcesNum) {
347
+ // 1 - we save the part map
348
+ if (membersPart.length > 0) {
349
+ typeItemsMapChunk.set(name, membersPart);
350
+ }
351
+ typeItemsMapChunks.push(typeItemsMapChunk);
352
+ // 2 - we refresh the variables
353
+ typeItemsMapChunk = _.cloneDeep(typeItemsMapChunkInit);
354
+ currNum = getSizeOfMapElements(typeItemsMapChunk) + increment;
355
+ membersPart = [];
356
+ }
357
+ // accumulate each member entry
358
+ membersPart.push(member);
359
+ }
360
+ // accumulate the metadata type at the end of the list of members
361
+ typeItemsMapChunk.set(name, membersPart);
362
+ }
363
+ }
364
+ // save the last chunk of the map
365
+ if (typeItemsMapChunk.size > 0) {
366
+ typeItemsMapChunks.push(typeItemsMapChunk);
367
+ }
368
+ return typeItemsMapChunks;
369
+ }
370
+ exports.splitTypeItemsToChunks = splitTypeItemsToChunks;
371
+ function jsonArrayToMap(jsonArray) {
372
+ if (!Array.isArray(jsonArray))
373
+ jsonArray = [jsonArray];
374
+ const myMap = new Map(jsonArray.map(object => {
375
+ return [object['name'],
376
+ Array.isArray(object['members']) ? object['members'] : [object['members']]];
377
+ }));
378
+ return myMap;
379
+ }
380
+ exports.jsonArrayToMap = jsonArrayToMap;
381
+ function getSizeOfMapElements(map) {
382
+ if (map == null) {
383
+ return 0;
384
+ }
385
+ var size = 0;
386
+ for (var [key, value] of map) {
387
+ key; // dummy use, if not throws error
388
+ size += value.length;
389
+ }
390
+ return size;
391
+ }
392
+ exports.getSizeOfMapElements = getSizeOfMapElements;
393
+ //# sourceMappingURL=retrieve.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retrieve.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/retrieve.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,9 @@ export default class Split extends SfdxCommand {
4
4
  static description: string;
5
5
  static examples: string[];
6
6
  protected static flagsConfig: {
7
- dir: flags.Discriminated<flags.String>;
8
- output: flags.Discriminated<flags.String>;
7
+ "sf-xml": flags.Discriminated<flags.String>;
8
+ "es-csv": flags.Discriminated<flags.String>;
9
+ sequencial: flags.Discriminated<flags.Boolean<boolean>>;
9
10
  };
10
11
  run(): Promise<AnyJson>;
11
12
  }
@@ -11,16 +11,16 @@ const command_1 = require("@salesforce/command");
11
11
  const core_1 = require("@salesforce/core");
12
12
  const performance_1 = require("../../../utils/performance");
13
13
  const constants_1 = require("../../../utils/constants/constants");
14
- const utils_1 = require("../../../utils/utils");
14
+ const utils_1 = require("../../../utils/commands/utils");
15
15
  // Initialize Messages with the current plugin directory
16
16
  core_1.Messages.importMessagesDirectory(__dirname);
17
17
  // Load the specific messages for this file. Messages from @salesforce/command, @salesforce/core,
18
18
  // or any library that is using the messages framework can also be loaded this way.
19
- const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'applications_split');
19
+ const messages = core_1.Messages.loadMessages('sfdx-easy-sources', 'all_split');
20
20
  class Split extends command_1.SfdxCommand {
21
21
  async run() {
22
22
  performance_1.default.getInstance().start();
23
- await (0, utils_1.bulkExecuteCommands)(this.flags, 'split');
23
+ await (0, utils_1.bulkExecuteCommands)(this.flags, 'split', this.flags.sequencial);
24
24
  performance_1.default.getInstance().end();
25
25
  return 'OK';
26
26
  }
@@ -30,13 +30,18 @@ Split.description = messages.getMessage('commandDescription');
30
30
  Split.examples = messages.getMessage('examples').split(os.EOL);
31
31
  Split.flagsConfig = {
32
32
  // flag with a value (-n, --name=VALUE)
33
- dir: command_1.flags.string({
34
- char: 'd',
35
- description: messages.getMessage('dirFlagDescription', [constants_1.DEFAULT_PATH]),
33
+ "sf-xml": command_1.flags.string({
34
+ char: 'x',
35
+ description: messages.getMessage('sfXmlFlagDescription', [constants_1.DEFAULT_SFXML_PATH]),
36
36
  }),
37
- output: command_1.flags.string({
38
- char: 'o',
39
- description: messages.getMessage('outputFlagDescription', [constants_1.DEFAULT_PATH]),
37
+ "es-csv": command_1.flags.string({
38
+ char: 'c',
39
+ description: messages.getMessage('esCsvFlagDescription', [constants_1.DEFAULT_ESCSV_PATH]),
40
+ }),
41
+ sequencial: command_1.flags.boolean({
42
+ char: 's',
43
+ description: messages.getMessage('sequencialFlagDescription', ["false"]),
44
+ default: false
40
45
  }),
41
46
  };
42
47
  //# sourceMappingURL=split.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/split.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAAkE;AAClE,gDAA2D;AAI3D,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;AAElF,MAAqB,KAAM,SAAQ,qBAAW;IAmBnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAA,2BAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/C,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;;AA3BL,wBA4BC;AA3BiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAGtD,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,GAAG,EAAE,eAAK,CAAC,MAAM,CAAC;QACd,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,wBAAY,CAAC,CAAC;KACzE,CAAC;IACF,MAAM,EAAE,eAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,wBAAY,CAAC,CAAC;KAC5E,CAAC;CACL,CAAC"}
1
+ {"version":3,"file":"split.js","sourceRoot":"","sources":["../../../../src/commands/easysources/allmeta/split.ts"],"names":[],"mappings":";;AAAA;;;;;GAKG;AACH,yBAAyB;AACzB,iDAAyD;AACzD,2CAA4C;AAE5C,4DAAqD;AACrD,kEAA4F;AAC5F,yDAAoE;AAIpE,wDAAwD;AACxD,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAE5C,iGAAiG;AACjG,mFAAmF;AACnF,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;AAEzE,MAAqB,KAAM,SAAQ,qBAAW;IAwBnC,KAAK,CAAC,GAAG;QACZ,qBAAW,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAElC,MAAM,IAAA,2BAAmB,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAEtE,qBAAW,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEhC,OAAO,IAAI,CAAC;IAChB,CAAC;;AAhCL,wBAiCC;AAhCiB,iBAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAExD,cAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;AAGtD,iBAAW,GAAG;IAC3B,uCAAuC;IACvC,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,8BAAkB,CAAC,CAAC;KACjF,CAAC;IACF,UAAU,EAAE,eAAK,CAAC,OAAO,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,EAAE,CAAC,OAAO,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK;KACjB,CAAC;CACL,CAAC"}
@@ -4,8 +4,9 @@ export default class Split extends SfdxCommand {
4
4
  static description: string;
5
5
  static examples: string[];
6
6
  protected static flagsConfig: {
7
- dir: flags.Discriminated<flags.String>;
8
- output: flags.Discriminated<flags.String>;
7
+ "sf-xml": flags.Discriminated<flags.String>;
8
+ "es-csv": flags.Discriminated<flags.String>;
9
+ sequencial: flags.Discriminated<flags.Boolean<boolean>>;
9
10
  };
10
11
  run(): Promise<AnyJson>;
11
12
  }