mcdev 7.0.4 → 7.1.1

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 (350) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  2. package/.husky/post-checkout +1 -1
  3. package/.husky/post-merge +7 -1
  4. package/.husky/pre-commit +2 -0
  5. package/@types/lib/Builder.d.ts.map +1 -1
  6. package/@types/lib/Deployer.d.ts +3 -0
  7. package/@types/lib/Deployer.d.ts.map +1 -1
  8. package/@types/lib/Retriever.d.ts.map +1 -1
  9. package/@types/lib/index.d.ts +70 -19
  10. package/@types/lib/index.d.ts.map +1 -1
  11. package/@types/lib/metadataTypes/Asset.d.ts +107 -16
  12. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  13. package/@types/lib/metadataTypes/AttributeGroup.d.ts +3 -0
  14. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -1
  15. package/@types/lib/metadataTypes/AttributeSet.d.ts +80 -0
  16. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -1
  17. package/@types/lib/metadataTypes/Automation.d.ts +11 -0
  18. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
  19. package/@types/lib/metadataTypes/Campaign.d.ts +1 -0
  20. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -1
  21. package/@types/lib/metadataTypes/ContentArea.d.ts +1 -0
  22. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -1
  23. package/@types/lib/metadataTypes/DataExtension.d.ts +5 -2
  24. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  25. package/@types/lib/metadataTypes/DataExtensionField.d.ts +3 -4
  26. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
  27. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +1 -0
  28. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -1
  29. package/@types/lib/metadataTypes/DataExtract.d.ts +1 -0
  30. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -1
  31. package/@types/lib/metadataTypes/DataExtractType.d.ts +1 -0
  32. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -1
  33. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +1 -0
  34. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -1
  35. package/@types/lib/metadataTypes/Discovery.d.ts +1 -0
  36. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -1
  37. package/@types/lib/metadataTypes/Email.d.ts +1 -0
  38. package/@types/lib/metadataTypes/Email.d.ts.map +1 -1
  39. package/@types/lib/metadataTypes/EmailSend.d.ts +9 -1
  40. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -1
  41. package/@types/lib/metadataTypes/Event.d.ts +99 -0
  42. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  43. package/@types/lib/metadataTypes/FileLocation.d.ts +1 -0
  44. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -1
  45. package/@types/lib/metadataTypes/FileTransfer.d.ts +1 -0
  46. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -1
  47. package/@types/lib/metadataTypes/Filter.d.ts +1 -0
  48. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
  49. package/@types/lib/metadataTypes/Folder.d.ts +39 -25
  50. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
  51. package/@types/lib/metadataTypes/ImportFile.d.ts +30 -1
  52. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
  53. package/@types/lib/metadataTypes/Journey.d.ts +123 -3
  54. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  55. package/@types/lib/metadataTypes/List.d.ts +1 -0
  56. package/@types/lib/metadataTypes/List.d.ts.map +1 -1
  57. package/@types/lib/metadataTypes/MetadataType.d.ts +50 -3
  58. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  59. package/@types/lib/metadataTypes/MobileCode.d.ts +1 -0
  60. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -1
  61. package/@types/lib/metadataTypes/MobileKeyword.d.ts +9 -0
  62. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  63. package/@types/lib/metadataTypes/MobileMessage.d.ts +4 -0
  64. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -1
  65. package/@types/lib/metadataTypes/Query.d.ts +3 -0
  66. package/@types/lib/metadataTypes/Query.d.ts.map +1 -1
  67. package/@types/lib/metadataTypes/Role.d.ts +1 -0
  68. package/@types/lib/metadataTypes/Role.d.ts.map +1 -1
  69. package/@types/lib/metadataTypes/Script.d.ts +3 -1
  70. package/@types/lib/metadataTypes/Script.d.ts.map +1 -1
  71. package/@types/lib/metadataTypes/SendClassification.d.ts +3 -0
  72. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  73. package/@types/lib/metadataTypes/SenderProfile.d.ts +1 -6
  74. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -1
  75. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +6 -0
  76. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -1
  77. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +1 -0
  78. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -1
  79. package/@types/lib/metadataTypes/TransactionalPush.d.ts +3 -0
  80. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -1
  81. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +4 -0
  82. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -1
  83. package/@types/lib/metadataTypes/TriggeredSend.d.ts +6 -6
  84. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  85. package/@types/lib/metadataTypes/User.d.ts +1 -0
  86. package/@types/lib/metadataTypes/User.d.ts.map +1 -1
  87. package/@types/lib/metadataTypes/Verification.d.ts +3 -0
  88. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -1
  89. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +78 -14
  90. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +3 -0
  91. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +80 -0
  92. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +16 -0
  93. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +1 -0
  94. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +1 -0
  95. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +1 -0
  96. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +1 -0
  97. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +1 -0
  98. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +1 -0
  99. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +1 -0
  100. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +1 -0
  101. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +1 -0
  102. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +1 -0
  103. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +9 -1
  104. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +99 -0
  105. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +1 -0
  106. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +1 -0
  107. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +1 -0
  108. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +1 -0
  109. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +30 -1
  110. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +94 -0
  111. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +1 -0
  112. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +1 -0
  113. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +9 -0
  114. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +4 -0
  115. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +3 -0
  116. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +1 -0
  117. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +1 -0
  118. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +3 -0
  119. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +1 -0
  120. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +6 -0
  121. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +1 -0
  122. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +3 -0
  123. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +4 -0
  124. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +6 -0
  125. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +1 -0
  126. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +3 -0
  127. package/@types/lib/util/cache.d.ts +10 -0
  128. package/@types/lib/util/cache.d.ts.map +1 -1
  129. package/@types/lib/util/cli.d.ts +3 -6
  130. package/@types/lib/util/cli.d.ts.map +1 -1
  131. package/@types/lib/util/config.d.ts.map +1 -1
  132. package/@types/lib/util/devops.d.ts.map +1 -1
  133. package/@types/lib/util/file.d.ts.map +1 -1
  134. package/@types/lib/util/init.config.d.ts.map +1 -1
  135. package/@types/lib/util/init.d.ts.map +1 -1
  136. package/@types/lib/util/init.git.d.ts.map +1 -1
  137. package/@types/lib/util/replaceContentBlockReference.d.ts +27 -4
  138. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  139. package/@types/lib/util/util.d.ts +32 -3
  140. package/@types/lib/util/util.d.ts.map +1 -1
  141. package/@types/types/mcdev.d.d.ts +87 -0
  142. package/@types/types/mcdev.d.d.ts.map +1 -1
  143. package/boilerplate/files/.vscode/settings.json +1 -0
  144. package/boilerplate/forcedUpdates.json +4 -0
  145. package/boilerplate/gitignore-template +0 -1
  146. package/lib/Builder.js +13 -8
  147. package/lib/Deployer.js +15 -7
  148. package/lib/Retriever.js +13 -2
  149. package/lib/cli.js +179 -14
  150. package/lib/index.js +543 -205
  151. package/lib/metadataTypes/Asset.js +469 -218
  152. package/lib/metadataTypes/Automation.js +34 -0
  153. package/lib/metadataTypes/DataExtension.js +34 -29
  154. package/lib/metadataTypes/DataExtensionField.js +2 -2
  155. package/lib/metadataTypes/Event.js +28 -2
  156. package/lib/metadataTypes/Folder.js +63 -48
  157. package/lib/metadataTypes/ImportFile.js +70 -28
  158. package/lib/metadataTypes/Journey.js +475 -95
  159. package/lib/metadataTypes/MetadataType.js +280 -61
  160. package/lib/metadataTypes/MobileKeyword.js +12 -1
  161. package/lib/metadataTypes/Script.js +4 -3
  162. package/lib/metadataTypes/SenderProfile.js +17 -5
  163. package/lib/metadataTypes/TriggeredSend.js +20 -5
  164. package/lib/metadataTypes/definitions/Asset.definition.js +66 -4
  165. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  166. package/lib/metadataTypes/definitions/AttributeSet.definition.js +86 -0
  167. package/lib/metadataTypes/definitions/Automation.definition.js +9 -0
  168. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -0
  169. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  170. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  171. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  172. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  173. package/lib/metadataTypes/definitions/DataExtract.definition.js +2 -1
  174. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  175. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +1 -0
  176. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  177. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  178. package/lib/metadataTypes/definitions/EmailSend.definition.js +9 -1
  179. package/lib/metadataTypes/definitions/Event.definition.js +97 -96
  180. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -0
  181. package/lib/metadataTypes/definitions/FileTransfer.definition.js +4 -0
  182. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  183. package/lib/metadataTypes/definitions/Folder.definition.js +10 -8
  184. package/lib/metadataTypes/definitions/ImportFile.definition.js +37 -2
  185. package/lib/metadataTypes/definitions/Journey.definition.js +111 -2
  186. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  187. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -0
  188. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +7 -0
  189. package/lib/metadataTypes/definitions/MobileMessage.definition.js +9 -0
  190. package/lib/metadataTypes/definitions/Query.definition.js +3 -0
  191. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  192. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  193. package/lib/metadataTypes/definitions/SendClassification.definition.js +4 -0
  194. package/lib/metadataTypes/definitions/SenderProfile.definition.js +1 -0
  195. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +7 -0
  196. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +1 -0
  197. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +3 -0
  198. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +4 -0
  199. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +12 -5
  200. package/lib/metadataTypes/definitions/User.definition.js +3 -0
  201. package/lib/metadataTypes/definitions/Verification.definition.js +1 -0
  202. package/lib/util/cache.js +35 -0
  203. package/lib/util/cli.js +96 -139
  204. package/lib/util/config.js +11 -19
  205. package/lib/util/devops.js +41 -41
  206. package/lib/util/file.js +1 -12
  207. package/lib/util/init.config.js +6 -10
  208. package/lib/util/init.git.js +43 -57
  209. package/lib/util/init.js +35 -59
  210. package/lib/util/replaceContentBlockReference.js +107 -60
  211. package/lib/util/util.js +90 -4
  212. package/package.json +14 -13
  213. package/test/general.test.js +1121 -167
  214. package/test/mockRoot/.mcdevrc.json +1 -1
  215. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withExistingDE.event-meta.json +1 -0
  216. package/test/mockRoot/deploy/testInstance/testBU/event/testNew_event_withSchema.event-meta.json +1 -0
  217. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json +1 -0
  218. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json +1 -0
  219. package/test/resourceFactory.js +43 -11
  220. package/test/resources/1111111/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +364 -0
  221. package/test/resources/9999999/asset/{block-1157-retrieve-expected.html → build-asset_htmlblock-expected.html} +1 -1
  222. package/test/resources/9999999/asset/build-asset_htmlblock-expected.json +29 -0
  223. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +65 -0
  224. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +3 -3
  225. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +3 -3
  226. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +65 -0
  227. package/test/resources/9999999/asset/template-emailTemplate-expected.json +20 -0
  228. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +65 -0
  229. package/test/resources/9999999/asset/template-testExisting_asset_htmlblock-expected.json +29 -0
  230. package/test/resources/9999999/asset/testExisting_asset_htmlblock-retrieve-expected.html +23 -0
  231. package/test/resources/9999999/asset/{block-1157-retrieve-expected.json → testExisting_asset_htmlblock-retrieve-expected.json} +3 -3
  232. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +6 -6
  233. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +1 -1
  234. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -4
  235. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +1 -1
  236. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -4
  237. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +4 -4
  238. package/test/resources/9999999/asset/v1/content/assets/1295065/get-response.json +60 -0
  239. package/test/resources/9999999/asset/v1/content/assets/1295066/get-response.json +60 -0
  240. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +75 -0
  241. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +3 -3
  242. package/test/resources/9999999/asset/v1/content/assets/950143/get-response.json +97 -0
  243. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +1 -1
  244. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN195,196,197,198,199,200,201,202,203,210,211,212,213,3.json +78 -2
  245. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,207,208,209,5,214,4,215,216.json +370 -0
  246. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14,193,194,15,195,196,197,198,199,200,201,202,203,210,211,212,213,3,215,216,217,218,219,220,221,222.json +243 -0
  247. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1,207,208,209,5.json +229 -0
  248. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +98 -1
  249. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN217,218,219,220,221,222,223,224,225,226,227,228.json +7 -0
  250. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228,214,4.json +35 -0
  251. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN223,224,225,226,227,228.json +7 -0
  252. package/test/resources/9999999/asset/v1/content/assets/query/{post-response-customerKey=mcdev-issue-1157.json → post-response-customerKey=testExisting_asset_htmlblock.json} +2 -2
  253. package/test/resources/9999999/automation/v1/imports/d2474efb-a449-ef11-b876-f40343c95928/get-response.json +37 -0
  254. package/test/resources/9999999/automation/v1/imports/get-response.json +32 -1
  255. package/test/resources/9999999/automation/v1/queries/get-response-Name=testExisting_query.json +24 -0
  256. package/test/resources/9999999/automation/v1/scripts/get-response-name=testExisting_script.json +17 -0
  257. package/test/resources/9999999/automation/v1/scripts/get-response.json +2 -2
  258. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-QAA-response.xml +70 -0
  259. package/test/resources/9999999/dataFolder/retrieve-ContentType=asset-shared-response.xml +70 -0
  260. package/test/resources/9999999/dataFolder/retrieve-ContentType=journey-response.xml +48 -0
  261. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,automatio,dataexten,hidden,journey,list,mysubs,publicati,queryacti,salesforc,shared_da,shared_da,shared_sa,ssjsactiv,synchroni,triggered,triggered,useriniti-response.xml +519 -0
  262. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,dataexten,salesforc,shared_da,shared_da,shared_sa,synchroni,automatio,useriniti,journey,mysubs,list,publicati,queryacti,ssjsactiv,triggered,triggered-response.xml +519 -0
  263. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,journey-response.xml +92 -0
  264. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +115 -0
  265. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared,ssjsactivity-response.xml +92 -0
  266. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-shared-QAA-response.xml +70 -0
  267. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset-shared,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +431 -0
  268. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINautomations,queryactivity-response.xml +70 -0
  269. package/test/resources/9999999/dataFolder/{retrieve-response.xml → retrieve-ContentTypeINdataextension,hidden,queryactivity,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +32 -119
  270. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINdataextension,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +117 -0
  271. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINhidden,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml +46 -0
  272. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINshared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-QAA-response.xml +251 -0
  273. package/test/resources/9999999/dataFolder/retrieve-response-.xml +519 -0
  274. package/test/resources/9999999/event/build-expected.json +0 -1
  275. package/test/resources/9999999/event/get-expected.json +0 -1
  276. package/test/resources/9999999/event/post_withExistingDE-callout-expected.json +3 -0
  277. package/test/resources/9999999/event/post_withExistingDE-expected.json +2 -0
  278. package/test/resources/9999999/event/post_withSchema-callout-expected.json +3 -0
  279. package/test/resources/9999999/event/post_withSchema-expected.json +2 -0
  280. package/test/resources/9999999/event/put-callout-expected.json +3 -1
  281. package/test/resources/9999999/event/put-expected.json +2 -2
  282. package/test/resources/9999999/event/template-expected.json +0 -1
  283. package/test/resources/9999999/importFile/build-expected.json +2 -4
  284. package/test/resources/9999999/importFile/get-dataImport-expected.json +36 -0
  285. package/test/resources/9999999/importFile/get-expected.json +2 -4
  286. package/test/resources/9999999/importFile/get-sms-expected.json +2 -1
  287. package/test/resources/9999999/importFile/patch-expected.json +2 -4
  288. package/test/resources/9999999/importFile/post-expected.json +2 -4
  289. package/test/resources/9999999/importFile/template-expected.json +2 -4
  290. package/test/resources/9999999/interaction/v1/eventDefinitions/key_testExisting_event/put-response.json +2 -1
  291. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withExistingDE-response.json +2 -0
  292. package/test/resources/9999999/interaction/v1/eventDefinitions/post_withSchema-response.json +2 -0
  293. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +4 -4
  294. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +4 -4
  295. package/test/resources/9999999/interaction/v1/interactions/publishAsync/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/post-response.json +4 -0
  296. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-failed.json +34 -0
  297. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-success.json +5 -0
  298. package/test/resources/9999999/interaction/v1/interactions/publishStatus/45f06c0a-3ed2-48b2-a6a8-b5119253f01c/get-response-successWarnings.json +36 -0
  299. package/test/resources/9999999/journey/build-expected.json +5 -5
  300. package/test/resources/9999999/journey/get-multistep-expected.json +1 -1
  301. package/test/resources/9999999/journey/get-quicksend-expected.json +5 -5
  302. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +1 -1
  303. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +7 -7
  304. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +1 -1
  305. package/test/resources/9999999/journey/post-expected.json +1 -1
  306. package/test/resources/9999999/journey/publish-callout-expected.json +1 -0
  307. package/test/resources/9999999/journey/put-expected.json +1 -1
  308. package/test/resources/9999999/journey/template-expected.json +5 -5
  309. package/test/resources/9999999/mobileKeyword/build-expected.json +1 -0
  310. package/test/resources/9999999/mobileKeyword/get-expected.json +1 -0
  311. package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -0
  312. package/test/resources/9999999/mobileKeyword/template-expected.json +1 -0
  313. package/test/resources/{1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → 9999999/queryDefinition/retrieve-CustomerKey=badANDStatus=Active-response.xml} +10 -11
  314. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +2 -2
  315. package/test/resources/9999999/script/get_ampscript-expected.html +1 -0
  316. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +1 -0
  317. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +3 -2
  318. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +3 -0
  319. package/test/resources/9999999/script/get_mixed-expected.html +2 -2
  320. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +2 -2
  321. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +4 -4
  322. package/test/resources/9999999/senderProfile/retrieve-response.xml +1 -1
  323. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +4 -4
  324. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +1 -1
  325. package/test/type.asset.test.js +232 -39
  326. package/test/type.automation.test.js +121 -77
  327. package/test/type.dataExtract.test.js +4 -4
  328. package/test/type.emailSend.test.js +3 -3
  329. package/test/type.event.test.js +0 -2
  330. package/test/type.importFile.test.js +12 -7
  331. package/test/type.journey.test.js +322 -9
  332. package/test/type.query.test.js +33 -29
  333. package/test/type.script.test.js +61 -11
  334. package/test/type.senderProfile.test.js +36 -3
  335. package/test/type.transactionalEmail.test.js +3 -3
  336. package/test/type.triggeredSend.test.js +75 -6
  337. package/test/utils.js +13 -3
  338. package/types/mcdev.d.js +27 -1
  339. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  340. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=falseANDEmaillike@-response.xml → retrieve-ActiveFlag=falseANDEmaillike@-QAA-response.xml} +0 -0
  341. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-QAA-response.xml} +0 -0
  342. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml → retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-QAA-response.xml} +0 -0
  343. /package/test/resources/1111111/accountUser/{retrieve-ActiveFlag=trueANDEmaillike@-response.xml → retrieve-ActiveFlag=trueANDEmaillike@-QAA-response.xml} +0 -0
  344. /package/test/resources/1111111/businessUnit/{retrieve-ID=1111111-response.xml → retrieve-ID=1111111-QAA-response.xml} +0 -0
  345. /package/test/resources/1111111/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  346. /package/test/resources/1111111/dataFolder/{retrieve-response.xml → retrieve-response-.xml} +0 -0
  347. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=asset-sharedORContentType=asset-response.xml → retrieve-ContentTypeINasset,asset-shared-response.xml} +0 -0
  348. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=contextual_suppression_listORContentType=publicationORContentType=suppression_listORContentType=mysubsORContentType=list-response.xml → retrieve-ContentTypeINcontextual_suppression_list,list,mysubs,publication,suppression_list-response.xml} +0 -0
  349. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=synchronizeddataextensionORContentType=shared_salesforcedataextensionORContentType=shared_dataextensionORContentType=shared_dataORContentType=salesforcedataextensionORContentType=dataextensionORContentType=hidden-response.xml → retrieve-ContentTypeINdataextension,hidden,salesforcedataextension,shared_data,shared_dataextension,shared_salesforcedataextension,synchronizeddataextension-response.xml} +0 -0
  350. /package/test/resources/9999999/dataFolder/{retrieve-ContentType=triggered_send_journeybuilderORContentType=triggered_sendORContentType=hidden-response.xml → retrieve-ContentTypeINhidden,triggered_send,triggered_send_journeybuilder-response.xml} +0 -0
package/lib/cli.js CHANGED
@@ -38,6 +38,7 @@ yargs(hideBin(process.argv))
38
38
  })
39
39
  .option('metadata', {
40
40
  type: 'string',
41
+ array: true,
41
42
  alias: 'm',
42
43
  group: 'Options for retrieve:',
43
44
  describe:
@@ -79,6 +80,7 @@ yargs(hideBin(process.argv))
79
80
  })
80
81
  .option('metadata', {
81
82
  type: 'string',
83
+ array: true,
82
84
  alias: 'm',
83
85
  group: 'Options for deploy:',
84
86
  describe:
@@ -91,11 +93,11 @@ yargs(hideBin(process.argv))
91
93
  describe:
92
94
  'allows you to add a suffix to the key of the metadata to be deployed',
93
95
  })
94
- .option('noMidSuffix', {
96
+ .option('autoMidSuffix', {
95
97
  type: 'boolean',
96
98
  group: 'Options for deploy:',
97
99
  describe:
98
- 'for asset: disables the automatic addition of the MID to the key of the deployed metadata when deploying cross-BU. Should be used with --keySuffix or with templating-based suffixes',
100
+ 'for asset: enables the automatic addition of the MID to the key of the deployed metadata when deploying cross-BU. Alternatively, use --keySuffix or templating-based suffixes',
99
101
  })
100
102
  .option('changeKeyField', {
101
103
  type: 'string',
@@ -141,6 +143,20 @@ yargs(hideBin(process.argv))
141
143
  group: 'Options for deploy:',
142
144
  describe:
143
145
  "ensure that updates to shared DataExtensions become visible in child BU's data designer (SF Known issue W-11031095)",
146
+ })
147
+ .option('noUpdate', {
148
+ group: 'Options for deploy:',
149
+ describe:
150
+ 'if set, no metadata will be updated, only new metadata will be created',
151
+ })
152
+ .option('publish', {
153
+ group: 'Options for deploy:',
154
+ describe: 'publishes the entity after deploy (only works on journeys)',
155
+ })
156
+ .option('skipStatusCheck', {
157
+ group: 'Options for deploy:',
158
+ describe:
159
+ 'only relevant if used together with --publish. if you do not care if publishing actually worked you can skip the checks with this option.',
144
160
  }),
145
161
  (argv) => {
146
162
  Mcdev.setOptions(argv);
@@ -236,6 +252,7 @@ yargs(hideBin(process.argv))
236
252
  })
237
253
  .option('metadata', {
238
254
  type: 'string',
255
+ array: true,
239
256
  alias: 'm',
240
257
  group: 'Options for delete:',
241
258
  describe: 'type or type:key or type:i:id or type:n:name to delete',
@@ -318,6 +335,7 @@ yargs(hideBin(process.argv))
318
335
  yargs
319
336
  .option('metadata', {
320
337
  type: 'string',
338
+ array: true,
321
339
  alias: 'm',
322
340
  group: 'Required parameters for build:',
323
341
  describe: 'type:key combos to build template for',
@@ -353,10 +371,22 @@ yargs(hideBin(process.argv))
353
371
  })
354
372
  .option('bulk', {
355
373
  type: 'boolean',
356
- group: 'Optional parameters for build:',
374
+ group: 'Options for build:',
357
375
  describe:
358
376
  'if defined, the marketTo parameter has to be a marketList and buildDefinitionBulk is executed',
359
- demandOption: true,
377
+ })
378
+ .option('dependencies', {
379
+ type: 'boolean',
380
+ alias: 'D',
381
+ group: 'Options for build:',
382
+ describe: 'create templates for all dependencies of the metadata component',
383
+ })
384
+ .option('retrieve', {
385
+ type: 'boolean',
386
+ alias: 'r',
387
+ group: 'Options for build:',
388
+ describe:
389
+ 're-retrieves potentially relevant metadata before running buildTemplate (all if --dependencies is used)',
360
390
  }),
361
391
  (argv) => {
362
392
  Mcdev.setOptions(argv);
@@ -397,6 +427,7 @@ yargs(hideBin(process.argv))
397
427
  })
398
428
  .option('metadata', {
399
429
  type: 'string',
430
+ array: true,
400
431
  alias: 'm',
401
432
  group: 'Options for buildTemplate:',
402
433
  describe: 'type:key combos to build template for',
@@ -405,6 +436,27 @@ yargs(hideBin(process.argv))
405
436
  type: 'string',
406
437
  group: 'Options for buildTemplate:',
407
438
  describe: 'market used for reverse building template',
439
+ })
440
+ .option('dependencies', {
441
+ type: 'boolean',
442
+ alias: 'D',
443
+ group: 'Options for buildTemplate:',
444
+ describe: 'create templates for all dependencies of the metadata component',
445
+ })
446
+ .option('retrieve', {
447
+ type: 'boolean',
448
+ alias: 'r',
449
+ group: 'Options for buildTemplate:',
450
+ describe:
451
+ 're-retrieves potentially relevant metadata before building (all if --dependencies is used)',
452
+ })
453
+ .check((argv) => {
454
+ if (!argv.MARKET && !argv.market) {
455
+ throw new Error(
456
+ 'Error: You need to provide a market for reverse building the template'
457
+ );
458
+ }
459
+ return true;
408
460
  }),
409
461
  (argv) => {
410
462
  Mcdev.setOptions(argv);
@@ -444,6 +496,7 @@ yargs(hideBin(process.argv))
444
496
  })
445
497
  .option('metadata', {
446
498
  type: 'string',
499
+ array: true,
447
500
  alias: 'm',
448
501
  group: 'Options for buildDefinition:',
449
502
  describe: 'type:templateName combos to build template for',
@@ -452,6 +505,14 @@ yargs(hideBin(process.argv))
452
505
  type: 'string',
453
506
  group: 'Options for buildDefinition:',
454
507
  describe: 'market used for building deployable definition',
508
+ })
509
+ .check((argv) => {
510
+ if (!argv.MARKET && !argv.market) {
511
+ throw new Error(
512
+ 'Error: You need to provide a market for reverse building the template'
513
+ );
514
+ }
515
+ return true;
455
516
  }),
456
517
  (argv) => {
457
518
  Mcdev.setOptions(argv);
@@ -487,6 +548,7 @@ yargs(hideBin(process.argv))
487
548
  })
488
549
  .option('metadata', {
489
550
  type: 'string',
551
+ array: true,
490
552
  alias: 'm',
491
553
  group: 'Options for buildDefinitionBulk:',
492
554
  describe: 'type:templateName combos to build template for',
@@ -613,6 +675,13 @@ yargs(hideBin(process.argv))
613
675
  type: 'string',
614
676
  describe: 'key(s) of the metadata component(s)',
615
677
  })
678
+ .option('metadata', {
679
+ type: 'string',
680
+ array: true,
681
+ alias: 'm',
682
+ group: 'Options for execute:',
683
+ describe: 'type or type:key or type:i:id or type:n:name to fix',
684
+ })
616
685
  .option('like', {
617
686
  type: 'string',
618
687
  group: 'Options for execute:',
@@ -625,11 +694,60 @@ yargs(hideBin(process.argv))
625
694
  describe:
626
695
  'optionally start existing schedule instead of running item once immediately (only works for automations)',
627
696
  }),
628
- // TODO: add option --metadata
629
697
  (argv) => {
630
698
  Mcdev.setOptions(argv);
631
- // ! do not allow multiple types to be passed in here via csvToArray
632
- Mcdev.execute(argv.BU, argv.TYPE, csvToArray(argv.KEY));
699
+ const typeKeyCombo = Mcdev.metadataToTypeKey(argv.metadata);
700
+ if ('undefined' === typeof typeKeyCombo) {
701
+ Mcdev.execute(argv.BU, csvToArray(argv.TYPE), csvToArray(argv.KEY));
702
+ } else {
703
+ Mcdev.execute(argv.BU, typeKeyCombo);
704
+ }
705
+ }
706
+ )
707
+ .command(
708
+ ['publish <BU> [TYPE] [KEY]'],
709
+ 'publishes the entity',
710
+ (yargs) =>
711
+ yargs
712
+ .positional('BU', {
713
+ type: 'string',
714
+ describe: 'the business unit where to start an item',
715
+ })
716
+ .positional('TYPE', {
717
+ type: 'string',
718
+ describe: 'metadata type',
719
+ })
720
+ .positional('KEY', {
721
+ type: 'string',
722
+ describe: 'key(s) of the metadata component(s)',
723
+ })
724
+ .option('metadata', {
725
+ type: 'string',
726
+ array: true,
727
+ alias: 'm',
728
+ group: 'Options for publish:',
729
+ describe: 'type or type:key or type:i:id or type:n:name to fix',
730
+ })
731
+ .option('like', {
732
+ type: 'string',
733
+ group: 'Options for publish:',
734
+ describe:
735
+ 'filter metadata components (can include % as wildcard or _ for a single character)',
736
+ })
737
+ .option('skipStatusCheck', {
738
+ group: 'Options for publish:',
739
+ describe:
740
+ 'if you don not care if publishing actually worked you can skip the checks',
741
+ }),
742
+
743
+ (argv) => {
744
+ Mcdev.setOptions(argv);
745
+ const typeKeyCombo = Mcdev.metadataToTypeKey(argv.metadata);
746
+ if ('undefined' === typeof typeKeyCombo) {
747
+ Mcdev.publish(argv.BU, csvToArray(argv.TYPE), csvToArray(argv.KEY));
748
+ } else {
749
+ Mcdev.publish(argv.BU, typeKeyCombo);
750
+ }
633
751
  }
634
752
  )
635
753
  .command(
@@ -649,17 +767,27 @@ yargs(hideBin(process.argv))
649
767
  type: 'string',
650
768
  describe: 'key(s) of the metadata component(s)',
651
769
  })
770
+ .option('metadata', {
771
+ type: 'string',
772
+ array: true,
773
+ alias: 'm',
774
+ group: 'Options for schedule:',
775
+ describe: 'type or type:key or type:i:id or type:n:name to fix',
776
+ })
652
777
  .option('like', {
653
778
  type: 'string',
654
- group: 'Options for execute:',
779
+ group: 'Options for schedule:',
655
780
  describe:
656
781
  'filter metadata components (can include % as wildcard or _ for a single character)',
657
782
  }),
658
- // TODO: add option --metadata
659
783
  (argv) => {
660
784
  Mcdev.setOptions(argv);
661
- // ! do not allow multiple types to be passed in here via csvToArray
662
- Mcdev.schedule(argv.BU, argv.TYPE, csvToArray(argv.KEY));
785
+ const typeKeyCombo = Mcdev.metadataToTypeKey(argv.metadata);
786
+ if ('undefined' === typeof typeKeyCombo) {
787
+ Mcdev.schedule(argv.BU, csvToArray(argv.TYPE), csvToArray(argv.KEY));
788
+ } else {
789
+ Mcdev.schedule(argv.BU, typeKeyCombo);
790
+ }
663
791
  }
664
792
  )
665
793
  .command(
@@ -679,17 +807,27 @@ yargs(hideBin(process.argv))
679
807
  type: 'string',
680
808
  describe: 'key(s) of the metadata component(s)',
681
809
  })
810
+ .option('metadata', {
811
+ type: 'string',
812
+ array: true,
813
+ alias: 'm',
814
+ group: 'Options for pause:',
815
+ describe: 'type or type:key or type:i:id or type:n:name to fix',
816
+ })
682
817
  .option('like', {
683
818
  type: 'string',
684
819
  group: 'Options for pause:',
685
820
  describe:
686
821
  'filter metadata components (can include % as wildcard or _ for a single character)',
687
822
  }),
688
- // TODO: add option --metadata
689
823
  (argv) => {
690
824
  Mcdev.setOptions(argv);
691
- // ! do not allow multiple types to be passed in here via csvToArray
692
- Mcdev.pause(argv.BU, argv.TYPE, csvToArray(argv.KEY));
825
+ const typeKeyCombo = Mcdev.metadataToTypeKey(argv.metadata);
826
+ if ('undefined' === typeof typeKeyCombo) {
827
+ Mcdev.pause(argv.BU, csvToArray(argv.TYPE), csvToArray(argv.KEY));
828
+ } else {
829
+ Mcdev.pause(argv.BU, typeKeyCombo);
830
+ }
693
831
  }
694
832
  )
695
833
  .command(
@@ -711,6 +849,7 @@ yargs(hideBin(process.argv))
711
849
  })
712
850
  .option('metadata', {
713
851
  type: 'string',
852
+ array: true,
714
853
  alias: 'm',
715
854
  group: 'Options for fixKeys:',
716
855
  describe: 'type or type:key or type:i:id or type:n:name to fix',
@@ -774,6 +913,7 @@ yargs(hideBin(process.argv))
774
913
  })
775
914
  .option('metadata', {
776
915
  type: 'string',
916
+ array: true,
777
917
  alias: 'm',
778
918
  group: 'Optional parameters for replaceContentBlock:',
779
919
  describe: 'type or type:key or type:i:id or type:n:name to fix',
@@ -789,6 +929,7 @@ yargs(hideBin(process.argv))
789
929
  })
790
930
  .option('skipRetrieve', {
791
931
  type: 'boolean',
932
+ alias: 'sr',
792
933
  group: 'Optional parameters for replaceContentBlock:',
793
934
  describe:
794
935
  'if you have already just downloaded the metadata and want to skip the retrieve step',
@@ -822,6 +963,30 @@ yargs(hideBin(process.argv))
822
963
  Mcdev.replaceCbReference(argv.bu, typeKeyCombo, argv.to, argv.from);
823
964
  }
824
965
  )
966
+ .command(
967
+ ['describeSoap <TYPE>', 'describe', 'soap'],
968
+ 'Contributor help: describes SOAP API objects and fields',
969
+ (yargs) =>
970
+ yargs
971
+ .positional('TYPE', {
972
+ type: 'string',
973
+ describe: 'Soap object name',
974
+ })
975
+ .option('bu', {
976
+ type: 'string',
977
+ group: 'Optional parameters for describeSoap:',
978
+ describe: 'defaults to _ParentBU_ but if you',
979
+ })
980
+ .option('json', {
981
+ type: 'boolean',
982
+ group: 'Options for describeSoap:',
983
+ describe: 'optionaly return info in json format',
984
+ }),
985
+ (argv) => {
986
+ Mcdev.setOptions(argv);
987
+ Mcdev.describeSoap(argv.TYPE, argv.bu);
988
+ }
989
+ )
825
990
  .command(
826
991
  ['upgrade', 'up'],
827
992
  'Add NPM dependencies and IDE configuration files to your project',