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