sfdx-browserforce-plugin 2.11.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/README.md +6 -6
  2. package/lib/browserforce-command.js +25 -19
  3. package/lib/browserforce-command.js.map +1 -1
  4. package/lib/browserforce.js +11 -28
  5. package/lib/browserforce.js.map +1 -1
  6. package/lib/commands/browserforce/apply.js +14 -14
  7. package/lib/commands/browserforce/apply.js.map +1 -1
  8. package/lib/commands/browserforce/plan.js +16 -15
  9. package/lib/commands/browserforce/plan.js.map +1 -1
  10. package/lib/config-parser.js +1 -1
  11. package/lib/config-parser.js.map +1 -1
  12. package/lib/jsforce-utils.js.map +1 -1
  13. package/lib/plugin.js +11 -30
  14. package/lib/plugin.js.map +1 -1
  15. package/lib/plugins/activity-settings/index.e2e-spec.js +41 -0
  16. package/lib/plugins/activity-settings/index.e2e-spec.js.map +1 -0
  17. package/lib/plugins/activity-settings/index.js +1 -4
  18. package/lib/plugins/activity-settings/index.js.map +1 -1
  19. package/lib/plugins/communities/index.e2e-spec.js +39 -0
  20. package/lib/plugins/communities/index.e2e-spec.js.map +1 -0
  21. package/lib/plugins/communities/index.js +2 -7
  22. package/lib/plugins/communities/index.js.map +1 -1
  23. package/lib/plugins/company-information/index.e2e-spec.js +42 -0
  24. package/lib/plugins/company-information/index.e2e-spec.js.map +1 -0
  25. package/lib/plugins/company-information/index.js +8 -12
  26. package/lib/plugins/company-information/index.js.map +1 -1
  27. package/lib/plugins/customer-portal/available-custom-objects/index.js +20 -48
  28. package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
  29. package/lib/plugins/customer-portal/available-custom-objects/index.test.js +44 -0
  30. package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +1 -0
  31. package/lib/plugins/customer-portal/enabled/index.js +3 -11
  32. package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
  33. package/lib/plugins/customer-portal/enabled/index.test.js +39 -0
  34. package/lib/plugins/customer-portal/enabled/index.test.js.map +1 -0
  35. package/lib/plugins/customer-portal/index.e2e-spec.js +222 -0
  36. package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -0
  37. package/lib/plugins/customer-portal/index.js +17 -13
  38. package/lib/plugins/customer-portal/index.js.map +1 -1
  39. package/lib/plugins/customer-portal/index.test.js +89 -0
  40. package/lib/plugins/customer-portal/index.test.js.map +1 -0
  41. package/lib/plugins/customer-portal/portals/index.js +17 -25
  42. package/lib/plugins/customer-portal/portals/index.js.map +1 -1
  43. package/lib/plugins/customer-portal/portals/index.test.js +145 -0
  44. package/lib/plugins/customer-portal/portals/index.test.js.map +1 -0
  45. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js +96 -0
  46. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js.map +1 -0
  47. package/lib/plugins/defer-sharing-calculation/index.js +2 -7
  48. package/lib/plugins/defer-sharing-calculation/index.js.map +1 -1
  49. package/lib/plugins/density-settings/index.e2e-spec.js +44 -0
  50. package/lib/plugins/density-settings/index.e2e-spec.js.map +1 -0
  51. package/lib/plugins/density-settings/index.js +8 -6
  52. package/lib/plugins/density-settings/index.js.map +1 -1
  53. package/lib/plugins/email-deliverability/index.e2e-spec.js +60 -0
  54. package/lib/plugins/email-deliverability/index.e2e-spec.js.map +1 -0
  55. package/lib/plugins/email-deliverability/index.js +7 -10
  56. package/lib/plugins/email-deliverability/index.js.map +1 -1
  57. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +34 -0
  58. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +1 -0
  59. package/lib/plugins/high-velocity-sales-settings/index.js +1 -2
  60. package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
  61. package/lib/plugins/high-velocity-sales-settings/page.js +3 -1
  62. package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
  63. package/lib/plugins/home-page-layouts/index.e2e-spec.js +52 -0
  64. package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +1 -0
  65. package/lib/plugins/home-page-layouts/index.js +14 -32
  66. package/lib/plugins/home-page-layouts/index.js.map +1 -1
  67. package/lib/plugins/home-page-layouts/index.test.js +109 -0
  68. package/lib/plugins/home-page-layouts/index.test.js.map +1 -0
  69. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +44 -0
  70. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -0
  71. package/lib/plugins/lightning-experience-settings/index.js +11 -9
  72. package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
  73. package/lib/plugins/opportunity-splits/index.e2e-spec.js +70 -0
  74. package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +1 -0
  75. package/lib/plugins/opportunity-splits/pages/layout-selection.js +1 -4
  76. package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
  77. package/lib/plugins/opportunity-splits/pages/overview.js +1 -4
  78. package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
  79. package/lib/plugins/opportunity-splits/pages/setup.js +1 -4
  80. package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
  81. package/lib/plugins/picklists/field-dependencies/index.js +15 -10
  82. package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
  83. package/lib/plugins/picklists/field-dependencies/index.test.js +69 -0
  84. package/lib/plugins/picklists/field-dependencies/index.test.js.map +1 -0
  85. package/lib/plugins/picklists/field-dependencies/pages.js +3 -12
  86. package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
  87. package/lib/plugins/picklists/index.e2e-spec.js +118 -0
  88. package/lib/plugins/picklists/index.e2e-spec.js.map +1 -0
  89. package/lib/plugins/picklists/index.js +36 -27
  90. package/lib/plugins/picklists/index.js.map +1 -1
  91. package/lib/plugins/picklists/pages.js +7 -28
  92. package/lib/plugins/picklists/pages.js.map +1 -1
  93. package/lib/plugins/picklists/standard-value-set.js +1 -1
  94. package/lib/plugins/picklists/standard-value-set.js.map +1 -1
  95. package/lib/plugins/record-types/index.e2e-spec.js +99 -0
  96. package/lib/plugins/record-types/index.e2e-spec.js.map +1 -0
  97. package/lib/plugins/record-types/index.js +1 -2
  98. package/lib/plugins/record-types/index.js.map +1 -1
  99. package/lib/plugins/record-types/pages.js +4 -10
  100. package/lib/plugins/record-types/pages.js.map +1 -1
  101. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +34 -0
  102. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -0
  103. package/lib/plugins/relate-contact-to-multiple-accounts/index.js +3 -12
  104. package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
  105. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +3 -0
  106. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js.map +1 -0
  107. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +1 -4
  108. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
  109. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +3 -0
  110. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js.map +1 -0
  111. package/lib/plugins/reports-and-dashboards/index.js +6 -6
  112. package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
  113. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +39 -0
  114. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -0
  115. package/lib/plugins/salesforce-to-salesforce/index.js +1 -4
  116. package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
  117. package/lib/plugins/security/certificate-and-key-management/index.js +25 -36
  118. package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
  119. package/lib/plugins/security/certificate-and-key-management/index.test.js +66 -0
  120. package/lib/plugins/security/certificate-and-key-management/index.test.js.map +1 -0
  121. package/lib/plugins/security/identity-provider/index.js +13 -24
  122. package/lib/plugins/security/identity-provider/index.js.map +1 -1
  123. package/lib/plugins/security/index.e2e-spec.js +86 -0
  124. package/lib/plugins/security/index.e2e-spec.js.map +1 -0
  125. package/lib/plugins/security/index.js +24 -15
  126. package/lib/plugins/security/index.js.map +1 -1
  127. package/lib/plugins/security/login-access-policies/index.e2e-spec.js +32 -0
  128. package/lib/plugins/security/login-access-policies/index.e2e-spec.js.map +1 -0
  129. package/lib/plugins/security/login-access-policies/index.js +2 -5
  130. package/lib/plugins/security/login-access-policies/index.js.map +1 -1
  131. package/lib/plugins/security/sharing/index.e2e-spec.js +34 -0
  132. package/lib/plugins/security/sharing/index.e2e-spec.js.map +1 -0
  133. package/lib/plugins/security/sharing/index.js +5 -11
  134. package/lib/plugins/security/sharing/index.js.map +1 -1
  135. package/lib/plugins/utils.js +38 -41
  136. package/lib/plugins/utils.js.map +1 -1
  137. package/oclif.manifest.json +85 -53
  138. package/package.json +12 -10
  139. package/lib/browserforce-command.d.ts +0 -15
  140. package/lib/browserforce.d.ts +0 -26
  141. package/lib/commands/browserforce/apply.d.ts +0 -6
  142. package/lib/commands/browserforce/plan.d.ts +0 -6
  143. package/lib/config-parser.d.ts +0 -16
  144. package/lib/index.d.ts +0 -1
  145. package/lib/jsforce-utils.d.ts +0 -5
  146. package/lib/plugin.d.ts +0 -11
  147. package/lib/plugins/activity-settings/index.d.ts +0 -9
  148. package/lib/plugins/communities/index.d.ts +0 -10
  149. package/lib/plugins/company-information/index.d.ts +0 -8
  150. package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +0 -14
  151. package/lib/plugins/customer-portal/enabled/index.d.ts +0 -7
  152. package/lib/plugins/customer-portal/index.d.ts +0 -15
  153. package/lib/plugins/customer-portal/portals/index.d.ts +0 -25
  154. package/lib/plugins/defer-sharing-calculation/index.d.ts +0 -9
  155. package/lib/plugins/density-settings/index.d.ts +0 -17
  156. package/lib/plugins/email-deliverability/index.d.ts +0 -9
  157. package/lib/plugins/high-velocity-sales-settings/index.d.ts +0 -10
  158. package/lib/plugins/high-velocity-sales-settings/page.d.ts +0 -7
  159. package/lib/plugins/home-page-layouts/index.d.ts +0 -14
  160. package/lib/plugins/index.d.ts +0 -18
  161. package/lib/plugins/lightning-experience-settings/index.d.ts +0 -17
  162. package/lib/plugins/opportunity-splits/index.d.ts +0 -9
  163. package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +0 -8
  164. package/lib/plugins/opportunity-splits/pages/overview.d.ts +0 -10
  165. package/lib/plugins/opportunity-splits/pages/setup.d.ts +0 -8
  166. package/lib/plugins/picklists/field-dependencies/index.d.ts +0 -11
  167. package/lib/plugins/picklists/field-dependencies/pages.d.ts +0 -14
  168. package/lib/plugins/picklists/index.d.ts +0 -23
  169. package/lib/plugins/picklists/pages.d.ts +0 -40
  170. package/lib/plugins/picklists/standard-value-set.d.ts +0 -1
  171. package/lib/plugins/record-types/index.d.ts +0 -13
  172. package/lib/plugins/record-types/pages.d.ts +0 -15
  173. package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +0 -9
  174. package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +0 -8
  175. package/lib/plugins/reports-and-dashboards/index.d.ts +0 -11
  176. package/lib/plugins/salesforce-to-salesforce/index.d.ts +0 -9
  177. package/lib/plugins/security/certificate-and-key-management/index.d.ts +0 -23
  178. package/lib/plugins/security/identity-provider/index.d.ts +0 -10
  179. package/lib/plugins/security/index.d.ts +0 -17
  180. package/lib/plugins/security/login-access-policies/index.d.ts +0 -8
  181. package/lib/plugins/security/sharing/index.d.ts +0 -8
  182. package/lib/plugins/utils.d.ts +0 -4
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Actions Status](https://github.com/amtrack/sfdx-browserforce-plugin/workflows/Test%20and%20Release/badge.svg)](https://github.com/amtrack/sfdx-browserforce-plugin/actions)
6
6
 
7
7
  Unlike the [Scratch Org Definition Configuration](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs_def_file.htm) which can only be used **on the creation of a scratch org** (`sfdx force:org:create -f config/scratch-def.json`),
8
- the _Browserforce Configuration_ allows to "shape" **any org**, (e.g. scratch org, sandbox or production org) with **similar preferences and unofficial preferences** that are not (yet) available in the _Scratch Org Definition Configuration_ or as _Metadata_ (`sf browserforce:apply -f config/setup-admin-login-as-any.json -u myOrg@example.com`).
8
+ the _Browserforce Configuration_ allows to "shape" **any org**, (e.g. scratch org, sandbox or production org) with **similar preferences and unofficial preferences** that are not (yet) available in the _Scratch Org Definition Configuration_ or as _Metadata_ (`sf browserforce apply -f config/setup-admin-login-as-any.json -u myOrg@example.com`).
9
9
 
10
10
  Further benefits:
11
11
 
@@ -49,14 +49,14 @@ $ sfdx-browserforce browserforce -h
49
49
  browser automation
50
50
 
51
51
  USAGE
52
- $ sfdx-browserforce-plugin browserforce:COMMAND
52
+ $ sfdx-browserforce-plugin browserforce COMMAND
53
53
 
54
54
  COMMANDS
55
- browserforce:apply apply a plan from a definition file
56
- browserforce:plan retrieve state and generate plan file
55
+ browserforce apply apply a plan from a definition file
56
+ browserforce plan retrieve state and generate plan file
57
57
  ```
58
58
 
59
- Both the `browserforce:apply` and `browserforce:plan` commands expect a config file and a target username or alias for the org.
59
+ Both the `browserforce apply` and `browserforce plan` commands expect a config file and a target username or alias for the org.
60
60
 
61
61
  # Example
62
62
 
@@ -80,7 +80,7 @@ Tip: If you use _Visual Studio Code_, you can leverage tab completion to build t
80
80
  Next apply the config:
81
81
 
82
82
  ```console
83
- $ sf browserforce:apply -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com
83
+ $ sf browserforce apply -f ./config/setup-admin-login-as-any.json --target-org myOrg@example.com
84
84
  logging in... done
85
85
  Applying definition file ./config/setup-admin-login-as-any.json to org myOrg@example.com
86
86
  [Security] retrieving state... done
@@ -24,8 +24,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.BrowserforceCommand = void 0;
27
- const command_1 = require("@salesforce/command");
28
27
  const core_1 = require("@salesforce/core");
28
+ const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
29
29
  const fs_1 = require("fs");
30
30
  const path = __importStar(require("path"));
31
31
  const browserforce_1 = require("./browserforce");
@@ -33,51 +33,57 @@ const config_parser_1 = require("./config-parser");
33
33
  const DRIVERS = __importStar(require("./plugins"));
34
34
  core_1.Messages.importMessagesDirectory(__dirname);
35
35
  const messages = core_1.Messages.loadMessages('sfdx-browserforce-plugin', 'browserforce');
36
- class BrowserforceCommand extends command_1.SfdxCommand {
36
+ class BrowserforceCommand extends sf_plugins_core_1.SfCommand {
37
37
  async init() {
38
+ const { flags } = await this.parse(BrowserforceCommand);
38
39
  await super.init();
39
- const definitionFileData = await fs_1.promises.readFile(path.resolve(this.flags.definitionfile), 'utf8');
40
40
  let definition;
41
- try {
42
- definition = JSON.parse(definitionFileData);
43
- }
44
- catch (err) {
45
- throw new Error('Failed parsing definitionfile');
41
+ if (flags.definitionfile) {
42
+ const definitionFileData = await fs_1.promises.readFile(path.resolve(flags.definitionfile), 'utf8');
43
+ try {
44
+ definition = JSON.parse(definitionFileData);
45
+ }
46
+ catch (err) {
47
+ throw new Error('Failed parsing definitionfile');
48
+ }
46
49
  }
47
50
  // TODO: use require.resolve to dynamically load plugins from npm packages
48
51
  this.settings = config_parser_1.ConfigParser.parse(DRIVERS, definition);
49
- this.bf = new browserforce_1.Browserforce(this.org, this.ux);
50
- this.ux.startSpinner('logging in');
52
+ this.bf = new browserforce_1.Browserforce(flags['target-org'], new sf_plugins_core_1.Ux({ jsonEnabled: this.jsonEnabled() }));
53
+ this.spinner.start('logging in');
51
54
  await this.bf.login();
52
- this.ux.stopSpinner();
55
+ this.spinner.stop();
53
56
  }
54
57
  async run() {
55
58
  throw new Error('BrowserforceCommand should not be run directly');
56
59
  }
57
60
  async finally(err) {
58
- this.ux.stopSpinner();
61
+ this.spinner.stop(err?.message);
59
62
  if (this.bf) {
60
- this.ux.startSpinner('logging out');
63
+ this.spinner.start('logging out');
61
64
  await this.bf.logout();
62
- this.ux.stopSpinner();
65
+ this.spinner.stop();
63
66
  }
64
67
  }
65
68
  }
66
69
  exports.BrowserforceCommand = BrowserforceCommand;
67
- BrowserforceCommand.requiresUsername = true;
68
- BrowserforceCommand.flagsConfig = {
69
- definitionfile: command_1.flags.string({
70
+ BrowserforceCommand.flags = {
71
+ 'target-org': sf_plugins_core_1.requiredOrgFlagWithDeprecations,
72
+ definitionfile: sf_plugins_core_1.Flags.string({
70
73
  char: 'f',
74
+ summary: messages.getMessage('definitionFileDescription'),
71
75
  description: messages.getMessage('definitionFileDescription')
72
76
  }),
73
- planfile: command_1.flags.string({
77
+ planfile: sf_plugins_core_1.Flags.string({
74
78
  char: 'p',
75
79
  name: 'plan',
80
+ summary: messages.getMessage('planFileDescription'),
76
81
  description: messages.getMessage('planFileDescription')
77
82
  }),
78
- statefile: command_1.flags.string({
83
+ statefile: sf_plugins_core_1.Flags.string({
79
84
  char: 's',
80
85
  name: 'state',
86
+ summary: messages.getMessage('stateFileDescription'),
81
87
  description: messages.getMessage('stateFileDescription')
82
88
  })
83
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"browserforce-command.js","sourceRoot":"","sources":["../src/browserforce-command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAyD;AACzD,2CAA4C;AAC5C,2BAA8B;AAC9B,2CAA6B;AAC7B,iDAA8C;AAC9C,mDAA+C;AAC/C,mDAAqC;AAErC,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CACpC,0BAA0B,EAC1B,cAAc,CACf,CAAC;AAEF,MAAa,mBAAoB,SAAQ,qBAAW;IAuB3C,KAAK,CAAC,IAAI;QACf,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,kBAAkB,GAAG,MAAM,aAAQ,CAAC,QAAQ,CAChD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EACvC,MAAM,CACP,CAAC;QACF,IAAI,UAAU,CAAC;QACf,IAAI;YACF,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;SAC7C;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;SAClD;QACD,0EAA0E;QAC1E,IAAI,CAAC,QAAQ,GAAG,4BAAY,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,CAAC,EAAE,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9C,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACnC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;QACtB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAU;QAC7B,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,EAAE,EAAE;YACX,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvB;IACH,CAAC;;AAtDH,kDAuDC;AAtDkB,oCAAgB,GAAG,IAAI,CAAC;AAExB,+BAAW,GAAG;IAC7B,cAAc,EAAE,eAAK,CAAC,MAAM,CAAC;QAC3B,IAAI,EAAE,GAAG;QACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;KAC9D,CAAC;IACF,QAAQ,EAAE,eAAK,CAAC,MAAM,CAAC;QACrB,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;KACxD,CAAC;IACF,SAAS,EAAE,eAAK,CAAC,MAAM,CAAC;QACtB,IAAI,EAAE,GAAG;QACT,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;KACzD,CAAC;CACH,CAAC"}
1
+ {"version":3,"file":"browserforce-command.js","sourceRoot":"","sources":["../src/browserforce-command.ts"],"names":[],"mappings":"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"}
@@ -57,10 +57,7 @@ class Browserforce {
57
57
  }
58
58
  async resolveDomains() {
59
59
  // resolve ip addresses of both LEX and classic domains
60
- const salesforceUrls = [
61
- this.getInstanceUrl(),
62
- this.getLightningUrl()
63
- ].filter((u) => u);
60
+ const salesforceUrls = [this.getInstanceUrl(), this.getLightningUrl()].filter((u) => u);
64
61
  for (const salesforceUrl of salesforceUrls) {
65
62
  const resolver = await core_1.MyDomainResolver.create({
66
63
  url: new url_1.URL(salesforceUrl)
@@ -78,7 +75,7 @@ class Browserforce {
78
75
  // there seems to be an issue with Enhanced Domains
79
76
  // await this.resolveDomains();
80
77
  page = await this.browser.newPage();
81
- page.setDefaultNavigationTimeout(parseInt(process.env.BROWSERFORCE_NAVIGATION_TIMEOUT_MS, 10) || 90000);
78
+ page.setDefaultNavigationTimeout(parseInt(process.env.BROWSERFORCE_NAVIGATION_TIMEOUT_MS ?? '90000', 10));
82
79
  await page.setViewport({ width: 1024, height: 768 });
83
80
  const url = `${this.getInstanceUrl()}/${urlPath}`;
84
81
  const parsedUrl = (0, url_1.parse)(urlPath);
@@ -89,24 +86,18 @@ class Browserforce {
89
86
  throw new Error(`${response.status()}: ${response.statusText()}`);
90
87
  }
91
88
  if (response.url().indexOf('/?ec=302') > 0) {
92
- const salesforceUrls = [
93
- this.getInstanceUrl(),
94
- this.getLightningUrl()
95
- ].filter((u) => u);
89
+ const salesforceUrls = [this.getInstanceUrl(), this.getLightningUrl()].filter((u) => u);
96
90
  if (salesforceUrls.some((salesforceUrl) => response.url().startsWith(salesforceUrl))) {
97
91
  // the url looks ok so it is a login error
98
92
  throw new p_retry_1.AbortError('login failed');
99
93
  }
100
- else if (parsedUrl.pathname === 'secur/frontdoor.jsp' &&
101
- parsedUrl.query.includes('retURL=')) {
94
+ else if (parsedUrl.pathname === 'secur/frontdoor.jsp' && parsedUrl.query?.includes('retURL=')) {
102
95
  if (this.logger) {
103
96
  this.logger.warn('trying frontdoor workaround...');
104
97
  }
105
98
  // try opening page directly without frontdoor as login might have already been successful
106
99
  const qsUrl = querystring.parse(parsedUrl.query);
107
- urlPath = Array.isArray(qsUrl.retURL)
108
- ? qsUrl.retURL[0]
109
- : qsUrl.retURL;
100
+ urlPath = Array.isArray(qsUrl.retURL) ? qsUrl.retURL[0] : qsUrl.retURL;
110
101
  throw new Error('frontdoor error');
111
102
  }
112
103
  else {
@@ -139,12 +130,8 @@ class Browserforce {
139
130
  }
140
131
  }
141
132
  },
142
- retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
143
- ? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
144
- : 4,
145
- minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
146
- ? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
147
- : 4000
133
+ retries: parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES ?? '4', 10),
134
+ minTimeout: parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS ?? '4000', 10)
148
135
  });
149
136
  return result;
150
137
  }
@@ -189,7 +176,7 @@ class Browserforce {
189
176
  return parts[0];
190
177
  }
191
178
  }
192
- return null;
179
+ throw new Error(`Could not determine the instance URL from: ${instanceUrl}`);
193
180
  }
194
181
  getInstanceUrl() {
195
182
  // sometimes the instanceUrl includes a trailing slash
@@ -202,7 +189,7 @@ class Browserforce {
202
189
  if (myDomainOrInstance) {
203
190
  return `https://${myDomainOrInstance}.lightning.force.com`;
204
191
  }
205
- return null;
192
+ throw new Error(`Could not determine the lightning URL from: ${myDomainOrInstance} and ${instanceDomain}`);
206
193
  }
207
194
  }
208
195
  exports.Browserforce = Browserforce;
@@ -235,12 +222,8 @@ async function retry(input) {
235
222
  onFailedAttempt: (error) => {
236
223
  console.warn(`retrying ${error.retriesLeft} more time(s) because of "${error}"`);
237
224
  },
238
- retries: process.env.BROWSERFORCE_RETRY_MAX_RETRIES
239
- ? parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES, 10)
240
- : 6,
241
- minTimeout: process.env.BROWSERFORCE_RETRY_TIMEOUT_MS
242
- ? parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS, 10)
243
- : 4000
225
+ retries: parseInt(process.env.BROWSERFORCE_RETRY_MAX_RETRIES ?? '6', 10),
226
+ minTimeout: parseInt(process.env.BROWSERFORCE_RETRY_TIMEOUT_MS ?? '4000', 10)
244
227
  });
245
228
  return res;
246
229
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browserforce.js","sourceRoot":"","sources":["../src/browserforce.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browserforce.js","sourceRoot":"","sources":["../src/browserforce.ts"],"names":[],"mappings":"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"}
@@ -7,39 +7,39 @@ core_1.Messages.importMessagesDirectory(__dirname);
7
7
  const messages = core_1.Messages.loadMessages('sfdx-browserforce-plugin', 'browserforce');
8
8
  class BrowserforceApply extends browserforce_command_1.BrowserforceCommand {
9
9
  async run() {
10
- this.ux.log(`Applying definition file ${this.flags.definitionfile} to org ${this.org.getUsername()}`);
10
+ const { flags } = await this.parse(BrowserforceApply);
11
+ this.log(`Applying definition file ${flags.definitionfile} to org ${flags['target-org'].getUsername()}`);
11
12
  for (const setting of this.settings) {
12
13
  const driver = setting.Driver;
13
14
  const instance = new driver(this.bf);
14
- this.ux.startSpinner(`[${driver.name}] retrieving state`);
15
+ this.spinner.start(`[${driver.name}] retrieving state`);
15
16
  let state;
16
17
  try {
17
18
  state = await instance.retrieve(setting.value);
18
19
  }
19
20
  catch (err) {
20
- this.ux.stopSpinner('failed');
21
+ this.spinner.stop('failed');
21
22
  throw err;
22
23
  }
23
- this.ux.stopSpinner();
24
- const action = instance.diff(state, setting.value);
25
- this.ux.stopSpinner();
26
- if (action && Object.keys(action).length) {
27
- this.ux.startSpinner(`[${driver.name}] ${Object.keys(action)
24
+ this.spinner.stop();
25
+ const diff = instance.diff(state, setting.value);
26
+ if (diff !== undefined) {
27
+ this.spinner.start(`[${driver.name}] ${Object.keys(diff)
28
28
  .map((key) => {
29
- return `changing '${key}' to '${JSON.stringify(action[key])}'`;
29
+ return `changing '${key}' to '${JSON.stringify(diff[key])}'`;
30
30
  })
31
31
  .join('\n')}`);
32
32
  try {
33
- await instance.apply(action);
33
+ await instance.apply(diff);
34
34
  }
35
35
  catch (err) {
36
- this.ux.stopSpinner('failed');
36
+ this.spinner.stop('failed');
37
37
  throw err;
38
38
  }
39
- this.ux.stopSpinner();
39
+ this.spinner.stop();
40
40
  }
41
41
  else {
42
- this.ux.log(`[${driver.name}] no action necessary`);
42
+ this.log(`[${driver.name}] no action necessary`);
43
43
  }
44
44
  }
45
45
  return { success: true };
@@ -48,7 +48,7 @@ class BrowserforceApply extends browserforce_command_1.BrowserforceCommand {
48
48
  exports.BrowserforceApply = BrowserforceApply;
49
49
  BrowserforceApply.description = messages.getMessage('applyCommandDescription');
50
50
  BrowserforceApply.examples = [
51
- `$ sfdx <%= command.id %> -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com
51
+ `$ <%= config.bin %> <%= command.id %> -f ./config/setup-admin-login-as-any.json --target-org myOrg@example.com
52
52
  logging in... done
53
53
  Applying definition file ./config/setup-admin-login-as-any.json to org myOrg@example.com
54
54
  [Security] retrieving state... done
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/browserforce/apply.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,qEAAiE;AAEjE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CACpC,0BAA0B,EAC1B,cAAc,CACf,CAAC;AAEF,MAAa,iBAAkB,SAAQ,0CAAmB;IAajD,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,4BACE,IAAI,CAAC,KAAK,CAAC,cACb,WAAW,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CACpC,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;YAC1D,IAAI,KAAK,CAAC;YACV,IAAI;gBACF,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChD;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACnD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE;gBACxC,IAAI,CAAC,EAAE,CAAC,YAAY,CAClB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;qBACpC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO,aAAa,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBACjE,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;gBACF,IAAI;oBACF,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBAC9B;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC9B,MAAM,GAAG,CAAC;iBACX;gBACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;aACvB;iBAAM;gBACL,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC;aACrD;SACF;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;;AArDH,8CAsDC;AArDe,6BAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AAE7D,0BAAQ,GAAG;IACvB;;;;;;GAMD;CACA,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../../src/commands/browserforce/apply.ts"],"names":[],"mappings":";;;AAAA,2CAA4C;AAC5C,qEAAiE;AAEjE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;AAEnF,MAAa,iBAAkB,SAAQ,0CAAmB;IAajD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,CAAC,4BAA4B,KAAK,CAAC,cAAc,WAAW,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACzG,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;YACxD,IAAI,KAAK,CAAC;YACV,IAAI;gBACF,KAAK,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;aAChD;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YACjD,IAAI,IAAI,KAAK,SAAS,EAAE;gBACtB,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,IAAI,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;qBAClC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;oBACX,OAAO,aAAa,GAAG,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;gBAC/D,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;gBACF,IAAI;oBACF,MAAM,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;iBAC5B;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC5B,MAAM,GAAG,CAAC;iBACX;gBACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;aACrB;iBAAM;gBACL,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,uBAAuB,CAAC,CAAC;aAClD;SACF;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;;AAjDH,8CAkDC;AAjDe,6BAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AAE7D,0BAAQ,GAAG;IACvB;;;;;;GAMD;CACA,CAAC"}
@@ -32,7 +32,8 @@ core_1.Messages.importMessagesDirectory(__dirname);
32
32
  const messages = core_1.Messages.loadMessages('sfdx-browserforce-plugin', 'browserforce');
33
33
  class BrowserforcePlanCommand extends browserforce_command_1.BrowserforceCommand {
34
34
  async run() {
35
- this.ux.log(`Generating plan with definition file ${this.flags.definitionfile} from org ${this.org.getUsername()}`);
35
+ const { flags } = await this.parse(BrowserforcePlanCommand);
36
+ this.log(`Generating plan with definition file ${flags.definitionfile} from org ${flags['target-org'].getUsername()}`);
36
37
  const state = {
37
38
  settings: {}
38
39
  };
@@ -42,31 +43,31 @@ class BrowserforcePlanCommand extends browserforce_command_1.BrowserforceCommand
42
43
  for (const setting of this.settings) {
43
44
  const driver = setting.Driver;
44
45
  const instance = new driver(this.bf);
45
- this.ux.startSpinner(`[${driver.name}] retrieving state`);
46
+ this.spinner.start(`[${driver.name}] retrieving state`);
46
47
  let driverState;
47
48
  try {
48
49
  driverState = await instance.retrieve(setting.value);
49
50
  state.settings[setting.key] = driverState;
50
51
  }
51
52
  catch (err) {
52
- this.ux.stopSpinner('failed');
53
+ this.spinner.stop('failed');
53
54
  throw err;
54
55
  }
55
- this.ux.stopSpinner();
56
- this.ux.startSpinner(`[${driver.name}] generating plan`);
56
+ this.spinner.stop();
57
+ this.spinner.start(`[${driver.name}] generating plan`);
57
58
  const driverPlan = instance.diff(driverState, setting.value);
58
59
  plan.settings[setting.key] = driverPlan;
59
- this.ux.stopSpinner();
60
+ this.spinner.stop();
60
61
  }
61
- if (this.flags.statefile) {
62
- this.ux.startSpinner('writing state file');
63
- await (0, promises_1.writeFile)(path.resolve(this.flags.statefile), JSON.stringify(state, null, 2));
64
- this.ux.stopSpinner();
62
+ if (flags.statefile) {
63
+ this.spinner.start('writing state file');
64
+ await (0, promises_1.writeFile)(path.resolve(flags.statefile), JSON.stringify(state, null, 2));
65
+ this.spinner.stop();
65
66
  }
66
- if (this.flags.planfile) {
67
- this.ux.startSpinner('writing plan file');
68
- await (0, promises_1.writeFile)(path.resolve(this.flags.planfile), JSON.stringify(plan, null, 2));
69
- this.ux.stopSpinner();
67
+ if (flags.planfile) {
68
+ this.spinner.start('writing plan file');
69
+ await (0, promises_1.writeFile)(path.resolve(flags.planfile), JSON.stringify(plan, null, 2));
70
+ this.spinner.stop();
70
71
  }
71
72
  return { success: true, plan };
72
73
  }
@@ -74,7 +75,7 @@ class BrowserforcePlanCommand extends browserforce_command_1.BrowserforceCommand
74
75
  exports.BrowserforcePlanCommand = BrowserforcePlanCommand;
75
76
  BrowserforcePlanCommand.description = messages.getMessage('planCommandDescription');
76
77
  BrowserforcePlanCommand.examples = [
77
- `$ sfdx <%= command.id %> -f ./config/setup-admin-login-as-any.json --targetusername myOrg@example.com
78
+ `$ <%= config.bin %> <%= command.id %> -f ./config/setup-admin-login-as-any.json --target-org myOrg@example.com
78
79
  logging in... done
79
80
  Generating plan with definition file ./config/setup-admin-login-as-any.json from org myOrg@example.com
80
81
  [Security] retrieving state... done
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/browserforce/plan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwC;AACxC,2CAA4C;AAC5C,2CAA6B;AAC7B,qEAAiE;AAEjE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CACpC,0BAA0B,EAC1B,cAAc,CACf,CAAC;AAEF,MAAa,uBAAwB,SAAQ,0CAAmB;IAavD,KAAK,CAAC,GAAG;QACd,IAAI,CAAC,EAAE,CAAC,GAAG,CACT,wCACE,IAAI,CAAC,KAAK,CAAC,cACb,aAAa,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CACtC,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;YAC1D,IAAI,WAAW,CAAC;YAChB,IAAI;gBACF,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;aAC3C;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAC9B,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACzD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YACxC,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC;YAC3C,MAAM,IAAA,oBAAS,EACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAClC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAC/B,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvB;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACvB,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC;YAC1C,MAAM,IAAA,oBAAS,EACb,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EACjC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAC9B,CAAC;YACF,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;SACvB;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;;AA5DH,0DA6DC;AA5De,mCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAE5D,gCAAQ,GAAG;IACvB;;;;;;GAMD;CACA,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/commands/browserforce/plan.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAwC;AACxC,2CAA4C;AAC5C,2CAA6B;AAC7B,qEAAiE;AAEjE,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,0BAA0B,EAAE,cAAc,CAAC,CAAC;AAEnF,MAAa,uBAAwB,SAAQ,0CAAmB;IAavD,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CACN,wCAAwC,KAAK,CAAC,cAAc,aAAa,KAAK,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,EAAE,CAC7G,CAAC;QACF,MAAM,KAAK,GAAG;YACZ,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,CAAC,CAAC;YACxD,IAAI,WAAW,CAAC;YAChB,IAAI;gBACF,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACrD,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;aAC3C;YAAC,OAAO,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,mBAAmB,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;YACxC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;QACD,IAAI,KAAK,CAAC,SAAS,EAAE;YACnB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACzC,MAAM,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;QACD,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACxC,MAAM,IAAA,oBAAS,EAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACrB;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;;AArDH,0DAsDC;AArDe,mCAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAC;AAE5D,gCAAQ,GAAG;IACvB;;;;;;GAMD;CACA,CAAC"}
@@ -4,7 +4,7 @@ exports.ConfigParser = void 0;
4
4
  class ConfigParser {
5
5
  static parse(drivers, data) {
6
6
  const settings = [];
7
- if (data && data.settings) {
7
+ if (data?.settings) {
8
8
  for (const driverName of Object.keys(data.settings)) {
9
9
  if (drivers[driverName]) {
10
10
  settings.push({
@@ -1 +1 @@
1
- {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../src/config-parser.ts"],"names":[],"mappings":";;;AAgBA,MAAa,YAAY;IAChB,MAAM,CAAC,KAAK,CAAC,OAAgB,EAAE,IAAU;QAC9C,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;YACzB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACnD,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;oBACvB,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;wBAC3B,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;qBACjC,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,IAAI,KAAK,CACb,gCAAgC,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAC1E,IAAI,CACL,EAAE,CACJ,CAAC;iBACH;aACF;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CACb,+CAA+C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACtE,CAAC;SACH;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA1BD,oCA0BC"}
1
+ {"version":3,"file":"config-parser.js","sourceRoot":"","sources":["../src/config-parser.ts"],"names":[],"mappings":";;;AAgBA,MAAa,YAAY;IAChB,MAAM,CAAC,KAAK,CAAC,OAAgB,EAAE,IAAU;QAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,IAAI,IAAI,EAAE,QAAQ,EAAE;YAClB,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACnD,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE;oBACvB,QAAQ,CAAC,IAAI,CAAC;wBACZ,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;wBAC3B,GAAG,EAAE,UAAU;wBACf,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;qBACjC,CAAC,CAAC;iBACJ;qBAAM;oBACL,MAAM,IAAI,KAAK,CAAC,gCAAgC,UAAU,oBAAoB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACvG;aACF;SACF;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,+CAA+C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxF;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AApBD,oCAoBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"jsforce-utils.js","sourceRoot":"","sources":["../src/jsforce-utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,WAAW,CACzB,IAAO;IAEP,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;QACvC,OAAO,EAAE,CAAC;KACX;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AAVD,kCAUC"}
1
+ {"version":3,"file":"jsforce-utils.js","sourceRoot":"","sources":["../src/jsforce-utils.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,SAAgB,WAAW,CAAI,IAAa;IAC1C,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvB,OAAO,IAAI,CAAC;KACb;IACD,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,EAAE;QACvC,OAAO,EAAE,CAAC;KACX;IACD,OAAO,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC;AARD,kCAQC"}
package/lib/plugin.js CHANGED
@@ -1,44 +1,25 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.BrowserforcePlugin = void 0;
27
- const jsonMergePatch = __importStar(require("json-merge-patch"));
28
4
  const utils_1 = require("./plugins/utils");
29
5
  class BrowserforcePlugin {
30
6
  constructor(browserforce) {
31
7
  this.browserforce = browserforce;
32
8
  this.org = browserforce?.org;
33
9
  }
10
+ /**
11
+ * deep diff
12
+ * @param state
13
+ * @param definition
14
+ * @returns undefined when there is no diff
15
+ */
34
16
  diff(state, definition) {
35
- return jsonMergePatch.generate(state, definition);
17
+ return (0, utils_1.deepDiff)(state, definition);
36
18
  }
37
- async run(plan) {
38
- const state = await this.retrieve(plan);
39
- const diff = this.diff(state, plan);
40
- const needsAction = !(0, utils_1.isEmpty)(diff);
41
- if (needsAction) {
19
+ async run(definition) {
20
+ const state = await this.retrieve(definition);
21
+ const diff = this.diff(state, definition);
22
+ if (diff !== undefined) {
42
23
  const result = await this.apply(diff);
43
24
  return result;
44
25
  }
package/lib/plugin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,iEAAmD;AAEnD,2CAA0C;AAE1C,MAAsB,kBAAkB;IAItC,YAAmB,YAA0B;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE,GAAG,CAAC;IAC/B,CAAC;IAEM,IAAI,CAAC,KAAc,EAAE,UAAmB;QAC7C,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,IAAa;QAC5B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,CAAC,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC;QACnC,IAAI,WAAW,EAAE;YACf,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;SACf;QACD,OAAO;YACL,OAAO,EAAE,qBAAqB;SAC/B,CAAC;IACJ,CAAC;CACF;AAzBD,gDAyBC"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":";;;AAEA,2CAA2C;AAE3C,MAAsB,kBAAkB;IAItC,YAAmB,YAA0B;QAC3C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE,GAAG,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,IAAI,CAAC,KAAc,EAAE,UAAmB;QAC7C,OAAO,IAAA,gBAAQ,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,UAAmB;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC1C,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,OAAO,MAAM,CAAC;SACf;QACD,OAAO;YACL,OAAO,EAAE,qBAAqB;SAC/B,CAAC;IACJ,CAAC;CACF;AA9BD,gDA8BC"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe(_1.ActivitySettings.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.ActivitySettings(global.bf);
12
+ });
13
+ describe('allowUsersToRelateMultipleContactsToTasksAndEvents', () => {
14
+ const configEnabled = {
15
+ allowUsersToRelateMultipleContactsToTasksAndEvents: true
16
+ };
17
+ const configDisabled = {
18
+ allowUsersToRelateMultipleContactsToTasksAndEvents: false
19
+ };
20
+ it('should enable', async () => {
21
+ await plugin.run(configEnabled);
22
+ });
23
+ it('should be enabled', async () => {
24
+ const res = await plugin.retrieve();
25
+ assert_1.default.deepStrictEqual(res, configEnabled);
26
+ });
27
+ it('should fail to disable', async () => {
28
+ let err;
29
+ try {
30
+ await plugin.apply(configDisabled);
31
+ }
32
+ catch (e) {
33
+ err = e;
34
+ }
35
+ assert_1.default.throws(() => {
36
+ throw err;
37
+ }, /can only be disabled/);
38
+ });
39
+ });
40
+ });
41
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/activity-settings/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAqC;AAErC,QAAQ,CAAC,mBAAgB,CAAC,IAAI,EAAE;IAC9B,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,mBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAClE,MAAM,aAAa,GAAG;YACpB,kDAAkD,EAAE,IAAI;SACzD,CAAC;QACF,MAAM,cAAc,GAAG;YACrB,kDAAkD,EAAE,KAAK;SAC1D,CAAC;QAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;YAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;YACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;YACtC,IAAI,GAAG,CAAC;YACR,IAAI;gBACF,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;aACpC;YAAC,OAAO,CAAC,EAAE;gBACV,GAAG,GAAG,CAAC,CAAC;aACT;YACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,MAAM,GAAG,CAAC;YACZ,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -28,10 +28,7 @@ class ActivitySettings extends plugin_1.BrowserforcePlugin {
28
28
  await page.$eval(SELECTORS.MANY_WHO_PREF_INPUT, (e, v) => {
29
29
  e.checked = v;
30
30
  }, config.allowUsersToRelateMultipleContactsToTasksAndEvents);
31
- await Promise.all([
32
- page.waitForNavigation(),
33
- page.click(SELECTORS.SUBMIT_BUTTON)
34
- ]);
31
+ await Promise.all([page.waitForNavigation(), page.click(SELECTORS.SUBMIT_BUTTON)]);
35
32
  await page.close();
36
33
  }
37
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/activity-settings/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,iCAAiC;CACxC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,mBAAmB,EAAE,kDAAkD;IACvE,aAAa,EAAE,qDAAqD;CACrE,CAAC;AAMF,MAAa,gBAAiB,SAAQ,2BAAkB;IAC/C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG;YACf,kDAAkD,EAAE,MAAM,IAAI,CAAC,KAAK,CAClE,SAAS,CAAC,mBAAmB,EAC7B,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC;SACF,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,kDAAkD,KAAK,KAAK,EAAE;YACvE,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;SACH;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,mBAAmB,EAC7B,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,kDAAkD,CAC1D,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;SACpC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAnCD,4CAmCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/activity-settings/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,iCAAiC;CACxC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,mBAAmB,EAAE,kDAAkD;IACvE,aAAa,EAAE,qDAAqD;CACrE,CAAC;AAMF,MAAa,gBAAiB,SAAQ,2BAAkB;IAC/C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG;YACf,kDAAkD,EAAE,MAAM,IAAI,CAAC,KAAK,CAClE,SAAS,CAAC,mBAAmB,EAC7B,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC;SACF,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,kDAAkD,KAAK,KAAK,EAAE;YACvE,MAAM,IAAI,KAAK,CACb,wHAAwH,CACzH,CAAC;SACH;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,mBAAmB,EAC7B,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;YAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;QAChB,CAAC,EACD,MAAM,CAAC,kDAAkD,CAC1D,CAAC;QACF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAhCD,4CAgCC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe.skip(_1.Communities.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.Communities(global.bf);
12
+ });
13
+ const configEnabled = {
14
+ enabled: true
15
+ };
16
+ const configDisabled = {
17
+ enabled: false
18
+ };
19
+ it('should enable', async () => {
20
+ await plugin.run(configEnabled);
21
+ });
22
+ it('should be enabled', async () => {
23
+ const res = await plugin.run(configEnabled);
24
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
25
+ });
26
+ it('should fail to disable', async () => {
27
+ let err;
28
+ try {
29
+ await plugin.apply(configDisabled);
30
+ }
31
+ catch (e) {
32
+ err = e;
33
+ }
34
+ assert_1.default.throws(() => {
35
+ throw err;
36
+ }, /cannot be disabled/);
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.e2e-spec.js.map