@pega/custom-dx-components 8.8.17 → 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 (243) 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/constants.js +7 -5
  7. package/src/currentPath.cjs +1 -0
  8. package/src/tasks/authenticate/index.js +43 -40
  9. package/src/tasks/build/helper.js +18 -31
  10. package/src/tasks/build/index.js +26 -6
  11. package/src/tasks/build-all/index.js +15 -3
  12. package/src/tasks/bundle/builder/index.js +1 -1
  13. package/src/tasks/bundle/builder/webpack.config.js +1 -3
  14. package/src/tasks/create/index.js +17 -7
  15. package/src/tasks/create/templates/Constellation/Field/Boolean/styles.js.mustache +13 -6
  16. package/src/tasks/create/templates/Constellation/Field/Date/DateFormatter.js.mustache +7 -7
  17. package/src/tasks/create/templates/Constellation/Field/Date/date.js.mustache +8 -8
  18. package/src/tasks/create/templates/Constellation/Field/Date/styles.js.mustache +13 -6
  19. package/src/tasks/create/templates/Constellation/Field/DateTime/date-time.js.mustache +10 -10
  20. package/src/tasks/create/templates/Constellation/Field/DateTime/date-utils.js.mustache +6 -5
  21. package/src/tasks/create/templates/Constellation/Field/DateTime/date.js.mustache +6 -3
  22. package/src/tasks/create/templates/Constellation/Field/DateTime/styles.js.mustache +13 -6
  23. package/src/tasks/create/templates/Constellation/Field/Decimal/styles.js.mustache +13 -6
  24. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/styles.js.mustache +13 -6
  25. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/styles.js.mustache +13 -6
  26. package/src/tasks/create/templates/Constellation/Field/Integer/styles.js.mustache +13 -6
  27. package/src/tasks/create/templates/Constellation/Field/Picklist/styles.js.mustache +13 -6
  28. package/src/tasks/create/templates/Constellation/Field/Text/styles.js.mustache +13 -6
  29. package/src/tasks/create/templates/Constellation/Field/Text-Email/styles.js.mustache +13 -6
  30. package/src/tasks/create/templates/Constellation/Field/Text-Input/styles.js.mustache +13 -6
  31. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/styles.js.mustache +13 -6
  32. package/src/tasks/create/templates/Constellation/Field/Text-Phone/styles.js.mustache +13 -6
  33. package/src/tasks/create/templates/Constellation/Field/Text-URL/styles.js.mustache +13 -6
  34. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/styles.js.mustache +13 -6
  35. package/src/tasks/create/templates/Constellation/Field/TimeOfDay/time-of-day.js.mustache +6 -5
  36. package/src/tasks/create/templates/Constellation/Template/DETAILS/styles.js.mustache +13 -6
  37. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/styles.js.mustache +13 -6
  38. package/src/tasks/create/templates/Constellation/Template/FORM/styles.js.mustache +13 -6
  39. package/src/tasks/create/templates/Constellation/Template/FORM-region/styles.js.mustache +13 -6
  40. package/src/tasks/create/templates/Constellation/Template/PAGE/styles.js.mustache +13 -6
  41. package/src/tasks/create/templates/Constellation/Widget/CASE/styles.js.mustache +13 -6
  42. package/src/tasks/create/templates/Constellation/Widget/PAGE/styles.js.mustache +13 -6
  43. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/styles.js.mustache +13 -6
  44. package/src/tasks/create-all/index.js +109 -150
  45. package/src/tasks/delete/helper.js +87 -53
  46. package/src/tasks/delete/index.js +8 -15
  47. package/src/tasks/delete-all/helper.js +132 -85
  48. package/src/tasks/delete-all/index.js +8 -15
  49. package/src/tasks/init/index.js +20 -22
  50. package/src/tasks/init/template/babel.config.cjs +13 -0
  51. package/src/tasks/init/template/jest.config.cjs +21 -0
  52. package/src/tasks/init/template/package.json.mustache +6 -4
  53. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/config.json +55 -0
  54. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/demo.stories.jsx +51 -0
  55. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/index.jsx +60 -0
  56. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/mock.stories.js +13 -0
  57. package/src/tasks/init/template/test/assets/components/create/Pega_DXIL_MyTestText/styles.js +14 -0
  58. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/Boolean.js +38 -0
  59. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/boolean-format.js +26 -0
  60. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/config.json +145 -0
  61. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/demo.stories.jsx +61 -0
  62. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/event-utils.js +18 -0
  63. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/index.jsx +170 -0
  64. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/mock.stories.js +21 -0
  65. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyBoolean/styles.js +14 -0
  66. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/OneColumnPage.svg +36 -0
  67. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/config.json +23 -0
  68. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/demo.stories.jsx +78 -0
  69. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/index.jsx +73 -0
  70. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/mock.stories.js +390 -0
  71. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCaseWidget/styles.js +14 -0
  72. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/config.json +291 -0
  73. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/demo.stories.jsx +53 -0
  74. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/event-utils.js +18 -0
  75. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/index.jsx +296 -0
  76. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/mock.stories.js +23 -0
  77. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/styles.js +14 -0
  78. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyCurrency/suggestions-handler.js +10 -0
  79. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/DateFormatter.js +61 -0
  80. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/FormattedText.jsx +41 -0
  81. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/config.json +195 -0
  82. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/date.js +439 -0
  83. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/demo.stories.jsx +73 -0
  84. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/index.jsx +256 -0
  85. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/mock.stories.js +23 -0
  86. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/styles.js +14 -0
  87. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDate/suggestions-handler.js +10 -0
  88. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/config.json +256 -0
  89. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-time.js +92 -0
  90. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date-utils.js +288 -0
  91. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/date.js +331 -0
  92. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/demo.stories.jsx +73 -0
  93. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/index.jsx +254 -0
  94. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/mock.stories.js +23 -0
  95. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/styles.js +14 -0
  96. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDateTime/suggestions-handler.js +10 -0
  97. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/config.json +278 -0
  98. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/demo.stories.jsx +49 -0
  99. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/event-utils.js +18 -0
  100. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/index.jsx +270 -0
  101. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/mock.stories.js +21 -0
  102. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/styles.js +14 -0
  103. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDecimal/suggestions-handler.js +10 -0
  104. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/OneColumnDetails.svg +22 -0
  105. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/StatusWork.jsx +26 -0
  106. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/config.json +35 -0
  107. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/demo.stories.jsx +132 -0
  108. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/index.jsx +83 -0
  109. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/mock.stories.js +189 -0
  110. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/styles.js +14 -0
  111. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyDetails/utils.js +152 -0
  112. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/config.json +111 -0
  113. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/demo.stories.jsx +48 -0
  114. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/event-utils.js +18 -0
  115. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/index.jsx +231 -0
  116. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/mock.stories.js +22 -0
  117. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/styles.js +14 -0
  118. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyEmail/suggestions-handler.js +10 -0
  119. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/DefaultForm.svg +29 -0
  120. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/config.json +45 -0
  121. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/demo.stories.jsx +166 -0
  122. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/index.jsx +42 -0
  123. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/mock.stories.js +137 -0
  124. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyForm/styles.js +14 -0
  125. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/config.json +344 -0
  126. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/demo.stories.jsx +49 -0
  127. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/event-utils.js +18 -0
  128. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/index.jsx +333 -0
  129. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/mock.stories.js +21 -0
  130. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/styles.js +14 -0
  131. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyInteger/suggestions-handler.js +10 -0
  132. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/GetNextWork.jsx +35 -0
  133. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/OneColumnPage.svg +36 -0
  134. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/config.json +32 -0
  135. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/demo.stories.jsx +102 -0
  136. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/index.jsx +70 -0
  137. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/localizations.json +4 -0
  138. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/mock.stories.js +94 -0
  139. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/styles.js +14 -0
  140. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPage/utils.js +229 -0
  141. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Avatar.jsx +75 -0
  142. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/OneColumnPage.svg +36 -0
  143. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/Operator.jsx +237 -0
  144. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/config.json +66 -0
  145. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/demo.stories.jsx +68 -0
  146. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/index.jsx +108 -0
  147. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/mock.stories.js +51 -0
  148. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageCaseWidget/styles.js +14 -0
  149. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/OneColumnPage.svg +36 -0
  150. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/config.json +59 -0
  151. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/demo.stories.jsx +30 -0
  152. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/index.jsx +48 -0
  153. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/mock.stories.js +23 -0
  154. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPageWidget/styles.js +14 -0
  155. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/config.json +111 -0
  156. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/demo.stories.jsx +48 -0
  157. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/event-utils.js +18 -0
  158. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/index.jsx +231 -0
  159. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/mock.stories.js +20 -0
  160. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/styles.js +14 -0
  161. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyParagraph/suggestions-handler.js +10 -0
  162. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/config.json +93 -0
  163. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/demo.stories.jsx +49 -0
  164. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/event-utils.js +18 -0
  165. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/index.jsx +275 -0
  166. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/mock.stories.js +21 -0
  167. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/styles.js +14 -0
  168. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPercentage/suggestions-handler.js +10 -0
  169. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/config.json +123 -0
  170. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/demo.stories.jsx +46 -0
  171. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/event-utils.js +18 -0
  172. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/index.jsx +266 -0
  173. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/mock.stories.js +37 -0
  174. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/styles.js +14 -0
  175. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPhone/suggestions-handler.js +10 -0
  176. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/config.json +114 -0
  177. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/demo.stories.jsx +78 -0
  178. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/event-utils.js +18 -0
  179. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/index.jsx +351 -0
  180. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/mock.stories.js +67 -0
  181. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/styles.js +14 -0
  182. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyPicklist/suggestions-handler.js +10 -0
  183. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/config.json +55 -0
  184. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/demo.stories.jsx +51 -0
  185. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/index.jsx +60 -0
  186. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/mock.stories.js +13 -0
  187. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyText/styles.js +14 -0
  188. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/StatusWork.jsx +26 -0
  189. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/config.json +111 -0
  190. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/demo.stories.jsx +48 -0
  191. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/event-utils.js +18 -0
  192. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/index.jsx +239 -0
  193. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/mock.stories.js +21 -0
  194. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/styles.js +14 -0
  195. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTextInput/suggestions-handler.js +10 -0
  196. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/config.json +185 -0
  197. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/demo.stories.jsx +57 -0
  198. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/index.jsx +213 -0
  199. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/mock.stories.js +20 -0
  200. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/styles.js +14 -0
  201. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/suggestions-handler.js +10 -0
  202. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTimeOfDay/time-of-day.js +288 -0
  203. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/StatusWork.jsx +26 -0
  204. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/TwoColumnDetails.svg +28 -0
  205. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/config.json +42 -0
  206. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/demo.stories.jsx +136 -0
  207. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/index.jsx +83 -0
  208. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/mock.stories.js +230 -0
  209. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/styles.js +14 -0
  210. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnDetails/utils.js +155 -0
  211. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/TwoColumn.svg +38 -0
  212. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/config.json +27 -0
  213. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/demo.stories.jsx +175 -0
  214. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/index.jsx +45 -0
  215. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/mock.stories.js +143 -0
  216. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyTwoColumnForm/styles.js +14 -0
  217. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/config.json +237 -0
  218. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/demo.stories.jsx +46 -0
  219. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/event-utils.js +18 -0
  220. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/index.jsx +232 -0
  221. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/mock.stories.js +22 -0
  222. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/styles.js +14 -0
  223. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/suggestions-handler.js +10 -0
  224. package/src/tasks/init/template/test/assets/components/createAll/Pega_DXIL_MyURL/text-url.jsx +173 -0
  225. package/src/tasks/init/template/test/functionTest/localCreateAllListDeleteAll.test.js +157 -0
  226. package/src/tasks/init/template/test/functionTest/localCreateBuildAllDeleteAll.test.js +148 -0
  227. package/src/tasks/init/template/test/functionTest/localCreateBuildDelete.test.js +84 -0
  228. package/src/tasks/init/template/test/functionTest/localCreateListDelete.test.js +108 -0
  229. package/src/tasks/init/template/test/functionTest/localCreatePublishAllDeleteAll.test.js +148 -0
  230. package/src/tasks/init/template/test/functionTest/localCreatePublishDelete.test.js +84 -0
  231. package/src/tasks/init/template/test/functionTest/localCreateRenameDelete.test.js +84 -0
  232. package/src/tasks/init/template/test/functionTest/localPromoteRevertWP.test.js +59 -0
  233. package/src/tasks/list/helper.js +129 -61
  234. package/src/tasks/list/index.js +3 -4
  235. package/src/tasks/promote-webpack/index.js +45 -13
  236. package/src/tasks/publish/helper.js +69 -89
  237. package/src/tasks/publish/index.js +29 -12
  238. package/src/tasks/publish-all/helper.js +66 -92
  239. package/src/tasks/publish-all/index.js +30 -18
  240. package/src/tasks/rename/index.js +127 -97
  241. package/src/tasks/revert-webpack/index.js +4 -4
  242. package/src/util.js +205 -127
  243. package/test/unitTest/util.test.js +544 -0
@@ -0,0 +1,46 @@
1
+ import { withKnobs } from '@storybook/addon-knobs';
2
+
3
+ import PegaDxilMyUrl from './index.jsx';
4
+ import { stateProps, configProps } from './mock.stories';
5
+
6
+ export default {
7
+ title: 'PegaDxilMyUrl',
8
+ decorators: [withKnobs],
9
+ component: PegaDxilMyUrl
10
+ };
11
+
12
+ export const basePegaDxilMyUrl = () => {
13
+
14
+ const props = {
15
+ value: configProps.value,
16
+ placeholder: configProps.placeholder,
17
+ label: configProps.label,
18
+ helperText: configProps.helperText,
19
+ testId: configProps.testId,
20
+ hasSuggestions: configProps.hasSuggestions,
21
+
22
+ getPConnect: () => {
23
+ return {
24
+ getStateProps: () => {
25
+ return stateProps;
26
+ },
27
+ getActionsApi: () => {
28
+ return {
29
+ updateFieldValue: () => {/* nothing */},
30
+ triggerFieldChange: () => {/* nothing */}
31
+ };
32
+ },
33
+ ignoreSuggestion: () => {/* nothing */},
34
+ acceptSuggestion: () => {/* nothing */},
35
+ setInheritedProps: () => {/* nothing */},
36
+ resolveConfigProps: () => {/* nothing */}
37
+ };
38
+ }
39
+ };
40
+
41
+ return (
42
+ <>
43
+ <PegaDxilMyUrl {...props} />
44
+ </>
45
+ );
46
+ };
@@ -0,0 +1,18 @@
1
+ const handleEvent = (actions, eventType, propName, value) => {
2
+ switch (eventType) {
3
+ case "change":
4
+ actions.updateFieldValue(propName, value);
5
+ break;
6
+ case "blur":
7
+ actions.triggerFieldChange(propName, value);
8
+ break;
9
+ case "changeNblur":
10
+ actions.updateFieldValue(propName, value);
11
+ actions.triggerFieldChange(propName, value);
12
+ break;
13
+ default:
14
+ break;
15
+ }
16
+ };
17
+
18
+ export default handleEvent;
@@ -0,0 +1,232 @@
1
+ import { useState, useEffect, useRef} from "react";
2
+ import { Input, FieldValueList, Text } from "@pega/cosmos-react-core";
3
+ import PropTypes from "prop-types";
4
+
5
+ // includes in bundle
6
+ import {formatExists,textFormatter, urlFormatter} from "./text-url.jsx";
7
+ import handleEvent from "./event-utils";
8
+ import { suggestionsHandler } from './suggestions-handler';
9
+
10
+ import StyledPegaDxilMyUrlWrapper from './styles';
11
+
12
+
13
+ // Duplicated runtime code from Constellation Design System Component
14
+
15
+ // props passed in combination of props from property panel (config.json) and run time props from Constellation
16
+ // any default values in config.pros should be set in defaultProps at bottom of this file
17
+ const PegaDxilMyUrl = props => {
18
+ const {
19
+ getPConnect,
20
+ value,
21
+ hideLabel,
22
+ placeholder,
23
+ validatemessage,
24
+ label,
25
+ helperText,
26
+ testId,
27
+ displayMode,
28
+ additionalProps,
29
+ variant,
30
+ isTableFormatter,
31
+ displayAs,
32
+ widthSel,
33
+ customWidth,
34
+ altText,
35
+ altTextOfImage,
36
+ propaltTextOfImage,
37
+ urlLabel,
38
+ propUrlLabel,
39
+ urlLabelSelection,
40
+ tableDisplayAs,
41
+ hasSuggestions
42
+ } = props;
43
+ const { formatter } = props;
44
+ const pConn = getPConnect();
45
+ const actions = pConn.getActionsApi();
46
+ const propName = pConn.getStateProps().value;
47
+ const hasValueChange = useRef(false);
48
+
49
+
50
+ // BUG-547602: Temporary type coercion for 8.5 until DXAPIs are enhanced to pass original pxViewMetadata JSON, respecting boolean primitives
51
+ let { readOnly, required, disabled } = props;
52
+ [readOnly, required, disabled] = [readOnly, required, disabled].map(
53
+ (prop) => prop === true || (typeof prop === 'string' && prop === 'true')
54
+ );
55
+
56
+ const [inputValue, setInputValue] = useState(value);
57
+ const [status, setStatus] = useState(hasSuggestions ? 'pending' : undefined);
58
+ useEffect(() => setInputValue(value), [value]);
59
+
60
+ useEffect(() => {
61
+ if (validatemessage !== '') {
62
+ setStatus('error');
63
+ }
64
+ if (hasSuggestions) {
65
+ setStatus('pending');
66
+ } else if (!hasSuggestions && status !== 'success') {
67
+ setStatus(validatemessage !== '' ? 'error' : undefined);
68
+ }
69
+ }, [validatemessage, hasSuggestions]);
70
+
71
+ let displayComp = null;
72
+ if (displayMode) {
73
+ displayComp = urlFormatter(value, {
74
+ displayAs,
75
+ tableDisplayAs,
76
+ isTableFormatter,
77
+ altText,
78
+ altTextOfImage,
79
+ propaltTextOfImage,
80
+ urlLabelSelection,
81
+ urlLabel,
82
+ propUrlLabel,
83
+ widthSel,
84
+ customWidth
85
+ });
86
+ }
87
+
88
+
89
+
90
+ if (displayMode === 'LABELS_LEFT' || displayMode === 'DISPLAY_ONLY') {
91
+ if (isTableFormatter && formatter !== 'URL' && formatExists(formatter)) {
92
+ displayComp = textFormatter(formatter, value);
93
+ }
94
+ return displayMode === 'DISPLAY_ONLY' ? (
95
+ displayComp
96
+ ) : (
97
+ <StyledPegaDxilMyUrlWrapper>
98
+ <FieldValueList
99
+ variant={hideLabel ? 'stacked' : variant}
100
+ data-testid={testId}
101
+ fields={[{ id: '1', name: hideLabel ? '' : label, value: displayComp }]}
102
+ />
103
+ </StyledPegaDxilMyUrlWrapper>
104
+ );
105
+ }
106
+
107
+ if (displayMode === 'STACKED_LARGE_VAL') {
108
+ return (
109
+ <StyledPegaDxilMyUrlWrapper>
110
+ <FieldValueList
111
+ variant='stacked'
112
+ data-testid={testId}
113
+ fields={[
114
+ {
115
+ id: '2',
116
+ name: hideLabel ? '' : label,
117
+ value: (
118
+ <Text variant='h1' as='span'>
119
+ {displayComp}
120
+ </Text>
121
+ )
122
+ }
123
+ ]}
124
+ />
125
+ </StyledPegaDxilMyUrlWrapper>
126
+ );
127
+ }
128
+
129
+ const onResolveSuggestionHandler = (accepted) => {
130
+ suggestionsHandler(accepted, pConn, setStatus);
131
+ };
132
+
133
+ return (
134
+ <StyledPegaDxilMyUrlWrapper>
135
+ <Input
136
+ {...additionalProps}
137
+ type='url'
138
+ label={label}
139
+ labelHidden={hideLabel}
140
+ info={validatemessage || helperText}
141
+ status={status}
142
+ value={inputValue}
143
+ placeholder={placeholder}
144
+ disabled={disabled}
145
+ readOnly={readOnly}
146
+ required={required}
147
+ data-testid={testId}
148
+ onChange={(event) => {
149
+ if (hasSuggestions) {
150
+ setStatus(undefined);
151
+ }
152
+ setInputValue(event.target.value);
153
+ if (value !== event.target.value) {
154
+ handleEvent(actions, 'change', propName, event.target.value);
155
+ hasValueChange.current = true;
156
+ }
157
+ }}
158
+ onBlur={(event) => {
159
+ if (!value || hasValueChange.current) {
160
+ handleEvent(actions, 'blur', propName, event.target.value);
161
+ if (hasSuggestions) {
162
+ pConn.ignoreSuggestion();
163
+ }
164
+ hasValueChange.current = false;
165
+ }
166
+ }}
167
+ onFocus={actions.onFocus}
168
+ onResolveSuggestion={onResolveSuggestionHandler}
169
+ />
170
+ </StyledPegaDxilMyUrlWrapper>
171
+ );
172
+ }
173
+
174
+ PegaDxilMyUrl.defaultProps = {
175
+ value: '',
176
+ placeholder: '',
177
+ validatemessage: '',
178
+ helperText: '',
179
+ hideLabel: false,
180
+ disabled: false,
181
+ readOnly: false,
182
+ required: false,
183
+ testId: null,
184
+ displayMode: null,
185
+ additionalProps: {},
186
+ variant: 'inline',
187
+ formatter: '',
188
+ isTableFormatter: false,
189
+ displayAs: 'defaultURL',
190
+ widthSel: 'defaultWidth',
191
+ customWidth: null,
192
+ altText: 'constant',
193
+ altTextOfImage: '',
194
+ propaltTextOfImage: '',
195
+ urlLabel: '',
196
+ propUrlLabel: '',
197
+ urlLabelSelection: 'constant',
198
+ tableDisplayAs: 'link',
199
+ hasSuggestions: false
200
+ };
201
+
202
+ PegaDxilMyUrl.propTypes = {
203
+ value: PropTypes.string,
204
+ placeholder: PropTypes.string,
205
+ label: PropTypes.string.isRequired,
206
+ hideLabel: PropTypes.bool,
207
+ getPConnect: PropTypes.func.isRequired,
208
+ validatemessage: PropTypes.string,
209
+ helperText: PropTypes.string,
210
+ disabled: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
211
+ readOnly: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
212
+ required: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),
213
+ testId: PropTypes.string,
214
+ displayMode: PropTypes.string,
215
+ additionalProps: PropTypes.objectOf(PropTypes.any),
216
+ variant: PropTypes.string,
217
+ formatter: PropTypes.string,
218
+ isTableFormatter: PropTypes.bool,
219
+ displayAs: PropTypes.string,
220
+ widthSel: PropTypes.string,
221
+ customWidth: PropTypes.number,
222
+ altText: PropTypes.string,
223
+ altTextOfImage: PropTypes.string,
224
+ propaltTextOfImage: PropTypes.string,
225
+ urlLabel: PropTypes.string,
226
+ propUrlLabel: PropTypes.string,
227
+ urlLabelSelection: PropTypes.string,
228
+ tableDisplayAs: PropTypes.string,
229
+ hasSuggestions: PropTypes.bool
230
+ };
231
+
232
+ export default PegaDxilMyUrl;
@@ -0,0 +1,22 @@
1
+ export const configProps = {
2
+ value: '',
3
+ label: 'URL Sample',
4
+ placeholder: 'URL Placeholder',
5
+ helperText: 'URL Helper Text',
6
+ testId: 'url-12345678',
7
+ hasSuggestions: false
8
+ };
9
+
10
+ export const fieldMetadata = {
11
+ classID: 'DIXL-MediaCo-Work-NewService',
12
+ type: 'Text',
13
+ maxLength: 256,
14
+ displayAs: 'pxURL',
15
+ label: 'URL sample',
16
+ validateAs: 'pxIsValidURL'
17
+ };
18
+
19
+ export const stateProps = {
20
+ value: '.URLSample',
21
+ hasSuggestions: false
22
+ };
@@ -0,0 +1,14 @@
1
+ // utilizing theming, comment out, if want individual style
2
+ import styled from 'styled-components';
3
+ import { Configuration } from '@pega/cosmos-react-core';
4
+
5
+ export default styled(Configuration)``;
6
+
7
+ // individual style, comment out above, and uncomment here and add styles
8
+ // import styled, { css } from 'styled-components';
9
+ //
10
+ // export default styled.div(() => {
11
+ // return css`
12
+ // margin: 0px 0;
13
+ // `;
14
+ // });
@@ -0,0 +1,10 @@
1
+ /* eslint-disable import/prefer-default-export */
2
+ export const suggestionsHandler = (accepted, pConn, setStatus) => {
3
+ if (accepted) {
4
+ pConn.acceptSuggestion();
5
+ setStatus('success');
6
+ } else {
7
+ pConn.ignoreSuggestion();
8
+ setStatus(undefined);
9
+ }
10
+ };
@@ -0,0 +1,173 @@
1
+ import { useState, useRef, React} from "react";
2
+ import { EmailDisplay, PhoneDisplay, URLDisplay, Image, Button, Lightbox } from '@pega/cosmos-react-core';
3
+
4
+ export const formatExists = (formatterVal) => {
5
+ const formatterValues = [
6
+ "TextInput",
7
+ "WorkStatus",
8
+ "RichText",
9
+ "Email",
10
+ "Phone",
11
+ "URL",
12
+ "Operator"
13
+ ];
14
+ let isformatter = false;
15
+ if (formatterValues.includes(formatterVal)) {
16
+ isformatter = true;
17
+ }
18
+ return isformatter;
19
+ };
20
+
21
+ const urlLabelVal = (urlLabelSelection, btnVal, urlLabel, propUrlLabel) => {
22
+ if ((urlLabel !== '' || propUrlLabel !== '') && btnVal !== null) {
23
+ switch (urlLabelSelection) {
24
+ case 'constant': {
25
+ btnVal = urlLabel;
26
+ break;
27
+ }
28
+ case 'propertyRef': {
29
+ btnVal = propUrlLabel;
30
+ break;
31
+ }
32
+ // no default
33
+ }
34
+ }
35
+ return btnVal;
36
+ };
37
+
38
+ const isImage = (url) => /\.(jpg|jpeg|png|webp|avif|gif|svg)$/.test(url);
39
+
40
+ const TableImage = (imageProps) => {
41
+ const { value, altText, altTextOfImage, propaltTextOfImage, urlLabelSelection, urlLabel, propUrlLabel } = imageProps;
42
+ const demoButtonRef = useRef(null);
43
+ let imageDisplayComp = null;
44
+ const [images, setImages] = useState(null);
45
+ const imgDescription = {
46
+ id: 'url',
47
+ name: urlLabelSelection === 'constant' ? urlLabel : propUrlLabel,
48
+ description: altText === 'constant' ? altTextOfImage : propaltTextOfImage,
49
+ src: value
50
+ };
51
+ const onClick = () => {
52
+ setImages([imgDescription]);
53
+ };
54
+ const onItemDownload = async (id) => {
55
+ const a = document.createElement('a');
56
+ a.href = await fetch(images[0].src)
57
+ .then((response) => {
58
+ return response.blob();
59
+ })
60
+ .then((blob) => {
61
+ return URL.createObjectURL(blob);
62
+ });
63
+ a.download = images?.find((image) => image.id === id)?.name ?? id;
64
+ document.body.appendChild(a);
65
+ a.click();
66
+ document.body.removeChild(a);
67
+ };
68
+ let btnVal = value;
69
+ btnVal = urlLabelVal(urlLabelSelection, btnVal, urlLabel, propUrlLabel);
70
+ imageDisplayComp = (
71
+ <React.Fragment>
72
+ {btnVal !== null && (
73
+ <Button ref={demoButtonRef} variant='link' compact={false} onClick={onClick} autoFocus>
74
+ {btnVal}
75
+ </Button>
76
+ )}
77
+ {images && (
78
+ <Lightbox
79
+ items={images}
80
+ cycle={false}
81
+ onAfterClose={() => {
82
+ setImages(null);
83
+ demoButtonRef.current?.focus();
84
+ }}
85
+ onItemDownload={isImage(images[0].src) ? onItemDownload : undefined}
86
+ />
87
+ )}
88
+ </React.Fragment>
89
+ );
90
+ return imageDisplayComp;
91
+ };
92
+
93
+ export const textFormatter = (formatter,value) => {
94
+ let displayComponent = null;
95
+ switch(formatter){
96
+ case "TextInput" : {
97
+ displayComponent = value;
98
+ break;
99
+ }
100
+ case "Email" : {
101
+ displayComponent = (<EmailDisplay value={value} displayText={value} variant="link" />);
102
+ break;
103
+ }
104
+ case "Phone" : {
105
+ displayComponent = (<PhoneDisplay value={value} variant="link" />);
106
+ break;
107
+ }
108
+ case "URL" : {
109
+ displayComponent = (<URLDisplay target="_blank" value={value} displayText={value} variant="link" />);
110
+ break;
111
+ }
112
+ // no default
113
+ }
114
+ return displayComponent;
115
+ };
116
+
117
+ /**
118
+ * Returns a URL display component based on the options
119
+ * @function urlFormatter
120
+ * @param {string} value value
121
+ * @param {object} options options for formatting
122
+ * { displayAs,tableDisplayAs,isTableFormatter,altText,altTextOfImage,propaltTextOfImage,urlLabelSelection, urlLabel,propUrlLabel, widthSel, customWidth}
123
+ */
124
+ export const urlFormatter = (value, options) => {
125
+ const {
126
+ displayAs,
127
+ tableDisplayAs,
128
+ isTableFormatter,
129
+ altText,
130
+ altTextOfImage,
131
+ propaltTextOfImage,
132
+ urlLabelSelection,
133
+ urlLabel,
134
+ propUrlLabel,
135
+ widthSel,
136
+ customWidth
137
+ } = options;
138
+
139
+ let urlFormatComp = null;
140
+ if (
141
+ (displayAs === 'labelText' || (isTableFormatter && tableDisplayAs === 'link')) &&
142
+ (urlLabel !== '' || propUrlLabel !== '')
143
+ ) {
144
+ urlFormatComp = (
145
+ <URLDisplay
146
+ target='_blank'
147
+ value={value}
148
+ displayText={urlLabelSelection === 'constant' ? urlLabel : propUrlLabel}
149
+ variant='link'
150
+ />
151
+ );
152
+ } else if ((displayAs === 'Image' || tableDisplayAs === 'Image') && !!value) {
153
+ if (isTableFormatter) {
154
+ urlFormatComp = TableImage({
155
+ value,
156
+ altText,
157
+ altTextOfImage,
158
+ propaltTextOfImage,
159
+ urlLabelSelection,
160
+ urlLabel,
161
+ propUrlLabel
162
+ });
163
+ } else {
164
+ const width = widthSel === 'widthpx' ? customWidth : null;
165
+ urlFormatComp = (
166
+ <Image src={value} width={width} alt={altText === 'constant' ? altTextOfImage : propaltTextOfImage} />
167
+ );
168
+ }
169
+ } else {
170
+ urlFormatComp = <URLDisplay target='_blank' value={value} displayText={value} variant='link' />;
171
+ }
172
+ return urlFormatComp;
173
+ };
@@ -0,0 +1,157 @@
1
+ // import { exec } from 'child_process';
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ const util = require('node:util');
5
+ const exec = util.promisify(require('node:child_process').exec);
6
+
7
+ describe('createAll list and deleteAll local', () => {
8
+ it('initial delete/cleanup', async () => {
9
+ const script = `npm run deleteAll Local Y`;
10
+
11
+ const { stdout, stderr } = await exec(script);
12
+ // console.log(stdout);
13
+ expect(stdout).not.toBeNull();
14
+ expect(stderr).not.toBeNull();
15
+ });
16
+
17
+ it('npm run createAll Local', async () => {
18
+ const script = `npm run createAll "My" 0.0.1 DXIL "" Pega`;
19
+
20
+ const { stdout, stderr } = await exec(script);
21
+ // console.log(stdout);
22
+ expect(stdout).not.toBeNull();
23
+ expect(stderr).not.toBeNull();
24
+
25
+ // want message to contain component name
26
+ expect(stdout).toContain('created Pega_DXIL_My');
27
+
28
+ // don't want message with already exists
29
+ expect(stdout).not.toContain('already exists');
30
+
31
+ // check to see file exists
32
+
33
+ // pick one
34
+ const newFileName = 'Pega_DXIL_MyBoolean';
35
+
36
+ // const fileDir = path.resolve(`src/components/${newFileName}`);
37
+ const createFile = path.resolve(path.join(`src/components/${newFileName}`, 'index.jsx'));
38
+ const doesExist = fs.existsSync(createFile);
39
+ expect(doesExist).toBeTruthy();
40
+
41
+ // if (doesExist) {
42
+ // // remove it
43
+ // fs.rmdirSync(fileDir, { recursive: true });
44
+ // }
45
+ }, 10000);
46
+
47
+ it('npm run list Local', async () => {
48
+ const script = 'npm run list Local';
49
+ const { stdout, stderr } = await exec(script);
50
+
51
+ expect(stderr).not.toBeNull();
52
+
53
+ // console.log(stdout);
54
+ expect(stdout).not.toBeNull();
55
+ expect(stdout).toContain('Pega_DXIL_MyText');
56
+ expect(stdout).toContain('Pega_DXIL_MyTextInput');
57
+ expect(stdout).toContain('Pega_DXIL_MyParagraph');
58
+ expect(stdout).toContain('Pega_DXIL_MyEmail');
59
+ expect(stdout).toContain('Pega_DXIL_MyPhone');
60
+ expect(stdout).toContain('Pega_DXIL_MyURL');
61
+ expect(stdout).toContain('Pega_DXIL_MyInteger');
62
+ expect(stdout).toContain('Pega_DXIL_MyDecimal');
63
+ expect(stdout).toContain('Pega_DXIL_MyCurrency');
64
+ expect(stdout).toContain('Pega_DXIL_MyPercentage');
65
+ expect(stdout).toContain('Pega_DXIL_MyBoolean');
66
+ expect(stdout).toContain('Pega_DXIL_MyDate');
67
+ expect(stdout).toContain('Pega_DXIL_MyDateTime');
68
+ expect(stdout).toContain('Pega_DXIL_MyTimeOfDay');
69
+ expect(stdout).toContain('Pega_DXIL_MyPicklist');
70
+ expect(stdout).toContain('Pega_DXIL_MyDetails');
71
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnDetails');
72
+ expect(stdout).toContain('Pega_DXIL_MyForm');
73
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnForm');
74
+ expect(stdout).toContain('Pega_DXIL_MyPage');
75
+ expect(stdout).toContain('Pega_DXIL_MyCaseWidget');
76
+ expect(stdout).toContain('Pega_DXIL_MyPageWidget');
77
+ expect(stdout).toContain('Pega_DXIL_MyPageCaseWidget');
78
+ // done();
79
+ }, 10000);
80
+
81
+ it('compare created to default', async () => {
82
+ const compList = [
83
+ 'Pega_DXIL_MyText',
84
+ 'Pega_DXIL_MyTextInput',
85
+ 'Pega_DXIL_MyParagraph',
86
+ 'Pega_DXIL_MyEmail',
87
+ 'Pega_DXIL_MyPhone',
88
+ 'Pega_DXIL_MyURL',
89
+ 'Pega_DXIL_MyInteger',
90
+ 'Pega_DXIL_MyDecimal',
91
+ 'Pega_DXIL_MyCurrency',
92
+ 'Pega_DXIL_MyPercentage',
93
+ 'Pega_DXIL_MyBoolean',
94
+ 'Pega_DXIL_MyDate',
95
+ 'Pega_DXIL_MyDateTime',
96
+ 'Pega_DXIL_MyTimeOfDay',
97
+ 'Pega_DXIL_MyPicklist',
98
+ 'Pega_DXIL_MyDetails',
99
+ 'Pega_DXIL_MyTwoColumnDetails',
100
+ 'Pega_DXIL_MyForm',
101
+ 'Pega_DXIL_MyTwoColumnForm',
102
+ 'Pega_DXIL_MyPage',
103
+ 'Pega_DXIL_MyCaseWidget',
104
+ 'Pega_DXIL_MyPageWidget',
105
+ 'Pega_DXIL_MyPageCaseWidget'
106
+ ];
107
+
108
+ compList.forEach(component => {
109
+ const componentDir = path.resolve(`src/components/${component}`);
110
+ const assetDir = path.resolve(`test/assets/components/createAll/${component}`);
111
+
112
+ // get files of directory
113
+ const componentFiles = fs.readdirSync(componentDir);
114
+
115
+ // get files of assets
116
+ // const assetFiles = fs.readdirSync(assetDir);
117
+
118
+ // compare
119
+ componentFiles.forEach(file => {
120
+ const componentFilePath = path.join(componentDir, file);
121
+ const assetFilePath = path.join(assetDir, file);
122
+
123
+ const componentFileData = fs.readFileSync(componentFilePath, { encoding: 'utf8' });
124
+ const assetFileData = fs.readFileSync(assetFilePath, { encoding: 'utf8' });
125
+
126
+ expect(componentFileData).toEqual(assetFileData);
127
+ });
128
+ });
129
+ }, 10000);
130
+
131
+ it('npm run deleteAll Local', async () => {
132
+ const script = `npm run deleteAll Local Y`;
133
+
134
+ const { stdout, stderr } = await exec(script);
135
+ // console.log(stdout);
136
+ expect(stdout).not.toBeNull();
137
+ expect(stderr).not.toBeNull();
138
+
139
+ // pick one
140
+ const newFileName = 'Pega_DXIL_MyBoolean';
141
+
142
+ // want message to contain component name
143
+ expect(stdout).toContain(newFileName);
144
+
145
+ // message deleted
146
+ expect(stdout).toContain('is deleted');
147
+
148
+ // check to see file exists
149
+
150
+ // I think run through a map of them here
151
+
152
+ // const fileDir = path.resolve(`src/components/${newFileName}`);
153
+ // const createFile = path.resolve(path.join(`src/components/${newFileName}`, 'index.jsx'));
154
+ // const doesExist = fs.existsSync(createFile);
155
+ // expect(doesExist).not.toBeTruthy();
156
+ }, 10000);
157
+ });