@pega/custom-dx-components 26.1.11 → 26.1.12-alpha.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (323) hide show
  1. package/README.md +6 -2
  2. package/package.json +48 -64
  3. package/src/ai/README.md +44 -0
  4. package/src/ai/catalog/README.md +133 -0
  5. package/src/ai/catalog/best-practices/README.md +24 -0
  6. package/src/ai/catalog/best-practices/accessibility-for-async-components.md +53 -0
  7. package/src/ai/catalog/best-practices/error-handling-and-resiliency.md +116 -0
  8. package/src/ai/catalog/best-practices/genai-assistant-integration-patterns.md +49 -0
  9. package/src/ai/catalog/best-practices/performance-and-efficiency.md +109 -0
  10. package/src/ai/catalog/best-practices/security-considerations.md +93 -0
  11. package/src/ai/catalog/best-practices/testing-pconnect-components.md +245 -0
  12. package/src/ai/catalog/best-practices/troubleshooting-common-pitfalls.md +132 -0
  13. package/src/ai/catalog/pconnect-assignment-lifecycle/SKILL.md +44 -0
  14. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/README.md +39 -0
  15. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/approval-workflow-decision.md +47 -0
  16. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/attachment-upload.md +45 -0
  17. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/bulk-action-submit.md +50 -0
  18. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/confirm-before-destructive-action.md +43 -0
  19. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/create-and-stage-new-case.md +45 -0
  20. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/graceful-submit-failure.md +39 -0
  21. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/modal-assignment-submit.md +58 -0
  22. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/multi-step-wizard.md +44 -0
  23. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/resolve-or-ignore-duplicate.md +47 -0
  24. package/src/ai/catalog/pconnect-assignment-lifecycle/cookbooks/safe-case-deletion.md +36 -0
  25. package/src/ai/catalog/pconnect-case-collaboration/SKILL.md +42 -0
  26. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/README.md +36 -0
  27. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/look-up-user-details.md +43 -0
  28. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/manage-case-attachments.md +51 -0
  29. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/manage-case-participants.md +52 -0
  30. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/participant-and-follower.md +40 -0
  31. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/post-and-manage-feed.md +50 -0
  32. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/relate-cases.md +35 -0
  33. package/src/ai/catalog/pconnect-case-collaboration/cookbooks/tag-case-and-find-related.md +44 -0
  34. package/src/ai/catalog/pconnect-data-subscriptions/SKILL.md +42 -0
  35. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/README.md +35 -0
  36. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/data-page-subscription-cleanup.md +41 -0
  37. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/publish-and-subscribe-events.md +40 -0
  38. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/pubsub-cleanup.md +38 -0
  39. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/query-paginated-list-data.md +44 -0
  40. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/realtime-case-subscription.md +46 -0
  41. package/src/ai/catalog/pconnect-data-subscriptions/cookbooks/refresh-and-update-data.md +41 -0
  42. package/src/ai/catalog/pconnect-forms-and-fields/SKILL.md +44 -0
  43. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/README.md +36 -0
  44. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/autosave-tracking.md +45 -0
  45. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/cascading-dependent-fields.md +51 -0
  46. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/collect-form-changes-for-manual-save.md +45 -0
  47. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/custom-field-validators.md +44 -0
  48. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/discard-changes-and-reset-form.md +41 -0
  49. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/full-form-validation.md +38 -0
  50. package/src/ai/catalog/pconnect-forms-and-fields/cookbooks/persist-widget-ui-state.md +41 -0
  51. package/src/ai/catalog/pconnect-lists-and-views/SKILL.md +44 -0
  52. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/README.md +35 -0
  53. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/activate-and-switch-container-items.md +52 -0
  54. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/container-item-lifecycle.md +61 -0
  55. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/insert-delete-list-rows.md +40 -0
  56. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/reorder-list-rows.md +39 -0
  57. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/repeating-row-edit.md +39 -0
  58. package/src/ai/catalog/pconnect-lists-and-views/cookbooks/view-personalization.md +60 -0
  59. package/src/ai/catalog/pconnect-navigation-locale-genai/SKILL.md +45 -0
  60. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/README.md +35 -0
  61. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/agent-conversation-for-tasks.md +54 -0
  62. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/bookmarkable-filter-state.md +40 -0
  63. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/deep-link-semantic-url.md +39 -0
  64. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/genai-assistant-conversation.md +43 -0
  65. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/locale-switch-and-relocalize.md +38 -0
  66. package/src/ai/catalog/pconnect-navigation-locale-genai/cookbooks/persist-operator-preferences.md +40 -0
  67. package/src/ai/catalog/references/architecture-overview.md +52 -0
  68. package/src/ai/catalog/references/pconnect-actions-api.md +948 -0
  69. package/src/ai/catalog/references/pconnect-case-info-data-info-localization.md +618 -0
  70. package/src/ai/catalog/references/pconnect-case-validation-utilities.md +238 -0
  71. package/src/ai/catalog/references/pconnect-container-manager.md +215 -0
  72. package/src/ai/catalog/references/pconnect-list-actions.md +250 -0
  73. package/src/ai/catalog/references/pconnect-misc-suggestions-creation.md +231 -0
  74. package/src/ai/catalog/references/pconnect-reference-context-component.md +471 -0
  75. package/src/ai/catalog/references/pconnect-state-config.md +316 -0
  76. package/src/ai/catalog/references/pconnect-validation-api.md +45 -0
  77. package/src/ai/catalog/references/pcore-analytics-genai-details.md +50 -0
  78. package/src/ai/catalog/references/pcore-bootstrap-init-details.md +121 -0
  79. package/src/ai/catalog/references/pcore-bootstrap-registry-routing.md +253 -0
  80. package/src/ai/catalog/references/pcore-case-collaboration-details.md +191 -0
  81. package/src/ai/catalog/references/pcore-case-collaboration-genai.md +264 -0
  82. package/src/ai/catalog/references/pcore-environment-info-details.md +96 -0
  83. package/src/ai/catalog/references/pcore-environment-locale-namespace.md +175 -0
  84. package/src/ai/catalog/references/pcore-messaging-details.md +99 -0
  85. package/src/ai/catalog/references/pcore-misc-details.md +207 -0
  86. package/src/ai/catalog/references/pcore-misc-utilities.md +325 -0
  87. package/src/ai/catalog/references/pcore-rest-data-details.md +164 -0
  88. package/src/ai/catalog/references/pcore-rest-data-messaging.md +308 -0
  89. package/src/ai/catalog/references/pcore-store-context-details.md +40 -0
  90. package/src/ai/catalog/references/pcore-store-context-state.md +130 -0
  91. package/src/ai/index.js +154 -0
  92. package/src/ai/project/.claude/skills/boolean/SKILL.md +43 -0
  93. package/src/ai/project/.claude/skills/case/SKILL.md +58 -0
  94. package/src/ai/project/.claude/skills/create-dx-component/SKILL.md +98 -0
  95. package/src/ai/project/.claude/skills/create-dx-component/assets/PConnProps.d.ts +24 -0
  96. package/src/ai/project/.claude/skills/create-dx-component/assets/create-nonce.ts +5 -0
  97. package/src/ai/project/.claude/skills/create-dx-component/assets/event-utils.ts +18 -0
  98. package/src/ai/project/.claude/skills/create-dx-component/assets/styles.ts +7 -0
  99. package/src/ai/project/.claude/skills/create-dx-component/cookbooks/README.md +28 -0
  100. package/src/ai/project/.claude/skills/create-dx-component/cookbooks/build-a-data-widget.md +281 -0
  101. package/src/ai/project/.claude/skills/create-dx-component/cookbooks/field-with-limits-and-validation.md +156 -0
  102. package/src/ai/project/.claude/skills/create-dx-component/cookbooks/status-badge-field.md +97 -0
  103. package/src/ai/project/.claude/skills/create-dx-component/references/accessibility.md +71 -0
  104. package/src/ai/project/.claude/skills/create-dx-component/references/choosing-type-and-subtype.md +79 -0
  105. package/src/ai/project/.claude/skills/create-dx-component/references/cli-workflow.md +125 -0
  106. package/src/ai/project/.claude/skills/create-dx-component/references/component-patterns.md +241 -0
  107. package/src/ai/project/.claude/skills/create-dx-component/references/config-schema.md +296 -0
  108. package/src/ai/project/.claude/skills/create-dx-component/references/cosmos-components.md +137 -0
  109. package/src/ai/project/.claude/skills/create-dx-component/references/field-behavior.md +155 -0
  110. package/src/ai/project/.claude/skills/create-dx-component/references/field-essentials.md +90 -0
  111. package/src/ai/project/.claude/skills/create-dx-component/references/field-subtypes-extra.md +68 -0
  112. package/src/ai/project/.claude/skills/create-dx-component/references/localization.md +30 -0
  113. package/src/ai/project/.claude/skills/create-dx-component/references/pcore-pconnect-apis.md +77 -0
  114. package/src/ai/project/.claude/skills/create-dx-component/references/presentation-essentials.md +57 -0
  115. package/src/ai/project/.claude/skills/create-dx-component/references/props-contract.md +182 -0
  116. package/src/ai/project/.claude/skills/create-dx-component/references/state-matrix.md +102 -0
  117. package/src/ai/project/.claude/skills/create-dx-component/references/storybook-pattern.md +262 -0
  118. package/src/ai/project/.claude/skills/create-dx-component/references/styles-pattern.md +54 -0
  119. package/src/ai/project/.claude/skills/create-dx-component/references/template-essentials.md +87 -0
  120. package/src/ai/project/.claude/skills/create-dx-component/references/template-patterns.md +131 -0
  121. package/src/ai/project/.claude/skills/create-dx-component/references/test-pattern.md +215 -0
  122. package/src/ai/project/.claude/skills/create-dx-component/references/ui-gallery-reuse.md +93 -0
  123. package/src/ai/project/.claude/skills/create-dx-component/references/widget-essentials.md +84 -0
  124. package/src/ai/project/.claude/skills/create-dx-component/references/widget-patterns.md +164 -0
  125. package/src/ai/project/.claude/skills/currency/SKILL.md +46 -0
  126. package/src/ai/project/.claude/skills/date/SKILL.md +46 -0
  127. package/src/ai/project/.claude/skills/decimal/SKILL.md +49 -0
  128. package/src/ai/project/.claude/skills/details/SKILL.md +60 -0
  129. package/src/ai/project/.claude/skills/email/SKILL.md +42 -0
  130. package/src/ai/project/.claude/skills/field/SKILL.md +68 -0
  131. package/src/ai/project/.claude/skills/form/SKILL.md +51 -0
  132. package/src/ai/project/.claude/skills/generate-component-set/SKILL.md +80 -0
  133. package/src/ai/project/.claude/skills/generate-component-set/component-manifest.json +161 -0
  134. package/src/ai/project/.claude/skills/identify-components/SKILL.md +76 -0
  135. package/src/ai/project/.claude/skills/integer/SKILL.md +45 -0
  136. package/src/ai/project/.claude/skills/page/SKILL.md +60 -0
  137. package/src/ai/project/.claude/skills/page-widget/SKILL.md +55 -0
  138. package/src/ai/project/.claude/skills/percentage/SKILL.md +52 -0
  139. package/src/ai/project/.claude/skills/phone/SKILL.md +44 -0
  140. package/src/ai/project/.claude/skills/picklist/SKILL.md +50 -0
  141. package/src/ai/project/.claude/skills/plan-dx-component/SKILL.md +51 -0
  142. package/src/ai/project/.claude/skills/plan-dx-component/references/design-system-mapping.md +108 -0
  143. package/src/ai/project/.claude/skills/plan-dx-component/references/intake.md +146 -0
  144. package/src/ai/project/.claude/skills/plan-dx-component/references/plan-template.md +76 -0
  145. package/src/ai/project/.claude/skills/plan-dx-component/references/requirements-template.md +88 -0
  146. package/src/ai/project/.claude/skills/presentation/SKILL.md +61 -0
  147. package/src/ai/project/.claude/skills/publish-library/SKILL.md +106 -0
  148. package/src/ai/project/.claude/skills/radiobuttons/SKILL.md +51 -0
  149. package/src/ai/project/.claude/skills/review-component/SKILL.md +49 -0
  150. package/src/ai/project/.claude/skills/review-component/references/checklist.md +77 -0
  151. package/src/ai/project/.claude/skills/template/SKILL.md +60 -0
  152. package/src/ai/project/.claude/skills/text/SKILL.md +45 -0
  153. package/src/ai/project/.claude/skills/update-dx-component/SKILL.md +56 -0
  154. package/src/ai/project/.claude/skills/update-dx-component/references/maintenance.md +43 -0
  155. package/src/ai/project/.claude/skills/url/SKILL.md +46 -0
  156. package/src/ai/project/.claude/skills/validate-component/SKILL.md +78 -0
  157. package/src/ai/project/.claude/skills/validate-component/references/runtime-troubleshooting.md +56 -0
  158. package/src/ai/project/.claude/skills/validate-component/scripts/check-component.mjs +327 -0
  159. package/src/ai/project/.claude/skills/widget/SKILL.md +59 -0
  160. package/src/ai/project/.gemini/settings.json +5 -0
  161. package/src/ai/project/AGENTS.md +74 -0
  162. package/src/ai/readme-section.md +91 -0
  163. package/src/cli.js +48 -7
  164. package/src/constants.js +54 -53
  165. package/src/internal-tests.js +27 -0
  166. package/src/tasks/ai-toggle/index.js +46 -0
  167. package/src/tasks/authenticate/helper.js +38 -38
  168. package/src/tasks/authenticate/index.js +17 -15
  169. package/src/tasks/build-all/helper.js +4 -4
  170. package/src/tasks/build-all/index.js +7 -7
  171. package/src/tasks/build-comp/helper.js +17 -17
  172. package/src/tasks/build-comp/index.js +10 -10
  173. package/src/tasks/build-jest-assets/index.js +7 -9
  174. package/src/tasks/build-lib/helper.js +8 -8
  175. package/src/tasks/build-lib/index.js +8 -8
  176. package/src/tasks/bundle/builder/index.js +9 -12
  177. package/src/tasks/bundle/builder/modules.js +8 -9
  178. package/src/tasks/bundle/builder/paths.js +2 -19
  179. package/src/tasks/bundle/builder/webpack.config.js +60 -77
  180. package/src/tasks/bundle/index.js +8 -8
  181. package/src/tasks/create/index.js +35 -35
  182. package/src/tasks/create/templates/Constellation/Field/Boolean/index.tsx.mustache +1 -36
  183. package/src/tasks/create/templates/Constellation/Field/Date/date.ts.mustache +2 -2
  184. package/src/tasks/create/templates/Constellation/Field/Date/index.tsx.mustache +2 -27
  185. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.ts.mustache +2 -2
  186. package/src/tasks/create/templates/Constellation/Field/DateTime/date.ts.mustache +2 -2
  187. package/src/tasks/create/templates/Constellation/Field/DateTime/index.tsx.mustache +2 -35
  188. package/src/tasks/create/templates/Constellation/Field/Decimal/index.tsx.mustache +3 -36
  189. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/index.tsx.mustache +4 -39
  190. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/index.tsx.mustache +4 -53
  191. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/index.tsx.mustache +5 -5
  192. package/src/tasks/create/templates/Constellation/Field/Integer/index.tsx.mustache +3 -36
  193. package/src/tasks/create/templates/Constellation/Field/Picklist/index.tsx.mustache +7 -42
  194. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/component-constants.ts +1 -1
  195. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/date.ts.mustache +0 -2
  196. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/embed-utils.ts.mustache +1 -1
  197. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/index.tsx.mustache +11 -11
  198. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/repeat-utils.ts.mustache +3 -13
  199. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/textformat-utils.tsx.mustache +2 -3
  200. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/utils.ts.mustache +28 -28
  201. package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/index.tsx.mustache +2 -2
  202. package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/textformat-utils.tsx.mustache +2 -3
  203. package/src/tasks/create/templates/Constellation/Field/Text/index.tsx.mustache +4 -33
  204. package/src/tasks/create/templates/Constellation/Field/Text-Email/index.tsx.mustache +3 -33
  205. package/src/tasks/create/templates/Constellation/Field/Text-Input/index.tsx.mustache +3 -31
  206. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/index.tsx.mustache +3 -31
  207. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.tsx.mustache +3 -35
  208. package/src/tasks/create/templates/Constellation/Field/Text-URL/index.tsx.mustache +3 -33
  209. package/src/tasks/create/templates/Constellation/Field/Text-URL/text-url.tsx.mustache +2 -3
  210. package/src/tasks/create/templates/Constellation/Field/TimeofDay/index.tsx.mustache +2 -35
  211. package/src/tasks/create/templates/Constellation/Field/TimeofDay/time-of-day.ts.mustache +2 -2
  212. package/src/tasks/create/templates/Constellation/Template/DETAILS/Avatar.tsx.mustache +19 -15
  213. package/src/tasks/create/templates/Constellation/Template/DETAILS/Operator.tsx.mustache +6 -6
  214. package/src/tasks/create/templates/Constellation/Template/DETAILS/demo.stories.tsx.mustache +1 -1
  215. package/src/tasks/create/templates/Constellation/Template/DETAILS/index.tsx.mustache +4 -8
  216. package/src/tasks/create/templates/Constellation/Template/DETAILS/mock.ts.mustache +9 -9
  217. package/src/tasks/create/templates/Constellation/Template/DETAILS/utils.js.mustache +4 -8
  218. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Avatar.tsx.mustache +19 -15
  219. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/Operator.tsx.mustache +6 -6
  220. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/demo.stories.tsx.mustache +1 -1
  221. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/index.tsx.mustache +1 -1
  222. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/mock.ts.mustache +9 -9
  223. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/utils.ts.mustache +4 -8
  224. package/src/tasks/create/templates/Constellation/Template/FORM/demo.stories.tsx.mustache +8 -8
  225. package/src/tasks/create/templates/Constellation/Template/FORM-region/demo.stories.tsx.mustache +8 -8
  226. package/src/tasks/create/templates/Constellation/Template/PAGE/utils.ts.mustache +4 -9
  227. package/src/tasks/create/templates/Constellation/Widget/CASE/demo.test.tsx.mustache +3 -3
  228. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Avatar.tsx.mustache +19 -14
  229. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/Operator.tsx.mustache +6 -6
  230. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/index.tsx.mustache +1 -1
  231. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/mock.ts.mustache +1 -1
  232. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/index.tsx.mustache +5 -5
  233. package/src/tasks/create/templates/Launchpad/Field/Text-Phone/index.tsx.mustache +3 -35
  234. package/src/tasks/create/templates/Launchpad/Field/__components.md +1 -1
  235. package/src/tasks/create/templates/Launchpad/Template/FORM/demo.stories.tsx.mustache +8 -8
  236. package/src/tasks/create/templates/Launchpad/Template/FORM-region/demo.stories.tsx.mustache +8 -8
  237. package/src/tasks/create/templates/Launchpad/Widget/CASE/demo.test.tsx.mustache +3 -3
  238. package/src/tasks/create/templates/Launchpad/Widget/PAGE-CASE/index.tsx.mustache +1 -1
  239. package/src/tasks/create/templates/Launchpad/Widget/PAGE-CASE/mock.ts.mustache +1 -1
  240. package/src/tasks/create-all/index.js +42 -41
  241. package/src/tasks/create-lib/helper.js +13 -13
  242. package/src/tasks/create-lib/index.js +5 -5
  243. package/src/tasks/create-version/helper.js +10 -10
  244. package/src/tasks/create-version/index.js +3 -4
  245. package/src/tasks/delete/helper.js +20 -19
  246. package/src/tasks/delete/index.js +2 -2
  247. package/src/tasks/delete-all/helper.js +26 -25
  248. package/src/tasks/delete-all/index.js +2 -2
  249. package/src/tasks/delete-lib/helper.js +6 -6
  250. package/src/tasks/delete-lib/index.js +6 -6
  251. package/src/tasks/delete-pub/helper.js +18 -18
  252. package/src/tasks/delete-pub/index.js +8 -8
  253. package/src/tasks/delete-version/index.js +2 -2
  254. package/src/tasks/dev-server/index.js +1 -1
  255. package/src/tasks/export-archive/helper.js +21 -21
  256. package/src/tasks/export-archive/index.js +27 -40
  257. package/src/tasks/export-rc/helper.js +34 -34
  258. package/src/tasks/export-rc/index.js +21 -31
  259. package/src/tasks/import-archive/helper.js +39 -39
  260. package/src/tasks/import-archive/index.js +69 -89
  261. package/src/tasks/import-comp/helper.js +8 -8
  262. package/src/tasks/import-comp/index.js +30 -42
  263. package/src/tasks/index.js +5 -0
  264. package/src/tasks/init/Node.gitignore +149 -0
  265. package/src/tasks/init/helper.js +15 -8
  266. package/src/tasks/init/index.js +115 -35
  267. package/src/tasks/init/template/.prettierrc.json +4 -1
  268. package/src/tasks/init/template/.storybook/main.ts +1 -4
  269. package/src/tasks/init/template/.storybook/manager.ts +1 -1
  270. package/src/tasks/init/template/.storybook/preview.tsx +2 -2
  271. package/src/tasks/init/template/.storybook/theme.js +1 -1
  272. package/src/tasks/init/template/.vscode/extensions.json +0 -1
  273. package/src/tasks/init/template/README.md +2 -2
  274. package/src/tasks/init/template/eslint.config.mjs +13 -155
  275. package/src/tasks/init/template/jest.config.cjs +2 -0
  276. package/src/tasks/init/template/package-lock.json +26864 -0
  277. package/src/tasks/init/template/package.json.mustache +19 -74
  278. package/src/tasks/init/template/setupTests.ts +10 -4
  279. package/src/tasks/init/template/tsconfig.json +14 -6
  280. package/src/tasks/internal-test/index.js +21 -0
  281. package/src/tasks/internal-test-full/index.js +15 -0
  282. package/src/tasks/internal-test-functional/index.js +15 -0
  283. package/src/tasks/internal-test-unit/index.js +13 -0
  284. package/src/tasks/linter/index.js +2 -2
  285. package/src/tasks/list/helper.js +41 -40
  286. package/src/tasks/list/index.js +3 -3
  287. package/src/tasks/list-lib/helper.js +5 -5
  288. package/src/tasks/list-lib/index.js +8 -8
  289. package/src/tasks/list-pub/helper.js +23 -16
  290. package/src/tasks/list-pub/index.js +24 -21
  291. package/src/tasks/move/helper.js +8 -8
  292. package/src/tasks/move/index.js +19 -23
  293. package/src/tasks/promote-webpack/index.js +4 -4
  294. package/src/tasks/promote-webpack/webpack.config.js +62 -93
  295. package/src/tasks/publish/helper.js +21 -21
  296. package/src/tasks/publish/index.js +16 -16
  297. package/src/tasks/publish-all/helper.js +20 -20
  298. package/src/tasks/publish-all/index.js +11 -12
  299. package/src/tasks/publish-archive/helper.js +9 -9
  300. package/src/tasks/publish-archive/index.js +12 -14
  301. package/src/tasks/publish-lib/helper.js +3 -3
  302. package/src/tasks/publish-lib/index.js +28 -34
  303. package/src/tasks/quarantine/index.js +8 -8
  304. package/src/tasks/rename/index.js +26 -30
  305. package/src/tasks/rename-lib/index.js +21 -25
  306. package/src/tasks/restore/index.js +8 -8
  307. package/src/tasks/restore-config/index.js +3 -5
  308. package/src/tasks/set-perm/index.js +8 -8
  309. package/src/tasks/show-help/index.js +17 -9
  310. package/src/tasks/show-status/index.js +2 -2
  311. package/src/tasks/store/index.js +8 -8
  312. package/src/tasks/switch-lib/helper.js +7 -7
  313. package/src/tasks/switch-lib/index.js +7 -7
  314. package/src/tasks/switch-version/helper.js +6 -6
  315. package/src/tasks/switch-version/index.js +7 -7
  316. package/src/tasks/update/index.js +1 -1
  317. package/src/tasks/upgrade/index.js +7 -7
  318. package/src/tasks/validator/index.js +49 -203
  319. package/src/util.js +169 -186
  320. package/src/rules/no-pcore-pconnect-in-presentation.js +0 -103
  321. package/src/tasks/init/template/.stylelintrc.json +0 -4
  322. package/src/tasks/init/template/babel.config.cjs +0 -22
  323. package/src/tasks/init/template/cspell.json +0 -14
@@ -1,10 +1,8 @@
1
1
  import path from 'path';
2
2
  import { URL, fileURLToPath } from 'url';
3
3
  import fs from 'fs';
4
- import { promisify } from 'util';
5
4
 
6
5
  import inquirer from 'inquirer';
7
- import ncp from 'ncp';
8
6
  import chalk from 'chalk';
9
7
 
10
8
  import {
@@ -29,7 +27,7 @@ import {
29
27
  getMaxPrefixCount,
30
28
  getStandaloneMaxPrefixCount,
31
29
  getMaxComponentLibraryCount,
32
- getStandaloneMaxLibraryFromPrefixCount
30
+ getStandaloneMaxLibraryFromPrefixCount,
33
31
  } from '../../util.js';
34
32
 
35
33
  import {
@@ -38,36 +36,39 @@ import {
38
36
  TASKS_CONFIG_JSON_FILENAME,
39
37
  COMPONENTS_PATH,
40
38
  CATEGORY_CONSTELLATION,
41
- SHARED_FILE_NAMES
39
+ SHARED_FILE_NAMES,
42
40
  } from '../../constants.js';
43
- import lib from 'babel-loader';
44
41
 
45
42
  export const DXCB_CONFIG_INTERNAL_JSON_FILENAME = 'src/dxcb.config.json';
46
43
 
47
44
  const pegaConfigJsonPath = path.join(path.resolve(), TASKS_CONFIG_JSON_FILENAME);
48
45
 
49
- const copy = promisify(ncp);
46
+ const copy = fs.promises.cp;
50
47
 
51
- const copyComponentTemplate = async options => {
48
+ const copyComponentTemplate = async (options) => {
52
49
  if (options.targetDirectory) {
53
50
  return copy(options.templateDirectory, options.targetDirectory, {
54
- clobber: false
51
+ recursive: true,
52
+ force: false,
53
+ errorOnExist: false,
55
54
  });
56
55
  } else {
57
56
  return copy(options.templateDirectoryConstellation, options.targetDirectoryConstellation, {
58
- clobber: false,
59
- filter: fileName => {
57
+ recursive: true,
58
+ force: false,
59
+ errorOnExist: false,
60
+ filter: (source) => {
60
61
  // filter out the file config.json or config.json.mustache
61
- if (fileName.indexOf('config.json') >= 0) return false;
62
+ if (source.indexOf('config.json') >= 0) return false;
62
63
  else return true;
63
- }
64
+ },
64
65
  });
65
66
  }
66
67
  };
67
68
 
68
69
  export const compileMustacheTemplates = async (
69
70
  componentDirectory,
70
- { componentKey, componentName, componentLabel, library, version, type, subtype, description, organization }
71
+ { componentKey, componentName, componentLabel, library, version, type, subtype, description, organization },
71
72
  ) => {
72
73
  const files = fs.readdirSync(componentDirectory);
73
74
  const componentClassName = convertIntoPascalCase(componentKey);
@@ -120,7 +121,7 @@ export const compileMustacheTemplates = async (
120
121
  // }
121
122
 
122
123
  // allowedApplications = allowedApplications.filter((el) => !!el.trim()).map((el) => el.trim());
123
- files.forEach(file => {
124
+ files.forEach((file) => {
124
125
  const filePath = path.join(componentDirectory, file);
125
126
 
126
127
  const subTypeLabel = getSubTypeLabel(type, subtype).toString();
@@ -140,7 +141,7 @@ export const compileMustacheTemplates = async (
140
141
  IS_TEMPLATE: isTemplate,
141
142
  IS_PICKLIST: isPicklist,
142
143
  IS_BOOLEAN: isBool,
143
- IS_PHONE: isPhone
144
+ IS_PHONE: isPhone,
144
145
  });
145
146
 
146
147
  const realFileName = file.replace('.mustache', '');
@@ -176,7 +177,7 @@ export const compileMustacheTemplates = async (
176
177
 
177
178
  export const validateCompile = async (
178
179
  { library, organization, componentName, componentLabel, version, framework, type, subtype, description },
179
- options
180
+ options,
180
181
  ) => {
181
182
  let sSubType = subtype;
182
183
  if (Array.isArray(subtype)) {
@@ -243,7 +244,7 @@ export const validateCompile = async (
243
244
  await copyComponentTemplate({
244
245
  ...options,
245
246
  targetDirectory,
246
- templateDirectory
247
+ templateDirectory,
247
248
  });
248
249
  await compileMustacheTemplates(targetDirectory, {
249
250
  componentKey,
@@ -254,7 +255,7 @@ export const validateCompile = async (
254
255
  type,
255
256
  subtype,
256
257
  description,
257
- organization
258
+ organization,
258
259
  });
259
260
 
260
261
  console.log(chalk.green(`created ${componentKey} component in ${targetDirectory}`));
@@ -281,9 +282,9 @@ export const validateCompileAll = async ({ prefix, library, version, organizatio
281
282
  version,
282
283
  type,
283
284
  subtype,
284
- description
285
+ description,
285
286
  },
286
- options
287
+ options,
287
288
  );
288
289
  }
289
290
 
@@ -312,9 +313,9 @@ export const validateCompileAll = async ({ prefix, library, version, organizatio
312
313
  version,
313
314
  type,
314
315
  subtype,
315
- description
316
+ description,
316
317
  },
317
- options
318
+ options,
318
319
  );
319
320
  }
320
321
 
@@ -341,9 +342,9 @@ export const validateCompileAll = async ({ prefix, library, version, organizatio
341
342
  version,
342
343
  type,
343
344
  subtype,
344
- description
345
+ description,
345
346
  },
346
- options
347
+ options,
347
348
  );
348
349
  }
349
350
 
@@ -366,14 +367,14 @@ export const validateCompileAll = async ({ prefix, library, version, organizatio
366
367
  version,
367
368
  type,
368
369
  subtype,
369
- description
370
+ description,
370
371
  },
371
- options
372
+ options,
372
373
  );
373
374
  }
374
375
  };
375
376
 
376
- export default async options => {
377
+ export default async (options) => {
377
378
  await showVersion();
378
379
  await checkLibraryAndArchives();
379
380
 
@@ -413,9 +414,9 @@ export default async options => {
413
414
  prefix,
414
415
  library,
415
416
  version,
416
- organization
417
+ organization,
417
418
  },
418
- options
419
+ options,
419
420
  );
420
421
  } else {
421
422
  const maxPrefixCount = isLibraryBased ? getMaxPrefixCount() : getStandaloneMaxPrefixCount();
@@ -423,14 +424,14 @@ export default async options => {
423
424
  const questions = [
424
425
  {
425
426
  name: 'prefix',
426
- message: value => {
427
+ message: (value) => {
427
428
  if (serverType === 'launchpad') {
428
429
  return `Enter prefix label`;
429
430
  } else {
430
431
  return `Enter prefix label (${maxPrefixCount} max chars)`;
431
432
  }
432
433
  },
433
- validate: value => {
434
+ validate: (value) => {
434
435
  /* value should not be empty
435
436
  It should not start with a number
436
437
  Only case-insensitive alphanumeric values are allowed
@@ -443,20 +444,20 @@ export default async options => {
443
444
  }
444
445
 
445
446
  return 'Only alphanumeric values are allowed, starting with alphabets';
446
- }
447
+ },
447
448
  },
448
449
  {
449
450
  name: 'version',
450
451
  message: 'Enter component version',
451
452
  default: componentDefaults.version,
452
- validate: value => {
453
+ validate: (value) => {
453
454
  if (validateSemver(value)) {
454
455
  return true;
455
456
  }
456
457
  return 'Please provide semver compatible version e.g 0.0.1';
457
458
  },
458
- when: () => !isLibraryBased
459
- }
459
+ when: () => !isLibraryBased,
460
+ },
460
461
  ];
461
462
 
462
463
  const answers = await inquirer.prompt(questions);
@@ -465,7 +466,7 @@ export default async options => {
465
466
  const libQuestions = [
466
467
  {
467
468
  name: 'library',
468
- message: value => {
469
+ message: (value) => {
469
470
  if (serverType === 'launchpad') {
470
471
  return `Enter library name (required)`;
471
472
  } else {
@@ -473,7 +474,7 @@ export default async options => {
473
474
  }
474
475
  },
475
476
  default: componentDefaults.library,
476
- validate: value => {
477
+ validate: (value) => {
477
478
  /* value should not be empty
478
479
  It should not have spaces
479
480
  It should not start with a number
@@ -487,8 +488,8 @@ export default async options => {
487
488
  }
488
489
  return 'Only alphanumeric values are allowed, starting with alphabets';
489
490
  },
490
- when: () => !isLibraryBased
491
- }
491
+ when: () => !isLibraryBased,
492
+ },
492
493
  ];
493
494
 
494
495
  const libAnswers = await inquirer.prompt(libQuestions);
@@ -508,9 +509,9 @@ export default async options => {
508
509
  prefix,
509
510
  library,
510
511
  version,
511
- organization
512
+ organization,
512
513
  },
513
- options
514
+ options,
514
515
  );
515
516
  }
516
517
 
@@ -12,12 +12,12 @@ import {
12
12
  getComponents,
13
13
  updateConfigVersion,
14
14
  getLibraryBasedCL,
15
- copyFileToShared
15
+ copyFileToShared,
16
16
  } from '../../util.js';
17
17
 
18
18
  import { SHARED_FILE_NAMES } from '../../constants.js';
19
19
 
20
- export const updateAllComponentsConfig = async newVersion => {
20
+ export const updateAllComponentsConfig = async (newVersion) => {
21
21
  addDebugLog('updateAllComponentsConfig', `newVersion: ${newVersion}`, '');
22
22
  const componentList = await getComponents();
23
23
  const orgLib = getConfigDefaults();
@@ -42,7 +42,7 @@ export const updateAllMigrateToLibChanges = async () => {
42
42
 
43
43
  const componentFiles = fs.readdirSync(compDir);
44
44
 
45
- componentFiles.forEach(file => {
45
+ componentFiles.forEach((file) => {
46
46
  const filePath = join(compDir, file);
47
47
  const fileData = fs.readFileSync(filePath, { encoding: 'utf8' });
48
48
 
@@ -101,8 +101,8 @@ export const getCurrentOrOriginalQuestion = async () => {
101
101
  type: 'rawlist',
102
102
  message: 'Current config changes or original defaults ?',
103
103
  default: 'Original',
104
- choices: ['Current', 'Original']
105
- }
104
+ choices: ['Current', 'Original'],
105
+ },
106
106
  ];
107
107
  };
108
108
 
@@ -114,8 +114,8 @@ export const getOkToProceedQuestion = async () => {
114
114
  name: 'okToContinue',
115
115
  type: 'confirm',
116
116
  message: 'Ok to continue ?',
117
- default: true
118
- }
117
+ default: true,
118
+ },
119
119
  ];
120
120
  };
121
121
 
@@ -131,7 +131,7 @@ export const getCreateLibComponentQuestions = async (libraryName = '') => {
131
131
  name: 'libraryName',
132
132
  message: 'Enter library name',
133
133
  default: libraryName,
134
- validate: value => {
134
+ validate: (value) => {
135
135
  /* value should not be empty
136
136
  It should not have spaces
137
137
  It should not start with a number
@@ -151,25 +151,25 @@ export const getCreateLibComponentQuestions = async (libraryName = '') => {
151
151
  } else {
152
152
  return 'Only alphanumeric values are allowed, starting with alphabets, no spaces.';
153
153
  }
154
- }
154
+ },
155
155
  },
156
156
  {
157
157
  name: 'version',
158
158
  message: 'Enter version ',
159
159
  default: '0.0.1',
160
- validate: value => {
160
+ validate: (value) => {
161
161
  if (validateSemver(value)) {
162
162
  return true;
163
163
  }
164
164
  return 'Please provide semver compatible version e.g 0.0.1';
165
- }
165
+ },
166
166
  },
167
167
  {
168
168
  name: 'permBuild',
169
169
  type: 'confirm',
170
170
  message: `Version to be ${chalk.bold.yellow('PERMANENT')} upon publish `,
171
171
  default: false,
172
- when: () => !isLibraryBasedCL
173
- }
172
+ when: () => !isLibraryBasedCL,
173
+ },
174
174
  ];
175
175
  };
@@ -21,7 +21,7 @@ import {
21
21
  getUseInputConfig,
22
22
  getInputConfigForCommand,
23
23
  convertYNToBoolean,
24
- getComponents
24
+ getComponents,
25
25
  } from '../../util.js';
26
26
 
27
27
  import {
@@ -29,11 +29,11 @@ import {
29
29
  getOkToProceedQuestion,
30
30
  updateAllComponentsConfig,
31
31
  getCurrentOrOriginalQuestion,
32
- updateAllMigrateToLibChanges
32
+ updateAllMigrateToLibChanges,
33
33
  } from './helper.js';
34
34
  import { showCurrentStatus } from '../show-status/index.js';
35
35
 
36
- export default async options => {
36
+ export default async (options) => {
37
37
  const isLibraryBased = getLibraryBased();
38
38
  const isLibraryBasedCL = getLibraryBasedCL();
39
39
  const useInputConfig = getUseInputConfig();
@@ -241,8 +241,8 @@ export default async options => {
241
241
  name: 'upgrade',
242
242
  message: 'Would you like to update your code ?',
243
243
  type: 'confirm',
244
- default: true
245
- }
244
+ default: true,
245
+ },
246
246
  ]);
247
247
 
248
248
  if (upgradeAnswer.upgrade) {
@@ -2,7 +2,7 @@ import chalk from 'chalk';
2
2
 
3
3
  import { getComponents, validateSemver, updateConfigVersion, addDebugLog, getLibraryArchivesVersions, getConfigDefaults } from '../../util.js';
4
4
 
5
- export const updateAllComponentsConfig = async newVersion => {
5
+ export const updateAllComponentsConfig = async (newVersion) => {
6
6
  addDebugLog('updateAllComponentsConfig', `newVersion: ${newVersion}`, '');
7
7
  const componentList = await getComponents();
8
8
  const orgLib = getConfigDefaults();
@@ -48,25 +48,25 @@ export const getCreateVersionComponentQuestions = async () => {
48
48
  name: 'version',
49
49
  message: 'Enter version ',
50
50
  default: incrVersion,
51
- validate: value => {
51
+ validate: (value) => {
52
52
  if (validateSemver(value)) {
53
53
  return true;
54
54
  }
55
55
  return 'Please provide semver compatible version e.g 0.0.1';
56
- }
56
+ },
57
57
  },
58
58
  {
59
59
  name: 'permBuild',
60
60
  type: 'confirm',
61
61
  message: `Version ${chalk.bold.yellow('PERMANENT')} upon publish ?`,
62
- default: !componentDefaults.devBuild
62
+ default: !componentDefaults.devBuild,
63
63
  },
64
64
  {
65
65
  name: 'copyExisting',
66
66
  type: 'confirm',
67
67
  message: 'Copy current components to new version ?',
68
- default: true
69
- }
68
+ default: true,
69
+ },
70
70
  ];
71
71
  };
72
72
 
@@ -83,18 +83,18 @@ export const getCreateVersionComponentCLQuestions = async () => {
83
83
  name: 'version',
84
84
  message: 'Enter version ',
85
85
  default: incrVersion,
86
- validate: value => {
86
+ validate: (value) => {
87
87
  if (validateSemver(value)) {
88
88
  return true;
89
89
  }
90
90
  return 'Please provide semver compatible version e.g 0.0.1';
91
- }
91
+ },
92
92
  },
93
93
  {
94
94
  name: 'copyExisting',
95
95
  type: 'confirm',
96
96
  message: 'Copy current components to new version ?',
97
- default: true
98
- }
97
+ default: true,
98
+ },
99
99
  ];
100
100
  };
@@ -21,13 +21,13 @@ import {
21
21
  getInputConfigForCommand,
22
22
  convertYNToBoolean,
23
23
  hasArchives,
24
- hasLibraryAndVersion
24
+ hasLibraryAndVersion,
25
25
  } from '../../util.js';
26
26
 
27
27
  import { getCreateVersionComponentQuestions, updateAllComponentsConfig, getCreateVersionComponentCLQuestions } from './helper.js';
28
28
  import { showCurrentStatus } from '../show-status/index.js';
29
29
 
30
- export default async options => {
30
+ export default async (options) => {
31
31
  const isLibraryBased = getLibraryBased();
32
32
  const isLibraryBasedCL = getLibraryBasedCL();
33
33
  const useInputConfig = getUseInputConfig();
@@ -42,7 +42,6 @@ export default async options => {
42
42
  await cleanUpTemp();
43
43
 
44
44
  addDebugLog('createVersion', '', '+');
45
- let libraryName;
46
45
  let version;
47
46
  // permBuild is the opposite of devBuild
48
47
  let permBuild;
@@ -143,7 +142,7 @@ export default async options => {
143
142
  addDebugLog('createVersion', `clear out: ${componentDirectory}`, '');
144
143
  } catch (err) {
145
144
  console.log(`No such directory: ${componentDirectory} `);
146
- throw new Error(`No such file ${componentDirectory}`);
145
+ throw new Error(`No such file ${componentDirectory}`, { cause: err });
147
146
  }
148
147
 
149
148
  // create a blank directory
@@ -14,7 +14,7 @@ import {
14
14
  getPegaServerConfig,
15
15
  standardizeStr,
16
16
  addDebugLog,
17
- checkAccessTokenExpiration
17
+ checkAccessTokenExpiration,
18
18
  } from '../../util.js';
19
19
  import { getComponentsFromServer } from '../list/helper.js';
20
20
 
@@ -22,13 +22,13 @@ import { TASKS_CONFIG_JSON_FILENAME, COMPONENTS_DIRECTORY_PATH, COMPONENTS_PATH
22
22
 
23
23
  export const SOURCE_OF_COMPONENT_TYPES = {
24
24
  SERVER: 'Server',
25
- LOCAL: 'Local'
25
+ LOCAL: 'Local',
26
26
  };
27
27
 
28
28
  let library;
29
29
  let organization;
30
30
 
31
- export const getDeleteComponentsQuestions = async options => {
31
+ export const getDeleteComponentsQuestions = async (options) => {
32
32
  addDebugLog('getDeleteComponentsQuestions', '', '');
33
33
 
34
34
  const defaultPegaServerConfig = await getPegaServerConfig();
@@ -42,8 +42,8 @@ export const getDeleteComponentsQuestions = async options => {
42
42
  default: defaultPegaServerConfig.sourceOfComponents,
43
43
  when() {
44
44
  return !options.params[3];
45
- }
46
- }
45
+ },
46
+ },
47
47
  ];
48
48
  };
49
49
 
@@ -72,24 +72,24 @@ export const getLaunchPadFilterQuestions = async () => {
72
72
  name: 'organization',
73
73
  message: 'Enter component organization (required)',
74
74
  default: organization,
75
- validate: value => {
75
+ validate: (value) => {
76
76
  if (value) {
77
77
  return true;
78
78
  }
79
79
  return 'Please provide value for organization';
80
- }
80
+ },
81
81
  },
82
82
  {
83
83
  name: 'library',
84
84
  message: 'Enter library name (required)',
85
85
  default: library,
86
- validate: value => {
86
+ validate: (value) => {
87
87
  if (value) {
88
88
  return true;
89
89
  }
90
90
  return 'Please provide value for library';
91
- }
92
- }
91
+ },
92
+ },
93
93
  ];
94
94
  };
95
95
 
@@ -111,14 +111,14 @@ export const deleteLocalComponents = async (sourceOfComponents, options) => {
111
111
  name: 'componentKey',
112
112
  type: 'rawlist',
113
113
  message: 'Select component to delete',
114
- choices: localComponents
114
+ choices: localComponents,
115
115
  },
116
116
  {
117
117
  name: 'confirmDeletion',
118
118
  type: 'confirm',
119
119
  message: 'Are you sure ?',
120
- default: false
121
- }
120
+ default: false,
121
+ },
122
122
  ]);
123
123
  if (answers.confirmDeletion) {
124
124
  await deleteLocalComponent(answers.componentKey);
@@ -195,17 +195,18 @@ export const deleteServerComponents = async (sourceOfComponents, answers) => {
195
195
  pageSize: 10,
196
196
  message: `Select component to delete \n ${standardizeStr('Component Name', 48)} ${standardizeStr('Type', 20)} ${standardizeStr(
197
197
  'Version',
198
- 22
198
+ 22,
199
199
  )}`,
200
- choices: choicesArr
200
+ choices: choicesArr,
201
201
  });
202
202
  await deleteLaunchpadServerComponent(launchpadAnswers.componentToDelete);
203
203
  } else {
204
204
  // logic for Infinity
205
- const choicesArr = serverComponents.map(({ label, pyRuleSet, pyRuleSetVersion }) => {
205
+ const choicesArr = serverComponents.map(({ label, customType, pyRuleSet, pyRuleSetVersion }) => {
206
206
  const name = `${standardizeStr(label, 45)} ${standardizeStr(pyRuleSet, 30)} ${standardizeStr(pyRuleSetVersion, 20)}`;
207
207
 
208
- const value = `${label}~|~${pyRuleSet}~|~${pyRuleSetVersion}`;
208
+ // customType is holding RuleName value for the component
209
+ const value = `${customType}~|~${pyRuleSet}~|~${pyRuleSetVersion}`;
209
210
  const short = `\n Selected component : ${chalk.redBright(`${label} ${pyRuleSet} : ${pyRuleSetVersion}`)}`;
210
211
 
211
212
  return { name, value, short };
@@ -216,9 +217,9 @@ export const deleteServerComponents = async (sourceOfComponents, answers) => {
216
217
  pageSize: 10,
217
218
  message: `Select component to delete \n ${standardizeStr('Rule name', 48)} ${standardizeStr('Ruleset name', 30)} ${standardizeStr(
218
219
  'Ruleset version',
219
- 22
220
+ 22,
220
221
  )}`,
221
- choices: choicesArr
222
+ choices: choicesArr,
222
223
  });
223
224
  await deleteInfinityServerComponent(infinityAnswers.componentToDelete);
224
225
  }
@@ -22,14 +22,14 @@ const deleteComponentsFn = async (sourceOfComponents, answers, options) => {
22
22
  }
23
23
  };
24
24
 
25
- export default async options => {
25
+ export default async (options) => {
26
26
  await showVersion();
27
27
  await checkLibraryAndArchives();
28
28
  const isLibraryBased = getLibraryBased();
29
29
 
30
30
  addDebugLog('delete', '', '+');
31
31
 
32
- let sourceOfComponentsOption = SOURCE_OF_COMPONENT_TYPES.LOCAL;
32
+ let sourceOfComponentsOption;
33
33
  if (isLibraryBased) {
34
34
  sourceOfComponentsOption = SOURCE_OF_COMPONENT_TYPES.LOCAL;
35
35
  await deleteComponentsFn(sourceOfComponentsOption, null, options);