@pega/custom-dx-components 8.8.16 → 8.8.18

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 (246) hide show
  1. package/.prettierrc.json +7 -1
  2. package/babel.config.cjs +13 -0
  3. package/jest.config.cjs +37 -0
  4. package/package.json +12 -4
  5. package/src/auth.js +9 -3
  6. package/src/cli.js +12 -0
  7. package/src/constants.js +9 -4
  8. package/src/currentPath.cjs +1 -0
  9. package/src/tasks/authenticate/index.js +43 -40
  10. package/src/tasks/build/helper.js +18 -31
  11. package/src/tasks/build/index.js +26 -6
  12. package/src/tasks/build-all/index.js +15 -3
  13. package/src/tasks/bundle/builder/index.js +5 -0
  14. package/src/tasks/bundle/builder/webpack.config.js +1 -3
  15. package/src/tasks/create/index.js +17 -7
  16. package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +13 -6
  17. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
  18. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
  19. package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +13 -6
  20. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
  21. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
  23. package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +13 -6
  24. package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +13 -6
  25. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +13 -6
  26. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +13 -6
  27. package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +13 -6
  28. package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +13 -6
  29. package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +13 -6
  30. package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +13 -6
  31. package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +13 -6
  32. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +13 -6
  33. package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +13 -6
  34. package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +13 -6
  35. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/styles.js.mustache +13 -6
  36. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
  37. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +13 -6
  38. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +13 -6
  39. package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +13 -6
  40. package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +13 -6
  41. package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +13 -6
  42. package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +13 -6
  43. package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +13 -6
  44. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +13 -6
  45. package/src/tasks/create-all/index.js +109 -150
  46. package/src/tasks/delete/helper.js +87 -53
  47. package/src/tasks/delete/index.js +8 -15
  48. package/src/tasks/delete-all/helper.js +132 -85
  49. package/src/tasks/delete-all/index.js +8 -15
  50. package/src/tasks/index.js +2 -0
  51. package/src/tasks/init/index.js +20 -22
  52. package/src/tasks/init/template/babel.config.cjs +13 -0
  53. package/src/tasks/init/template/jest.config.cjs +21 -0
  54. package/src/tasks/init/template/package.json.mustache +6 -4
  55. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
  56. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
  57. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
  58. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
  59. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +14 -0
  60. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
  61. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
  62. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
  63. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
  64. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
  65. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
  66. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
  67. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +14 -0
  68. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
  69. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
  70. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
  71. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
  72. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
  73. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +14 -0
  74. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
  75. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
  76. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
  77. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
  78. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
  79. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +14 -0
  80. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
  81. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
  82. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
  83. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
  84. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
  85. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
  86. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
  87. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
  88. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +14 -0
  89. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
  90. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
  91. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
  92. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
  93. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
  94. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
  95. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
  96. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
  97. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +14 -0
  98. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
  99. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
  100. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
  101. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
  102. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
  103. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
  104. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +14 -0
  105. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
  106. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
  107. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
  108. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
  109. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
  110. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
  111. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
  112. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +14 -0
  113. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
  114. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
  115. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
  116. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
  117. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
  118. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
  119. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +14 -0
  120. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
  121. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
  122. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
  123. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
  124. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
  125. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
  126. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +14 -0
  127. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
  128. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
  129. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
  130. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
  131. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
  132. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +14 -0
  133. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
  134. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
  135. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
  136. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
  137. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
  138. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
  139. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
  140. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
  141. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +14 -0
  142. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
  143. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
  144. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
  145. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
  146. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
  147. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
  148. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
  149. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
  150. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +14 -0
  151. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
  152. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
  153. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
  154. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
  155. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
  156. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +14 -0
  157. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
  158. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
  159. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
  160. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
  161. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
  162. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +14 -0
  163. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
  164. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
  165. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
  166. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
  167. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
  168. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
  169. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +14 -0
  170. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
  171. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
  172. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
  173. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
  174. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
  175. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
  176. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +14 -0
  177. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
  178. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
  179. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
  180. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
  181. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
  182. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
  183. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +14 -0
  184. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
  185. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
  186. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
  187. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
  188. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
  189. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +14 -0
  190. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
  191. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
  192. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
  193. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
  194. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
  195. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
  196. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +14 -0
  197. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
  198. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
  199. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
  200. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
  201. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
  202. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +14 -0
  203. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
  204. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
  205. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
  206. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
  207. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
  208. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
  209. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
  210. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
  211. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +14 -0
  212. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
  213. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
  214. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
  215. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
  216. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
  217. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
  218. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +14 -0
  219. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
  220. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
  221. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
  222. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
  223. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
  224. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +14 -0
  225. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
  226. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
  227. package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
  228. package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
  229. package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
  230. package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
  231. package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
  232. package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
  233. package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
  234. package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
  235. package/src/tasks/list/helper.js +129 -61
  236. package/src/tasks/list/index.js +3 -4
  237. package/src/tasks/promote-webpack/index.js +126 -0
  238. package/src/tasks/promote-webpack/webpack.config.js +376 -0
  239. package/src/tasks/publish/helper.js +69 -80
  240. package/src/tasks/publish/index.js +29 -12
  241. package/src/tasks/publish-all/helper.js +66 -83
  242. package/src/tasks/publish-all/index.js +30 -18
  243. package/src/tasks/rename/index.js +127 -97
  244. package/src/tasks/revert-webpack/index.js +71 -0
  245. package/src/util.js +205 -108
  246. package/test/unitTest/util.test.js +544 -0
package/.prettierrc.json CHANGED
@@ -1 +1,7 @@
1
- "@pega/prettier-config"
1
+ {
2
+ "$schema": "http://json.schemastore.org/prettierrc",
3
+ "extends": "@pega/prettier-config",
4
+ "printWidth": 150,
5
+ "singleQuote": true,
6
+ "trailingComma": "none"
7
+ }
@@ -0,0 +1,13 @@
1
+ module.exports = {
2
+ presets: [
3
+ [
4
+ '@babel/preset-env',
5
+ {
6
+ targets: {
7
+ node: 'current'
8
+ }
9
+ }
10
+ ]
11
+ ]
12
+ };
13
+
@@ -0,0 +1,37 @@
1
+ module.exports = {
2
+ verbose: true,
3
+ roots: ['./test'],
4
+ moduleFileExtensions: ['js', 'jsx', 'ts', 'tsx'],
5
+ testEnvironment: 'jsdom',
6
+ transform: {
7
+ '^.+\\.[t|j]sx?$': 'babel-jest'
8
+ },
9
+ collectCoverage: true,
10
+ haste: {
11
+ retainAllFiles: true
12
+ },
13
+ testPathIgnorePatterns: [],
14
+ transformIgnorePatterns: [],
15
+ modulePathIgnorePatterns: [],
16
+ coveragePathIgnorePatterns: [],
17
+ collectCoverageFrom: ['./src/*.js'],
18
+ coverageThreshold: {
19
+ global: {
20
+ statements: 79,
21
+ branches: 74,
22
+ functions: 81,
23
+ lines: 80
24
+ }
25
+ },
26
+ reporters: [
27
+ 'default',
28
+ [
29
+ 'jest-junit',
30
+ {
31
+ suiteName: 'unit tests',
32
+ outputDirectory: 'build/test-results/test',
33
+ outputName: 'TEST-results-unit.xml'
34
+ }
35
+ ]
36
+ ]
37
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/custom-dx-components",
3
- "version": "8.8.16",
3
+ "version": "8.8.18",
4
4
  "description": "Utility for building custom UI components",
5
5
  "bin": "./bin/index.js",
6
6
  "scripts": {
@@ -8,14 +8,14 @@
8
8
  "lint:format": "prettier -c .",
9
9
  "lint:spelling": "cspell **/*",
10
10
  "fix:es": "eslint --fix .",
11
- "fix:format": "prettier -w ."
11
+ "fix:format": "prettier -w .",
12
+ "test:unit:local": "node --input-type=module --experimental-vm-modules node_modules/jest/bin/jest.js --runInBand /test/unitTest"
12
13
  },
13
14
  "type": "module",
14
15
  "sideEffects": false,
15
16
  "dependencies": {
16
17
  "@babel/core": "^7.22.5",
17
18
  "@babel/plugin-proposal-class-properties": "^7.18.6",
18
- "@babel/preset-env": "^7.22.5",
19
19
  "@babel/preset-react": "^7.22.5",
20
20
  "adm-zip": "^0.5.9",
21
21
  "ajv": "^8.12.0",
@@ -23,6 +23,7 @@
23
23
  "arg": "^5.0.2",
24
24
  "babel-loader": "^9.1.2",
25
25
  "chalk": "^5.0.1",
26
+ "check-git": "^2.0.2",
26
27
  "compression-webpack-plugin": "^10.0.0",
27
28
  "css-loader": "6.7.1",
28
29
  "css-minimizer-webpack-plugin": "^5.0.0",
@@ -62,9 +63,16 @@
62
63
  "custom-components"
63
64
  ],
64
65
  "devDependencies": {
66
+ "@babel/preset-env": "^7.22.9",
65
67
  "@pega/configs": "^0.4.0",
66
68
  "@pega/prettier-config": "^0.5.3",
69
+ "@types/jest": "^29.5.3",
70
+ "babel-jest": "^29.6.1",
67
71
  "cspell": "^4.0.23",
68
- "prettier": "2.7.1"
72
+ "jest": "^29.6.1",
73
+ "jest-environment-jsdom": "^29.3.1",
74
+ "jest-junit": "^15.0.0",
75
+ "prettier": "2.7.1",
76
+ "ts-jest": "^29.1.1"
69
77
  }
70
78
  }
package/src/auth.js CHANGED
@@ -622,9 +622,15 @@ class PegaAuth {
622
622
  * Return agent value for POST commands
623
623
  */
624
624
  #getAgent() {
625
- return this.isNode && this.config.ignoreInvalidCerts
626
- ? new this.https.Agent({ rejectUnauthorized: false })
627
- : undefined;
625
+ if (this.isNode && this.config.ignoreInvalidCerts) {
626
+ let options = {rejectUnauthorized: false};
627
+ if (this.config.legacyTLS) {
628
+ options.secureOptions = this.crypto.constants.SSL_OP_LEGACY_SERVER_CONNECT;
629
+ }
630
+ return new this.https.Agent(options);
631
+ } else {
632
+ return undefined;
633
+ }
628
634
  }
629
635
  }
630
636
 
package/src/cli.js CHANGED
@@ -14,6 +14,8 @@ import {
14
14
  publishComponent,
15
15
  publishAllComponents,
16
16
  renameComponent,
17
+ revertWebPack,
18
+ promoteWebPack,
17
19
  updateComponent,
18
20
  validate,
19
21
  upgrade
@@ -25,6 +27,8 @@ const TASKS = {
25
27
  CREATE_ALL: 'createAll',
26
28
  BUILD: 'buildComponent',
27
29
  BUILD_ALL: 'buildAllComponents',
30
+ PROMOTE_WEBPACK: 'promoteWebPack',
31
+ REVERT_WEBPACK: 'revertWebPack',
28
32
  PUBLISH: 'publish',
29
33
  PUBLISH_All: 'publishAll',
30
34
  RENAME: 'rename',
@@ -72,6 +76,14 @@ export default async (args = []) => {
72
76
  createAllComponents(options);
73
77
  break;
74
78
  }
79
+ case TASKS.PROMOTE_WEBPACK: {
80
+ promoteWebPack(options);
81
+ break;
82
+ }
83
+ case TASKS.REVERT_WEBPACK: {
84
+ revertWebPack(options);
85
+ break;
86
+ }
75
87
  case TASKS.PUBLISH: {
76
88
  publishComponent(options);
77
89
  break;
package/src/constants.js CHANGED
@@ -1,6 +1,9 @@
1
1
  // cSpell:ignore words timeofday caseview casepreview objectview
2
2
  export const TASKS_CONFIG_JSON_FILENAME = 'tasks.config.json';
3
+ export const PACKAGE_JSON_FILENAME = 'package.json';
3
4
  export const BUILD_CONFIG_JSON_FILENAME = 'build.config.json';
5
+ export const WEBPACK_CONFIG_JS_FILENAME = 'webpack.config.js';
6
+ export const WEBPACK_PATHS_JS_FILENAME = 'paths.js';
4
7
  export const COMPONENTS_DIRECTORY_PATH = 'components-directory-path';
5
8
  export const COMPONENTS_PATH = 'component';
6
9
  export const TOKEN_PATH = 'node_modules/@pega/custom-dx-components/.access_token';
@@ -15,10 +18,9 @@ export const INF_TOKEN_URL_V1 = 'PRRestService/oauth2/v1/token';
15
18
  export const INF_AUTHORIZE_URL_V1 = 'PRRestService/oauth2/v1/authorize';
16
19
  export const LP_TOKEN_URL = 'uas/oauth/token';
17
20
  export const LP_AUTHORIZE_URL = 'uas/oauth/authorize';
18
- export const LP_LIST_COMPONENT_SERVICE_REST_ENDPOINT =
19
- 'pegalaunchpad/c11n/v103/app/appstudiox/componentslist';
20
- export const LP_PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT =
21
- 'pegalaunchpad/c11n/isolations/{isolationId}/v102/assetsUpdate';
21
+ export const LP_LIST_COMPONENT_SERVICE_REST_ENDPOINT = 'pegalaunchpad/c11n/v103/app/appstudiox/componentslist?field0=type&value0={type}';
22
+ export const LP_PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT = 'pegalaunchpad/c11n/isolations/{isolationId}/v102/assetsUpdate';
23
+ export const LP_DELETE_COMPONENT_SERVICE_REST_ENDPOINT = 'pegalaunchpad/c11n/isolations/{isolationId}/v102/assetsUpdate';
22
24
 
23
25
  export const FIELD_PATH = '/field';
24
26
  export const TEMPLATE_PATH = '/template';
@@ -28,6 +30,9 @@ export const COMPONENT_PREFIX_FIELD_PATH = 'field/';
28
30
  export const COMPONENT_PREFIX_TEMPLATE_PATH = 'template/';
29
31
  export const COMPONENT_PREFIX_WIDGET_PATH = 'widget/';
30
32
 
33
+ export const BUILDER_INDEX_FILE_PATH = '../bundle/builder/index.js';
34
+ export const BUILDER_DIR_FILE_PATH = '../bundle/builder';
35
+
31
36
  export const CATEGORY_CONSTELLATION = 'constellation';
32
37
 
33
38
  export const AUTHENTICATE_DEFAULTS = {
@@ -0,0 +1 @@
1
+ module.exports = __dirname;
@@ -6,19 +6,18 @@ import inquirer from 'inquirer';
6
6
 
7
7
  import { checkPathAccess, showVersion } from '../../util.js';
8
8
  import { TOKEN_PATH, INF_TOKEN_URL_V1, INF_AUTHORIZE_URL_V1, LP_TOKEN_URL, LP_AUTHORIZE_URL } from '../../constants.js';
9
+ import PegaAuth from '../../auth.js';
9
10
 
10
11
  import { getAuthQuestions } from './helper.js';
11
- import PegaAuth from '../../auth.js';
12
12
 
13
13
  export const TASKS_CONFIG_JSON_FILENAME = 'tasks.config.json';
14
14
 
15
15
  const pegaConfigJsonPath = path.join(path.resolve(), TASKS_CONFIG_JSON_FILENAME);
16
- let server = null;
17
-
18
- const generateAccessToken = async config => {
16
+ const server = null;
19
17
 
18
+ const generateAccessToken = async (config) => {
20
19
  let authSuccess = false;
21
- const { serverType, authService, isolationId, grantType, clientId, clientSecret, user, password } = config;
20
+ const { serverType, authService, isolationId, grantType, clientId, clientSecret, user, password, legacyTLS } = config;
22
21
  // Try to gracefully deal with missing trailing slashes for server (and later conditionally for redirectUri)
23
22
  const server = config.server.endsWith('/') ? config.server : `${config.server}/`;
24
23
 
@@ -50,26 +49,32 @@ const generateAccessToken = async config => {
50
49
  <div style="padding: 10px;">
51
50
  </div>`;
52
51
 
53
- const authCodeConfig = grantType === 'authCode' ? {
54
- authorizeUri: sAuthorizeUri,
55
- redirectUri: config.redirectUri.endsWith('/') ? config.redirectUri : `${config.redirectUri}/`,
56
- cert: config.cert,
57
- key: config.key,
58
- winTitle: 'DX Component Dev',
59
- winBodyHtml: browserAuthSuccessMarkup
60
- } : {};
52
+ const authCodeConfig =
53
+ grantType === 'authCode'
54
+ ? {
55
+ authorizeUri: sAuthorizeUri,
56
+ redirectUri: config.redirectUri.endsWith('/') ? config.redirectUri : `${config.redirectUri}/`,
57
+ cert: config.cert,
58
+ key: config.key,
59
+ winTitle: 'DX Component Dev',
60
+ winBodyHtml: browserAuthSuccessMarkup
61
+ }
62
+ : {};
61
63
 
62
64
  // Build auth config structure
63
65
  const authConfig = {
64
- serverType: serverType,
65
- authService: authService,
66
- grantType: grantType,
66
+ serverType,
67
+ authService,
68
+ grantType,
67
69
  tokenUri: sTokenUri,
68
- clientId: clientId,
69
- clientSecret: clientSecret,
70
+ clientId,
71
+ clientSecret,
70
72
  ignoreInvalidCerts: true,
71
73
  ...authCodeConfig
72
74
  };
75
+ if (legacyTLS) {
76
+ authConfig.legacyTLS = true;
77
+ }
73
78
  if (serverType === 'infinity') {
74
79
  if (grantType !== 'clientCreds' && user && password) {
75
80
  authConfig.userIdentifier = user;
@@ -84,14 +89,17 @@ const generateAccessToken = async config => {
84
89
  try {
85
90
  const auth = new PegaAuth(authConfig);
86
91
  if (grantType === 'authCode') {
87
- console.log(`${chalk.green('Awaiting authorization to complete (Ctrl-C to exit). You may need to enter credentials within your default browser.')}`);
92
+ console.log(
93
+ `${chalk.green('Awaiting authorization to complete (Ctrl-C to exit). You may need to enter credentials within your default browser.')}`
94
+ );
88
95
  }
89
96
  // console.log(`authConfig: ${JSON.stringify(authConfig)}`);
90
97
 
91
- auth.login()
98
+ auth
99
+ .login()
92
100
  .then((token) => {
93
101
  if (token?.token_type) {
94
- fs.writeFile(TOKEN_PATH, JSON.stringify(token), err => {
102
+ fs.writeFile(TOKEN_PATH, JSON.stringify(token), (err) => {
95
103
  if (err) {
96
104
  console.error(err);
97
105
  return reject(authSuccess);
@@ -101,32 +109,29 @@ const generateAccessToken = async config => {
101
109
  return resolve(authSuccess);
102
110
  });
103
111
  } else {
104
- console.log(`${chalk.bold.red('Authentication failed:' + JSON.stringify(token.errors ? token.errors : token))}`);
112
+ console.log(`${chalk.bold.red(`Authentication failed:${JSON.stringify(token.errors ? token.errors : token)}`)}`);
105
113
  return reject(authSuccess);
106
114
  }
107
115
  })
108
116
  .catch((e) => {
109
- console.log(`${chalk.bold.red('Authentication failed:' + e)}`);
117
+ console.log(`${chalk.bold.red(`Authentication failed:${e}`)}`);
110
118
  return reject(authSuccess);
111
119
  });
112
-
113
120
  } catch (e) {
114
121
  console.log(`Authentication failed: Problem initializing OAuth library`);
115
122
  return reject(authSuccess);
116
123
  }
117
-
118
124
  });
119
125
  };
120
126
 
121
- export default async options => {
122
-
127
+ export default async (options) => {
123
128
  let authOK = false;
124
129
 
125
130
  showVersion();
126
131
 
127
132
  await checkPathAccess(pegaConfigJsonPath);
128
133
 
129
- let cfgData = fs.readFileSync(pegaConfigJsonPath, { encoding: 'utf8' });
134
+ const cfgData = fs.readFileSync(pegaConfigJsonPath, { encoding: 'utf8' });
130
135
  let data = null;
131
136
  if (cfgData) {
132
137
  try {
@@ -138,7 +143,7 @@ export default async options => {
138
143
  }
139
144
 
140
145
  const serverConfig = data['server-config'];
141
- const isPwdNonEmpty = serverConfig['password'] ? true : false;
146
+ const isPwdNonEmpty = !!serverConfig.password;
142
147
 
143
148
  // console.log(`serverConfig: ${JSON.stringify(serverConfig)}`);
144
149
  const questions = await getAuthQuestions(serverConfig);
@@ -147,7 +152,7 @@ export default async options => {
147
152
  const aAsked = answers.aAsked;
148
153
  delete answers.aAsked;
149
154
  const aProps = ['serverType', 'server', 'isolationId', 'clientId', 'grantType', 'authService', 'redirectUri', 'clientSecret', 'user', 'password'];
150
- const isLaunchPad = answers.serverType === "launchpad";
155
+ const isLaunchPad = answers.serverType === 'launchpad';
151
156
  let bWriteUpdate = false;
152
157
  for (let i = 0; i < aProps.length; i += 1) {
153
158
  const prop = aProps[i];
@@ -163,8 +168,8 @@ export default async options => {
163
168
  }
164
169
  }
165
170
  // Update the askedOnce array based on askOnce criteria
166
- const aAskOnce = serverConfig['questions_askOnce'] ? serverConfig['questions_askOnce'].split(',') : [];
167
- const aAskedOnce = serverConfig['questions_askedOnce'] ? serverConfig['questions_askedOnce'].split(',') : [];
171
+ const aAskOnce = serverConfig.questions_askOnce ? serverConfig.questions_askOnce.split(',') : [];
172
+ const aAskedOnce = serverConfig.questions_askedOnce ? serverConfig.questions_askedOnce.split(',') : [];
168
173
  let bAskedOnceUpdated = false;
169
174
  for (let j = 0; j < aAsked.length; j += 1) {
170
175
  const prop = aAsked[j];
@@ -176,7 +181,7 @@ export default async options => {
176
181
  }
177
182
  // If askedOnce array was updated we need to update value in config
178
183
  if (bAskedOnceUpdated) {
179
- serverConfig['questions_askedOnce'] = aAskedOnce.join(',');
184
+ serverConfig.questions_askedOnce = aAskedOnce.join(',');
180
185
  bWriteUpdate = true;
181
186
  }
182
187
 
@@ -184,26 +189,24 @@ export default async options => {
184
189
  // console.log(`serverConfig: ${JSON.stringify(serverConfig)}`);
185
190
  authOK = await generateAccessToken(serverConfig);
186
191
  } catch (e) {
187
- console.log(`${chalk.bold.red('Authentication failed:' + JSON.stringify(e))}`);
192
+ console.log(`${chalk.bold.red(`Authentication failed:${JSON.stringify(e)}`)}`);
188
193
  }
189
194
 
190
195
  if (authOK & bWriteUpdate) {
191
196
  // Don't write password value (unless it already had a value)
192
197
  if (!isPwdNonEmpty) {
193
- serverConfig['password'] = '';
198
+ serverConfig.password = '';
194
199
  }
195
200
  console.log(`${chalk.green('Writing updated config...')}`);
196
201
  let updCfg = null;
197
202
  try {
198
203
  updCfg = JSON.stringify(data, null, 2);
199
204
  // console.log(`updated config: ${updCfg}`);
200
- fs.writeFileSync(pegaConfigJsonPath, updCfg, err => {
205
+ fs.writeFileSync(pegaConfigJsonPath, updCfg, (err) => {
201
206
  if (err) throw err;
202
207
  });
203
- } catch (e) {
204
-
205
- }
208
+ } catch (e) {}
206
209
  }
207
210
 
208
- process.exit(1);
211
+ process.exit();
209
212
  };
@@ -1,25 +1,19 @@
1
1
  import fs from 'fs';
2
2
  import path from 'path';
3
- import https from 'https';
4
3
 
5
4
  import fetch from 'node-fetch';
6
5
  import AdmZip from 'adm-zip';
7
6
  import chalk from 'chalk';
8
7
 
9
- import {
10
- constructCompleteUrl,
11
- getComponentDirectoryPath,
12
- getComponents,
13
- getPegaServerConfig
14
- } from '../../util.js';
8
+ import { constructCompleteUrl, getComponentDirectoryPath, getComponents, getPegaServerConfig, getHttpsAgent } from '../../util.js';
15
9
  import { PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT, TOKEN_PATH } from '../../constants.js';
16
10
 
17
11
  export const getPublishComponentQuestions = async () => {
18
12
  const components = await getComponents();
19
13
 
20
- if (components.length == 0) {
21
- console.log(chalk.redBright("No components to build"));
22
- process.exit(1);
14
+ if (components.length === 0) {
15
+ console.log(chalk.redBright('No components to build'));
16
+ process.exit();
23
17
  }
24
18
 
25
19
  const defaultPegaConfig = await getPegaServerConfig();
@@ -35,6 +29,7 @@ export const getPublishComponentQuestions = async () => {
35
29
  name: 'sourceMap',
36
30
  message: 'Generate source map ?',
37
31
  default: defaultPegaConfig.sourceMap,
32
+ // eslint-disable-next-line sonarjs/no-redundant-boolean
38
33
  when: () => false && !process.env.SOURCE_MAP
39
34
  },
40
35
  {
@@ -46,7 +41,7 @@ export const getPublishComponentQuestions = async () => {
46
41
  ];
47
42
  };
48
43
 
49
- export const zipComponent = async componentKey => {
44
+ export const zipComponent = async (componentKey) => {
50
45
  const srcDirectory = await getComponentDirectoryPath(componentKey);
51
46
  const buildDirectory = await path.join(path.resolve(), 'dist/components', componentKey);
52
47
  const configJson = `${srcDirectory}/config.json`;
@@ -59,7 +54,7 @@ export const zipComponent = async componentKey => {
59
54
  const zipContent = zip.toBuffer().toString('base64');
60
55
 
61
56
  const configContent = Buffer.from(fs.readFileSync(`${srcDirectory}/config.json`)).toString();
62
- fs.rmdir('dist', { recursive: true }, err => {
57
+ fs.rmdir('dist', { recursive: true }, (err) => {
63
58
  if (err) {
64
59
  throw err;
65
60
  }
@@ -67,8 +62,8 @@ export const zipComponent = async componentKey => {
67
62
  return { zipContent, configContent };
68
63
  };
69
64
 
70
- export const publishComponentToServer = async data => {
71
- const { configContent, zipContent, componentKey, rulesetName, rulesetVersion } = data;
65
+ export const publishComponentToServer = async (data) => {
66
+ const { configContent, zipContent, rulesetName, rulesetVersion } = data;
72
67
 
73
68
  const apiBody = {
74
69
  configContent,
@@ -80,46 +75,38 @@ export const publishComponentToServer = async data => {
80
75
  category: ''
81
76
  };
82
77
  const defaultPegaConfig = await getPegaServerConfig();
83
- const url = constructCompleteUrl(
84
- defaultPegaConfig.server,
85
- PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT
86
- );
78
+ const url = constructCompleteUrl(defaultPegaConfig.server, PUBLISH_COMPONENT_SERVICE_REST_ENDPOINT);
87
79
  try {
88
80
  const OauthData = fs.readFileSync(TOKEN_PATH, 'utf8');
89
81
  if (OauthData) {
90
- const {
91
- access_token: accessToken,
92
- token_type: tokenType,
93
- refresh_token: refreshToken
94
- } = JSON.parse(OauthData);
82
+ const { access_token: accessToken, token_type: tokenType } = JSON.parse(OauthData);
95
83
  let status = 500;
96
84
  fetch(url, {
97
85
  method: 'POST',
98
- agent: new https.Agent({ rejectUnauthorized: false }),
86
+ agent: getHttpsAgent(defaultPegaConfig),
99
87
  headers: {
100
88
  Authorization: `${tokenType} ${accessToken}`
101
89
  },
102
90
  body: JSON.stringify(apiBody)
103
91
  })
104
- .then(response => {
92
+ .then((response) => {
105
93
  status = response.status;
106
94
  return response.text();
107
95
  })
108
- .then(resp => {
96
+ .then((resp) => {
109
97
  const respData = JSON.parse(resp);
110
98
  if (status === 401) {
111
- throw new Error(
112
- 'Error occurred in authentication. Please regenerate using authenticate'
113
- );
99
+ throw new Error('Error occurred in authentication. Please regenerate using authenticate');
114
100
  // console.log(accessTokenUri, refreshToken);
115
101
  /* TODO - Handle refresh_token */
116
- } else if (status == 200) {
102
+ } else if (status === 200) {
117
103
  console.log(chalk.bold.green(`Success : ${respData.message}`));
118
104
  } else {
119
105
  throw new Error(`${respData.message}`);
120
106
  }
121
107
  })
122
- .catch(e => Promise.reject(`${chalk.bold.red(e)}`));
108
+ // eslint-disable-next-line prefer-promise-reject-errors
109
+ .catch((e) => Promise.reject(`${chalk.bold.red(e)}`));
123
110
  } else {
124
111
  throw new Error(`Error occurred in authentication. Please regenerate using authenticate`);
125
112
  }
@@ -12,13 +12,33 @@ import { getComponentDirectoryPath, showVersion } from '../../util.js';
12
12
  export default async options => {
13
13
  showVersion();
14
14
 
15
- const questions = await getPublishComponentQuestions();
16
- const answers = await inquirer.prompt(questions);
17
- const { componentKey, sourceMap, devBuild } = answers;
15
+ let componentKey;
16
+ let sourceMap;
17
+ let devBuild;
18
+ let content;
19
+
20
+ if (options.params.length >= 6) {
21
+ componentKey = options.params[3];
22
+ sourceMap = options.params[4];
23
+ const dBuild = options.params[5];
24
+ devBuild = (dBuild === 'Y' ||
25
+ dBuild === 'y' ||
26
+ dBuild === true ||
27
+ dBuild === 'true') ? true : false;
28
+
29
+ content = { componentKey, sourceMap, devBuild};
30
+ }
31
+ else {
32
+ const questions = await getPublishComponentQuestions();
33
+ const answers = await inquirer.prompt(questions);
34
+ ({ componentKey, sourceMap, devBuild } = answers);
35
+
36
+ content = {
37
+ ...answers
38
+ };
39
+ }
40
+
18
41
 
19
- let content = {
20
- ...answers
21
- };
22
42
 
23
43
  const sDevBuild = devBuild ? '(dev build)' : '';
24
44
  const tasks = new Listr(
@@ -51,9 +51,21 @@ export default async (options) => {
51
51
 
52
52
 
53
53
  const components = await getComponents();
54
- const questions = await getBuildComponentQuestions();
55
- const answers = await inquirer.prompt(questions);
56
- const { sourceMap, devBuild } = answers;
54
+ let sourceMap;
55
+ let devBuild;
56
+
57
+ if (options.params.length >= 4) {
58
+ const dBuild = options.params[3];
59
+ devBuild = (dBuild === 'Y' ||
60
+ dBuild === 'y' ||
61
+ dBuild === true ||
62
+ dBuild === 'true') ? true : false;
63
+ }
64
+ else {
65
+ const questions = await getBuildComponentQuestions();
66
+ const answers = await inquirer.prompt(questions);
67
+ ({ sourceMap, devBuild } = answers);
68
+ }
57
69
 
58
70
 
59
71
  for (const componentKey of components) {
@@ -4,7 +4,12 @@ import webpack from 'webpack';
4
4
  import FileSizeReporter from 'react-dev-utils/FileSizeReporter.js';
5
5
  import printBuildError from 'react-dev-utils/printBuildError.js';
6
6
 
7
+
8
+ // used by promote and revert webPack commands, do not change
7
9
  import configFactory from './webpack.config.js';
10
+ // import configFactory from '../../../../../../../webpack.config.js';
11
+ // do not change
12
+
8
13
  import paths from './paths.js';
9
14
 
10
15
  // Do this as the first thing so that any code reading it knows the right env.
@@ -115,9 +115,7 @@ export default (
115
115
  path: paths.appBuild,
116
116
  // There will be one main bundle, and one file per asynchronous chunk.
117
117
  // In development, it does not produce real files.
118
- filename: isEnvProduction
119
- ? `${componentKey}/${componentKey}.js`
120
- : isEnvDevelopment && `${componentKey}/${componentKey}.js`,
118
+ filename: isEnvProduction ? `${componentKey}/${componentKey}.js` : isEnvDevelopment && `${componentKey}/${componentKey}.js`,
121
119
  chunkFilename: isEnvProduction
122
120
  ? `${componentKey}/js/[name].[contenthash:8].chunk.js`
123
121
  : isEnvDevelopment && `${componentKey}/js/[name].chunk.js`,
@@ -109,7 +109,8 @@ const validateCompile = async (
109
109
  type,
110
110
  subtype,
111
111
  description,
112
- allowedApplications
112
+ allowedApplications,
113
+ organization
113
114
  },
114
115
  options
115
116
  ) => {
@@ -127,7 +128,11 @@ const validateCompile = async (
127
128
  const templateDir = `./templates/${framework}/${type}/${sSubType}`;
128
129
  const templateDirectory = fileURLToPath(new URL(templateDir, import.meta.url));
129
130
 
130
- const { organization } = JSON.parse(fs.readFileSync(path.resolve('package.json'), 'utf8'));
131
+ if (organization == null) {
132
+ ({ organization } = JSON.parse(fs.readFileSync(path.resolve('package.json'), 'utf8')));
133
+ }
134
+
135
+
131
136
 
132
137
  const componentKey = `${organization}_${library}_${componentName}`;
133
138
  const targetDirectory = await getComponentDirectoryPath(componentKey);
@@ -162,15 +167,18 @@ const validateCompile = async (
162
167
  export default async options => {
163
168
  showVersion();
164
169
 
165
- if (options.params[9]) {
170
+ if (options.params.length >= 12) {
166
171
 
167
172
  const type = options.params[3];
168
173
  const subtype = options.params[4];
169
174
  const componentName = options.params[5];
170
175
  const componentLabel = options.params[6];
171
- const library = options.params[7];
172
- const version = options.params[9];
173
- const description = options.params[9];
176
+ const version = options.params[7];
177
+ const library = options.params[8];
178
+ const allowedApplications = options.params[9];
179
+ const description = options.params[10];
180
+ const organization = options.params[11];
181
+ const framework = "Constellation";
174
182
 
175
183
  await validateCompile(
176
184
  {
@@ -181,7 +189,9 @@ export default async options => {
181
189
  framework,
182
190
  type,
183
191
  subtype,
184
- description
192
+ description,
193
+ allowedApplications,
194
+ organization
185
195
  },
186
196
  options
187
197
  );