@pega/custom-dx-components 0.23.3 → 0.23.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/.prettierrc.json +7 -1
  2. package/babel.config.cjs +13 -0
  3. package/jest.config.cjs +18 -0
  4. package/package.json +18 -11
  5. package/src/auth.js +578 -555
  6. package/src/cli.js +11 -5
  7. package/src/constants.js +23 -25
  8. package/src/currentPath.cjs +1 -0
  9. package/src/tasks/authenticate/helper.js +82 -18
  10. package/src/tasks/authenticate/index.js +21 -7
  11. package/src/tasks/build/helper.js +17 -8
  12. package/src/tasks/build/index.js +29 -7
  13. package/src/tasks/build-all/helper.js +2 -1
  14. package/src/tasks/build-all/index.js +32 -25
  15. package/src/tasks/bundle/builder/index.js +5 -0
  16. package/src/tasks/bundle/builder/webpack.config.js +3 -2
  17. package/src/tasks/create/index.js +8 -5
  18. package/src/tasks/create/templates/Constellation/Field/Boolean/config.json.mustache +0 -1
  19. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
  20. package/src/tasks/create/templates/Constellation/Field/Date/config.json.mustache +0 -1
  21. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/config.json.mustache +0 -1
  23. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
  24. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
  25. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
  26. package/src/tasks/create/templates/Constellation/Field/Decimal/config.json.mustache +0 -1
  27. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/config.json.mustache +0 -1
  28. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/config.json.mustache +0 -1
  29. package/src/tasks/create/templates/Constellation/Field/Integer/config.json.mustache +0 -1
  30. package/src/tasks/create/templates/Constellation/Field/Picklist/config.json.mustache +0 -1
  31. package/src/tasks/create/templates/Constellation/Field/Text/config.json.mustache +0 -1
  32. package/src/tasks/create/templates/Constellation/Field/Text-Email/config.json.mustache +0 -1
  33. package/src/tasks/create/templates/Constellation/Field/Text-Input/config.json.mustache +0 -1
  34. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/config.json.mustache +0 -1
  35. package/src/tasks/create/templates/Constellation/Field/Text-Phone/config.json.mustache +0 -1
  36. package/src/tasks/create/templates/Constellation/Field/Text-Phone/index.jsx.mustache +0 -1
  37. package/src/tasks/create/templates/Constellation/Field/Text-URL/config.json.mustache +0 -1
  38. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/config.json.mustache +0 -1
  39. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
  40. package/src/tasks/create/templates/Constellation/Template/DETAILS/config.json.mustache +0 -1
  41. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/config.json.mustache +0 -1
  42. package/src/tasks/create/templates/Constellation/Template/FORM/config.json.mustache +0 -1
  43. package/src/tasks/create/templates/Constellation/Template/FORM-region/config.json.mustache +0 -1
  44. package/src/tasks/create/templates/Constellation/Template/PAGE/config.json.mustache +0 -1
  45. package/src/tasks/create/templates/Constellation/Widget/CASE/config.json.mustache +0 -1
  46. package/src/tasks/create/templates/Constellation/Widget/PAGE/config.json.mustache +0 -1
  47. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/config.json.mustache +0 -1
  48. package/src/tasks/create-all/index.js +68 -47
  49. package/src/tasks/delete/helper.js +90 -40
  50. package/src/tasks/delete/index.js +5 -5
  51. package/src/tasks/delete-all/helper.js +108 -48
  52. package/src/tasks/delete-all/index.js +6 -6
  53. package/src/tasks/index.js +2 -1
  54. package/src/tasks/init/template/README.md +2 -204
  55. package/src/tasks/init/template/babel.config.cjs +13 -0
  56. package/src/tasks/init/template/jest.config.cjs +25 -0
  57. package/src/tasks/init/template/package.json.mustache +13 -5
  58. package/src/tasks/init/template/src/components/_components.md +1 -1
  59. package/src/tasks/init/template/tasks.config.json +11 -8
  60. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
  61. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
  62. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
  63. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
  64. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +7 -0
  65. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
  66. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
  67. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
  68. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
  69. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
  70. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
  71. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
  72. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +7 -0
  73. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
  74. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
  75. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
  76. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
  77. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
  78. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +7 -0
  79. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
  80. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
  81. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
  82. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
  83. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
  84. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +7 -0
  85. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
  86. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
  87. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
  88. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
  89. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
  90. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
  91. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
  92. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
  93. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +7 -0
  94. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
  95. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
  96. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
  97. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
  98. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
  99. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
  100. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
  101. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
  102. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +7 -0
  103. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
  104. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
  105. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
  106. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
  107. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
  108. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
  109. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +7 -0
  110. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
  111. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
  112. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
  113. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
  114. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
  115. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
  116. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
  117. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +7 -0
  118. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
  119. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
  120. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
  121. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
  122. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
  123. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
  124. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +7 -0
  125. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
  126. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
  127. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
  128. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
  129. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
  130. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
  131. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +7 -0
  132. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
  133. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
  134. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
  135. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
  136. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
  137. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +7 -0
  138. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
  139. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
  140. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
  141. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
  142. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
  143. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
  144. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
  145. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
  146. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +7 -0
  147. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
  148. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
  149. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
  150. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
  151. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
  152. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
  153. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
  154. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
  155. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +7 -0
  156. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
  157. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
  158. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
  159. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
  160. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
  161. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +7 -0
  162. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
  163. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
  164. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
  165. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
  166. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
  167. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +7 -0
  168. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
  169. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
  170. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
  171. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
  172. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
  173. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
  174. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +7 -0
  175. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
  176. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
  177. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
  178. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
  179. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
  180. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
  181. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +7 -0
  182. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
  183. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
  184. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
  185. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
  186. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
  187. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
  188. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +7 -0
  189. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
  190. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
  191. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
  192. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
  193. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
  194. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +7 -0
  195. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
  196. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
  197. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
  198. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
  199. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
  200. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
  201. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +7 -0
  202. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
  203. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
  204. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
  205. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
  206. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
  207. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +7 -0
  208. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
  209. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
  210. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
  211. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
  212. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
  213. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
  214. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
  215. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
  216. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +7 -0
  217. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
  218. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
  219. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
  220. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
  221. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
  222. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
  223. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +7 -0
  224. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
  225. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
  226. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
  227. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
  228. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
  229. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +7 -0
  230. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
  231. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
  232. package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
  233. package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
  234. package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
  235. package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
  236. package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
  237. package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
  238. package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
  239. package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
  240. package/src/tasks/list/helper.js +115 -14
  241. package/src/tasks/promote-webpack/index.js +126 -0
  242. package/src/tasks/promote-webpack/webpack.config.js +376 -0
  243. package/src/tasks/publish/helper.js +116 -61
  244. package/src/tasks/publish/index.js +34 -8
  245. package/src/tasks/publish-all/helper.js +115 -63
  246. package/src/tasks/publish-all/index.js +51 -30
  247. package/src/tasks/rename/index.js +127 -97
  248. package/src/tasks/revert-webpack/index.js +71 -0
  249. package/src/util.js +159 -320
  250. package/test/unitTest/util.test.js +525 -0
  251. package/src/tasks/generate-ai/aiPrompt.txt.mustache +0 -23
  252. package/src/tasks/generate-ai/aiPromptDavinci.txt.mustache +0 -14
  253. package/src/tasks/generate-ai/helper.js +0 -390
  254. package/src/tasks/generate-ai/index.js +0 -34
@@ -9,14 +9,16 @@ import chalk from 'chalk';
9
9
  import {
10
10
  constructCompleteUrl,
11
11
  getComponentDirectoryPath,
12
- getComponents,
13
12
  getPegaServerConfig,
14
13
  validateRulesetVersion
15
14
  } from '../../util.js';
16
- import { PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT, TOKEN_PATH } from '../../constants.js';
15
+ import {
16
+ PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT,
17
+ LP_PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT,
18
+ TOKEN_PATH
19
+ } from '../../constants.js';
17
20
 
18
21
  export const getPublishComponentQuestions = async () => {
19
- const components = await getComponents();
20
22
  const defaultPegaConfig = await getPegaServerConfig();
21
23
 
22
24
  return [
@@ -24,39 +26,47 @@ export const getPublishComponentQuestions = async () => {
24
26
  name: 'rulesetName',
25
27
  message: 'Enter ruleset name',
26
28
  default: defaultPegaConfig.rulesetName,
27
- validate: value => {
29
+ validate: (value) => {
28
30
  if (value.trim()) {
29
31
  return true;
30
32
  }
31
33
  return 'Ruleset name cannot be empty';
34
+ },
35
+ when: () => {
36
+ return defaultPegaConfig.serverType === 'infinity';
32
37
  }
33
38
  },
34
39
  {
35
40
  name: 'rulesetVersion',
36
41
  message: 'Enter ruleset version',
37
42
  default: defaultPegaConfig.rulesetVersion,
38
- validate: value => {
43
+ validate: (value) => {
39
44
  if (validateRulesetVersion(value)) {
40
45
  return true;
41
46
  }
42
47
  return 'Please provide compatible version e.g 01-01-01';
48
+ },
49
+ when: () => {
50
+ return defaultPegaConfig.serverType === 'infinity';
43
51
  }
44
52
  },
45
53
  {
46
54
  name: 'sourceMap',
47
55
  message: 'Generate source map ?',
48
56
  default: defaultPegaConfig.sourceMap,
57
+ // eslint-disable-next-line sonarjs/no-redundant-boolean
49
58
  when: () => false && !process.env.SOURCE_MAP
50
59
  },
51
60
  {
52
61
  name: 'devBuild',
62
+ type: 'confirm',
53
63
  message: 'Generate development build ?',
54
64
  default: defaultPegaConfig.devBuild
55
65
  }
56
66
  ];
57
67
  };
58
68
 
59
- export const zipComponent = async componentKey => {
69
+ export const zipComponent = async (componentKey) => {
60
70
  const srcDirectory = await getComponentDirectoryPath(componentKey);
61
71
  const buildDirectory = await path.join(path.resolve(), 'dist/components', componentKey);
62
72
  const configJson = `${srcDirectory}/config.json`;
@@ -70,85 +80,127 @@ export const zipComponent = async componentKey => {
70
80
 
71
81
  const configContent = Buffer.from(fs.readFileSync(`${srcDirectory}/config.json`)).toString();
72
82
  // clean up now happens in function cleanUp
73
- //fs.rmdir('dist', { recursive: true }, err => {
83
+ // fs.rmdir('dist', { recursive: true }, err => {
74
84
  // if (err) {
75
85
  // throw err;
76
86
  // }
77
- //});
87
+ // });
78
88
  return { zipContent, configContent };
79
89
  };
80
90
 
81
91
  export const cleanUp = async () => {
82
- fs.rm('dist/components', { recursive: true }, err => {
92
+ fs.rm('dist/components', { recursive: true }, (err) => {
83
93
  if (err) {
84
94
  throw err;
85
95
  }
86
96
  });
87
97
 
88
- fs.rm('lib', { recursive: true }, err => {
98
+ fs.rm('lib', { recursive: true }, (err) => {
89
99
  if (err) {
90
100
  throw err;
91
101
  }
92
102
  });
93
- }
94
-
95
- export const publishComponentToServer = async data => {
96
- const { configContent, zipContent, componentKey, rulesetName, rulesetVersion } = data;
97
-
98
- const apiBody = {
99
- configContent,
100
- zipContent,
101
- componentKey: JSON.parse(configContent).componentKey,
102
- publishFor: 'constellation',
103
- rulesetName,
104
- rulesetVersion,
105
- category: ''
106
- };
103
+ };
104
+
105
+ export const publishComponentToServer = async (data, doFetch) => {
106
+ const { configContent, zipContent, rulesetName, rulesetVersion } = data;
107
+
108
+ const defaultPegaServerConfig = await getPegaServerConfig();
109
+ const { serverType, isolationId } = defaultPegaServerConfig;
110
+ const isLaunchpad = serverType === 'launchpad';
111
+ const launchpadRestEndpoint = LP_PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT.replace(
112
+ '{isolationId}',
113
+ isolationId
114
+ );
115
+ let apiBody;
116
+
117
+ if (isLaunchpad) {
118
+ apiBody = {
119
+ type: 'CustomComponent',
120
+ zipContent,
121
+ componentName: JSON.parse(configContent).componentKey,
122
+ pxUpdateDateTime: '',
123
+ environmentID: defaultPegaServerConfig.isolationId
124
+ };
125
+ } else {
126
+ apiBody = {
127
+ configContent,
128
+ zipContent,
129
+ componentKey: JSON.parse(configContent).componentKey,
130
+ publishFor: 'constellation',
131
+ rulesetName,
132
+ rulesetVersion,
133
+ category: ''
134
+ };
135
+ }
136
+
107
137
  const defaultPegaConfig = await getPegaServerConfig();
108
138
  const url = constructCompleteUrl(
109
139
  defaultPegaConfig.server,
110
- PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT
140
+ isLaunchpad ? launchpadRestEndpoint : PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT
111
141
  );
112
- try {
113
- const OauthData = fs.readFileSync(TOKEN_PATH, 'utf8');
114
- if (OauthData) {
115
- const {
116
- access_token: accessToken,
117
- token_type: tokenType,
118
- refresh_token: refreshToken
119
- } = JSON.parse(OauthData);
120
- let status = 500;
121
- fetch(url, {
122
- method: 'POST',
123
- agent: new https.Agent({ rejectUnauthorized: false }),
124
- headers: {
125
- Authorization: `${tokenType} ${accessToken}`
126
- },
127
- body: JSON.stringify(apiBody)
128
- })
129
- .then(response => {
130
- status = response.status;
131
- return response.text();
132
- })
133
- .then(resp => {
134
- const respData = JSON.parse(resp);
135
- if (status === 401) {
136
- throw new Error(
137
- 'Error occurred in authentication. Please regenerate using authenticate'
138
- );
139
- // console.log(accessTokenUri, refreshToken);
140
- /* TODO - Handle refresh_token */
141
- } else if (status == 200) {
142
- console.log(chalk.bold.green(`Success : ${respData.message}`));
143
- } else {
144
- throw new Error(`${respData.message}`);
145
- }
142
+
143
+ if (doFetch) {
144
+ try {
145
+ const OauthData = fs.readFileSync(TOKEN_PATH, 'utf8');
146
+ if (OauthData) {
147
+ const {
148
+ access_token: accessToken,
149
+ token_type: tokenType
150
+ // refresh_token: refreshToken
151
+ } = JSON.parse(OauthData);
152
+ let status = 500;
153
+ const headers = {};
154
+
155
+ if (isLaunchpad) {
156
+ headers.cookie = `Pega-AAT=${accessToken}`;
157
+ headers['Content-Type'] = 'application/json';
158
+ } else {
159
+ headers.Authorization = `${tokenType} ${accessToken}`;
160
+ }
161
+
162
+ fetch(url, {
163
+ method: 'POST',
164
+ agent: new https.Agent({ rejectUnauthorized: false }),
165
+ headers,
166
+ body: JSON.stringify(apiBody)
146
167
  })
147
- .catch(e => Promise.reject(`${chalk.bold.red(e)}`));
148
- } else {
168
+ .then((response) => {
169
+ status = response.status;
170
+ return response.text();
171
+ })
172
+ .then((resp) => {
173
+ const respData = isLaunchpad ? resp : JSON.parse(resp);
174
+ if (status === 401) {
175
+ throw new Error(
176
+ 'Error occurred in authentication. Please regenerate using authenticate'
177
+ );
178
+ // console.log(accessTokenUri, refreshToken);
179
+ /* TODO - Handle refresh_token */
180
+ } else if (status === 200 || status === 201) {
181
+ console.log(chalk.bold.green(`Success : ${isLaunchpad ? respData : respData.message}`));
182
+ } else {
183
+ throw new Error(`${respData.message}`);
184
+ }
185
+ })
186
+ .catch((e) => {
187
+ if (e.code === 'ECONNREFUSED') {
188
+ // eslint-disable-next-line prefer-promise-reject-errors
189
+ Promise.reject(`${chalk.bold.red('Error occurred in authentication. Please regenerate using authenticate')}`);
190
+ } else if (status === 403) {
191
+ // eslint-disable-next-line prefer-promise-reject-errors
192
+ Promise.reject(`${chalk.bold.red('Error forbidden: User does not have privileges to Publish.')}`);
193
+ } else {
194
+ // eslint-disable-next-line prefer-promise-reject-errors
195
+ Promise.reject(`${chalk.bold.red(e)}`);
196
+ }
197
+ });
198
+ } else {
199
+ throw new Error(`Error occurred in authentication. Please regenerate using authenticate`);
200
+ }
201
+ } catch (err) {
149
202
  throw new Error(`Error occurred in authentication. Please regenerate using authenticate`);
150
203
  }
151
- } catch (err) {
152
- throw new Error(`Error occurred in authentication. Please regenerate using authenticate`);
153
204
  }
205
+
154
206
  };
@@ -3,22 +3,21 @@ import Listr from 'listr';
3
3
  import chalk from 'chalk';
4
4
 
5
5
  import validate from '../validator/index.js';
6
-
7
6
  import bundleComponent from '../bundle/index.js';
8
7
  import { lintComponent } from '../linter/index.js';
8
+ import { getComponents, getComponentDirectoryPath, showVersion } from '../../util.js';
9
9
 
10
-
11
- import { getPublishComponentQuestions, publishComponentToServer, zipComponent, cleanUp } from './helper.js';
12
10
  import {
13
- getComponents,
14
- getComponentDirectoryPath,
15
- showVersion
16
- } from '../../util.js';
17
-
18
-
11
+ getPublishComponentQuestions,
12
+ publishComponentToServer,
13
+ zipComponent,
14
+ cleanUp
15
+ } from './helper.js';
19
16
 
20
17
  export function getCustomTasks(componentKey, sourceMap, devBuild, content, options) {
21
- const customTasks = new Listr(
18
+ const sDevBuild = devBuild ? '(dev build)' : '';
19
+ const doFetch = (options.params.length >= 7) ? false : true;
20
+ return new Listr(
22
21
  [
23
22
  {
24
23
  title: 'Validate config schema',
@@ -27,8 +26,10 @@ export function getCustomTasks(componentKey, sourceMap, devBuild, content, optio
27
26
  }
28
27
  },
29
28
  {
30
- title: 'Bundle Component',
31
- task: async () => await bundleComponent(componentKey, sourceMap, devBuild),
29
+ title: `Bundle Component ${sDevBuild}`,
30
+ task: async () => {
31
+ await bundleComponent(componentKey, sourceMap, devBuild);
32
+ },
32
33
  skip: () => (options.skipBundle ? 'Skipped bundling component' : undefined)
33
34
  },
34
35
  {
@@ -49,7 +50,7 @@ export function getCustomTasks(componentKey, sourceMap, devBuild, content, optio
49
50
  {
50
51
  title: 'Publish Component',
51
52
  task: async () => {
52
- await publishComponentToServer(content);
53
+ await publishComponentToServer(content, doFetch);
53
54
  }
54
55
  }
55
56
  ],
@@ -57,39 +58,59 @@ export function getCustomTasks(componentKey, sourceMap, devBuild, content, optio
57
58
  exitOnError: true
58
59
  }
59
60
  );
60
-
61
- return customTasks;
62
61
  }
63
62
 
64
63
  export default async options => {
65
64
  showVersion();
66
65
 
67
66
  const components = await getComponents();
68
- const questions = await getPublishComponentQuestions();
69
- const answers = await inquirer.prompt(questions);
70
- const {sourceMap, devBuild } = answers;
71
67
 
72
- let content = {
73
- ...answers
74
- };
68
+ if (components.length == 0) {
69
+ console.log(chalk.redBright("No components to publish"));
70
+ process.exit(1);
71
+ }
75
72
 
76
- var componentKey;
73
+ let componentKey;
74
+ let sourceMap;
75
+ let devBuild;
76
+ let content;
77
+
78
+ if (options.params.length >= 7) {
79
+ const rulesetName = options.params[3];
80
+ const rulesetVersion = options.params[4];
81
+ const dBuild = options.params[5];
82
+ devBuild = (dBuild === 'Y' ||
83
+ dBuild === 'y' ||
84
+ dBuild === true ||
85
+ dBuild === 'true') ? true : false;
86
+
87
+ content = { componentKey, rulesetName, rulesetVersion, devBuild}
88
+ }
89
+ else {
90
+ const questions = await getPublishComponentQuestions();
91
+ const answers = await inquirer.prompt(questions);
92
+ ({ sourceMap, devBuild } = answers);
93
+
94
+ content = {
95
+ ...answers
96
+ };
97
+ }
77
98
 
78
99
 
79
- for (var index in components) {
80
- componentKey = components[index];
81
- console.log(chalk.bold.green("Publishing: " + componentKey));
82
100
 
83
- let myCustomTasks = getCustomTasks(componentKey, sourceMap, devBuild, content, options);
101
+ for (const componentKey of components) {
102
+ console.log(chalk.bold.green(`Publishing: ${componentKey}`));
84
103
 
104
+ const myCustomTasks = getCustomTasks(componentKey, sourceMap, devBuild, content, options);
105
+
106
+ // eslint-disable-next-line no-await-in-loop
85
107
  await myCustomTasks.run().catch(err => {
86
- console.log(chalk.bold.red(err.toString()));
108
+ console.log(chalk.bold.red(err.toString()));
87
109
  });
88
110
  }
89
111
 
90
- // once done, remove leftover directories
91
- cleanUp();
92
-
112
+ // once done, remove leftover directories
113
+ await cleanUp();
93
114
 
94
115
  return true;
95
116
  };
@@ -198,102 +198,16 @@ export default async options => {
198
198
 
199
199
  const localComponents = await getComponentsObj();
200
200
 
201
- const questions = [
202
- {
203
- name: 'componentKey',
204
- type: 'rawlist',
205
- pageSize: 15,
206
- message: 'Select component to rename',
207
- choices: localComponents
208
- },
209
- {
210
- name: 'componentName',
211
- message: 'Enter new component name (required, no spaces)',
212
- validate: value => {
213
- /* value should not be empty
214
- It should not have spaces
215
- It should not start with a number
216
- Only case-insensitive alphanumeric values are allowed
217
- */
218
- if (value && !/^\d/.test(value) && value === sanitize(value)) {
219
- return true;
220
- }
221
- return 'Only alphanumeric values are allowed, starting with alphabets';
222
- }
223
- },
224
- {
225
- name: 'componentLabel',
226
- message: 'Enter new component label for display (required)',
227
- validate: value => {
228
- if (value) {
229
- return true;
230
- }
231
- return 'Please provide value for label';
232
- }
233
- },
234
- {
235
- name: 'organization',
236
- message: 'Enter new component organization',
237
- default: organization,
238
- validate: value => {
239
- if (value) {
240
- return true;
241
- }
242
- return 'Please provide value for organization';
243
- }
244
- },
245
- {
246
- name: 'version',
247
- message: 'Enter new component version',
248
- default: componentDefaults.version,
249
- validate: value => {
250
- if (validateSemver(value)) {
251
- return true;
252
- }
253
- return 'Please provide semver compatible version e.g 0.0.1';
254
- }
255
- },
256
- {
257
- name: 'library',
258
- message: 'Enter new library name (required)',
259
- default: componentDefaults.library,
260
- validate: value => {
261
- /* value should not be empty
262
- It should not have spaces
263
- It should not start with a number
264
- Only case-insensitive alphanumeric values are allowed
265
- */
266
- if (value && !/^\d/.test(value) && value === sanitize(value)) {
267
- return true;
268
- }
269
- return 'Only alphanumeric values are allowed, starting with alphabets';
270
- }
271
- },
272
- {
273
- name: 'allowedApplications',
274
- message: 'Please enter the application names to be supported (comma-separated). ',
275
- suffix: 'Keep empty for all applications'
276
- },
277
- {
278
- name: 'description',
279
- message: 'Enter new description for the component (defaults to new label)',
280
- default: componentDefaults.description,
281
- /* if left blank and no defaults, mustache will use componentLabel, because description is used in app studio and
282
- shouldn't be blank */
283
- }
284
- ];
285
-
286
- await inquirer.prompt(questions).then(async answers => {
287
- const {
288
- componentKey,
289
- componentName,
290
- componentLabel,
291
- organization,
292
- library,
293
- version,
294
- description,
295
- allowedApplications
296
- } = answers;
201
+
202
+ if (options.params.length >= 11) {
203
+ const componentKey = options.params[3];
204
+ const componentName = options.params[4];
205
+ const componentLabel = options.params[5];
206
+ const organization = options.params[6];
207
+ const version = options.params[7];
208
+ const library = options.params[8];
209
+ const allowedApplications = options.params[9];
210
+ const description = options.params[10];
297
211
 
298
212
  await renameComponent(
299
213
  {
@@ -309,6 +223,122 @@ export default async options => {
309
223
  options
310
224
  );
311
225
 
312
- });
226
+ }
227
+ else {
228
+ const questions = [
229
+ {
230
+ name: 'componentKey',
231
+ type: 'rawlist',
232
+ pageSize: 15,
233
+ message: 'Select component to rename',
234
+ choices: localComponents
235
+ },
236
+ {
237
+ name: 'componentName',
238
+ message: 'Enter new component name (required, no spaces)',
239
+ validate: value => {
240
+ /* value should not be empty
241
+ It should not have spaces
242
+ It should not start with a number
243
+ Only case-insensitive alphanumeric values are allowed
244
+ */
245
+ if (value && !/^\d/.test(value) && value === sanitize(value)) {
246
+ return true;
247
+ }
248
+ return 'Only alphanumeric values are allowed, starting with alphabets';
249
+ }
250
+ },
251
+ {
252
+ name: 'componentLabel',
253
+ message: 'Enter new component label for display (required)',
254
+ validate: value => {
255
+ if (value) {
256
+ return true;
257
+ }
258
+ return 'Please provide value for label';
259
+ }
260
+ },
261
+ {
262
+ name: 'organization',
263
+ message: 'Enter new component organization',
264
+ default: organization,
265
+ validate: value => {
266
+ if (value) {
267
+ return true;
268
+ }
269
+ return 'Please provide value for organization';
270
+ }
271
+ },
272
+ {
273
+ name: 'version',
274
+ message: 'Enter new component version',
275
+ default: componentDefaults.version,
276
+ validate: value => {
277
+ if (validateSemver(value)) {
278
+ return true;
279
+ }
280
+ return 'Please provide semver compatible version e.g 0.0.1';
281
+ }
282
+ },
283
+ {
284
+ name: 'library',
285
+ message: 'Enter new library name (required)',
286
+ default: componentDefaults.library,
287
+ validate: value => {
288
+ /* value should not be empty
289
+ It should not have spaces
290
+ It should not start with a number
291
+ Only case-insensitive alphanumeric values are allowed
292
+ */
293
+ if (value && !/^\d/.test(value) && value === sanitize(value)) {
294
+ return true;
295
+ }
296
+ return 'Only alphanumeric values are allowed, starting with alphabets';
297
+ }
298
+ },
299
+ {
300
+ name: 'allowedApplications',
301
+ message: 'Please enter the application names to be supported (comma-separated). ',
302
+ suffix: 'Keep empty for all applications'
303
+ },
304
+ {
305
+ name: 'description',
306
+ message: 'Enter new description for the component (defaults to new label)',
307
+ default: componentDefaults.description,
308
+ /* if left blank and no defaults, mustache will use componentLabel, because description is used in app studio and
309
+ shouldn't be blank */
310
+ }
311
+ ];
312
+
313
+ await inquirer.prompt(questions).then(async answers => {
314
+ const {
315
+ componentKey,
316
+ componentName,
317
+ componentLabel,
318
+ organization,
319
+ library,
320
+ version,
321
+ description,
322
+ allowedApplications
323
+ } = answers;
324
+
325
+ await renameComponent(
326
+ {
327
+ componentKey,
328
+ componentName,
329
+ componentLabel,
330
+ library,
331
+ version,
332
+ description,
333
+ allowedApplications,
334
+ organization
335
+ },
336
+ options
337
+ );
338
+
339
+ });
340
+ }
341
+
342
+
313
343
 
314
344
  };
@@ -0,0 +1,71 @@
1
+
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { join } from 'path';
5
+ import { URL, fileURLToPath } from 'url';
6
+ import chalk from 'chalk';
7
+
8
+ import {
9
+ convertIntoPascalCase,
10
+ showVersion
11
+ } from '../../util.js';
12
+
13
+ import {
14
+ WEBPACK_CONFIG_JS_FILENAME,
15
+ BUILDER_INDEX_FILE_PATH
16
+ } from '../../constants.js';
17
+ import build from '@pega/custom-dx-components/src/tasks/build/index.js';
18
+ import { up } from 'inquirer/lib/utils/readline.js';
19
+
20
+
21
+
22
+ export const renamePromotedWebPack = async () => {
23
+
24
+ // call this function from top level
25
+ //fs.copyFileSync("./webpack.config.js", "webpack.config.js")
26
+
27
+ const promoteWebPackDir = path.resolve(WEBPACK_CONFIG_JS_FILENAME);
28
+ const renamedPromoteWebPackDir = path.resolve(WEBPACK_CONFIG_JS_FILENAME + ".notused");
29
+
30
+ try {
31
+ fs.renameSync(promoteWebPackDir, renamedPromoteWebPackDir);
32
+ }
33
+ catch (ex) {
34
+ console.log(chalk.bold.red(`File ${promoteWebPackDir} not found.`));
35
+ process.exit(1);
36
+ }
37
+
38
+ console.log(chalk.bold.green(`File ${promoteWebPackDir} marked as not used.`));
39
+
40
+ }
41
+
42
+ export const revertBuilder = async () => {
43
+
44
+ const builderIndexDir = fileURLToPath(new URL(BUILDER_INDEX_FILE_PATH, import.meta.url));
45
+
46
+ let indexFileJS = fs.readFileSync(builderIndexDir, { encoding: 'utf8' });
47
+
48
+ if (indexFileJS.length > 0) {
49
+ // uncomment out original webpack reference
50
+ indexFileJS = indexFileJS.replaceAll("// import configFactory from './webpack.config.js';", "import configFactory from './webpack.config.js';");
51
+
52
+ // comment out promoted webpack reference
53
+ if (indexFileJS.indexOf("// import configFactory from '../../../../../../../webpack.config.js';") < 0) {
54
+ indexFileJS = indexFileJS.replaceAll("import configFactory from '../../../../../../../webpack.config.js';", "// import configFactory from '../../../../../../../webpack.config.js';");
55
+ }
56
+
57
+ fs.writeFileSync(builderIndexDir, indexFileJS, { encoding: 'utf8' });
58
+
59
+ console.log(chalk.bold.green(`Bundler reverted to using internal webpack.config.js.`));
60
+ }
61
+
62
+
63
+ }
64
+
65
+ export default async options => {
66
+ showVersion();
67
+
68
+ await renamePromotedWebPack();
69
+ await revertBuilder();
70
+
71
+ };