@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
|
@@ -9,12 +9,10 @@ import {
|
|
|
9
9
|
getServerType,
|
|
10
10
|
setServerType,
|
|
11
11
|
getSubComponents,
|
|
12
|
-
deleteLocalComponent,
|
|
13
12
|
checkPathAccess,
|
|
14
13
|
getComponents,
|
|
15
14
|
getLibraryBasedCL,
|
|
16
15
|
setLibraryBasedCL,
|
|
17
|
-
forceDefaultsUpdate
|
|
18
16
|
} from '../../util.js';
|
|
19
17
|
import createAll from '../create-all/index.js';
|
|
20
18
|
import create from '../create/index.js';
|
|
@@ -28,7 +26,7 @@ import {
|
|
|
28
26
|
JEST_CREATE_ALL_CONSTELLATION_PATH,
|
|
29
27
|
JEST_CREATE_ALL_LAUNCHPAD_PATH,
|
|
30
28
|
TASKS_CONFIG_JSON_FILENAME,
|
|
31
|
-
COMPONENTS_DIRECTORY_PATH
|
|
29
|
+
COMPONENTS_DIRECTORY_PATH,
|
|
32
30
|
} from '../../constants.js';
|
|
33
31
|
|
|
34
32
|
const getBuildAssetsQuestions = async () => {
|
|
@@ -42,8 +40,8 @@ const getBuildAssetsQuestions = async () => {
|
|
|
42
40
|
name: 'buildAssets',
|
|
43
41
|
type: 'confirm',
|
|
44
42
|
message: 'Generate Jest Assets ?',
|
|
45
|
-
default: false
|
|
46
|
-
}
|
|
43
|
+
default: false,
|
|
44
|
+
},
|
|
47
45
|
];
|
|
48
46
|
};
|
|
49
47
|
|
|
@@ -55,11 +53,11 @@ const deleteTestComponent = async (path, componentKey) => {
|
|
|
55
53
|
console.log(`${chalk.red.bold(componentKey)} is deleted from assets`);
|
|
56
54
|
} catch (err) {
|
|
57
55
|
console.log('no file');
|
|
58
|
-
throw new Error(`No such file ${componentKey}
|
|
56
|
+
throw new Error(`No such file ${componentKey}`, { cause: err });
|
|
59
57
|
}
|
|
60
58
|
};
|
|
61
59
|
|
|
62
|
-
const copyAssets = async destinationPath => {
|
|
60
|
+
const copyAssets = async (destinationPath) => {
|
|
63
61
|
const currentDirectory = process.cwd();
|
|
64
62
|
const pegaConfigJsonPath = join(currentDirectory, TASKS_CONFIG_JSON_FILENAME);
|
|
65
63
|
|
|
@@ -104,7 +102,7 @@ const deleteAssets = async () => {
|
|
|
104
102
|
console.log(`${chalk.red.bold(componentToDelete)} is deleted from Local`);
|
|
105
103
|
} catch (err) {
|
|
106
104
|
console.log('no file');
|
|
107
|
-
throw new Error(`No such file ${componentToDelete}
|
|
105
|
+
throw new Error(`No such file ${componentToDelete}`, { cause: err });
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
|
|
@@ -219,7 +217,7 @@ const createJestLibraryAssets = async (isLaunchPad = false) => {
|
|
|
219
217
|
await deleteLib(myOptions);
|
|
220
218
|
};
|
|
221
219
|
|
|
222
|
-
export default async
|
|
220
|
+
export default async () => {
|
|
223
221
|
await showVersion();
|
|
224
222
|
|
|
225
223
|
const questions = await getBuildAssetsQuestions();
|
|
@@ -2,7 +2,7 @@ import chalk from 'chalk';
|
|
|
2
2
|
|
|
3
3
|
import { getComponents, getPegaServerConfig, validateSemver, addDebugLog, getLibraryBased, getLibraryBasedCL } from '../../util.js';
|
|
4
4
|
|
|
5
|
-
export const getBuildComponentQuestions = async defaultVersion => {
|
|
5
|
+
export const getBuildComponentQuestions = async (defaultVersion) => {
|
|
6
6
|
addDebugLog('getBuildComponentQuestions', `defaultVersion: ${defaultVersion}`, '');
|
|
7
7
|
const components = await getComponents();
|
|
8
8
|
const defaultPegaConfig = await getPegaServerConfig();
|
|
@@ -21,13 +21,13 @@ export const getBuildComponentQuestions = async defaultVersion => {
|
|
|
21
21
|
name: 'version',
|
|
22
22
|
message: 'Enter library version',
|
|
23
23
|
default: defaultVersion,
|
|
24
|
-
validate: value => {
|
|
24
|
+
validate: (value) => {
|
|
25
25
|
if (validateSemver(value)) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
28
|
return 'Please provide semver compatible version e.g 0.0.1';
|
|
29
|
-
}
|
|
30
|
-
}
|
|
29
|
+
},
|
|
30
|
+
},
|
|
31
31
|
];
|
|
32
32
|
} else {
|
|
33
33
|
return [
|
|
@@ -35,19 +35,19 @@ export const getBuildComponentQuestions = async defaultVersion => {
|
|
|
35
35
|
name: 'version',
|
|
36
36
|
message: 'Enter library version',
|
|
37
37
|
default: defaultVersion,
|
|
38
|
-
validate: value => {
|
|
38
|
+
validate: (value) => {
|
|
39
39
|
if (validateSemver(value)) {
|
|
40
40
|
return true;
|
|
41
41
|
}
|
|
42
42
|
return 'Please provide semver compatible version e.g 0.0.1';
|
|
43
|
-
}
|
|
43
|
+
},
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
name: 'devBuild',
|
|
47
47
|
type: 'confirm',
|
|
48
48
|
message: 'When publish, make deletable ?',
|
|
49
|
-
default: defaultPegaConfig.devBuild
|
|
50
|
-
}
|
|
49
|
+
default: defaultPegaConfig.devBuild,
|
|
50
|
+
},
|
|
51
51
|
];
|
|
52
52
|
}
|
|
53
53
|
};
|
|
@@ -20,7 +20,7 @@ import {
|
|
|
20
20
|
checkJWTExpiration,
|
|
21
21
|
getConfigDefaults,
|
|
22
22
|
getLibraryBased,
|
|
23
|
-
getLibraryBasedCL
|
|
23
|
+
getLibraryBasedCL,
|
|
24
24
|
} from '../../util.js';
|
|
25
25
|
import bundleComponent from '../bundle/index.js';
|
|
26
26
|
|
|
@@ -30,7 +30,7 @@ export function getCustomTasks(componentKey, devBuild, buildVersion, currentOrgL
|
|
|
30
30
|
addDebugLog(
|
|
31
31
|
'getCustomTasks',
|
|
32
32
|
`componentKey: ${componentKey}, devBuild: ${devBuild}, buildVersion: ${buildVersion}, currentOrgLib: ${currentOrgLib}`,
|
|
33
|
-
''
|
|
33
|
+
'',
|
|
34
34
|
);
|
|
35
35
|
return new Listr(
|
|
36
36
|
[
|
|
@@ -40,7 +40,7 @@ export function getCustomTasks(componentKey, devBuild, buildVersion, currentOrgL
|
|
|
40
40
|
await updateConfigVersion(componentKey, buildVersion, currentOrgLib, token);
|
|
41
41
|
await validate(componentKey);
|
|
42
42
|
},
|
|
43
|
-
skip: () => componentKey === 'shared'
|
|
43
|
+
skip: () => componentKey === 'shared',
|
|
44
44
|
},
|
|
45
45
|
{
|
|
46
46
|
title: 'Lint component',
|
|
@@ -48,10 +48,10 @@ export function getCustomTasks(componentKey, devBuild, buildVersion, currentOrgL
|
|
|
48
48
|
const targetDirectory = await getComponentDirectoryPath(componentKey);
|
|
49
49
|
// console.log(`in buildComponent Lint component task: componentKey: ${componentKey} targetDirectory: ${targetDirectory}`);
|
|
50
50
|
await lintComponent(targetDirectory);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
53
|
],
|
|
54
|
-
{ concurrent: false, exitOnError: true }
|
|
54
|
+
{ concurrent: false, exitOnError: true },
|
|
55
55
|
);
|
|
56
56
|
}
|
|
57
57
|
|
|
@@ -64,7 +64,7 @@ export const localBuildLibrary = async (organization, library, version, devBuild
|
|
|
64
64
|
|
|
65
65
|
if (tokenAndStaticServer.C11NB2S === undefined) {
|
|
66
66
|
console.log(
|
|
67
|
-
chalk.redBright('Need to authenticate, missing services token.\nBuilding a library requires authentication to acquire a token to build.')
|
|
67
|
+
chalk.redBright('Need to authenticate, missing services token.\nBuilding a library requires authentication to acquire a token to build.'),
|
|
68
68
|
);
|
|
69
69
|
process.exit(1);
|
|
70
70
|
}
|
|
@@ -129,7 +129,7 @@ export const localBuildLibrary = async (organization, library, version, devBuild
|
|
|
129
129
|
addDebugLog('buildLib', 'services end', '');
|
|
130
130
|
};
|
|
131
131
|
|
|
132
|
-
export default async options => {
|
|
132
|
+
export default async (options) => {
|
|
133
133
|
const isLibraryBased = getLibraryBased();
|
|
134
134
|
if (!isLibraryBased) {
|
|
135
135
|
console.log(`Command only supported for ${chalk.bold.green('library based')} components.`);
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import fs from 'fs-extra';
|
|
3
2
|
import webpack from 'webpack';
|
|
4
3
|
import FileSizeReporter from 'react-dev-utils/FileSizeReporter.js';
|
|
5
4
|
import printBuildError from 'react-dev-utils/printBuildError.js';
|
|
@@ -18,13 +17,12 @@ if (process.argv.includes('source-map')) {
|
|
|
18
17
|
}
|
|
19
18
|
|
|
20
19
|
// Do this as the first thing so that any code reading it knows the right env.
|
|
21
|
-
process.env.BABEL_ENV = Env;
|
|
22
20
|
process.env.NODE_ENV = Env;
|
|
23
21
|
|
|
24
22
|
// Makes the script crash on unhandled rejections instead of silently
|
|
25
23
|
// ignoring them. In the future, promise rejections that are not handled will
|
|
26
24
|
// terminate the Node.js process with a non-zero exit code.
|
|
27
|
-
process.on('unhandledRejection', err => {
|
|
25
|
+
process.on('unhandledRejection', (err) => {
|
|
28
26
|
console.log(err);
|
|
29
27
|
// process.exit(1);
|
|
30
28
|
});
|
|
@@ -43,7 +41,7 @@ function build(config, previousFileSizes, showStats = true) {
|
|
|
43
41
|
addDebugLog(
|
|
44
42
|
'bundle build',
|
|
45
43
|
`config: ${JSON.stringify(config)}, \npreviousFileSizes: ${JSON.stringify(previousFileSizes)}, showStats: ${showStats}`,
|
|
46
|
-
''
|
|
44
|
+
'',
|
|
47
45
|
);
|
|
48
46
|
|
|
49
47
|
if (showStats) {
|
|
@@ -90,7 +88,7 @@ function build(config, previousFileSizes, showStats = true) {
|
|
|
90
88
|
|
|
91
89
|
messages = {
|
|
92
90
|
errors: [errMessage],
|
|
93
|
-
warnings: []
|
|
91
|
+
warnings: [],
|
|
94
92
|
};
|
|
95
93
|
} else {
|
|
96
94
|
messages = stats.toJson({ all: false, warnings: true, errors: true });
|
|
@@ -111,7 +109,7 @@ function build(config, previousFileSizes, showStats = true) {
|
|
|
111
109
|
const resolveArgs = {
|
|
112
110
|
stats,
|
|
113
111
|
previousFileSizes,
|
|
114
|
-
warnings: messages.warnings
|
|
112
|
+
warnings: messages.warnings,
|
|
115
113
|
};
|
|
116
114
|
return resolve(resolveArgs);
|
|
117
115
|
});
|
|
@@ -131,7 +129,7 @@ export default async ({ inputFile, outputFile, componentKey, externals, globals,
|
|
|
131
129
|
externals,
|
|
132
130
|
globals,
|
|
133
131
|
sourceMap,
|
|
134
|
-
devBuild
|
|
132
|
+
devBuild,
|
|
135
133
|
});
|
|
136
134
|
|
|
137
135
|
if (devBuild) {
|
|
@@ -140,7 +138,7 @@ export default async ({ inputFile, outputFile, componentKey, externals, globals,
|
|
|
140
138
|
|
|
141
139
|
return new Promise((resolve, reject) => {
|
|
142
140
|
measureFileSizesBeforeBuild(paths.appBuild)
|
|
143
|
-
.then(previousFileSizes => {
|
|
141
|
+
.then((previousFileSizes) => {
|
|
144
142
|
// Remove all content but keep the directory so that
|
|
145
143
|
// if you're in it, you don't end up in Trash
|
|
146
144
|
emptyDirSync(paths.appBuild);
|
|
@@ -162,12 +160,11 @@ export default async ({ inputFile, outputFile, componentKey, externals, globals,
|
|
|
162
160
|
|
|
163
161
|
console.log('File sizes after gzip:\n');
|
|
164
162
|
printFileSizesAfterBuild(stats, previousFileSizes, paths.appBuild, WARN_AFTER_BUNDLE_GZIP_SIZE, WARN_AFTER_CHUNK_GZIP_SIZE);
|
|
165
|
-
} else {
|
|
166
163
|
}
|
|
167
164
|
|
|
168
165
|
resolve('done emitting');
|
|
169
166
|
},
|
|
170
|
-
err => {
|
|
167
|
+
(err) => {
|
|
171
168
|
reject();
|
|
172
169
|
const tscCompileOnError = process.env.TSC_COMPILE_ON_ERROR === 'true';
|
|
173
170
|
if (tscCompileOnError) {
|
|
@@ -187,9 +184,9 @@ export default async ({ inputFile, outputFile, componentKey, externals, globals,
|
|
|
187
184
|
console.log(chalk.red('Failed to compile.\n'));
|
|
188
185
|
printBuildError(JSON.stringify(err));
|
|
189
186
|
}
|
|
190
|
-
}
|
|
187
|
+
},
|
|
191
188
|
)
|
|
192
|
-
.catch(err => {
|
|
189
|
+
.catch((err) => {
|
|
193
190
|
reject();
|
|
194
191
|
if (err && err.message) {
|
|
195
192
|
console.log(err.message);
|
|
@@ -3,7 +3,6 @@ import path from 'path';
|
|
|
3
3
|
import { createRequire } from 'module';
|
|
4
4
|
|
|
5
5
|
import chalk from 'chalk';
|
|
6
|
-
import resolve from 'resolve';
|
|
7
6
|
|
|
8
7
|
import paths from './paths.js';
|
|
9
8
|
|
|
@@ -46,8 +45,8 @@ function getAdditionalModulePaths(options = {}) {
|
|
|
46
45
|
// Otherwise, throw an error.
|
|
47
46
|
throw new Error(
|
|
48
47
|
chalk.red.bold(
|
|
49
|
-
"Your project's `baseUrl` can only be set to `src` or `node_modules`." + ' Create React App does not support other values at this time.'
|
|
50
|
-
)
|
|
48
|
+
"Your project's `baseUrl` can only be set to `src` or `node_modules`." + ' Create React App does not support other values at this time.',
|
|
49
|
+
),
|
|
51
50
|
);
|
|
52
51
|
}
|
|
53
52
|
|
|
@@ -67,7 +66,7 @@ function getWebpackAliases(options = {}) {
|
|
|
67
66
|
|
|
68
67
|
if (path.relative(paths.appPath, baseUrlResolved) === '') {
|
|
69
68
|
return {
|
|
70
|
-
src: paths.appSrc
|
|
69
|
+
src: paths.appSrc,
|
|
71
70
|
};
|
|
72
71
|
}
|
|
73
72
|
}
|
|
@@ -88,7 +87,7 @@ function getJestAliases(options = {}) {
|
|
|
88
87
|
|
|
89
88
|
if (path.relative(paths.appPath, baseUrlResolved) === '') {
|
|
90
89
|
return {
|
|
91
|
-
'^src/(.*)$': '<rootDir>/src/$1'
|
|
90
|
+
'^src/(.*)$': '<rootDir>/src/$1',
|
|
92
91
|
};
|
|
93
92
|
}
|
|
94
93
|
}
|
|
@@ -109,9 +108,9 @@ function getModules() {
|
|
|
109
108
|
// based on tsconfig.json
|
|
110
109
|
if (hasTsConfig) {
|
|
111
110
|
const ts = require(
|
|
112
|
-
resolve
|
|
113
|
-
|
|
114
|
-
})
|
|
111
|
+
require.resolve('typescript', {
|
|
112
|
+
paths: [paths.appNodeModules],
|
|
113
|
+
}),
|
|
115
114
|
);
|
|
116
115
|
config = ts.readConfigFile(paths.appTsConfig, ts.sys.readFile).config;
|
|
117
116
|
// Otherwise we'll check if there is jsconfig.json
|
|
@@ -129,7 +128,7 @@ function getModules() {
|
|
|
129
128
|
additionalModulePaths,
|
|
130
129
|
webpackAliases: getWebpackAliases(options),
|
|
131
130
|
jestAliases: getJestAliases(options),
|
|
132
|
-
hasTsConfig
|
|
131
|
+
hasTsConfig,
|
|
133
132
|
};
|
|
134
133
|
}
|
|
135
134
|
|
|
@@ -4,33 +4,16 @@ import fs from 'fs';
|
|
|
4
4
|
// Make sure any symlinks in the project folder are resolved:
|
|
5
5
|
// https://github.com/facebook/create-react-app/issues/637
|
|
6
6
|
const appDirectory = fs.realpathSync(process.cwd());
|
|
7
|
-
const resolveApp = relativePath => path.resolve(appDirectory, relativePath);
|
|
7
|
+
const resolveApp = (relativePath) => path.resolve(appDirectory, relativePath);
|
|
8
8
|
|
|
9
9
|
const buildPath = 'dist/components';
|
|
10
10
|
|
|
11
|
-
export const moduleFileExtensions = ['web.mjs', 'mjs', 'web.js', 'js', 'web.ts', 'ts', 'web.tsx', 'tsx', 'json', 'web.jsx', 'jsx'];
|
|
12
|
-
|
|
13
|
-
// Resolve file paths in the same order as webpack
|
|
14
|
-
const resolveModule = (resolveFn, filePath) => {
|
|
15
|
-
const extension = moduleFileExtensions.find(ext => fs.existsSync(resolveFn(`${filePath}.${ext}`)));
|
|
16
|
-
|
|
17
|
-
if (extension) {
|
|
18
|
-
return resolveFn(`${filePath}.${extension}`);
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
return resolveFn(`${filePath}.js`);
|
|
22
|
-
};
|
|
23
|
-
|
|
24
11
|
// config after eject: we're in ./config/
|
|
25
12
|
export default {
|
|
26
|
-
dotenv: resolveApp('.env'),
|
|
27
13
|
appPath: resolveApp('.'),
|
|
28
14
|
appBuild: resolveApp(buildPath),
|
|
29
|
-
appPublic: resolveApp('public'),
|
|
30
|
-
appIndexJs: resolveModule(resolveApp, 'src/index'),
|
|
31
|
-
appPackageJson: resolveApp('package.json'),
|
|
32
15
|
appSrc: resolveApp('src'),
|
|
33
16
|
appTsConfig: resolveApp('tsconfig.json'),
|
|
34
17
|
appJsConfig: resolveApp('jsconfig.json'),
|
|
35
|
-
appNodeModules: resolveApp('node_modules')
|
|
18
|
+
appNodeModules: resolveApp('node_modules'),
|
|
36
19
|
};
|