@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 fs from 'fs';
|
|
3
|
-
import { promisify } from 'util';
|
|
4
3
|
import { join } from 'path';
|
|
5
4
|
|
|
6
5
|
import inquirer from 'inquirer';
|
|
7
|
-
import ncp from 'ncp';
|
|
8
6
|
import chalk from 'chalk';
|
|
9
7
|
|
|
10
8
|
import {
|
|
@@ -15,7 +13,7 @@ import {
|
|
|
15
13
|
addDebugLog,
|
|
16
14
|
checkLibraryAndArchives,
|
|
17
15
|
getConfigDefaults,
|
|
18
|
-
getLibraryBased
|
|
16
|
+
getLibraryBased,
|
|
19
17
|
} from '../../util.js';
|
|
20
18
|
import { TASKS_CONFIG_JSON_FILENAME, COMPONENTS_DIRECTORY_PATH, COMPONENTS_PATH } from '../../constants.js';
|
|
21
19
|
|
|
@@ -26,8 +24,6 @@ const pegaConfigJsonPath = join(currentDirectory, TASKS_CONFIG_JSON_FILENAME);
|
|
|
26
24
|
import { convertIntoPascalCase, getComponentDirectoryPath, getPegaConfig, sanitize, validateSemver } from '../../util.js';
|
|
27
25
|
import { COMPONENT_SCHEMA } from '../../constants.js';
|
|
28
26
|
|
|
29
|
-
const copy = promisify(ncp);
|
|
30
|
-
|
|
31
27
|
export const updateConfig = async (
|
|
32
28
|
{
|
|
33
29
|
oldComponentKey,
|
|
@@ -39,10 +35,10 @@ export const updateConfig = async (
|
|
|
39
35
|
version,
|
|
40
36
|
description,
|
|
41
37
|
allowedApplications,
|
|
42
|
-
targetDirectory
|
|
38
|
+
targetDirectory,
|
|
43
39
|
},
|
|
44
40
|
options,
|
|
45
|
-
onlyCompanion = false
|
|
41
|
+
onlyCompanion = false,
|
|
46
42
|
) => {
|
|
47
43
|
addDebugLog('updateConfig', `oldComponentKey: ${oldComponentKey}, newComponentKey: ${newComponentKey}`, '');
|
|
48
44
|
|
|
@@ -78,7 +74,7 @@ export const updateFile = async (fileName, oldComponentKeyPC, newComponentKeyPC,
|
|
|
78
74
|
addDebugLog(
|
|
79
75
|
'updateFile',
|
|
80
76
|
`fileName: ${fileName}, oldComponentKeyPC: ${oldComponentKeyPC}, newComponentKeyPC: ${newComponentKeyPC}, targetDirectory: ${targetDirectory}`,
|
|
81
|
-
''
|
|
77
|
+
'',
|
|
82
78
|
);
|
|
83
79
|
|
|
84
80
|
let fileData = fs.readFileSync(join(targetDirectory, '/', fileName), { encoding: 'utf8' });
|
|
@@ -93,7 +89,7 @@ export const updateFile = async (fileName, oldComponentKeyPC, newComponentKeyPC,
|
|
|
93
89
|
export const renameComponent = async (
|
|
94
90
|
{ library, organization, componentKey, componentName, componentLabel, version, description, allowedApplications },
|
|
95
91
|
options,
|
|
96
|
-
onlyCompanion = false
|
|
92
|
+
onlyCompanion = false,
|
|
97
93
|
) => {
|
|
98
94
|
addDebugLog('renameComponent', `library: ${library}, organization: ${organization}, componentKey: ${componentKey}`, '');
|
|
99
95
|
|
|
@@ -132,9 +128,9 @@ export const renameComponent = async (
|
|
|
132
128
|
description,
|
|
133
129
|
allowedApplications,
|
|
134
130
|
organization,
|
|
135
|
-
targetDirectory
|
|
131
|
+
targetDirectory,
|
|
136
132
|
},
|
|
137
|
-
options
|
|
133
|
+
options,
|
|
138
134
|
);
|
|
139
135
|
} else {
|
|
140
136
|
await updateFile(fileName, oldComponentKeyPC, newComponentKeyPC, targetDirectory);
|
|
@@ -144,7 +140,7 @@ export const renameComponent = async (
|
|
|
144
140
|
console.log(chalk.green(`Component ${oldComponentKey} renamed to ${newComponentKey}`));
|
|
145
141
|
};
|
|
146
142
|
|
|
147
|
-
export default async options => {
|
|
143
|
+
export default async (options) => {
|
|
148
144
|
await showVersion();
|
|
149
145
|
await checkLibraryAndArchives();
|
|
150
146
|
|
|
@@ -190,9 +186,9 @@ export default async options => {
|
|
|
190
186
|
version,
|
|
191
187
|
description,
|
|
192
188
|
allowedApplications,
|
|
193
|
-
organization
|
|
189
|
+
organization,
|
|
194
190
|
},
|
|
195
|
-
options
|
|
191
|
+
options,
|
|
196
192
|
);
|
|
197
193
|
} else {
|
|
198
194
|
// VS Code plugin would send in the component
|
|
@@ -208,12 +204,12 @@ export default async options => {
|
|
|
208
204
|
pageSize: 15,
|
|
209
205
|
message: 'Select component to rename',
|
|
210
206
|
choices: localComponents,
|
|
211
|
-
when: () => !paramComponentKey
|
|
207
|
+
when: () => !paramComponentKey,
|
|
212
208
|
},
|
|
213
209
|
{
|
|
214
210
|
name: 'componentName',
|
|
215
211
|
message: 'Enter new component name (required, no spaces)',
|
|
216
|
-
validate: value => {
|
|
212
|
+
validate: (value) => {
|
|
217
213
|
/* value should not be empty
|
|
218
214
|
It should not have spaces
|
|
219
215
|
It should not start with a number
|
|
@@ -223,47 +219,47 @@ export default async options => {
|
|
|
223
219
|
return true;
|
|
224
220
|
}
|
|
225
221
|
return 'Only alphanumeric values are allowed, starting with alphabets';
|
|
226
|
-
}
|
|
222
|
+
},
|
|
227
223
|
},
|
|
228
224
|
{
|
|
229
225
|
name: 'componentLabel',
|
|
230
226
|
message: 'Enter new component label for display (required)',
|
|
231
|
-
validate: value => {
|
|
227
|
+
validate: (value) => {
|
|
232
228
|
if (value) {
|
|
233
229
|
return true;
|
|
234
230
|
}
|
|
235
231
|
return 'Please provide value for label';
|
|
236
|
-
}
|
|
232
|
+
},
|
|
237
233
|
},
|
|
238
234
|
{
|
|
239
235
|
name: 'organization',
|
|
240
236
|
message: 'Enter new component organization',
|
|
241
237
|
default: organization,
|
|
242
|
-
validate: value => {
|
|
238
|
+
validate: (value) => {
|
|
243
239
|
if (value) {
|
|
244
240
|
return true;
|
|
245
241
|
}
|
|
246
242
|
return 'Please provide value for organization';
|
|
247
243
|
},
|
|
248
|
-
when: () => !isLibraryBased
|
|
244
|
+
when: () => !isLibraryBased,
|
|
249
245
|
},
|
|
250
246
|
{
|
|
251
247
|
name: 'version',
|
|
252
248
|
message: 'Enter new component version',
|
|
253
249
|
default: componentDefaults.version,
|
|
254
|
-
validate: value => {
|
|
250
|
+
validate: (value) => {
|
|
255
251
|
if (validateSemver(value)) {
|
|
256
252
|
return true;
|
|
257
253
|
}
|
|
258
254
|
return 'Please provide semver compatible version e.g 0.0.1';
|
|
259
255
|
},
|
|
260
|
-
when: () => !isLibraryBased
|
|
256
|
+
when: () => !isLibraryBased,
|
|
261
257
|
},
|
|
262
258
|
{
|
|
263
259
|
name: 'library',
|
|
264
260
|
message: 'Enter new library name (required)',
|
|
265
261
|
default: componentDefaults.library,
|
|
266
|
-
validate: value => {
|
|
262
|
+
validate: (value) => {
|
|
267
263
|
/* value should not be empty
|
|
268
264
|
It should not have spaces
|
|
269
265
|
It should not start with a number
|
|
@@ -274,7 +270,7 @@ export default async options => {
|
|
|
274
270
|
}
|
|
275
271
|
return 'Only alphanumeric values are allowed, starting with alphabets';
|
|
276
272
|
},
|
|
277
|
-
when: () => !isLibraryBased
|
|
273
|
+
when: () => !isLibraryBased,
|
|
278
274
|
},
|
|
279
275
|
// {
|
|
280
276
|
// name: 'allowedApplications',
|
|
@@ -285,13 +281,13 @@ export default async options => {
|
|
|
285
281
|
{
|
|
286
282
|
name: 'description',
|
|
287
283
|
message: 'Enter new description for the component (defaults to new label)',
|
|
288
|
-
default: componentDefaults.description
|
|
284
|
+
default: componentDefaults.description,
|
|
289
285
|
/* if left blank and no defaults, mustache will use componentLabel, because description is used in app studio and
|
|
290
286
|
shouldn't be blank */
|
|
291
|
-
}
|
|
287
|
+
},
|
|
292
288
|
];
|
|
293
289
|
|
|
294
|
-
await inquirer.prompt(questions).then(async answers => {
|
|
290
|
+
await inquirer.prompt(questions).then(async (answers) => {
|
|
295
291
|
const { componentKey = paramComponentKey, componentName, componentLabel, description } = answers;
|
|
296
292
|
let { organization, library, version, allowedApplications } = answers;
|
|
297
293
|
|
|
@@ -313,9 +309,9 @@ export default async options => {
|
|
|
313
309
|
version,
|
|
314
310
|
description,
|
|
315
311
|
allowedApplications,
|
|
316
|
-
organization
|
|
312
|
+
organization,
|
|
317
313
|
},
|
|
318
|
-
options
|
|
314
|
+
options,
|
|
319
315
|
);
|
|
320
316
|
});
|
|
321
317
|
}
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
|
-
import { promisify } from 'util';
|
|
4
3
|
import { join } from 'path';
|
|
5
4
|
|
|
6
5
|
import inquirer from 'inquirer';
|
|
7
|
-
import ncp from 'ncp';
|
|
8
6
|
import chalk from 'chalk';
|
|
9
7
|
|
|
10
8
|
import {
|
|
@@ -20,7 +18,7 @@ import {
|
|
|
20
18
|
addDebugLog,
|
|
21
19
|
checkLibraryAndArchives,
|
|
22
20
|
getConfigDefaults,
|
|
23
|
-
getLibraryBasedCL
|
|
21
|
+
getLibraryBasedCL,
|
|
24
22
|
} from '../../util.js';
|
|
25
23
|
import { TASKS_CONFIG_JSON_FILENAME, COMPONENTS_DIRECTORY_PATH, COMPONENTS_PATH } from '../../constants.js';
|
|
26
24
|
|
|
@@ -32,8 +30,6 @@ const pegaConfigJsonPath = join(currentDirectory, TASKS_CONFIG_JSON_FILENAME);
|
|
|
32
30
|
|
|
33
31
|
import { convertIntoPascalCase, getComponentDirectoryPath, getComponents, sanitize } from '../../util.js';
|
|
34
32
|
|
|
35
|
-
const copy = promisify(ncp);
|
|
36
|
-
|
|
37
33
|
export const updateConfig = async (
|
|
38
34
|
{
|
|
39
35
|
oldComponentKey,
|
|
@@ -45,10 +41,10 @@ export const updateConfig = async (
|
|
|
45
41
|
version,
|
|
46
42
|
description,
|
|
47
43
|
allowedApplications,
|
|
48
|
-
targetDirectory
|
|
44
|
+
targetDirectory,
|
|
49
45
|
},
|
|
50
46
|
options,
|
|
51
|
-
onlyCompanion = false
|
|
47
|
+
onlyCompanion = false,
|
|
52
48
|
) => {
|
|
53
49
|
addDebugLog('updateConfig', '', '');
|
|
54
50
|
|
|
@@ -68,7 +64,7 @@ export const updateConfig = async (
|
|
|
68
64
|
// stringify "4", makes the json string look like JSON in the file, formatted instead of a single line
|
|
69
65
|
fs.writeFileSync(join(targetDirectory, '/config.json'), JSON.stringify(configData, null, 4), {
|
|
70
66
|
encoding: 'utf8',
|
|
71
|
-
flag: 'w'
|
|
67
|
+
flag: 'w',
|
|
72
68
|
});
|
|
73
69
|
};
|
|
74
70
|
|
|
@@ -98,7 +94,7 @@ export const renameLibrary = async ({ library, organization }, options) => {
|
|
|
98
94
|
|
|
99
95
|
if (tokenAndStaticServer.C11NB2S === undefined) {
|
|
100
96
|
console.log(
|
|
101
|
-
chalk.redBright('Need to authenticate, missing services token.\nBuilding a library requires authentication to acquire a token to build.')
|
|
97
|
+
chalk.redBright('Need to authenticate, missing services token.\nBuilding a library requires authentication to acquire a token to build.'),
|
|
102
98
|
);
|
|
103
99
|
process.exit(1);
|
|
104
100
|
}
|
|
@@ -145,9 +141,9 @@ export const renameLibrary = async ({ library, organization }, options) => {
|
|
|
145
141
|
componentLabel,
|
|
146
142
|
version,
|
|
147
143
|
description,
|
|
148
|
-
allowedApplications
|
|
144
|
+
allowedApplications,
|
|
149
145
|
},
|
|
150
|
-
options
|
|
146
|
+
options,
|
|
151
147
|
);
|
|
152
148
|
}
|
|
153
149
|
|
|
@@ -171,7 +167,7 @@ export const renameLibrary = async ({ library, organization }, options) => {
|
|
|
171
167
|
export const renameComponent = async (
|
|
172
168
|
{ library, organization, componentKey, componentName, componentLabel, version, description, allowedApplications },
|
|
173
169
|
options,
|
|
174
|
-
onlyCompanion = false
|
|
170
|
+
onlyCompanion = false,
|
|
175
171
|
) => {
|
|
176
172
|
addDebugLog('renameComponent', `library: ${library}, organization: ${organization}, componentKey: ${componentKey}`, '');
|
|
177
173
|
|
|
@@ -208,9 +204,9 @@ export const renameComponent = async (
|
|
|
208
204
|
description,
|
|
209
205
|
allowedApplications,
|
|
210
206
|
organization,
|
|
211
|
-
targetDirectory
|
|
207
|
+
targetDirectory,
|
|
212
208
|
},
|
|
213
|
-
options
|
|
209
|
+
options,
|
|
214
210
|
);
|
|
215
211
|
} else {
|
|
216
212
|
await updateFile(fileName, oldComponentKeyPC, newComponentKeyPC, targetDirectory);
|
|
@@ -220,7 +216,7 @@ export const renameComponent = async (
|
|
|
220
216
|
console.log(chalk.green(`Component ${oldComponentKey} renamed to ${newComponentKey}`));
|
|
221
217
|
};
|
|
222
218
|
|
|
223
|
-
export default async options => {
|
|
219
|
+
export default async (options) => {
|
|
224
220
|
const isLibraryBased = getLibraryBased();
|
|
225
221
|
if (!isLibraryBased) {
|
|
226
222
|
console.log(`Command only supported for ${chalk.bold.green('library mode')} components.`);
|
|
@@ -259,9 +255,9 @@ export default async options => {
|
|
|
259
255
|
await renameLibrary(
|
|
260
256
|
{
|
|
261
257
|
library,
|
|
262
|
-
organization
|
|
258
|
+
organization,
|
|
263
259
|
},
|
|
264
|
-
options
|
|
260
|
+
options,
|
|
265
261
|
);
|
|
266
262
|
} else {
|
|
267
263
|
const questions = [
|
|
@@ -269,18 +265,18 @@ export default async options => {
|
|
|
269
265
|
name: 'organization',
|
|
270
266
|
message: 'Enter new component organization',
|
|
271
267
|
default: organization,
|
|
272
|
-
validate: value => {
|
|
268
|
+
validate: (value) => {
|
|
273
269
|
if (value) {
|
|
274
270
|
return true;
|
|
275
271
|
}
|
|
276
272
|
return 'Please provide value for organization';
|
|
277
|
-
}
|
|
273
|
+
},
|
|
278
274
|
},
|
|
279
275
|
{
|
|
280
276
|
name: 'library',
|
|
281
277
|
message: 'Enter new library name',
|
|
282
278
|
default: componentDefaults.library,
|
|
283
|
-
validate: value => {
|
|
279
|
+
validate: (value) => {
|
|
284
280
|
/* value should not be empty
|
|
285
281
|
It should not have spaces
|
|
286
282
|
It should not start with a number
|
|
@@ -290,19 +286,19 @@ export default async options => {
|
|
|
290
286
|
return true;
|
|
291
287
|
}
|
|
292
288
|
return 'Only alphanumeric values are allowed, starting with alphabets';
|
|
293
|
-
}
|
|
294
|
-
}
|
|
289
|
+
},
|
|
290
|
+
},
|
|
295
291
|
];
|
|
296
292
|
|
|
297
|
-
await inquirer.prompt(questions).then(async answers => {
|
|
293
|
+
await inquirer.prompt(questions).then(async (answers) => {
|
|
298
294
|
const { organization, library } = answers;
|
|
299
295
|
|
|
300
296
|
await renameLibrary(
|
|
301
297
|
{
|
|
302
298
|
library,
|
|
303
|
-
organization
|
|
299
|
+
organization,
|
|
304
300
|
},
|
|
305
|
-
options
|
|
301
|
+
options,
|
|
306
302
|
);
|
|
307
303
|
});
|
|
308
304
|
}
|
|
@@ -13,12 +13,12 @@ import {
|
|
|
13
13
|
forceDefaultsUpdate,
|
|
14
14
|
getUseInputConfig,
|
|
15
15
|
getInputConfigForCommand,
|
|
16
|
-
convertYNToBoolean
|
|
16
|
+
convertYNToBoolean,
|
|
17
17
|
} from '../../util.js';
|
|
18
18
|
|
|
19
19
|
import { showCurrentStatus } from '../show-status/index.js';
|
|
20
20
|
|
|
21
|
-
export default async options => {
|
|
21
|
+
export default async (options) => {
|
|
22
22
|
await showVersion();
|
|
23
23
|
await checkLibraryAndArchives();
|
|
24
24
|
const useInputConfig = getUseInputConfig();
|
|
@@ -59,8 +59,8 @@ export default async options => {
|
|
|
59
59
|
name: 'confirmRestore',
|
|
60
60
|
type: 'confirm',
|
|
61
61
|
message: `Restoring ${chalk.bold.green(`${confDef.displayLibVersion}`)} from local storage, proceed ?`,
|
|
62
|
-
default: true
|
|
63
|
-
}
|
|
62
|
+
default: true,
|
|
63
|
+
},
|
|
64
64
|
]);
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -73,13 +73,13 @@ export default async options => {
|
|
|
73
73
|
title: `Restoring ${confDef.displayLibVersion}`,
|
|
74
74
|
task: async () => {
|
|
75
75
|
await restoreFromArchive(switchToFileName, confDef.currentOrgLib, confDef.version);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
78
|
],
|
|
79
|
-
{ concurrent: false, exitOnError: true }
|
|
79
|
+
{ concurrent: false, exitOnError: true },
|
|
80
80
|
);
|
|
81
81
|
|
|
82
|
-
await tasks.run().catch(err => {
|
|
82
|
+
await tasks.run().catch((err) => {
|
|
83
83
|
console.log(chalk.bold.red(err.toString()));
|
|
84
84
|
addDebugLog('restoreComponent', '', '-');
|
|
85
85
|
process.exit(1);
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import fs from 'fs';
|
|
3
|
-
import { promisify } from 'util';
|
|
4
3
|
import { join } from 'path';
|
|
5
4
|
|
|
6
5
|
import inquirer from 'inquirer';
|
|
7
|
-
import ncp from 'ncp';
|
|
8
6
|
import chalk from 'chalk';
|
|
9
7
|
|
|
10
8
|
import { restoreTopLevelConfigFilesFromTemplate, restoreDependenciesFromTemplate, getLibraryBased, showVersion, addDebugLog } from '../../util.js';
|
|
11
9
|
|
|
12
|
-
export default async options => {
|
|
10
|
+
export default async (options) => {
|
|
13
11
|
addDebugLog('restoreConfig', '', '+');
|
|
14
12
|
const isLibraryBased = getLibraryBased();
|
|
15
13
|
if (!isLibraryBased) {
|
|
@@ -24,8 +22,8 @@ export default async options => {
|
|
|
24
22
|
name: 'restoreDev',
|
|
25
23
|
type: 'confirm',
|
|
26
24
|
message: 'Also restore package dependencies/devDependencies ?',
|
|
27
|
-
default: false
|
|
28
|
-
}
|
|
25
|
+
default: false,
|
|
26
|
+
},
|
|
29
27
|
]);
|
|
30
28
|
|
|
31
29
|
await restoreTopLevelConfigFilesFromTemplate(false);
|
|
@@ -12,11 +12,11 @@ import {
|
|
|
12
12
|
checkLibraryAndArchives,
|
|
13
13
|
getUseInputConfig,
|
|
14
14
|
getInputConfigForCommand,
|
|
15
|
-
forceDefaultsUpdate
|
|
15
|
+
forceDefaultsUpdate,
|
|
16
16
|
} from '../../util.js';
|
|
17
17
|
import { showCurrentStatus } from '../show-status/index.js';
|
|
18
18
|
|
|
19
|
-
export const updateAllComponentsConfig = async newVersion => {
|
|
19
|
+
export const updateAllComponentsConfig = async (newVersion) => {
|
|
20
20
|
addDebugLog('updateAllComponentsConfig', `newVersion: ${newVersion}`, '');
|
|
21
21
|
const componentList = await getComponents();
|
|
22
22
|
const orgLib = getConfigDefaults();
|
|
@@ -29,7 +29,7 @@ export const updateAllComponentsConfig = async newVersion => {
|
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
export const setPermVersion = async isPerm => {
|
|
32
|
+
export const setPermVersion = async (isPerm) => {
|
|
33
33
|
addDebugLog('setPermVersion', `isPerm: ${isPerm}`, '');
|
|
34
34
|
const configDefaults = await getConfigDefaults();
|
|
35
35
|
const devBuild = !isPerm;
|
|
@@ -72,8 +72,8 @@ export const setPermanent = async (inputYN = '') => {
|
|
|
72
72
|
name: 'makePerm',
|
|
73
73
|
type: 'confirm',
|
|
74
74
|
message: `Make ${chalk.green(`${configDefaults.displayLibVersion}`)} ${chalk.yellow('PERMANENT')} ?`,
|
|
75
|
-
default: false
|
|
76
|
-
}
|
|
75
|
+
default: false,
|
|
76
|
+
},
|
|
77
77
|
]);
|
|
78
78
|
|
|
79
79
|
if (makePermAnswer.makePerm) {
|
|
@@ -94,8 +94,8 @@ export const setPermanent = async (inputYN = '') => {
|
|
|
94
94
|
name: 'makeNonPerm',
|
|
95
95
|
type: 'confirm',
|
|
96
96
|
message: `Make this library/version ${chalk.yellow('NON PERMANENT')} ?`,
|
|
97
|
-
default: true
|
|
98
|
-
}
|
|
97
|
+
default: true,
|
|
98
|
+
},
|
|
99
99
|
]);
|
|
100
100
|
|
|
101
101
|
if (makeNonPermAnswer.makeNonPerm) {
|
|
@@ -109,7 +109,7 @@ export const setPermanent = async (inputYN = '') => {
|
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
|
|
112
|
-
export default async options => {
|
|
112
|
+
export default async (options) => {
|
|
113
113
|
const isLibraryBased = getLibraryBased();
|
|
114
114
|
const useInputConfig = getUseInputConfig();
|
|
115
115
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import { showVersion, getLibraryBased, getLibraryBasedCL } from '../../util.js';
|
|
2
|
+
import { showVersion, getLibraryBased, getLibraryBasedCL, getConfigDefaults, getComponents } from '../../util.js';
|
|
3
3
|
|
|
4
4
|
export const showCurrentStatus = async () => {
|
|
5
5
|
const configDefaults = await getConfigDefaults();
|
|
@@ -39,6 +39,10 @@ export const showHelpV1 = () => {
|
|
|
39
39
|
console.log('');
|
|
40
40
|
console.log(`${chalk.cyan('npm run startStorybook ')}\tstorybook components for testing`);
|
|
41
41
|
console.log(`${chalk.cyan('npm run test')}\t\t\trun component unit tests`);
|
|
42
|
+
console.log(
|
|
43
|
+
`${chalk.cyan('npm run enableAi ')}\tturn on AI-assisted development (skills and rules for Copilot, Claude Code, Cursor, Codex, Gemini)`,
|
|
44
|
+
);
|
|
45
|
+
console.log(`${chalk.cyan('npm run disableAi ')}\tturn it off again (add -- --yes to skip the confirmation)`);
|
|
42
46
|
|
|
43
47
|
console.log(`\n${chalk.underline(`Local and Server (needs authentication)`)}`);
|
|
44
48
|
console.log(`${chalk.cyan('npm run list ')}\tget list of components`);
|
|
@@ -52,7 +56,7 @@ export const showHelpV1 = () => {
|
|
|
52
56
|
console.log('');
|
|
53
57
|
console.log(`\n${chalk.underline(`Notes`)}`);
|
|
54
58
|
console.log(
|
|
55
|
-
`${chalk.yellow('>> By choosing to create and use custom components, you agree to keep them up-to-date with every release of Pega Infinity,')}
|
|
59
|
+
`${chalk.yellow('>> By choosing to create and use custom components, you agree to keep them up-to-date with every release of Pega Infinity,')}`,
|
|
56
60
|
);
|
|
57
61
|
console.log(`${chalk.yellow('>> as well as meeting compliance standards for data privacy and accessibility.')}\n`);
|
|
58
62
|
console.log(`Cannot publish a component with prefix (Org_Lib) that matches a Rule-UI-ComponentLibrary (libraryModeCL) in same ruleset.`);
|
|
@@ -60,13 +64,13 @@ export const showHelpV1 = () => {
|
|
|
60
64
|
console.log('');
|
|
61
65
|
};
|
|
62
66
|
|
|
63
|
-
export const showHelpV2 = isCL => {
|
|
67
|
+
export const showHelpV2 = (isCL) => {
|
|
64
68
|
console.log('');
|
|
65
69
|
if (!isCL) {
|
|
66
70
|
console.log(chalk.yellow('**** Beta capability and subject to change. Developer experimental. Do not use in a Production Deployment. ***\n'));
|
|
67
71
|
}
|
|
68
72
|
console.log(
|
|
69
|
-
`--> All commands will NOT work until a library is created via ${chalk.cyan(`npm run createLib`)} or ${chalk.cyan(`npm run importLibVersion`)}
|
|
73
|
+
`--> All commands will NOT work until a library is created via ${chalk.cyan(`npm run createLib`)} or ${chalk.cyan(`npm run importLibVersion`)}.`,
|
|
70
74
|
);
|
|
71
75
|
console.log(`\nnpm run <command>`);
|
|
72
76
|
console.log(`\nUsage:`);
|
|
@@ -89,12 +93,12 @@ export const showHelpV2 = isCL => {
|
|
|
89
93
|
console.log(`${chalk.cyan('npm run storeLibVersion ')}\tstore current version to local storage (must SAVE components before)`);
|
|
90
94
|
if (isCL) {
|
|
91
95
|
console.log(
|
|
92
|
-
`${chalk.cyan('npm run exportLibVersion')}\texport current version as a zip file to a given local path or a server (must SAVE components before)
|
|
96
|
+
`${chalk.cyan('npm run exportLibVersion')}\texport current version as a zip file to a given local path or a server (must SAVE components before)`,
|
|
93
97
|
);
|
|
94
98
|
console.log(`${chalk.cyan('npm run importLibVersion')}\timport a zip file (created by export) from a given local path or a server`);
|
|
95
99
|
} else {
|
|
96
100
|
console.log(
|
|
97
|
-
`${chalk.cyan('npm run exportLibVersion')}\texport current version as a zip file to a given local path (must SAVE components before)
|
|
101
|
+
`${chalk.cyan('npm run exportLibVersion')}\texport current version as a zip file to a given local path (must SAVE components before)`,
|
|
98
102
|
);
|
|
99
103
|
console.log(`${chalk.cyan('npm run importLibVersion')}\timport a zip file (created by export) from a given local path`);
|
|
100
104
|
console.log(`${chalk.cyan('npm run setPermanent ')}\tmake current version permanent or non permanent upon publish`);
|
|
@@ -120,6 +124,10 @@ export const showHelpV2 = isCL => {
|
|
|
120
124
|
console.log('');
|
|
121
125
|
console.log(`${chalk.cyan('npm run startStorybook')}\t\tstorybook components for testing`);
|
|
122
126
|
console.log(`${chalk.cyan('npm run test')}\t\t\trun component unit tests`);
|
|
127
|
+
console.log(
|
|
128
|
+
`${chalk.cyan('npm run enableAi ')}\tturn on AI-assisted development (skills and rules for Copilot, Claude Code, Cursor, Codex, Gemini)`,
|
|
129
|
+
);
|
|
130
|
+
console.log(`${chalk.cyan('npm run disableAi ')}\tturn it off again (add -- --yes to skip the confirmation)`);
|
|
123
131
|
if (isCL) {
|
|
124
132
|
console.log(`${chalk.cyan('npm run startDevServer')}\t\tdebug runtime with browser break points using a local component server`);
|
|
125
133
|
}
|
|
@@ -128,7 +136,7 @@ export const showHelpV2 = isCL => {
|
|
|
128
136
|
|
|
129
137
|
console.log(`\n${chalk.underline(`Notes`)}`);
|
|
130
138
|
console.log(
|
|
131
|
-
`${chalk.yellow('>> By choosing to create and use custom components, you agree to keep them up-to-date with every release of Pega Infinity,')}
|
|
139
|
+
`${chalk.yellow('>> By choosing to create and use custom components, you agree to keep them up-to-date with every release of Pega Infinity,')}`,
|
|
132
140
|
);
|
|
133
141
|
console.log(`${chalk.yellow('>> as well as meeting compliance standards for data privacy and accessibility.')}\n`);
|
|
134
142
|
console.log(`The following commands will store existing version in storage before executing the command:`);
|
|
@@ -142,12 +150,12 @@ export const showHelpV2 = isCL => {
|
|
|
142
150
|
console.log(`for backup storage.`);
|
|
143
151
|
}
|
|
144
152
|
console.log(
|
|
145
|
-
`\nIn tasks.config.json, set ${chalk.yellow('libraryModeCL')} to ${chalk.yellow('false')} for original stand alone components or for ${chalk.yellow('Launchpad')} components
|
|
153
|
+
`\nIn tasks.config.json, set ${chalk.yellow('libraryModeCL')} to ${chalk.yellow('false')} for original stand alone components or for ${chalk.yellow('Launchpad')} components.`,
|
|
146
154
|
);
|
|
147
155
|
console.log('');
|
|
148
156
|
};
|
|
149
157
|
|
|
150
|
-
export default async
|
|
158
|
+
export default async () => {
|
|
151
159
|
const isLibraryBased = getLibraryBased();
|
|
152
160
|
const isLibraryBasedCL = getLibraryBasedCL();
|
|
153
161
|
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
checkLibraryAndArchives,
|
|
9
9
|
getPegaServerConfig,
|
|
10
10
|
getLibraryBasedCL,
|
|
11
|
-
getApplicationAndVersionFromToken
|
|
11
|
+
getApplicationAndVersionFromToken,
|
|
12
12
|
} from '../../util.js';
|
|
13
13
|
|
|
14
14
|
export const showCurrentStatus = async () => {
|
|
@@ -56,7 +56,7 @@ export const showCurrentStatus = async () => {
|
|
|
56
56
|
}
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
-
export default async options => {
|
|
59
|
+
export default async (options) => {
|
|
60
60
|
const isLibraryBased = getLibraryBased();
|
|
61
61
|
if (!isLibraryBased) {
|
|
62
62
|
console.log(`Command only supported for ${chalk.bold.green('library mode')} components.`);
|
package/src/tasks/store/index.js
CHANGED
|
@@ -12,10 +12,10 @@ import {
|
|
|
12
12
|
cleanUpTemp,
|
|
13
13
|
getUseInputConfig,
|
|
14
14
|
getInputConfigForCommand,
|
|
15
|
-
convertYNToBoolean
|
|
15
|
+
convertYNToBoolean,
|
|
16
16
|
} from '../../util.js';
|
|
17
17
|
|
|
18
|
-
export default async options => {
|
|
18
|
+
export default async (options) => {
|
|
19
19
|
await showVersion();
|
|
20
20
|
await checkLibraryAndArchives();
|
|
21
21
|
const useInputConfig = getUseInputConfig();
|
|
@@ -55,8 +55,8 @@ export default async options => {
|
|
|
55
55
|
name: 'confirmStore',
|
|
56
56
|
type: 'confirm',
|
|
57
57
|
message: `Storing ${chalk.green(`${confDef.currentOrgLib}/${confDef.buildVersion}`)} to local storage, proceed ?`,
|
|
58
|
-
default: true
|
|
59
|
-
}
|
|
58
|
+
default: true,
|
|
59
|
+
},
|
|
60
60
|
]);
|
|
61
61
|
}
|
|
62
62
|
}
|
|
@@ -70,13 +70,13 @@ export default async options => {
|
|
|
70
70
|
title: `Store ${confDef.displayLibVersion}`,
|
|
71
71
|
task: async () => {
|
|
72
72
|
await zipVersionAndArchive(confDef.currentOrgLib, confDef.buildVersion);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
73
|
+
},
|
|
74
|
+
},
|
|
75
75
|
],
|
|
76
|
-
{ concurrent: false, exitOnError: true }
|
|
76
|
+
{ concurrent: false, exitOnError: true },
|
|
77
77
|
);
|
|
78
78
|
|
|
79
|
-
await tasks.run().catch(err => {
|
|
79
|
+
await tasks.run().catch((err) => {
|
|
80
80
|
console.log(chalk.bold.red(err.toString()));
|
|
81
81
|
addDebugLog('storeComponents', '', '-');
|
|
82
82
|
process.exit(1);
|
|
@@ -6,7 +6,7 @@ import { getComponents, getPegaServerConfig, updateConfigVersion, getLibraryArch
|
|
|
6
6
|
|
|
7
7
|
const exec = promisify(LocalExec);
|
|
8
8
|
|
|
9
|
-
export const updateAllComponentsConfig = async newVersion => {
|
|
9
|
+
export const updateAllComponentsConfig = async (newVersion) => {
|
|
10
10
|
addDebugLog('updateAllComponentsConfig', `newVersion: ${newVersion}`, '');
|
|
11
11
|
const componentList = await getComponents();
|
|
12
12
|
const orgLib = getConfigDefaults();
|
|
@@ -31,7 +31,7 @@ export const getSwitchLibraryComponentQuestions = async (archVersionList, inputO
|
|
|
31
31
|
name: 'okToContinue',
|
|
32
32
|
type: 'confirm',
|
|
33
33
|
message: 'Ok to continue ?',
|
|
34
|
-
default: true
|
|
34
|
+
default: true,
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
name: 'newOrgLib',
|
|
@@ -40,12 +40,12 @@ export const getSwitchLibraryComponentQuestions = async (archVersionList, inputO
|
|
|
40
40
|
choices: archVersionList,
|
|
41
41
|
when(answers) {
|
|
42
42
|
return answers.okToContinue === true && inputOrgLib === '';
|
|
43
|
-
}
|
|
44
|
-
}
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
45
|
];
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
export const getSwitchVersionComponentQuestions = async newOrgLib => {
|
|
48
|
+
export const getSwitchVersionComponentQuestions = async (newOrgLib) => {
|
|
49
49
|
addDebugLog('getSwitchVersionComponentQuestions', '', '');
|
|
50
50
|
|
|
51
51
|
const archVersionList = await getLibraryArchivesVersions(newOrgLib, '0.0.0');
|
|
@@ -55,8 +55,8 @@ export const getSwitchVersionComponentQuestions = async newOrgLib => {
|
|
|
55
55
|
name: 'version',
|
|
56
56
|
type: 'rawlist',
|
|
57
57
|
message: `Select a version `,
|
|
58
|
-
choices: archVersionList
|
|
59
|
-
}
|
|
58
|
+
choices: archVersionList,
|
|
59
|
+
},
|
|
60
60
|
];
|
|
61
61
|
};
|
|
62
62
|
|