sfdx-browserforce-plugin 5.0.1 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/package.json +2 -5
  2. package/lib/browserforce-command.d.ts +0 -15
  3. package/lib/browserforce-command.js +0 -61
  4. package/lib/browserforce-command.js.map +0 -1
  5. package/lib/browserforce.d.ts +0 -25
  6. package/lib/browserforce.js +0 -169
  7. package/lib/browserforce.js.map +0 -1
  8. package/lib/commands/browserforce/apply.d.ts +0 -10
  9. package/lib/commands/browserforce/apply.js +0 -54
  10. package/lib/commands/browserforce/apply.js.map +0 -1
  11. package/lib/commands/browserforce/plan.d.ts +0 -10
  12. package/lib/commands/browserforce/plan.js +0 -56
  13. package/lib/commands/browserforce/plan.js.map +0 -1
  14. package/lib/config-parser.d.ts +0 -16
  15. package/lib/config-parser.js +0 -24
  16. package/lib/config-parser.js.map +0 -1
  17. package/lib/index.d.ts +0 -1
  18. package/lib/index.js +0 -2
  19. package/lib/index.js.map +0 -1
  20. package/lib/jsforce-utils.d.ts +0 -5
  21. package/lib/jsforce-utils.js +0 -14
  22. package/lib/jsforce-utils.js.map +0 -1
  23. package/lib/pages/login.d.ts +0 -8
  24. package/lib/pages/login.js +0 -39
  25. package/lib/pages/login.js.map +0 -1
  26. package/lib/plugin.d.ts +0 -17
  27. package/lib/plugin.js +0 -30
  28. package/lib/plugin.js.map +0 -1
  29. package/lib/plugins/activity-settings/index.d.ts +0 -9
  30. package/lib/plugins/activity-settings/index.e2e-spec.d.ts +0 -1
  31. package/lib/plugins/activity-settings/index.e2e-spec.js +0 -36
  32. package/lib/plugins/activity-settings/index.e2e-spec.js.map +0 -1
  33. package/lib/plugins/activity-settings/index.js +0 -31
  34. package/lib/plugins/activity-settings/index.js.map +0 -1
  35. package/lib/plugins/company-information/index.d.ts +0 -8
  36. package/lib/plugins/company-information/index.e2e-spec.d.ts +0 -1
  37. package/lib/plugins/company-information/index.e2e-spec.js +0 -37
  38. package/lib/plugins/company-information/index.e2e-spec.js.map +0 -1
  39. package/lib/plugins/company-information/index.js +0 -50
  40. package/lib/plugins/company-information/index.js.map +0 -1
  41. package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +0 -14
  42. package/lib/plugins/customer-portal/available-custom-objects/index.js +0 -114
  43. package/lib/plugins/customer-portal/available-custom-objects/index.js.map +0 -1
  44. package/lib/plugins/customer-portal/available-custom-objects/index.test.d.ts +0 -1
  45. package/lib/plugins/customer-portal/available-custom-objects/index.test.js +0 -39
  46. package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +0 -1
  47. package/lib/plugins/customer-portal/enabled/index.d.ts +0 -6
  48. package/lib/plugins/customer-portal/enabled/index.js +0 -27
  49. package/lib/plugins/customer-portal/enabled/index.js.map +0 -1
  50. package/lib/plugins/customer-portal/enabled/index.test.d.ts +0 -1
  51. package/lib/plugins/customer-portal/enabled/index.test.js +0 -34
  52. package/lib/plugins/customer-portal/enabled/index.test.js.map +0 -1
  53. package/lib/plugins/customer-portal/index.d.ts +0 -15
  54. package/lib/plugins/customer-portal/index.e2e-spec.d.ts +0 -1
  55. package/lib/plugins/customer-portal/index.e2e-spec.js +0 -202
  56. package/lib/plugins/customer-portal/index.e2e-spec.js.map +0 -1
  57. package/lib/plugins/customer-portal/index.js +0 -59
  58. package/lib/plugins/customer-portal/index.js.map +0 -1
  59. package/lib/plugins/customer-portal/index.test.d.ts +0 -1
  60. package/lib/plugins/customer-portal/index.test.js +0 -84
  61. package/lib/plugins/customer-portal/index.test.js.map +0 -1
  62. package/lib/plugins/customer-portal/portals/index.d.ts +0 -25
  63. package/lib/plugins/customer-portal/portals/index.js +0 -180
  64. package/lib/plugins/customer-portal/portals/index.js.map +0 -1
  65. package/lib/plugins/customer-portal/portals/index.test.d.ts +0 -1
  66. package/lib/plugins/customer-portal/portals/index.test.js +0 -140
  67. package/lib/plugins/customer-portal/portals/index.test.js.map +0 -1
  68. package/lib/plugins/density-settings/index.d.ts +0 -17
  69. package/lib/plugins/density-settings/index.e2e-spec.d.ts +0 -1
  70. package/lib/plugins/density-settings/index.e2e-spec.js +0 -39
  71. package/lib/plugins/density-settings/index.e2e-spec.js.map +0 -1
  72. package/lib/plugins/density-settings/index.js +0 -46
  73. package/lib/plugins/density-settings/index.js.map +0 -1
  74. package/lib/plugins/deprecated.d.ts +0 -4
  75. package/lib/plugins/deprecated.js +0 -28
  76. package/lib/plugins/deprecated.js.map +0 -1
  77. package/lib/plugins/email-deliverability/index.d.ts +0 -9
  78. package/lib/plugins/email-deliverability/index.e2e-spec.d.ts +0 -1
  79. package/lib/plugins/email-deliverability/index.e2e-spec.js +0 -55
  80. package/lib/plugins/email-deliverability/index.e2e-spec.js.map +0 -1
  81. package/lib/plugins/email-deliverability/index.js +0 -39
  82. package/lib/plugins/email-deliverability/index.js.map +0 -1
  83. package/lib/plugins/high-velocity-sales-settings/index.d.ts +0 -10
  84. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.d.ts +0 -1
  85. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +0 -29
  86. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +0 -1
  87. package/lib/plugins/high-velocity-sales-settings/index.js +0 -42
  88. package/lib/plugins/high-velocity-sales-settings/index.js.map +0 -1
  89. package/lib/plugins/high-velocity-sales-settings/page.d.ts +0 -7
  90. package/lib/plugins/high-velocity-sales-settings/page.js +0 -29
  91. package/lib/plugins/high-velocity-sales-settings/page.js.map +0 -1
  92. package/lib/plugins/history-tracking/index.d.ts +0 -17
  93. package/lib/plugins/history-tracking/index.e2e-spec.d.ts +0 -1
  94. package/lib/plugins/history-tracking/index.e2e-spec.js +0 -106
  95. package/lib/plugins/history-tracking/index.e2e-spec.js.map +0 -1
  96. package/lib/plugins/history-tracking/index.js +0 -169
  97. package/lib/plugins/history-tracking/index.js.map +0 -1
  98. package/lib/plugins/home-page-layouts/index.d.ts +0 -14
  99. package/lib/plugins/home-page-layouts/index.e2e-spec.d.ts +0 -1
  100. package/lib/plugins/home-page-layouts/index.e2e-spec.js +0 -47
  101. package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +0 -1
  102. package/lib/plugins/home-page-layouts/index.js +0 -90
  103. package/lib/plugins/home-page-layouts/index.js.map +0 -1
  104. package/lib/plugins/home-page-layouts/index.test.d.ts +0 -1
  105. package/lib/plugins/home-page-layouts/index.test.js +0 -104
  106. package/lib/plugins/home-page-layouts/index.test.js.map +0 -1
  107. package/lib/plugins/index.d.ts +0 -23
  108. package/lib/plugins/index.js +0 -24
  109. package/lib/plugins/index.js.map +0 -1
  110. package/lib/plugins/lightning-experience-settings/index.d.ts +0 -17
  111. package/lib/plugins/lightning-experience-settings/index.e2e-spec.d.ts +0 -1
  112. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +0 -39
  113. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +0 -1
  114. package/lib/plugins/lightning-experience-settings/index.js +0 -61
  115. package/lib/plugins/lightning-experience-settings/index.js.map +0 -1
  116. package/lib/plugins/linkedin-sales-navigator-settings/index.d.ts +0 -8
  117. package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.d.ts +0 -1
  118. package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js +0 -29
  119. package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js.map +0 -1
  120. package/lib/plugins/linkedin-sales-navigator-settings/index.js +0 -15
  121. package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +0 -1
  122. package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +0 -8
  123. package/lib/plugins/linkedin-sales-navigator-settings/page.js +0 -32
  124. package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +0 -1
  125. package/lib/plugins/omni-channel-settings/index.d.ts +0 -9
  126. package/lib/plugins/omni-channel-settings/index.e2e-spec.d.ts +0 -1
  127. package/lib/plugins/omni-channel-settings/index.e2e-spec.js +0 -26
  128. package/lib/plugins/omni-channel-settings/index.e2e-spec.js.map +0 -1
  129. package/lib/plugins/omni-channel-settings/index.js +0 -29
  130. package/lib/plugins/omni-channel-settings/index.js.map +0 -1
  131. package/lib/plugins/opportunity-splits/index.d.ts +0 -9
  132. package/lib/plugins/opportunity-splits/index.e2e-spec.d.ts +0 -1
  133. package/lib/plugins/opportunity-splits/index.e2e-spec.js +0 -46
  134. package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +0 -1
  135. package/lib/plugins/opportunity-splits/index.js +0 -32
  136. package/lib/plugins/opportunity-splits/index.js.map +0 -1
  137. package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +0 -8
  138. package/lib/plugins/opportunity-splits/pages/layout-selection.js +0 -17
  139. package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +0 -1
  140. package/lib/plugins/opportunity-splits/pages/overview.d.ts +0 -10
  141. package/lib/plugins/opportunity-splits/pages/overview.js +0 -38
  142. package/lib/plugins/opportunity-splits/pages/overview.js.map +0 -1
  143. package/lib/plugins/opportunity-splits/pages/setup.d.ts +0 -8
  144. package/lib/plugins/opportunity-splits/pages/setup.js +0 -19
  145. package/lib/plugins/opportunity-splits/pages/setup.js.map +0 -1
  146. package/lib/plugins/permission-sets/index.d.ts +0 -10
  147. package/lib/plugins/permission-sets/index.e2e-spec.d.ts +0 -1
  148. package/lib/plugins/permission-sets/index.e2e-spec.js +0 -36
  149. package/lib/plugins/permission-sets/index.e2e-spec.js.map +0 -1
  150. package/lib/plugins/permission-sets/index.js +0 -22
  151. package/lib/plugins/permission-sets/index.js.map +0 -1
  152. package/lib/plugins/permission-sets/service-presence-status/index.d.ts +0 -10
  153. package/lib/plugins/permission-sets/service-presence-status/index.js +0 -60
  154. package/lib/plugins/permission-sets/service-presence-status/index.js.map +0 -1
  155. package/lib/plugins/picklists/field-dependencies/index.d.ts +0 -11
  156. package/lib/plugins/picklists/field-dependencies/index.js +0 -56
  157. package/lib/plugins/picklists/field-dependencies/index.js.map +0 -1
  158. package/lib/plugins/picklists/field-dependencies/index.test.d.ts +0 -1
  159. package/lib/plugins/picklists/field-dependencies/index.test.js +0 -64
  160. package/lib/plugins/picklists/field-dependencies/index.test.js.map +0 -1
  161. package/lib/plugins/picklists/field-dependencies/pages.d.ts +0 -14
  162. package/lib/plugins/picklists/field-dependencies/pages.js +0 -57
  163. package/lib/plugins/picklists/field-dependencies/pages.js.map +0 -1
  164. package/lib/plugins/picklists/index.d.ts +0 -23
  165. package/lib/plugins/picklists/index.e2e-spec.d.ts +0 -1
  166. package/lib/plugins/picklists/index.e2e-spec.js +0 -100
  167. package/lib/plugins/picklists/index.e2e-spec.js.map +0 -1
  168. package/lib/plugins/picklists/index.js +0 -153
  169. package/lib/plugins/picklists/index.js.map +0 -1
  170. package/lib/plugins/picklists/pages.d.ts +0 -40
  171. package/lib/plugins/picklists/pages.js +0 -194
  172. package/lib/plugins/picklists/pages.js.map +0 -1
  173. package/lib/plugins/picklists/standard-value-set.d.ts +0 -1
  174. package/lib/plugins/picklists/standard-value-set.js +0 -80
  175. package/lib/plugins/picklists/standard-value-set.js.map +0 -1
  176. package/lib/plugins/record-types/index.d.ts +0 -13
  177. package/lib/plugins/record-types/index.e2e-spec.d.ts +0 -1
  178. package/lib/plugins/record-types/index.e2e-spec.js +0 -73
  179. package/lib/plugins/record-types/index.e2e-spec.js.map +0 -1
  180. package/lib/plugins/record-types/index.js +0 -70
  181. package/lib/plugins/record-types/index.js.map +0 -1
  182. package/lib/plugins/record-types/pages.d.ts +0 -15
  183. package/lib/plugins/record-types/pages.js +0 -64
  184. package/lib/plugins/record-types/pages.js.map +0 -1
  185. package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +0 -11
  186. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.d.ts +0 -1
  187. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +0 -29
  188. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +0 -1
  189. package/lib/plugins/relate-contact-to-multiple-accounts/index.js +0 -72
  190. package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +0 -1
  191. package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +0 -8
  192. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.d.ts +0 -1
  193. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +0 -3
  194. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js.map +0 -1
  195. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +0 -50
  196. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +0 -1
  197. package/lib/plugins/reports-and-dashboards/index.d.ts +0 -11
  198. package/lib/plugins/reports-and-dashboards/index.e2e-spec.d.ts +0 -1
  199. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +0 -3
  200. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js.map +0 -1
  201. package/lib/plugins/reports-and-dashboards/index.js +0 -29
  202. package/lib/plugins/reports-and-dashboards/index.js.map +0 -1
  203. package/lib/plugins/salesforce-cpq-config/formConfig.d.ts +0 -17
  204. package/lib/plugins/salesforce-cpq-config/formConfig.js +0 -649
  205. package/lib/plugins/salesforce-cpq-config/formConfig.js.map +0 -1
  206. package/lib/plugins/salesforce-cpq-config/index.d.ts +0 -7
  207. package/lib/plugins/salesforce-cpq-config/index.e2e-spec.d.ts +0 -1
  208. package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js +0 -37
  209. package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js.map +0 -1
  210. package/lib/plugins/salesforce-cpq-config/index.js +0 -195
  211. package/lib/plugins/salesforce-cpq-config/index.js.map +0 -1
  212. package/lib/plugins/salesforce-to-salesforce/index.d.ts +0 -9
  213. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.d.ts +0 -1
  214. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +0 -34
  215. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +0 -1
  216. package/lib/plugins/salesforce-to-salesforce/index.js +0 -44
  217. package/lib/plugins/salesforce-to-salesforce/index.js.map +0 -1
  218. package/lib/plugins/security/authentication-configuration/index.d.ts +0 -11
  219. package/lib/plugins/security/authentication-configuration/index.e2e-spec.d.ts +0 -1
  220. package/lib/plugins/security/authentication-configuration/index.e2e-spec.js +0 -101
  221. package/lib/plugins/security/authentication-configuration/index.e2e-spec.js.map +0 -1
  222. package/lib/plugins/security/authentication-configuration/index.js +0 -62
  223. package/lib/plugins/security/authentication-configuration/index.js.map +0 -1
  224. package/lib/plugins/security/certificate-and-key-management/index.d.ts +0 -23
  225. package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.d.ts +0 -1
  226. package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js +0 -63
  227. package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js.map +0 -1
  228. package/lib/plugins/security/certificate-and-key-management/index.js +0 -159
  229. package/lib/plugins/security/certificate-and-key-management/index.js.map +0 -1
  230. package/lib/plugins/security/certificate-and-key-management/index.test.d.ts +0 -1
  231. package/lib/plugins/security/certificate-and-key-management/index.test.js +0 -61
  232. package/lib/plugins/security/certificate-and-key-management/index.test.js.map +0 -1
  233. package/lib/plugins/security/index.d.ts +0 -13
  234. package/lib/plugins/security/index.js +0 -42
  235. package/lib/plugins/security/index.js.map +0 -1
  236. package/lib/plugins/service-channels/capacity/index.d.ts +0 -18
  237. package/lib/plugins/service-channels/capacity/index.js +0 -133
  238. package/lib/plugins/service-channels/capacity/index.js.map +0 -1
  239. package/lib/plugins/service-channels/index.d.ts +0 -12
  240. package/lib/plugins/service-channels/index.e2e-spec.d.ts +0 -1
  241. package/lib/plugins/service-channels/index.e2e-spec.js +0 -57
  242. package/lib/plugins/service-channels/index.e2e-spec.js.map +0 -1
  243. package/lib/plugins/service-channels/index.js +0 -38
  244. package/lib/plugins/service-channels/index.js.map +0 -1
  245. package/lib/plugins/slack/index.d.ts +0 -9
  246. package/lib/plugins/slack/index.e2e-spec.d.ts +0 -1
  247. package/lib/plugins/slack/index.e2e-spec.js +0 -47
  248. package/lib/plugins/slack/index.e2e-spec.js.map +0 -1
  249. package/lib/plugins/slack/index.js +0 -47
  250. package/lib/plugins/slack/index.js.map +0 -1
  251. package/lib/plugins/utils.d.ts +0 -3
  252. package/lib/plugins/utils.js +0 -47
  253. package/lib/plugins/utils.js.map +0 -1
  254. package/oclif.manifest.json +0 -163
@@ -1,38 +0,0 @@
1
- import { BrowserforcePlugin } from '../../plugin.js';
2
- import { Capacity } from './capacity/index.js';
3
- export class ServiceChannels extends BrowserforcePlugin {
4
- async retrieve(definition) {
5
- const pluginCapacity = new Capacity(this.browserforce);
6
- const serviceChannels = [];
7
- for await (const serviceChannel of definition) {
8
- serviceChannels.push({
9
- serviceChannelDeveloperName: serviceChannel.serviceChannelDeveloperName,
10
- capacity: await pluginCapacity.retrieve(serviceChannel),
11
- });
12
- }
13
- return serviceChannels;
14
- }
15
- diff(state, definition) {
16
- const pluginCapacity = new Capacity(this.browserforce);
17
- const serviceChannels = [];
18
- for (const serviceChannelDefinition of definition) {
19
- const serviceChannelState = state.find((serviceChannelState) => serviceChannelState.serviceChannelDeveloperName ===
20
- serviceChannelDefinition.serviceChannelDeveloperName);
21
- const capacity = pluginCapacity.diff(serviceChannelState.capacity, serviceChannelDefinition.capacity);
22
- if (capacity !== undefined) {
23
- serviceChannels.push({
24
- serviceChannelDeveloperName: serviceChannelDefinition.serviceChannelDeveloperName,
25
- capacity,
26
- });
27
- }
28
- }
29
- return serviceChannels.length ? serviceChannels : undefined;
30
- }
31
- async apply(plan) {
32
- const pluginCapacity = new Capacity(this.browserforce);
33
- for await (const serviceChannel of plan) {
34
- await pluginCapacity.apply(serviceChannel);
35
- }
36
- }
37
- }
38
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/service-channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAkB,MAAM,qBAAqB,CAAC;AAO/D,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAC9C,KAAK,CAAC,QAAQ,CACnB,UAA6B;QAE7B,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAqB,EAAE,CAAC;QAE7C,IAAI,KAAK,EAAE,MAAM,cAAc,IAAI,UAAU,EAAE,CAAC;YAC9C,eAAe,CAAC,IAAI,CAAC;gBACnB,2BAA2B,EAAE,cAAc,CAAC,2BAA2B;gBACvE,QAAQ,EAAE,MAAM,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC;aACxD,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAEM,IAAI,CACT,KAAuB,EACvB,UAA4B;QAE5B,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,MAAM,eAAe,GAAqB,EAAE,CAAC;QAE7C,KAAK,MAAM,wBAAwB,IAAI,UAAU,EAAE,CAAC;YAClD,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CACpC,CAAC,mBAAmB,EAAE,EAAE,CACtB,mBAAmB,CAAC,2BAA2B;gBAC/C,wBAAwB,CAAC,2BAA2B,CACvD,CAAC;YAEF,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAClC,mBAAmB,CAAC,QAAQ,EAC5B,wBAAwB,CAAC,QAAQ,CAClC,CAAC;YAEF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,eAAe,CAAC,IAAI,CAAC;oBACnB,2BAA2B,EACzB,wBAAwB,CAAC,2BAA2B;oBACtD,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9D,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAsB;QACvC,MAAM,cAAc,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,IAAI,KAAK,EAAE,MAAM,cAAc,IAAI,IAAI,EAAE,CAAC;YACxC,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;CACF"}
@@ -1,9 +0,0 @@
1
- import { BrowserforcePlugin } from '../../plugin.js';
2
- export type Config = {
3
- agreeToTermsAndConditions: boolean;
4
- enableSalesCloudForSlack: boolean;
5
- };
6
- export declare class Slack extends BrowserforcePlugin {
7
- retrieve(definition?: Config): Promise<Config>;
8
- apply(config: Config): Promise<void>;
9
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,47 +0,0 @@
1
- import assert from 'assert';
2
- import { Slack } from './index.js';
3
- describe(Slack.name, function () {
4
- let plugin;
5
- before(() => {
6
- plugin = new Slack(global.bf);
7
- });
8
- const configEnable = {
9
- agreeToTermsAndConditions: true,
10
- enableSalesCloudForSlack: true,
11
- };
12
- const configDisabledSalesCloud = {
13
- agreeToTermsAndConditions: true,
14
- enableSalesCloudForSlack: false,
15
- };
16
- const configDisabled = {
17
- agreeToTermsAndConditions: false,
18
- enableSalesCloudForSlack: false,
19
- };
20
- it('should accept terms and conditions and enable Sales Cloud for Slack', async () => {
21
- await plugin.run(configEnable);
22
- });
23
- it('should already be accepted and enabled', async () => {
24
- const res = await plugin.run(configEnable);
25
- assert.deepStrictEqual(res, { message: 'no action necessary' });
26
- });
27
- it('should disable Sales Cloud for Slack', async () => {
28
- await plugin.run(configDisabledSalesCloud);
29
- });
30
- it('should already be disabled', async () => {
31
- const res = await plugin.run(configDisabledSalesCloud);
32
- assert.deepStrictEqual(res, { message: 'no action necessary' });
33
- });
34
- it('should fail to unaccept terms and conditions', async () => {
35
- let err;
36
- try {
37
- await plugin.apply(configDisabled);
38
- }
39
- catch (e) {
40
- err = e;
41
- }
42
- assert.throws(() => {
43
- throw err;
44
- }, /cannot be unaccepted/);
45
- });
46
- });
47
- //# sourceMappingURL=index.e2e-spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAe,KAAK,EAAE,MAAM,YAAY,CAAC;AAEhD,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE;IACnB,IAAI,MAAa,CAAC;IAClB,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAW;QAC3B,yBAAyB,EAAE,IAAI;QAC/B,wBAAwB,EAAE,IAAI;KAC/B,CAAC;IACF,MAAM,wBAAwB,GAAW;QACvC,yBAAyB,EAAE,IAAI;QAC/B,wBAAwB,EAAE,KAAK;KAChC,CAAC;IACF,MAAM,cAAc,GAAW;QAC7B,yBAAyB,EAAE,KAAK;QAChC,wBAAwB,EAAE,KAAK;KAChC,CAAC;IACF,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,GAAG,CAAC,CAAC;QACV,CAAC;QACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,sBAAsB,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,47 +0,0 @@
1
- import { BrowserforcePlugin } from '../../plugin.js';
2
- const BASE_PATH = 'lightning/setup/SlackSetupAssistant/home';
3
- const TOS_CHECKBOX = 'setup_service-slack-agree-to-terms input[type="checkbox"]';
4
- const SALES_CLOUD_FOR_SLACK_CHECKBOX = 'input[type="checkbox"][name="SlkSetupStepSalesCloudForSlack"]';
5
- const TOAST_MESSAGE = 'div[id^="toastDescription"]';
6
- export class Slack extends BrowserforcePlugin {
7
- async retrieve(definition) {
8
- const page = await this.browserforce.openPage(BASE_PATH);
9
- const response = {
10
- agreeToTermsAndConditions: await page
11
- .locator(TOS_CHECKBOX)
12
- .map((checkbox) => checkbox.checked)
13
- .wait(),
14
- enableSalesCloudForSlack: await page
15
- .locator(SALES_CLOUD_FOR_SLACK_CHECKBOX)
16
- .map((checkbox) => checkbox.checked)
17
- .wait(),
18
- };
19
- await page.close();
20
- return response;
21
- }
22
- async apply(config) {
23
- if (config.agreeToTermsAndConditions === false) {
24
- throw new Error('terms and conditions cannot be unaccepted once accepted');
25
- }
26
- const state = await this.retrieve();
27
- const page = await this.browserforce.openPage(BASE_PATH);
28
- if (state.agreeToTermsAndConditions !== config.agreeToTermsAndConditions) {
29
- await Promise.all([
30
- page.locator(TOAST_MESSAGE).wait(),
31
- // NOTE: Unfortunately a simple click() on the locator does not work here
32
- (await page.locator(TOS_CHECKBOX).waitHandle()).evaluate((checkbox) => checkbox.click()),
33
- ]);
34
- await page.waitForSelector(TOAST_MESSAGE, { hidden: true });
35
- }
36
- if (state.enableSalesCloudForSlack !== config.enableSalesCloudForSlack) {
37
- await Promise.all([
38
- page.locator(TOAST_MESSAGE).wait(),
39
- // NOTE: Unfortunately a simple click() on the locator does not work here
40
- (await page.locator(SALES_CLOUD_FOR_SLACK_CHECKBOX).waitHandle()).evaluate((checkbox) => checkbox.click()),
41
- ]);
42
- await page.waitForSelector(TOAST_MESSAGE, { hidden: true });
43
- }
44
- await page.close();
45
- }
46
- }
47
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,YAAY,GAChB,2DAA2D,CAAC;AAC9D,MAAM,8BAA8B,GAClC,+DAA+D,CAAC;AAClE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAOpD,MAAM,OAAO,KAAM,SAAQ,kBAAkB;IACpC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,yBAAyB,EAAE,MAAM,IAAI;iBAClC,OAAO,CAAC,YAAY,CAAC;iBACrB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnC,IAAI,EAAE;YACT,wBAAwB,EAAE,MAAM,IAAI;iBACjC,OAAO,CAAC,8BAA8B,CAAC;iBACvC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnC,IAAI,EAAE;SACV,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,yBAAyB,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACzE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;gBAClC,yEAAyE;gBACzE,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAC9C,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACvE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;gBAClC,yEAAyE;gBACzE,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,UAAU,EAAE,CAChE,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -1,3 +0,0 @@
1
- export declare function semanticallyCleanObject<T extends unknown>(obj: T, id?: string): T | undefined;
2
- export declare function isEmptyObjectOrArray(arg: unknown): boolean;
3
- export declare function deepDiff<T extends unknown>(source: T | undefined, target: T | undefined): T | undefined;
@@ -1,47 +0,0 @@
1
- import { isDeepStrictEqual } from 'util';
2
- // an object only containing an id is semantically empty
3
- export function semanticallyCleanObject(obj, id = 'id') {
4
- if (typeof obj === 'object' && obj !== null) {
5
- if (Object.keys(obj).length === 1 && Object.keys(obj)[0] === id) {
6
- return undefined;
7
- }
8
- }
9
- return obj;
10
- }
11
- export function isEmptyObjectOrArray(arg) {
12
- if (typeof arg === 'object' && arg !== null) {
13
- return Object.keys(arg).length === 0;
14
- }
15
- return false;
16
- }
17
- export function deepDiff(source, target) {
18
- if (isDeepStrictEqual(source, target)) {
19
- return undefined;
20
- }
21
- if (typeof target === 'object' &&
22
- target !== null &&
23
- typeof source === 'object' &&
24
- source !== null) {
25
- let objectOrArray;
26
- if (Array.isArray(target)) {
27
- objectOrArray = target
28
- .map((item, i) => deepDiff(source?.[i], item))
29
- .filter((x) => x !== undefined);
30
- }
31
- else {
32
- const targetKeys = Object.keys(target);
33
- const minSource = Object.fromEntries(Object.entries(source).filter(([key, value]) => targetKeys.includes(key)));
34
- if (!isDeepStrictEqual(minSource, source)) {
35
- return deepDiff(minSource, target);
36
- }
37
- objectOrArray = target;
38
- }
39
- if (isEmptyObjectOrArray(objectOrArray)) {
40
- return undefined;
41
- }
42
- return objectOrArray;
43
- }
44
- // simple value
45
- return target;
46
- }
47
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/plugins/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAEzC,wDAAwD;AACxD,MAAM,UAAU,uBAAuB,CACrC,GAAM,EACN,EAAE,GAAG,IAAI;IAET,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;YAChE,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAY;IAC/C,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,MAAqB,EACrB,MAAqB;IAErB,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,MAAM,KAAK,IAAI,EACf,CAAC;QACD,IAAI,aAA4B,CAAC;QACjC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,aAAa,GAAG,MAAM;iBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBAC7C,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAkB,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAClC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAC7C,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CACzB,CACQ,CAAC;YACZ,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAC;gBAC1C,OAAO,QAAQ,CAAC,SAAc,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YACD,aAAa,GAAG,MAAM,CAAC;QACzB,CAAC;QACD,IAAI,oBAAoB,CAAC,aAAa,CAAC,EAAE,CAAC;YACxC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,aAAa,CAAC;IACvB,CAAC;IACD,eAAe;IACf,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,163 +0,0 @@
1
- {
2
- "commands": {
3
- "browserforce:apply": {
4
- "aliases": [],
5
- "args": {},
6
- "description": "apply a plan from a definition file",
7
- "examples": [
8
- "$ <%= config.bin %> <%= command.id %> -f ./config/currency.json --target-org myOrg@example.com\n logging in... done\n Applying definition file ./config/currency.json to org myOrg@example.com\n [CompanyInformation] retrieving state... done\n [CompanyInformation] changing 'defaultCurrencyIsoCode' to '\"English (South Africa) - ZAR\"'... done\n logging out... done\n "
9
- ],
10
- "flags": {
11
- "json": {
12
- "description": "Format output as json.",
13
- "helpGroup": "GLOBAL",
14
- "name": "json",
15
- "allowNo": false,
16
- "type": "boolean"
17
- },
18
- "flags-dir": {
19
- "helpGroup": "GLOBAL",
20
- "name": "flags-dir",
21
- "summary": "Import flag values from a directory.",
22
- "hasDynamicHelp": false,
23
- "multiple": false,
24
- "type": "option"
25
- },
26
- "target-org": {
27
- "aliases": [
28
- "targetusername",
29
- "u"
30
- ],
31
- "char": "o",
32
- "deprecateAliases": true,
33
- "name": "target-org",
34
- "noCacheDefault": true,
35
- "required": true,
36
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
37
- "hasDynamicHelp": true,
38
- "multiple": false,
39
- "type": "option"
40
- },
41
- "definitionfile": {
42
- "char": "f",
43
- "description": "path to a browserforce state file",
44
- "name": "definitionfile",
45
- "hasDynamicHelp": false,
46
- "multiple": false,
47
- "type": "option"
48
- },
49
- "planfile": {
50
- "char": "p",
51
- "description": "path to a browserforce plan file",
52
- "name": "planfile",
53
- "hasDynamicHelp": false,
54
- "multiple": false,
55
- "type": "option"
56
- },
57
- "statefile": {
58
- "char": "s",
59
- "description": "path to a browserforce definition file\nThe schema is similar to the scratch org definition file.\nSee https://github.com/amtrack/sfdx-browserforce-plugin#supported-org-preferences for supported values.",
60
- "name": "statefile",
61
- "hasDynamicHelp": false,
62
- "multiple": false,
63
- "type": "option"
64
- }
65
- },
66
- "hasDynamicHelp": true,
67
- "hiddenAliases": [],
68
- "id": "browserforce:apply",
69
- "pluginAlias": "sfdx-browserforce-plugin",
70
- "pluginName": "sfdx-browserforce-plugin",
71
- "pluginType": "core",
72
- "strict": true,
73
- "enableJsonFlag": true,
74
- "isESM": true,
75
- "relativePath": [
76
- "lib",
77
- "commands",
78
- "browserforce",
79
- "apply.js"
80
- ]
81
- },
82
- "browserforce:plan": {
83
- "aliases": [],
84
- "args": {},
85
- "description": "retrieve state and generate plan file",
86
- "examples": [
87
- "$ <%= config.bin %> <%= command.id %> -f ./config/currency.json --target-org myOrg@example.com\n logging in... done\n Generating plan with definition file ./config/currency.json from org myOrg@example.com\n [CompanyInformation] retrieving state... done\n [CompanyInformation] generating plan... done\n logging out... done\n "
88
- ],
89
- "flags": {
90
- "json": {
91
- "description": "Format output as json.",
92
- "helpGroup": "GLOBAL",
93
- "name": "json",
94
- "allowNo": false,
95
- "type": "boolean"
96
- },
97
- "flags-dir": {
98
- "helpGroup": "GLOBAL",
99
- "name": "flags-dir",
100
- "summary": "Import flag values from a directory.",
101
- "hasDynamicHelp": false,
102
- "multiple": false,
103
- "type": "option"
104
- },
105
- "target-org": {
106
- "aliases": [
107
- "targetusername",
108
- "u"
109
- ],
110
- "char": "o",
111
- "deprecateAliases": true,
112
- "name": "target-org",
113
- "noCacheDefault": true,
114
- "required": true,
115
- "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
116
- "hasDynamicHelp": true,
117
- "multiple": false,
118
- "type": "option"
119
- },
120
- "definitionfile": {
121
- "char": "f",
122
- "description": "path to a browserforce state file",
123
- "name": "definitionfile",
124
- "hasDynamicHelp": false,
125
- "multiple": false,
126
- "type": "option"
127
- },
128
- "planfile": {
129
- "char": "p",
130
- "description": "path to a browserforce plan file",
131
- "name": "planfile",
132
- "hasDynamicHelp": false,
133
- "multiple": false,
134
- "type": "option"
135
- },
136
- "statefile": {
137
- "char": "s",
138
- "description": "path to a browserforce definition file\nThe schema is similar to the scratch org definition file.\nSee https://github.com/amtrack/sfdx-browserforce-plugin#supported-org-preferences for supported values.",
139
- "name": "statefile",
140
- "hasDynamicHelp": false,
141
- "multiple": false,
142
- "type": "option"
143
- }
144
- },
145
- "hasDynamicHelp": true,
146
- "hiddenAliases": [],
147
- "id": "browserforce:plan",
148
- "pluginAlias": "sfdx-browserforce-plugin",
149
- "pluginName": "sfdx-browserforce-plugin",
150
- "pluginType": "core",
151
- "strict": true,
152
- "enableJsonFlag": true,
153
- "isESM": true,
154
- "relativePath": [
155
- "lib",
156
- "commands",
157
- "browserforce",
158
- "plan.js"
159
- ]
160
- }
161
- },
162
- "version": "5.0.1"
163
- }