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