@payloadcms/codemod 4.0.0-internal.f05c47f → 4.0.0-internal.f15737c
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 +94 -27
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.help.d.ts +4 -0
- package/dist/cli.help.d.ts.map +1 -0
- package/dist/cli.help.js +29 -0
- package/dist/cli.help.js.map +1 -0
- package/dist/cli.js +49 -27
- package/dist/cli.js.map +1 -1
- package/dist/cli.parseFlags.d.ts +15 -0
- package/dist/cli.parseFlags.d.ts.map +1 -1
- package/dist/cli.parseFlags.js +35 -2
- package/dist/cli.parseFlags.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +17 -1
- package/dist/registry.js.map +1 -1
- package/dist/runbook/payload-v4-upgrade.md +55 -0
- package/dist/runbook/v4.mdx +2299 -0
- package/dist/transforms/add-override-access-true/basic.input.js +41 -0
- package/dist/transforms/add-override-access-true/basic.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/basic.output.js +50 -0
- package/dist/transforms/add-override-access-true/basic.output.js.map +1 -0
- package/dist/transforms/add-override-access-true/comment-between-properties.input.js +11 -0
- package/dist/transforms/add-override-access-true/comment-between-properties.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/comment-between-properties.output.js +12 -0
- package/dist/transforms/add-override-access-true/comment-between-properties.output.js.map +1 -0
- package/dist/transforms/add-override-access-true/index.d.ts +20 -0
- package/dist/transforms/add-override-access-true/index.d.ts.map +1 -0
- package/dist/transforms/add-override-access-true/index.js +208 -0
- package/dist/transforms/add-override-access-true/index.js.map +1 -0
- package/dist/transforms/add-override-access-true/javascript.input.d.ts +6 -0
- package/dist/transforms/add-override-access-true/javascript.input.d.ts.map +1 -0
- package/dist/transforms/add-override-access-true/javascript.input.js +24 -0
- package/dist/transforms/add-override-access-true/javascript.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/javascript.output.d.ts +6 -0
- package/dist/transforms/add-override-access-true/javascript.output.d.ts.map +1 -0
- package/dist/transforms/add-override-access-true/javascript.output.js +26 -0
- package/dist/transforms/add-override-access-true/javascript.output.js.map +1 -0
- package/dist/transforms/add-override-access-true/non-matching.input.js +42 -0
- package/dist/transforms/add-override-access-true/non-matching.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/non-matching.output.js +42 -0
- package/dist/transforms/add-override-access-true/non-matching.output.js.map +1 -0
- package/dist/transforms/add-override-access-true/single-line.input.js +13 -0
- package/dist/transforms/add-override-access-true/single-line.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/single-line.output.js +17 -0
- package/dist/transforms/add-override-access-true/single-line.output.js.map +1 -0
- package/dist/transforms/add-override-access-true/trailing-comment.input.js +10 -0
- package/dist/transforms/add-override-access-true/trailing-comment.input.js.map +1 -0
- package/dist/transforms/add-override-access-true/trailing-comment.output.js +12 -0
- package/dist/transforms/add-override-access-true/trailing-comment.output.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/index.d.ts.map +1 -1
- package/dist/transforms/migrate-aliased-exports/index.js +6 -5
- package/dist/transforms/migrate-aliased-exports/index.js.map +1 -1
- package/dist/transforms/migrate-aliased-exports/request.input.js +6 -0
- package/dist/transforms/migrate-aliased-exports/request.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/request.output.js +5 -0
- package/dist/transforms/migrate-aliased-exports/request.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/already-set.input.js +15 -0
- package/dist/transforms/migrate-authorship-default/already-set.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/already-set.output.js +15 -0
- package/dist/transforms/migrate-authorship-default/already-set.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/basic.input.js +16 -0
- package/dist/transforms/migrate-authorship-default/basic.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/basic.output.js +18 -0
- package/dist/transforms/migrate-authorship-default/basic.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/build-config.input.js +32 -0
- package/dist/transforms/migrate-authorship-default/build-config.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/build-config.output.js +35 -0
- package/dist/transforms/migrate-authorship-default/build-config.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/globals.input.js +16 -0
- package/dist/transforms/migrate-authorship-default/globals.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/globals.output.js +17 -0
- package/dist/transforms/migrate-authorship-default/globals.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/index.d.ts +11 -0
- package/dist/transforms/migrate-authorship-default/index.d.ts.map +1 -0
- package/dist/transforms/migrate-authorship-default/index.js +141 -0
- package/dist/transforms/migrate-authorship-default/index.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/non-matching.input.js +18 -0
- package/dist/transforms/migrate-authorship-default/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/non-matching.output.js +18 -0
- package/dist/transforms/migrate-authorship-default/non-matching.output.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/satisfies.input.js +11 -0
- package/dist/transforms/migrate-authorship-default/satisfies.input.js.map +1 -0
- package/dist/transforms/migrate-authorship-default/satisfies.output.js +13 -0
- package/dist/transforms/migrate-authorship-default/satisfies.output.js.map +1 -0
- package/dist/transforms/migrate-field-component-types/basic.input.js +8 -0
- package/dist/transforms/migrate-field-component-types/basic.input.js.map +1 -0
- package/dist/transforms/migrate-field-component-types/basic.output.js +8 -0
- package/dist/transforms/migrate-field-component-types/basic.output.js.map +1 -0
- package/dist/transforms/migrate-field-component-types/index.d.ts +3 -0
- package/dist/transforms/migrate-field-component-types/index.d.ts.map +1 -0
- package/dist/transforms/migrate-field-component-types/index.js +620 -0
- package/dist/transforms/migrate-field-component-types/index.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/aliases.input.js +8 -0
- package/dist/transforms/migrate-payload-request-creation/aliases.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/aliases.output.js +31 -0
- package/dist/transforms/migrate-payload-request-creation/aliases.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/collision.input.js +9 -0
- package/dist/transforms/migrate-payload-request-creation/collision.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/comments.input.js +9 -0
- package/dist/transforms/migrate-payload-request-creation/comments.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/comments.output.js +34 -0
- package/dist/transforms/migrate-payload-request-creation/comments.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/empty.input.js +5 -0
- package/dist/transforms/migrate-payload-request-creation/empty.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/empty.output.js +7 -0
- package/dist/transforms/migrate-payload-request-creation/empty.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/evaluation-order.input.js +10 -0
- package/dist/transforms/migrate-payload-request-creation/evaluation-order.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/expression.input.js +8 -0
- package/dist/transforms/migrate-payload-request-creation/expression.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/expression.output.js +8 -0
- package/dist/transforms/migrate-payload-request-creation/expression.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/getters.input.js +52 -0
- package/dist/transforms/migrate-payload-request-creation/getters.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/index.d.ts +3 -0
- package/dist/transforms/migrate-payload-request-creation/index.d.ts.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/index.js +236 -0
- package/dist/transforms/migrate-payload-request-creation/index.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/internal.input.js +6 -0
- package/dist/transforms/migrate-payload-request-creation/internal.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/internal.output.js +6 -0
- package/dist/transforms/migrate-payload-request-creation/internal.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/non-matching.input.js +5 -0
- package/dist/transforms/migrate-payload-request-creation/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/populated.input.js +7 -0
- package/dist/transforms/migrate-payload-request-creation/populated.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/populated.output.js +30 -0
- package/dist/transforms/migrate-payload-request-creation/populated.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/shadowed.input.js +7 -0
- package/dist/transforms/migrate-payload-request-creation/shadowed.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/shadowed.output.js +9 -0
- package/dist/transforms/migrate-payload-request-creation/shadowed.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/shorthand.input.js +12 -0
- package/dist/transforms/migrate-payload-request-creation/shorthand.input.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/shorthand.output.js +12 -0
- package/dist/transforms/migrate-payload-request-creation/shorthand.output.js.map +1 -0
- package/dist/transforms/migrate-payload-request-creation/unsupported.input.js +9 -0
- package/dist/transforms/migrate-payload-request-creation/unsupported.input.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/basic.input.js +28 -0
- package/dist/transforms/migrate-sharp-to-transformer/basic.input.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/basic.output.js +39 -0
- package/dist/transforms/migrate-sharp-to-transformer/basic.output.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/existing-transformers.input.js +27 -0
- package/dist/transforms/migrate-sharp-to-transformer/existing-transformers.input.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/existing-transformers.output.js +33 -0
- package/dist/transforms/migrate-sharp-to-transformer/existing-transformers.output.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/index.d.ts +3 -0
- package/dist/transforms/migrate-sharp-to-transformer/index.d.ts.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/index.js +430 -0
- package/dist/transforms/migrate-sharp-to-transformer/index.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/no-match.input.js +11 -0
- package/dist/transforms/migrate-sharp-to-transformer/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-sharp-to-transformer/no-match.output.js +11 -0
- package/dist/transforms/migrate-sharp-to-transformer/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/index.js +5 -5
- package/dist/transforms/migrate-versions-default/index.js.map +1 -1
- package/dist/transforms/remove-default-locale-publish-option/all-value.input.js +13 -0
- package/dist/transforms/remove-default-locale-publish-option/all-value.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/basic.input.js +13 -0
- package/dist/transforms/remove-default-locale-publish-option/basic.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/basic.output.js +12 -0
- package/dist/transforms/remove-default-locale-publish-option/basic.output.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/dynamic.input.js +17 -0
- package/dist/transforms/remove-default-locale-publish-option/dynamic.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/index.d.ts +10 -0
- package/dist/transforms/remove-default-locale-publish-option/index.d.ts.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/index.js +103 -0
- package/dist/transforms/remove-default-locale-publish-option/index.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/no-match.input.js +10 -0
- package/dist/transforms/remove-default-locale-publish-option/no-match.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/no-match.output.js +10 -0
- package/dist/transforms/remove-default-locale-publish-option/no-match.output.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/reassigned.input.js +22 -0
- package/dist/transforms/remove-default-locale-publish-option/reassigned.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/shorthand.input.js +14 -0
- package/dist/transforms/remove-default-locale-publish-option/shorthand.input.js.map +1 -0
- package/dist/transforms/remove-default-locale-publish-option/shorthand.output.js +13 -0
- package/dist/transforms/remove-default-locale-publish-option/shorthand.output.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/index.d.ts.map +1 -1
- package/dist/transforms/remove-publish-specific-locale/index.js.map +1 -1
- package/dist/transforms/remove-storage-always-insert-fields/aliased.input.js +11 -0
- package/dist/transforms/remove-storage-always-insert-fields/aliased.input.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/aliased.output.js +10 -0
- package/dist/transforms/remove-storage-always-insert-fields/aliased.output.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/basic.input.js +54 -0
- package/dist/transforms/remove-storage-always-insert-fields/basic.input.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/basic.output.js +48 -0
- package/dist/transforms/remove-storage-always-insert-fields/basic.output.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/index.d.ts +3 -0
- package/dist/transforms/remove-storage-always-insert-fields/index.d.ts.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/index.js +75 -0
- package/dist/transforms/remove-storage-always-insert-fields/index.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/no-match.input.js +27 -0
- package/dist/transforms/remove-storage-always-insert-fields/no-match.input.js.map +1 -0
- package/dist/transforms/remove-storage-always-insert-fields/no-match.output.js +27 -0
- package/dist/transforms/remove-storage-always-insert-fields/no-match.output.js.map +1 -0
- package/dist/transforms/remove-versions-true/index.js +4 -4
- package/dist/transforms/remove-versions-true/index.js.map +1 -1
- package/dist/transforms/rename-experimental-table-feature/alias.input.js +6 -0
- package/dist/transforms/rename-experimental-table-feature/alias.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/alias.output.js +6 -0
- package/dist/transforms/rename-experimental-table-feature/alias.output.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/basic.input.js +19 -0
- package/dist/transforms/rename-experimental-table-feature/basic.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/basic.output.js +19 -0
- package/dist/transforms/rename-experimental-table-feature/basic.output.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/collision.input.js +7 -0
- package/dist/transforms/rename-experimental-table-feature/collision.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.d.ts +3 -0
- package/dist/transforms/rename-experimental-table-feature/index.d.ts.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.js +50 -0
- package/dist/transforms/rename-experimental-table-feature/index.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/no-match.input.js +9 -0
- package/dist/transforms/rename-experimental-table-feature/no-match.input.js.map +1 -0
- package/dist/upgrade/defaultTag.d.ts +9 -0
- package/dist/upgrade/defaultTag.d.ts.map +1 -0
- package/dist/upgrade/defaultTag.js +25 -0
- package/dist/upgrade/defaultTag.js.map +1 -0
- package/dist/upgrade/detectPackageManager.d.ts +8 -0
- package/dist/upgrade/detectPackageManager.d.ts.map +1 -0
- package/dist/upgrade/detectPackageManager.js +38 -0
- package/dist/upgrade/detectPackageManager.js.map +1 -0
- package/dist/upgrade/dispatch.d.ts +38 -0
- package/dist/upgrade/dispatch.d.ts.map +1 -0
- package/dist/upgrade/dispatch.js +132 -0
- package/dist/upgrade/dispatch.js.map +1 -0
- package/dist/upgrade/index.d.ts +25 -0
- package/dist/upgrade/index.d.ts.map +1 -0
- package/dist/upgrade/index.js +209 -0
- package/dist/upgrade/index.js.map +1 -0
- package/dist/upgrade/prompt.d.ts +14 -0
- package/dist/upgrade/prompt.d.ts.map +1 -0
- package/dist/upgrade/prompt.js +77 -0
- package/dist/upgrade/prompt.js.map +1 -0
- package/dist/upgrade/report.d.ts +21 -0
- package/dist/upgrade/report.d.ts.map +1 -0
- package/dist/upgrade/report.js +47 -0
- package/dist/upgrade/report.js.map +1 -0
- package/dist/upgrade/resolveVersions.d.ts +13 -0
- package/dist/upgrade/resolveVersions.d.ts.map +1 -0
- package/dist/upgrade/resolveVersions.js +55 -0
- package/dist/upgrade/resolveVersions.js.map +1 -0
- package/dist/upgrade/rewritePackageJson.d.ts +32 -0
- package/dist/upgrade/rewritePackageJson.d.ts.map +1 -0
- package/dist/upgrade/rewritePackageJson.js +164 -0
- package/dist/upgrade/rewritePackageJson.js.map +1 -0
- package/dist/upgrade/runInstall.d.ts +16 -0
- package/dist/upgrade/runInstall.d.ts.map +1 -0
- package/dist/upgrade/runInstall.js +17 -0
- package/dist/upgrade/runInstall.js.map +1 -0
- package/dist/upgrade/selectAgent.d.ts +45 -0
- package/dist/upgrade/selectAgent.d.ts.map +1 -0
- package/dist/upgrade/selectAgent.js +54 -0
- package/dist/upgrade/selectAgent.js.map +1 -0
- package/dist/upgrade/selfCommand.d.ts +13 -0
- package/dist/upgrade/selfCommand.d.ts.map +1 -0
- package/dist/upgrade/selfCommand.js +17 -0
- package/dist/upgrade/selfCommand.js.map +1 -0
- package/dist/upgrade/types.d.ts +47 -0
- package/dist/upgrade/types.d.ts.map +1 -0
- package/dist/upgrade/types.js +11 -0
- package/dist/upgrade/types.js.map +1 -0
- package/dist/utils/project.d.ts +10 -0
- package/dist/utils/project.d.ts.map +1 -0
- package/dist/utils/project.js +43 -0
- package/dist/utils/project.js.map +1 -0
- package/package.json +9 -5
- package/dist/cli.parseFlags.spec.d.ts +0 -2
- package/dist/cli.parseFlags.spec.d.ts.map +0 -1
- package/dist/cli.parseFlags.spec.js +0 -49
- package/dist/cli.parseFlags.spec.js.map +0 -1
- package/dist/runner.spec.d.ts +0 -2
- package/dist/runner.spec.d.ts.map +0 -1
- package/dist/runner.spec.js +0 -88
- package/dist/runner.spec.js.map +0 -1
- package/dist/transforms/example-noop/index.spec.d.ts +0 -2
- package/dist/transforms/example-noop/index.spec.d.ts.map +0 -1
- package/dist/transforms/example-noop/index.spec.js +0 -29
- package/dist/transforms/example-noop/index.spec.js.map +0 -1
- package/dist/transforms/globals-components-edit/index.spec.d.ts +0 -2
- package/dist/transforms/globals-components-edit/index.spec.d.ts.map +0 -1
- package/dist/transforms/globals-components-edit/index.spec.js +0 -37
- package/dist/transforms/globals-components-edit/index.spec.js.map +0 -1
- package/dist/transforms/migrate-after-operation-read/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-after-operation-read/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-after-operation-read/index.spec.js +0 -62
- package/dist/transforms/migrate-after-operation-read/index.spec.js.map +0 -1
- package/dist/transforms/migrate-aliased-exports/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-aliased-exports/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-aliased-exports/index.spec.js +0 -55
- package/dist/transforms/migrate-aliased-exports/index.spec.js.map +0 -1
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js +0 -67
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js.map +0 -1
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.js +0 -45
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.js.map +0 -1
- package/dist/transforms/migrate-build-script/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-build-script/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-build-script/index.spec.js +0 -81
- package/dist/transforms/migrate-build-script/index.spec.js.map +0 -1
- package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-db-types-subpath/index.spec.js +0 -46
- package/dist/transforms/migrate-db-types-subpath/index.spec.js.map +0 -1
- package/dist/transforms/migrate-disabled-fields/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-disabled-fields/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-disabled-fields/index.spec.js +0 -73
- package/dist/transforms/migrate-disabled-fields/index.spec.js.map +0 -1
- package/dist/transforms/migrate-document-title-context/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-document-title-context/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-document-title-context/index.spec.js +0 -86
- package/dist/transforms/migrate-document-title-context/index.spec.js.map +0 -1
- package/dist/transforms/migrate-force-select/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-force-select/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-force-select/index.spec.js +0 -107
- package/dist/transforms/migrate-force-select/index.spec.js.map +0 -1
- package/dist/transforms/migrate-hide-api-url/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-hide-api-url/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-hide-api-url/index.spec.js +0 -118
- package/dist/transforms/migrate-hide-api-url/index.spec.js.map +0 -1
- package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-import-export-hooks/index.spec.js +0 -65
- package/dist/transforms/migrate-import-export-hooks/index.spec.js.map +0 -1
- package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-list-view-select-api/index.spec.js +0 -37
- package/dist/transforms/migrate-list-view-select-api/index.spec.js.map +0 -1
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js +0 -41
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js.map +0 -1
- package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-next-subpath-exports/index.spec.js +0 -46
- package/dist/transforms/migrate-next-subpath-exports/index.spec.js.map +0 -1
- package/dist/transforms/migrate-slug-field/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-slug-field/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-slug-field/index.spec.js +0 -47
- package/dist/transforms/migrate-slug-field/index.spec.js.map +0 -1
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js +0 -85
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js.map +0 -1
- package/dist/transforms/migrate-versions-default/index.spec.d.ts +0 -2
- package/dist/transforms/migrate-versions-default/index.spec.d.ts.map +0 -1
- package/dist/transforms/migrate-versions-default/index.spec.js +0 -81
- package/dist/transforms/migrate-versions-default/index.spec.js.map +0 -1
- package/dist/transforms/remove-group-by-true/index.spec.d.ts +0 -2
- package/dist/transforms/remove-group-by-true/index.spec.d.ts.map +0 -1
- package/dist/transforms/remove-group-by-true/index.spec.js +0 -47
- package/dist/transforms/remove-group-by-true/index.spec.js.map +0 -1
- package/dist/transforms/remove-localize-status-config/index.spec.d.ts +0 -2
- package/dist/transforms/remove-localize-status-config/index.spec.d.ts.map +0 -1
- package/dist/transforms/remove-localize-status-config/index.spec.js +0 -38
- package/dist/transforms/remove-localize-status-config/index.spec.js.map +0 -1
- package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts +0 -2
- package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts.map +0 -1
- package/dist/transforms/remove-publish-specific-locale/index.spec.js +0 -47
- package/dist/transforms/remove-publish-specific-locale/index.spec.js.map +0 -1
- package/dist/transforms/remove-versions-true/index.spec.d.ts +0 -2
- package/dist/transforms/remove-versions-true/index.spec.d.ts.map +0 -1
- package/dist/transforms/remove-versions-true/index.spec.js +0 -38
- package/dist/transforms/remove-versions-true/index.spec.js.map +0 -1
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts +0 -2
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts.map +0 -1
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js +0 -55
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js.map +0 -1
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts +0 -2
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts.map +0 -1
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js +0 -45
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js.map +0 -1
- package/dist/utils/packageJson.spec.d.ts +0 -2
- package/dist/utils/packageJson.spec.d.ts.map +0 -1
- package/dist/utils/packageJson.spec.js +0 -41
- package/dist/utils/packageJson.spec.js.map +0 -1
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { s3Storage as payloadS3Storage } from '@payloadcms/storage-s3';
|
|
2
|
+
const options = {
|
|
3
|
+
alwaysInsertFields: true,
|
|
4
|
+
bucket: 'media',
|
|
5
|
+
collections: {
|
|
6
|
+
media: true
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
const s3Storage = (value)=>value;
|
|
10
|
+
export const indirectStorage = payloadS3Storage(options);
|
|
11
|
+
export const unrelatedStorage = s3Storage({
|
|
12
|
+
alwaysInsertFields: true,
|
|
13
|
+
bucket: 'media',
|
|
14
|
+
collections: {
|
|
15
|
+
media: true
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
export const spreadBeforeProperty = payloadS3Storage({
|
|
19
|
+
...options,
|
|
20
|
+
alwaysInsertFields: false
|
|
21
|
+
});
|
|
22
|
+
export const spreadAfterProperty = payloadS3Storage({
|
|
23
|
+
alwaysInsertFields: false,
|
|
24
|
+
...options
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=no-match.output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/remove-storage-always-insert-fields/no-match.output.ts"],"sourcesContent":["import { s3Storage as payloadS3Storage } from '@payloadcms/storage-s3'\n\nconst options = {\n alwaysInsertFields: true,\n bucket: 'media',\n collections: { media: true },\n}\n\nconst s3Storage = (value: typeof options) => value\n\nexport const indirectStorage = payloadS3Storage(options)\nexport const unrelatedStorage = s3Storage({\n alwaysInsertFields: true,\n bucket: 'media',\n collections: { media: true },\n})\nexport const spreadBeforeProperty = payloadS3Storage({\n ...options,\n alwaysInsertFields: false,\n})\nexport const spreadAfterProperty = payloadS3Storage({\n alwaysInsertFields: false,\n ...options,\n})\n"],"names":["s3Storage","payloadS3Storage","options","alwaysInsertFields","bucket","collections","media","value","indirectStorage","unrelatedStorage","spreadBeforeProperty","spreadAfterProperty"],"mappings":"AAAA,SAASA,aAAaC,gBAAgB,QAAQ,yBAAwB;AAEtE,MAAMC,UAAU;IACdC,oBAAoB;IACpBC,QAAQ;IACRC,aAAa;QAAEC,OAAO;IAAK;AAC7B;AAEA,MAAMN,YAAY,CAACO,QAA0BA;AAE7C,OAAO,MAAMC,kBAAkBP,iBAAiBC,SAAQ;AACxD,OAAO,MAAMO,mBAAmBT,UAAU;IACxCG,oBAAoB;IACpBC,QAAQ;IACRC,aAAa;QAAEC,OAAO;IAAK;AAC7B,GAAE;AACF,OAAO,MAAMI,uBAAuBT,iBAAiB;IACnD,GAAGC,OAAO;IACVC,oBAAoB;AACtB,GAAE;AACF,OAAO,MAAMQ,sBAAsBV,iBAAiB;IAClDE,oBAAoB;IACpB,GAAGD,OAAO;AACZ,GAAE"}
|
|
@@ -71,13 +71,13 @@ const isVersionedConfigTypeName = (typeText)=>{
|
|
|
71
71
|
return undefined;
|
|
72
72
|
}
|
|
73
73
|
// Form 2: { ... } satisfies CollectionConfig
|
|
74
|
-
if (
|
|
75
|
-
const typeNode = node.getTypeNode
|
|
74
|
+
if (Node.isSatisfiesExpression(node)) {
|
|
75
|
+
const typeNode = node.getTypeNode();
|
|
76
76
|
if (!typeNode || !isVersionedConfigTypeName(typeNode.getText().trim())) {
|
|
77
77
|
return undefined;
|
|
78
78
|
}
|
|
79
|
-
const expr = node.getExpression
|
|
80
|
-
if (
|
|
79
|
+
const expr = node.getExpression();
|
|
80
|
+
if (Node.isObjectLiteralExpression(expr)) {
|
|
81
81
|
return expr;
|
|
82
82
|
}
|
|
83
83
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/transforms/remove-versions-true/index.ts"],"sourcesContent":["import { Node, SyntaxKind } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\nconst VERSIONED_CONFIG_TYPE_NAMES = new Set([\n 'CollectionConfig',\n 'GlobalConfig',\n 'SanitizedCollectionConfig',\n 'SanitizedGlobalConfig',\n])\n\nconst isVersionedConfigTypeName = (typeText: string): boolean => {\n const baseName = typeText.replace(/<.*>$/, '').trim()\n return VERSIONED_CONFIG_TYPE_NAMES.has(baseName)\n}\n\n/**\n * Removes `versions: true` (bare boolean true — not an object) from\n * CollectionConfig and GlobalConfig objects. Now that versions defaults to\n * true, the explicit property is redundant.\n *\n * Only removes the property when the initializer is exactly the `true` keyword.\n * Object-form versions configs (e.g. `versions: { drafts: true }`) are left\n * untouched.\n */\nexport const removeVersionsTrue: Transform = {\n name: 'remove-versions-true',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n\n for (const sourceFile of project.getSourceFiles()) {\n let mutated = false\n\n sourceFile.forEachDescendant((node) => {\n const objectLiteral = resolveVersionedConfigObject(node)\n if (!objectLiteral) {\n return\n }\n\n const versionsProp = objectLiteral.getProperty('versions')\n if (!versionsProp || !Node.isPropertyAssignment(versionsProp)) {\n return\n }\n\n const initializer = versionsProp.getInitializer()\n if (!initializer || initializer.getKind() !== SyntaxKind.TrueKeyword) {\n return\n }\n\n versionsProp.remove()\n mutated = true\n })\n\n if (mutated) {\n filesChanged.add(sourceFile.getFilePath())\n }\n }\n\n return { filesChanged: [...filesChanged] }\n },\n description:\n 'Remove redundant `versions: true` from CollectionConfig and GlobalConfig objects. Versions are now enabled by default so the explicit boolean true is no longer needed.',\n}\n\n/**\n * Given a node, returns its ObjectLiteralExpression if the node represents a\n * CollectionConfig- or GlobalConfig-typed value in one of the three recognised forms.\n */\nconst resolveVersionedConfigObject = (node: Node) => {\n // Form 1: const X: CollectionConfig = { ... }\n if (Node.isVariableDeclaration(node)) {\n const typeNode = node.getTypeNode()\n if (!typeNode) {\n return undefined\n }\n if (!isVersionedConfigTypeName(typeNode.getText().trim())) {\n return undefined\n }\n const initializer = node.getInitializer()\n if (initializer && Node.isObjectLiteralExpression(initializer)) {\n return initializer\n }\n return undefined\n }\n\n // Form 2: { ... } satisfies CollectionConfig\n if (
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/remove-versions-true/index.ts"],"sourcesContent":["import { Node, SyntaxKind } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\nconst VERSIONED_CONFIG_TYPE_NAMES = new Set([\n 'CollectionConfig',\n 'GlobalConfig',\n 'SanitizedCollectionConfig',\n 'SanitizedGlobalConfig',\n])\n\nconst isVersionedConfigTypeName = (typeText: string): boolean => {\n const baseName = typeText.replace(/<.*>$/, '').trim()\n return VERSIONED_CONFIG_TYPE_NAMES.has(baseName)\n}\n\n/**\n * Removes `versions: true` (bare boolean true — not an object) from\n * CollectionConfig and GlobalConfig objects. Now that versions defaults to\n * true, the explicit property is redundant.\n *\n * Only removes the property when the initializer is exactly the `true` keyword.\n * Object-form versions configs (e.g. `versions: { drafts: true }`) are left\n * untouched.\n */\nexport const removeVersionsTrue: Transform = {\n name: 'remove-versions-true',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n\n for (const sourceFile of project.getSourceFiles()) {\n let mutated = false\n\n sourceFile.forEachDescendant((node) => {\n const objectLiteral = resolveVersionedConfigObject(node)\n if (!objectLiteral) {\n return\n }\n\n const versionsProp = objectLiteral.getProperty('versions')\n if (!versionsProp || !Node.isPropertyAssignment(versionsProp)) {\n return\n }\n\n const initializer = versionsProp.getInitializer()\n if (!initializer || initializer.getKind() !== SyntaxKind.TrueKeyword) {\n return\n }\n\n versionsProp.remove()\n mutated = true\n })\n\n if (mutated) {\n filesChanged.add(sourceFile.getFilePath())\n }\n }\n\n return { filesChanged: [...filesChanged] }\n },\n description:\n 'Remove redundant `versions: true` from CollectionConfig and GlobalConfig objects. Versions are now enabled by default so the explicit boolean true is no longer needed.',\n}\n\n/**\n * Given a node, returns its ObjectLiteralExpression if the node represents a\n * CollectionConfig- or GlobalConfig-typed value in one of the three recognised forms.\n */\nconst resolveVersionedConfigObject = (node: Node) => {\n // Form 1: const X: CollectionConfig = { ... }\n if (Node.isVariableDeclaration(node)) {\n const typeNode = node.getTypeNode()\n if (!typeNode) {\n return undefined\n }\n if (!isVersionedConfigTypeName(typeNode.getText().trim())) {\n return undefined\n }\n const initializer = node.getInitializer()\n if (initializer && Node.isObjectLiteralExpression(initializer)) {\n return initializer\n }\n return undefined\n }\n\n // Form 2: { ... } satisfies CollectionConfig\n if (Node.isSatisfiesExpression(node)) {\n const typeNode = node.getTypeNode()\n if (!typeNode || !isVersionedConfigTypeName(typeNode.getText().trim())) {\n return undefined\n }\n const expr = node.getExpression()\n if (Node.isObjectLiteralExpression(expr)) {\n return expr\n }\n return undefined\n }\n\n // Form 3: { ... } as CollectionConfig\n if (Node.isAsExpression(node)) {\n const typeNode = node.getTypeNode()\n if (!typeNode || !isVersionedConfigTypeName(typeNode.getText().trim())) {\n return undefined\n }\n const expr = node.getExpression()\n if (Node.isObjectLiteralExpression(expr)) {\n return expr\n }\n return undefined\n }\n\n return undefined\n}\n"],"names":["Node","SyntaxKind","VERSIONED_CONFIG_TYPE_NAMES","Set","isVersionedConfigTypeName","typeText","baseName","replace","trim","has","removeVersionsTrue","name","apply","project","filesChanged","sourceFile","getSourceFiles","mutated","forEachDescendant","node","objectLiteral","resolveVersionedConfigObject","versionsProp","getProperty","isPropertyAssignment","initializer","getInitializer","getKind","TrueKeyword","remove","add","getFilePath","description","isVariableDeclaration","typeNode","getTypeNode","undefined","getText","isObjectLiteralExpression","isSatisfiesExpression","expr","getExpression","isAsExpression"],"mappings":"AAAA,SAASA,IAAI,EAAEC,UAAU,QAAQ,WAAU;AAI3C,MAAMC,8BAA8B,IAAIC,IAAI;IAC1C;IACA;IACA;IACA;CACD;AAED,MAAMC,4BAA4B,CAACC;IACjC,MAAMC,WAAWD,SAASE,OAAO,CAAC,SAAS,IAAIC,IAAI;IACnD,OAAON,4BAA4BO,GAAG,CAACH;AACzC;AAEA;;;;;;;;CAQC,GACD,OAAO,MAAMI,qBAAgC;IAC3CC,MAAM;IACNC,OAAO,CAAC,EAAEC,OAAO,EAAE;QACjB,MAAMC,eAAe,IAAIX;QAEzB,KAAK,MAAMY,cAAcF,QAAQG,cAAc,GAAI;YACjD,IAAIC,UAAU;YAEdF,WAAWG,iBAAiB,CAAC,CAACC;gBAC5B,MAAMC,gBAAgBC,6BAA6BF;gBACnD,IAAI,CAACC,eAAe;oBAClB;gBACF;gBAEA,MAAME,eAAeF,cAAcG,WAAW,CAAC;gBAC/C,IAAI,CAACD,gBAAgB,CAACtB,KAAKwB,oBAAoB,CAACF,eAAe;oBAC7D;gBACF;gBAEA,MAAMG,cAAcH,aAAaI,cAAc;gBAC/C,IAAI,CAACD,eAAeA,YAAYE,OAAO,OAAO1B,WAAW2B,WAAW,EAAE;oBACpE;gBACF;gBAEAN,aAAaO,MAAM;gBACnBZ,UAAU;YACZ;YAEA,IAAIA,SAAS;gBACXH,aAAagB,GAAG,CAACf,WAAWgB,WAAW;YACzC;QACF;QAEA,OAAO;YAAEjB,cAAc;mBAAIA;aAAa;QAAC;IAC3C;IACAkB,aACE;AACJ,EAAC;AAED;;;CAGC,GACD,MAAMX,+BAA+B,CAACF;IACpC,8CAA8C;IAC9C,IAAInB,KAAKiC,qBAAqB,CAACd,OAAO;QACpC,MAAMe,WAAWf,KAAKgB,WAAW;QACjC,IAAI,CAACD,UAAU;YACb,OAAOE;QACT;QACA,IAAI,CAAChC,0BAA0B8B,SAASG,OAAO,GAAG7B,IAAI,KAAK;YACzD,OAAO4B;QACT;QACA,MAAMX,cAAcN,KAAKO,cAAc;QACvC,IAAID,eAAezB,KAAKsC,yBAAyB,CAACb,cAAc;YAC9D,OAAOA;QACT;QACA,OAAOW;IACT;IAEA,6CAA6C;IAC7C,IAAIpC,KAAKuC,qBAAqB,CAACpB,OAAO;QACpC,MAAMe,WAAWf,KAAKgB,WAAW;QACjC,IAAI,CAACD,YAAY,CAAC9B,0BAA0B8B,SAASG,OAAO,GAAG7B,IAAI,KAAK;YACtE,OAAO4B;QACT;QACA,MAAMI,OAAOrB,KAAKsB,aAAa;QAC/B,IAAIzC,KAAKsC,yBAAyB,CAACE,OAAO;YACxC,OAAOA;QACT;QACA,OAAOJ;IACT;IAEA,sCAAsC;IACtC,IAAIpC,KAAK0C,cAAc,CAACvB,OAAO;QAC7B,MAAMe,WAAWf,KAAKgB,WAAW;QACjC,IAAI,CAACD,YAAY,CAAC9B,0BAA0B8B,SAASG,OAAO,GAAG7B,IAAI,KAAK;YACtE,OAAO4B;QACT;QACA,MAAMI,OAAOrB,KAAKsB,aAAa;QAC/B,IAAIzC,KAAKsC,yBAAyB,CAACE,OAAO;YACxC,OAAOA;QACT;QACA,OAAOJ;IACT;IAEA,OAAOA;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/alias.input.ts"],"sourcesContent":["import { EXPERIMENTAL_TableFeature as TableFeatureFn } from '@payloadcms/richtext-lexical'\n\nexport const features = [TableFeatureFn()]\n"],"names":["EXPERIMENTAL_TableFeature","TableFeatureFn","features"],"mappings":"AAAA,SAASA,6BAA6BC,cAAc,QAAQ,+BAA8B;AAE1F,OAAO,MAAMC,WAAW;IAACD;CAAiB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/alias.output.ts"],"sourcesContent":["import { TableFeature as TableFeatureFn } from '@payloadcms/richtext-lexical'\n\nexport const features = [TableFeatureFn()]\n"],"names":["TableFeature","TableFeatureFn","features"],"mappings":"AAAA,SAASA,gBAAgBC,cAAc,QAAQ,+BAA8B;AAE7E,OAAO,MAAMC,WAAW;IAACD;CAAiB,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { EXPERIMENTAL_TableFeature, FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical';
|
|
2
|
+
export const RichText = {
|
|
3
|
+
fields: [
|
|
4
|
+
{
|
|
5
|
+
name: 'content',
|
|
6
|
+
type: 'richText',
|
|
7
|
+
editor: lexicalEditor({
|
|
8
|
+
features: ({ defaultFeatures })=>[
|
|
9
|
+
...defaultFeatures,
|
|
10
|
+
FixedToolbarFeature(),
|
|
11
|
+
EXPERIMENTAL_TableFeature()
|
|
12
|
+
]
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
slug: 'richtext'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=basic.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/basic.input.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport { EXPERIMENTAL_TableFeature, FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical'\n\nexport const RichText: CollectionConfig = {\n fields: [\n {\n name: 'content',\n type: 'richText',\n editor: lexicalEditor({\n features: ({ defaultFeatures }) => [\n ...defaultFeatures,\n FixedToolbarFeature(),\n EXPERIMENTAL_TableFeature(),\n ],\n }),\n },\n ],\n slug: 'richtext',\n}\n"],"names":["EXPERIMENTAL_TableFeature","FixedToolbarFeature","lexicalEditor","RichText","fields","name","type","editor","features","defaultFeatures","slug"],"mappings":"AAEA,SAASA,yBAAyB,EAAEC,mBAAmB,EAAEC,aAAa,QAAQ,+BAA8B;AAE5G,OAAO,MAAMC,WAA6B;IACxCC,QAAQ;QACN;YACEC,MAAM;YACNC,MAAM;YACNC,QAAQL,cAAc;gBACpBM,UAAU,CAAC,EAAEC,eAAe,EAAE,GAAK;2BAC9BA;wBACHR;wBACAD;qBACD;YACH;QACF;KACD;IACDU,MAAM;AACR,EAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { TableFeature, FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical';
|
|
2
|
+
export const RichText = {
|
|
3
|
+
fields: [
|
|
4
|
+
{
|
|
5
|
+
name: 'content',
|
|
6
|
+
type: 'richText',
|
|
7
|
+
editor: lexicalEditor({
|
|
8
|
+
features: ({ defaultFeatures })=>[
|
|
9
|
+
...defaultFeatures,
|
|
10
|
+
FixedToolbarFeature(),
|
|
11
|
+
TableFeature()
|
|
12
|
+
]
|
|
13
|
+
})
|
|
14
|
+
}
|
|
15
|
+
],
|
|
16
|
+
slug: 'richtext'
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
//# sourceMappingURL=basic.output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/basic.output.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport { TableFeature, FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical'\n\nexport const RichText: CollectionConfig = {\n fields: [\n {\n name: 'content',\n type: 'richText',\n editor: lexicalEditor({\n features: ({ defaultFeatures }) => [\n ...defaultFeatures,\n FixedToolbarFeature(),\n TableFeature(),\n ],\n }),\n },\n ],\n slug: 'richtext',\n}\n"],"names":["TableFeature","FixedToolbarFeature","lexicalEditor","RichText","fields","name","type","editor","features","defaultFeatures","slug"],"mappings":"AAEA,SAASA,YAAY,EAAEC,mBAAmB,EAAEC,aAAa,QAAQ,+BAA8B;AAE/F,OAAO,MAAMC,WAA6B;IACxCC,QAAQ;QACN;YACEC,MAAM;YACNC,MAAM;YACNC,QAAQL,cAAc;gBACpBM,UAAU,CAAC,EAAEC,eAAe,EAAE,GAAK;2BAC9BA;wBACHR;wBACAD;qBACD;YACH;QACF;KACD;IACDU,MAAM;AACR,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/collision.input.ts"],"sourcesContent":["import { EXPERIMENTAL_TableFeature, TableFeature } from '@payloadcms/richtext-lexical'\n\nexport const features = [EXPERIMENTAL_TableFeature(), TableFeature()]\n"],"names":["EXPERIMENTAL_TableFeature","TableFeature","features"],"mappings":"AAAA,SAASA,yBAAyB,EAAEC,YAAY,QAAQ,+BAA8B;AAEtF,OAAO,MAAMC,WAAW;IAACF;IAA6BC;CAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/rename-experimental-table-feature/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAM/C,eAAO,MAAM,8BAA8B,EAAE,SAkD5C,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Node } from 'ts-morph';
|
|
2
|
+
const PACKAGE_NAME = '@payloadcms/richtext-lexical';
|
|
3
|
+
const OLD_NAME = 'EXPERIMENTAL_TableFeature';
|
|
4
|
+
const NEW_NAME = 'TableFeature';
|
|
5
|
+
export const renameExperimentalTableFeature = {
|
|
6
|
+
name: 'rename-experimental-table-feature',
|
|
7
|
+
apply: ({ project })=>{
|
|
8
|
+
const filesChanged = new Set();
|
|
9
|
+
for (const file of project.getSourceFiles()){
|
|
10
|
+
for (const importDecl of file.getImportDeclarations()){
|
|
11
|
+
if (importDecl.getModuleSpecifierValue() !== PACKAGE_NAME) {
|
|
12
|
+
continue;
|
|
13
|
+
}
|
|
14
|
+
const named = importDecl.getNamedImports();
|
|
15
|
+
const spec = named.find((specifier)=>specifier.getName() === OLD_NAME);
|
|
16
|
+
if (!spec) {
|
|
17
|
+
continue;
|
|
18
|
+
}
|
|
19
|
+
// Skip if `TableFeature` is already imported here too, to avoid a collision.
|
|
20
|
+
const hasNewName = named.some((specifier)=>(specifier.getAliasNode()?.getText() ?? specifier.getName()) === NEW_NAME);
|
|
21
|
+
if (hasNewName) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
if (spec.getAliasNode()) {
|
|
25
|
+
// Aliased usages (`EXPERIMENTAL_TableFeature as Foo`) only reference the alias,
|
|
26
|
+
// so the imported name can be swapped without touching call sites.
|
|
27
|
+
spec.setName(NEW_NAME);
|
|
28
|
+
} else {
|
|
29
|
+
// No alias: the imported name is also the local binding, so rename it to update
|
|
30
|
+
// every call site (e.g. `EXPERIMENTAL_TableFeature()`) in the same pass.
|
|
31
|
+
const nameNode = spec.getNameNode();
|
|
32
|
+
// Always an Identifier in valid code: a string-literal import name requires an alias.
|
|
33
|
+
if (!Node.isIdentifier(nameNode)) {
|
|
34
|
+
continue;
|
|
35
|
+
}
|
|
36
|
+
nameNode.rename(NEW_NAME);
|
|
37
|
+
}
|
|
38
|
+
filesChanged.add(file.getFilePath());
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
filesChanged: [
|
|
43
|
+
...filesChanged
|
|
44
|
+
]
|
|
45
|
+
};
|
|
46
|
+
},
|
|
47
|
+
description: 'Renames imports of `EXPERIMENTAL_TableFeature` from `@payloadcms/richtext-lexical` to `TableFeature` (the table feature is now stable) and updates all local usages.'
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/index.ts"],"sourcesContent":["import { Node } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\nconst PACKAGE_NAME = '@payloadcms/richtext-lexical'\nconst OLD_NAME = 'EXPERIMENTAL_TableFeature'\nconst NEW_NAME = 'TableFeature'\n\nexport const renameExperimentalTableFeature: Transform = {\n name: 'rename-experimental-table-feature',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n\n for (const file of project.getSourceFiles()) {\n for (const importDecl of file.getImportDeclarations()) {\n if (importDecl.getModuleSpecifierValue() !== PACKAGE_NAME) {\n continue\n }\n\n const named = importDecl.getNamedImports()\n const spec = named.find((specifier) => specifier.getName() === OLD_NAME)\n if (!spec) {\n continue\n }\n\n // Skip if `TableFeature` is already imported here too, to avoid a collision.\n const hasNewName = named.some(\n (specifier) => (specifier.getAliasNode()?.getText() ?? specifier.getName()) === NEW_NAME,\n )\n if (hasNewName) {\n continue\n }\n\n if (spec.getAliasNode()) {\n // Aliased usages (`EXPERIMENTAL_TableFeature as Foo`) only reference the alias,\n // so the imported name can be swapped without touching call sites.\n spec.setName(NEW_NAME)\n } else {\n // No alias: the imported name is also the local binding, so rename it to update\n // every call site (e.g. `EXPERIMENTAL_TableFeature()`) in the same pass.\n const nameNode = spec.getNameNode()\n\n // Always an Identifier in valid code: a string-literal import name requires an alias.\n if (!Node.isIdentifier(nameNode)) {\n continue\n }\n\n nameNode.rename(NEW_NAME)\n }\n\n filesChanged.add(file.getFilePath())\n }\n }\n\n return { filesChanged: [...filesChanged] }\n },\n description:\n 'Renames imports of `EXPERIMENTAL_TableFeature` from `@payloadcms/richtext-lexical` to `TableFeature` (the table feature is now stable) and updates all local usages.',\n}\n"],"names":["Node","PACKAGE_NAME","OLD_NAME","NEW_NAME","renameExperimentalTableFeature","name","apply","project","filesChanged","Set","file","getSourceFiles","importDecl","getImportDeclarations","getModuleSpecifierValue","named","getNamedImports","spec","find","specifier","getName","hasNewName","some","getAliasNode","getText","setName","nameNode","getNameNode","isIdentifier","rename","add","getFilePath","description"],"mappings":"AAAA,SAASA,IAAI,QAAQ,WAAU;AAI/B,MAAMC,eAAe;AACrB,MAAMC,WAAW;AACjB,MAAMC,WAAW;AAEjB,OAAO,MAAMC,iCAA4C;IACvDC,MAAM;IACNC,OAAO,CAAC,EAAEC,OAAO,EAAE;QACjB,MAAMC,eAAe,IAAIC;QAEzB,KAAK,MAAMC,QAAQH,QAAQI,cAAc,GAAI;YAC3C,KAAK,MAAMC,cAAcF,KAAKG,qBAAqB,GAAI;gBACrD,IAAID,WAAWE,uBAAuB,OAAOb,cAAc;oBACzD;gBACF;gBAEA,MAAMc,QAAQH,WAAWI,eAAe;gBACxC,MAAMC,OAAOF,MAAMG,IAAI,CAAC,CAACC,YAAcA,UAAUC,OAAO,OAAOlB;gBAC/D,IAAI,CAACe,MAAM;oBACT;gBACF;gBAEA,6EAA6E;gBAC7E,MAAMI,aAAaN,MAAMO,IAAI,CAC3B,CAACH,YAAc,AAACA,CAAAA,UAAUI,YAAY,IAAIC,aAAaL,UAAUC,OAAO,EAAC,MAAOjB;gBAElF,IAAIkB,YAAY;oBACd;gBACF;gBAEA,IAAIJ,KAAKM,YAAY,IAAI;oBACvB,gFAAgF;oBAChF,mEAAmE;oBACnEN,KAAKQ,OAAO,CAACtB;gBACf,OAAO;oBACL,gFAAgF;oBAChF,yEAAyE;oBACzE,MAAMuB,WAAWT,KAAKU,WAAW;oBAEjC,sFAAsF;oBACtF,IAAI,CAAC3B,KAAK4B,YAAY,CAACF,WAAW;wBAChC;oBACF;oBAEAA,SAASG,MAAM,CAAC1B;gBAClB;gBAEAK,aAAasB,GAAG,CAACpB,KAAKqB,WAAW;YACnC;QACF;QAEA,OAAO;YAAEvB,cAAc;mBAAIA;aAAa;QAAC;IAC3C;IACAwB,aACE;AACJ,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/no-match.input.ts"],"sourcesContent":["import { FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical'\n\nexport const editor = lexicalEditor({\n features: ({ defaultFeatures }) => [...defaultFeatures, FixedToolbarFeature()],\n})\n"],"names":["FixedToolbarFeature","lexicalEditor","editor","features","defaultFeatures"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,aAAa,QAAQ,+BAA8B;AAEjF,OAAO,MAAMC,SAASD,cAAc;IAClCE,UAAU,CAAC,EAAEC,eAAe,EAAE,GAAK;eAAIA;YAAiBJ;SAAsB;AAChF,GAAE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default Payload dist-tag when the caller did not pass --tag. Every package in
|
|
3
|
+
* the monorepo (this one included) is versioned and published in lockstep, so
|
|
4
|
+
* the dist-tag the codemod was invoked under (`npx @payloadcms/codemod@beta`)
|
|
5
|
+
* surfaces as its own version's prerelease id. Follow that train; fall back to
|
|
6
|
+
* canary for stable or local dev builds that carry no prerelease id.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveDefaultTag(version?: string | undefined): string;
|
|
9
|
+
//# sourceMappingURL=defaultTag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultTag.d.ts","sourceRoot":"","sources":["../../src/upgrade/defaultTag.ts"],"names":[],"mappings":"AAQA;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,MAAM,GAAG,SAA4B,GAAG,MAAM,CAGxF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { readFileSync } from 'node:fs';
|
|
2
|
+
import { dirname, resolve } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import semver from 'semver';
|
|
5
|
+
/** Dist-tag used when neither --tag nor the running version implies one. */ const FALLBACK_TAG = 'canary';
|
|
6
|
+
/**
|
|
7
|
+
* Default Payload dist-tag when the caller did not pass --tag. Every package in
|
|
8
|
+
* the monorepo (this one included) is versioned and published in lockstep, so
|
|
9
|
+
* the dist-tag the codemod was invoked under (`npx @payloadcms/codemod@beta`)
|
|
10
|
+
* surfaces as its own version's prerelease id. Follow that train; fall back to
|
|
11
|
+
* canary for stable or local dev builds that carry no prerelease id.
|
|
12
|
+
*/ export function resolveDefaultTag(version = readOwnVersion()) {
|
|
13
|
+
const id = version ? semver.prerelease(version)?.[0] : undefined;
|
|
14
|
+
return typeof id === 'string' ? id : FALLBACK_TAG;
|
|
15
|
+
}
|
|
16
|
+
function readOwnVersion() {
|
|
17
|
+
try {
|
|
18
|
+
const pkgPath = resolve(dirname(fileURLToPath(import.meta.url)), '..', '..', 'package.json');
|
|
19
|
+
return JSON.parse(readFileSync(pkgPath, 'utf8')).version;
|
|
20
|
+
} catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//# sourceMappingURL=defaultTag.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/upgrade/defaultTag.ts"],"sourcesContent":["import { readFileSync } from 'node:fs'\nimport { dirname, resolve } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport semver from 'semver'\n\n/** Dist-tag used when neither --tag nor the running version implies one. */\nconst FALLBACK_TAG = 'canary'\n\n/**\n * Default Payload dist-tag when the caller did not pass --tag. Every package in\n * the monorepo (this one included) is versioned and published in lockstep, so\n * the dist-tag the codemod was invoked under (`npx @payloadcms/codemod@beta`)\n * surfaces as its own version's prerelease id. Follow that train; fall back to\n * canary for stable or local dev builds that carry no prerelease id.\n */\nexport function resolveDefaultTag(version: string | undefined = readOwnVersion()): string {\n const id = version ? semver.prerelease(version)?.[0] : undefined\n return typeof id === 'string' ? id : FALLBACK_TAG\n}\n\nfunction readOwnVersion(): string | undefined {\n try {\n const pkgPath = resolve(dirname(fileURLToPath(import.meta.url)), '..', '..', 'package.json')\n return JSON.parse(readFileSync(pkgPath, 'utf8')).version as string\n } catch {\n return undefined\n }\n}\n"],"names":["readFileSync","dirname","resolve","fileURLToPath","semver","FALLBACK_TAG","resolveDefaultTag","version","readOwnVersion","id","prerelease","undefined","pkgPath","url","JSON","parse"],"mappings":"AAAA,SAASA,YAAY,QAAQ,UAAS;AACtC,SAASC,OAAO,EAAEC,OAAO,QAAQ,YAAW;AAC5C,SAASC,aAAa,QAAQ,WAAU;AACxC,OAAOC,YAAY,SAAQ;AAE3B,0EAA0E,GAC1E,MAAMC,eAAe;AAErB;;;;;;CAMC,GACD,OAAO,SAASC,kBAAkBC,UAA8BC,gBAAgB;IAC9E,MAAMC,KAAKF,UAAUH,OAAOM,UAAU,CAACH,UAAU,CAAC,EAAE,GAAGI;IACvD,OAAO,OAAOF,OAAO,WAAWA,KAAKJ;AACvC;AAEA,SAASG;IACP,IAAI;QACF,MAAMI,UAAUV,QAAQD,QAAQE,cAAc,YAAYU,GAAG,IAAI,MAAM,MAAM;QAC7E,OAAOC,KAAKC,KAAK,CAACf,aAAaY,SAAS,SAASL,OAAO;IAC1D,EAAE,OAAM;QACN,OAAOI;IACT;AACF"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PackageManager } from './types.js';
|
|
2
|
+
/**
|
|
3
|
+
* Map a project directory's lockfile to its package manager. `exists` is
|
|
4
|
+
* injectable so callers can test offline; it defaults to the real filesystem.
|
|
5
|
+
* pnpm is checked first, so it wins in a multi-lockfile repo.
|
|
6
|
+
*/
|
|
7
|
+
export declare function detectPackageManager(projectPath: string, exists?: (path: string) => boolean): PackageManager;
|
|
8
|
+
//# sourceMappingURL=detectPackageManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detectPackageManager.d.ts","sourceRoot":"","sources":["../../src/upgrade/detectPackageManager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAUhD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAoB,GAC7C,cAAc,CAOhB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { existsSync } from 'node:fs';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
const LOCKFILES = [
|
|
4
|
+
{
|
|
5
|
+
file: 'pnpm-lock.yaml',
|
|
6
|
+
pm: 'pnpm'
|
|
7
|
+
},
|
|
8
|
+
{
|
|
9
|
+
file: 'yarn.lock',
|
|
10
|
+
pm: 'yarn'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
file: 'bun.lockb',
|
|
14
|
+
pm: 'bun'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
file: 'bun.lock',
|
|
18
|
+
pm: 'bun'
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
file: 'package-lock.json',
|
|
22
|
+
pm: 'npm'
|
|
23
|
+
}
|
|
24
|
+
];
|
|
25
|
+
/**
|
|
26
|
+
* Map a project directory's lockfile to its package manager. `exists` is
|
|
27
|
+
* injectable so callers can test offline; it defaults to the real filesystem.
|
|
28
|
+
* pnpm is checked first, so it wins in a multi-lockfile repo.
|
|
29
|
+
*/ export function detectPackageManager(projectPath, exists = existsSync) {
|
|
30
|
+
for (const { file, pm } of LOCKFILES){
|
|
31
|
+
if (exists(join(projectPath, file))) {
|
|
32
|
+
return pm;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return 'npm';
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=detectPackageManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/upgrade/detectPackageManager.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { join } from 'node:path'\n\nimport type { PackageManager } from './types.js'\n\nconst LOCKFILES: { file: string; pm: PackageManager }[] = [\n { file: 'pnpm-lock.yaml', pm: 'pnpm' },\n { file: 'yarn.lock', pm: 'yarn' },\n { file: 'bun.lockb', pm: 'bun' },\n { file: 'bun.lock', pm: 'bun' },\n { file: 'package-lock.json', pm: 'npm' },\n]\n\n/**\n * Map a project directory's lockfile to its package manager. `exists` is\n * injectable so callers can test offline; it defaults to the real filesystem.\n * pnpm is checked first, so it wins in a multi-lockfile repo.\n */\nexport function detectPackageManager(\n projectPath: string,\n exists: (path: string) => boolean = existsSync,\n): PackageManager {\n for (const { file, pm } of LOCKFILES) {\n if (exists(join(projectPath, file))) {\n return pm\n }\n }\n return 'npm'\n}\n"],"names":["existsSync","join","LOCKFILES","file","pm","detectPackageManager","projectPath","exists"],"mappings":"AAAA,SAASA,UAAU,QAAQ,UAAS;AACpC,SAASC,IAAI,QAAQ,YAAW;AAIhC,MAAMC,YAAoD;IACxD;QAAEC,MAAM;QAAkBC,IAAI;IAAO;IACrC;QAAED,MAAM;QAAaC,IAAI;IAAO;IAChC;QAAED,MAAM;QAAaC,IAAI;IAAM;IAC/B;QAAED,MAAM;QAAYC,IAAI;IAAM;IAC9B;QAAED,MAAM;QAAqBC,IAAI;IAAM;CACxC;AAED;;;;CAIC,GACD,OAAO,SAASC,qBACdC,WAAmB,EACnBC,SAAoCP,UAAU;IAE9C,KAAK,MAAM,EAAEG,IAAI,EAAEC,EAAE,EAAE,IAAIF,UAAW;QACpC,IAAIK,OAAON,KAAKK,aAAaH,QAAQ;YACnC,OAAOC;QACT;IACF;IACA,OAAO;AACT"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Agent, DispatchChoice } from './selectAgent.js';
|
|
2
|
+
import { runUpgrade } from './index.js';
|
|
3
|
+
type UpgradeFlags = Parameters<typeof runUpgrade>[0]['flags'];
|
|
4
|
+
type RunDispatchArgs = {
|
|
5
|
+
agentFlag?: string;
|
|
6
|
+
path: string;
|
|
7
|
+
upgradeFlags: UpgradeFlags;
|
|
8
|
+
};
|
|
9
|
+
export type DispatchDeps = {
|
|
10
|
+
detectAgents: () => Agent[];
|
|
11
|
+
isInteractive: boolean;
|
|
12
|
+
promptChoice: (agents: Agent[]) => Promise<DispatchChoice>;
|
|
13
|
+
renderPrompt: () => string;
|
|
14
|
+
runMechanical: (args: {
|
|
15
|
+
flags: UpgradeFlags;
|
|
16
|
+
path: string;
|
|
17
|
+
}) => Promise<{
|
|
18
|
+
failed: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
spawnAgent: (args: {
|
|
21
|
+
agent: Agent;
|
|
22
|
+
cwd: string;
|
|
23
|
+
promptFilePath: string;
|
|
24
|
+
}) => Promise<{
|
|
25
|
+
code: number;
|
|
26
|
+
}>;
|
|
27
|
+
writePromptFile: (contents: string) => string;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Bare `upgrade`: pick how to run the full v3 -> v4 upgrade. Hands the
|
|
31
|
+
* orchestration prompt to a detected coding agent, runs the mechanical slice
|
|
32
|
+
* here, or prints the prompt for manual use.
|
|
33
|
+
*/
|
|
34
|
+
export declare function runDispatch({ agentFlag, path, upgradeFlags }: RunDispatchArgs, deps?: DispatchDeps): Promise<{
|
|
35
|
+
failed: boolean;
|
|
36
|
+
}>;
|
|
37
|
+
export {};
|
|
38
|
+
//# sourceMappingURL=dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch.d.ts","sourceRoot":"","sources":["../../src/upgrade/dispatch.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAKvC,KAAK,YAAY,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;AAE7D,KAAK,eAAe,GAAG;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,CAAA;IACZ,YAAY,EAAE,YAAY,CAAA;CAC3B,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,KAAK,EAAE,CAAA;IAC3B,aAAa,EAAE,OAAO,CAAA;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;IAC1D,YAAY,EAAE,MAAM,MAAM,CAAA;IAC1B,aAAa,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,YAAY,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAC,CAAA;IAC5F,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,cAAc,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC;QACnF,IAAI,EAAE,MAAM,CAAA;KACb,CAAC,CAAA;IACF,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,CAAA;CAC9C,CAAA;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAC/B,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,eAAe,EAClD,IAAI,GAAE,YAAoC,GACzC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CAmC9B"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
/* eslint-disable no-console */ import * as p from '@clack/prompts';
|
|
2
|
+
import { spawn } from 'node:child_process';
|
|
3
|
+
import { mkdtempSync, writeFileSync } from 'node:fs';
|
|
4
|
+
import { tmpdir } from 'node:os';
|
|
5
|
+
import { join, resolve } from 'node:path';
|
|
6
|
+
import { runUpgrade } from './index.js';
|
|
7
|
+
import { renderUpgradePrompt } from './prompt.js';
|
|
8
|
+
import { detectInstalledAgents, selectDispatch } from './selectAgent.js';
|
|
9
|
+
import { resolveSelfCommand } from './selfCommand.js';
|
|
10
|
+
/**
|
|
11
|
+
* Bare `upgrade`: pick how to run the full v3 -> v4 upgrade. Hands the
|
|
12
|
+
* orchestration prompt to a detected coding agent, runs the mechanical slice
|
|
13
|
+
* here, or prints the prompt for manual use.
|
|
14
|
+
*/ export async function runDispatch({ agentFlag, path, upgradeFlags }, deps = defaultDispatchDeps()) {
|
|
15
|
+
const installed = deps.detectAgents();
|
|
16
|
+
let choice;
|
|
17
|
+
try {
|
|
18
|
+
choice = await selectDispatch({
|
|
19
|
+
agentFlag,
|
|
20
|
+
installed,
|
|
21
|
+
isInteractive: deps.isInteractive,
|
|
22
|
+
prompt: deps.promptChoice
|
|
23
|
+
});
|
|
24
|
+
} catch (err) {
|
|
25
|
+
console.error(err instanceof Error ? err.message : String(err));
|
|
26
|
+
return {
|
|
27
|
+
failed: true
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
if (choice.kind === 'run') {
|
|
31
|
+
return deps.runMechanical({
|
|
32
|
+
flags: upgradeFlags,
|
|
33
|
+
path
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
const promptText = deps.renderPrompt();
|
|
37
|
+
if (choice.kind === 'print') {
|
|
38
|
+
console.log(promptText);
|
|
39
|
+
return {
|
|
40
|
+
failed: false
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
const promptFilePath = deps.writePromptFile(promptText);
|
|
44
|
+
console.log(`Handing the upgrade prompt to ${choice.agent.label}...`);
|
|
45
|
+
const { code } = await deps.spawnAgent({
|
|
46
|
+
agent: choice.agent,
|
|
47
|
+
cwd: resolve(path),
|
|
48
|
+
promptFilePath
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
failed: code !== 0
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
function defaultDispatchDeps() {
|
|
55
|
+
return {
|
|
56
|
+
detectAgents: detectInstalledAgents,
|
|
57
|
+
isInteractive: Boolean(process.stdin.isTTY && process.stdout.isTTY),
|
|
58
|
+
promptChoice: promptChoiceFromTerminal,
|
|
59
|
+
renderPrompt: ()=>renderUpgradePrompt({
|
|
60
|
+
command: resolveSelfCommand()
|
|
61
|
+
}),
|
|
62
|
+
runMechanical: (args)=>runUpgrade(args),
|
|
63
|
+
spawnAgent: spawnAgentInteractive,
|
|
64
|
+
writePromptFile: (contents)=>{
|
|
65
|
+
const dir = mkdtempSync(join(tmpdir(), 'payload-v4-upgrade-'));
|
|
66
|
+
const filePath = join(dir, 'prompt.md');
|
|
67
|
+
writeFileSync(filePath, contents);
|
|
68
|
+
return filePath;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/** Clack select: each installed agent, then run the slice or print the prompt. */ async function promptChoiceFromTerminal(agents) {
|
|
73
|
+
p.intro('Payload v3 -> v4 upgrade');
|
|
74
|
+
const selection = await p.select({
|
|
75
|
+
message: 'How do you want to run it?',
|
|
76
|
+
options: [
|
|
77
|
+
...agents.map((agent)=>({
|
|
78
|
+
hint: `hand the prompt to \`${agent.command}\``,
|
|
79
|
+
label: agent.label,
|
|
80
|
+
value: agent.id
|
|
81
|
+
})),
|
|
82
|
+
{
|
|
83
|
+
hint: 'pin versions, install, run the codemods now',
|
|
84
|
+
label: 'Run the mechanical steps',
|
|
85
|
+
value: 'run'
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
hint: 'run it yourself or paste it elsewhere',
|
|
89
|
+
label: 'Just print the prompt',
|
|
90
|
+
value: 'print'
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
});
|
|
94
|
+
// Cancelling (Ctrl-C) falls back to printing the prompt so the user keeps it.
|
|
95
|
+
if (p.isCancel(selection)) {
|
|
96
|
+
return {
|
|
97
|
+
kind: 'print'
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
if (selection === 'run') {
|
|
101
|
+
return {
|
|
102
|
+
kind: 'run'
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
const agent = agents.find((a)=>a.id === selection);
|
|
106
|
+
return agent ? {
|
|
107
|
+
agent,
|
|
108
|
+
kind: 'agent'
|
|
109
|
+
} : {
|
|
110
|
+
kind: 'print'
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/** Interactive agent session seeded with a one-line pointer to the prompt file. */ function spawnAgentInteractive({ agent, cwd, promptFilePath }) {
|
|
114
|
+
const launchPrompt = `Read ${promptFilePath} and follow it to upgrade this project from Payload v3 to v4.`;
|
|
115
|
+
return new Promise((resolveSpawn)=>{
|
|
116
|
+
const child = spawn(agent.command, [
|
|
117
|
+
launchPrompt
|
|
118
|
+
], {
|
|
119
|
+
cwd,
|
|
120
|
+
shell: false,
|
|
121
|
+
stdio: 'inherit'
|
|
122
|
+
});
|
|
123
|
+
child.on('close', (code)=>resolveSpawn({
|
|
124
|
+
code: code ?? 1
|
|
125
|
+
}));
|
|
126
|
+
child.on('error', ()=>resolveSpawn({
|
|
127
|
+
code: 1
|
|
128
|
+
}));
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
//# sourceMappingURL=dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/upgrade/dispatch.ts"],"sourcesContent":["/* eslint-disable no-console */\nimport * as p from '@clack/prompts'\nimport { spawn } from 'node:child_process'\nimport { mkdtempSync, writeFileSync } from 'node:fs'\nimport { tmpdir } from 'node:os'\nimport { join, resolve } from 'node:path'\n\nimport type { Agent, DispatchChoice } from './selectAgent.js'\n\nimport { runUpgrade } from './index.js'\nimport { renderUpgradePrompt } from './prompt.js'\nimport { detectInstalledAgents, selectDispatch } from './selectAgent.js'\nimport { resolveSelfCommand } from './selfCommand.js'\n\ntype UpgradeFlags = Parameters<typeof runUpgrade>[0]['flags']\n\ntype RunDispatchArgs = {\n agentFlag?: string\n path: string\n upgradeFlags: UpgradeFlags\n}\n\nexport type DispatchDeps = {\n detectAgents: () => Agent[]\n isInteractive: boolean\n promptChoice: (agents: Agent[]) => Promise<DispatchChoice>\n renderPrompt: () => string\n runMechanical: (args: { flags: UpgradeFlags; path: string }) => Promise<{ failed: boolean }>\n spawnAgent: (args: { agent: Agent; cwd: string; promptFilePath: string }) => Promise<{\n code: number\n }>\n writePromptFile: (contents: string) => string\n}\n\n/**\n * Bare `upgrade`: pick how to run the full v3 -> v4 upgrade. Hands the\n * orchestration prompt to a detected coding agent, runs the mechanical slice\n * here, or prints the prompt for manual use.\n */\nexport async function runDispatch(\n { agentFlag, path, upgradeFlags }: RunDispatchArgs,\n deps: DispatchDeps = defaultDispatchDeps(),\n): Promise<{ failed: boolean }> {\n const installed = deps.detectAgents()\n\n let choice: DispatchChoice\n try {\n choice = await selectDispatch({\n agentFlag,\n installed,\n isInteractive: deps.isInteractive,\n prompt: deps.promptChoice,\n })\n } catch (err) {\n console.error(err instanceof Error ? err.message : String(err))\n return { failed: true }\n }\n\n if (choice.kind === 'run') {\n return deps.runMechanical({ flags: upgradeFlags, path })\n }\n\n const promptText = deps.renderPrompt()\n\n if (choice.kind === 'print') {\n console.log(promptText)\n return { failed: false }\n }\n\n const promptFilePath = deps.writePromptFile(promptText)\n console.log(`Handing the upgrade prompt to ${choice.agent.label}...`)\n const { code } = await deps.spawnAgent({\n agent: choice.agent,\n cwd: resolve(path),\n promptFilePath,\n })\n return { failed: code !== 0 }\n}\n\nfunction defaultDispatchDeps(): DispatchDeps {\n return {\n detectAgents: detectInstalledAgents,\n isInteractive: Boolean(process.stdin.isTTY && process.stdout.isTTY),\n promptChoice: promptChoiceFromTerminal,\n renderPrompt: () => renderUpgradePrompt({ command: resolveSelfCommand() }),\n runMechanical: (args) => runUpgrade(args),\n spawnAgent: spawnAgentInteractive,\n writePromptFile: (contents) => {\n const dir = mkdtempSync(join(tmpdir(), 'payload-v4-upgrade-'))\n const filePath = join(dir, 'prompt.md')\n writeFileSync(filePath, contents)\n return filePath\n },\n }\n}\n\n/** Clack select: each installed agent, then run the slice or print the prompt. */\nasync function promptChoiceFromTerminal(agents: Agent[]): Promise<DispatchChoice> {\n p.intro('Payload v3 -> v4 upgrade')\n const selection = await p.select({\n message: 'How do you want to run it?',\n options: [\n ...agents.map((agent) => ({\n hint: `hand the prompt to \\`${agent.command}\\``,\n label: agent.label,\n value: agent.id,\n })),\n {\n hint: 'pin versions, install, run the codemods now',\n label: 'Run the mechanical steps',\n value: 'run',\n },\n {\n hint: 'run it yourself or paste it elsewhere',\n label: 'Just print the prompt',\n value: 'print',\n },\n ],\n })\n\n // Cancelling (Ctrl-C) falls back to printing the prompt so the user keeps it.\n if (p.isCancel(selection)) {\n return { kind: 'print' }\n }\n if (selection === 'run') {\n return { kind: 'run' }\n }\n const agent = agents.find((a) => a.id === selection)\n return agent ? { agent, kind: 'agent' } : { kind: 'print' }\n}\n\n/** Interactive agent session seeded with a one-line pointer to the prompt file. */\nfunction spawnAgentInteractive({\n agent,\n cwd,\n promptFilePath,\n}: {\n agent: Agent\n cwd: string\n promptFilePath: string\n}): Promise<{ code: number }> {\n const launchPrompt = `Read ${promptFilePath} and follow it to upgrade this project from Payload v3 to v4.`\n return new Promise((resolveSpawn) => {\n const child = spawn(agent.command, [launchPrompt], { cwd, shell: false, stdio: 'inherit' })\n child.on('close', (code) => resolveSpawn({ code: code ?? 1 }))\n child.on('error', () => resolveSpawn({ code: 1 }))\n })\n}\n"],"names":["p","spawn","mkdtempSync","writeFileSync","tmpdir","join","resolve","runUpgrade","renderUpgradePrompt","detectInstalledAgents","selectDispatch","resolveSelfCommand","runDispatch","agentFlag","path","upgradeFlags","deps","defaultDispatchDeps","installed","detectAgents","choice","isInteractive","prompt","promptChoice","err","console","error","Error","message","String","failed","kind","runMechanical","flags","promptText","renderPrompt","log","promptFilePath","writePromptFile","agent","label","code","spawnAgent","cwd","Boolean","process","stdin","isTTY","stdout","promptChoiceFromTerminal","command","args","spawnAgentInteractive","contents","dir","filePath","agents","intro","selection","select","options","map","hint","value","id","isCancel","find","a","launchPrompt","Promise","resolveSpawn","child","shell","stdio","on"],"mappings":"AAAA,6BAA6B,GAC7B,YAAYA,OAAO,iBAAgB;AACnC,SAASC,KAAK,QAAQ,qBAAoB;AAC1C,SAASC,WAAW,EAAEC,aAAa,QAAQ,UAAS;AACpD,SAASC,MAAM,QAAQ,UAAS;AAChC,SAASC,IAAI,EAAEC,OAAO,QAAQ,YAAW;AAIzC,SAASC,UAAU,QAAQ,aAAY;AACvC,SAASC,mBAAmB,QAAQ,cAAa;AACjD,SAASC,qBAAqB,EAAEC,cAAc,QAAQ,mBAAkB;AACxE,SAASC,kBAAkB,QAAQ,mBAAkB;AAsBrD;;;;CAIC,GACD,OAAO,eAAeC,YACpB,EAAEC,SAAS,EAAEC,IAAI,EAAEC,YAAY,EAAmB,EAClDC,OAAqBC,qBAAqB;IAE1C,MAAMC,YAAYF,KAAKG,YAAY;IAEnC,IAAIC;IACJ,IAAI;QACFA,SAAS,MAAMV,eAAe;YAC5BG;YACAK;YACAG,eAAeL,KAAKK,aAAa;YACjCC,QAAQN,KAAKO,YAAY;QAC3B;IACF,EAAE,OAAOC,KAAK;QACZC,QAAQC,KAAK,CAACF,eAAeG,QAAQH,IAAII,OAAO,GAAGC,OAAOL;QAC1D,OAAO;YAAEM,QAAQ;QAAK;IACxB;IAEA,IAAIV,OAAOW,IAAI,KAAK,OAAO;QACzB,OAAOf,KAAKgB,aAAa,CAAC;YAAEC,OAAOlB;YAAcD;QAAK;IACxD;IAEA,MAAMoB,aAAalB,KAAKmB,YAAY;IAEpC,IAAIf,OAAOW,IAAI,KAAK,SAAS;QAC3BN,QAAQW,GAAG,CAACF;QACZ,OAAO;YAAEJ,QAAQ;QAAM;IACzB;IAEA,MAAMO,iBAAiBrB,KAAKsB,eAAe,CAACJ;IAC5CT,QAAQW,GAAG,CAAC,CAAC,8BAA8B,EAAEhB,OAAOmB,KAAK,CAACC,KAAK,CAAC,GAAG,CAAC;IACpE,MAAM,EAAEC,IAAI,EAAE,GAAG,MAAMzB,KAAK0B,UAAU,CAAC;QACrCH,OAAOnB,OAAOmB,KAAK;QACnBI,KAAKrC,QAAQQ;QACbuB;IACF;IACA,OAAO;QAAEP,QAAQW,SAAS;IAAE;AAC9B;AAEA,SAASxB;IACP,OAAO;QACLE,cAAcV;QACdY,eAAeuB,QAAQC,QAAQC,KAAK,CAACC,KAAK,IAAIF,QAAQG,MAAM,CAACD,KAAK;QAClExB,cAAc0B;QACdd,cAAc,IAAM3B,oBAAoB;gBAAE0C,SAASvC;YAAqB;QACxEqB,eAAe,CAACmB,OAAS5C,WAAW4C;QACpCT,YAAYU;QACZd,iBAAiB,CAACe;YAChB,MAAMC,MAAMpD,YAAYG,KAAKD,UAAU;YACvC,MAAMmD,WAAWlD,KAAKiD,KAAK;YAC3BnD,cAAcoD,UAAUF;YACxB,OAAOE;QACT;IACF;AACF;AAEA,gFAAgF,GAChF,eAAeN,yBAAyBO,MAAe;IACrDxD,EAAEyD,KAAK,CAAC;IACR,MAAMC,YAAY,MAAM1D,EAAE2D,MAAM,CAAC;QAC/B/B,SAAS;QACTgC,SAAS;eACJJ,OAAOK,GAAG,CAAC,CAACtB,QAAW,CAAA;oBACxBuB,MAAM,CAAC,qBAAqB,EAAEvB,MAAMW,OAAO,CAAC,EAAE,CAAC;oBAC/CV,OAAOD,MAAMC,KAAK;oBAClBuB,OAAOxB,MAAMyB,EAAE;gBACjB,CAAA;YACA;gBACEF,MAAM;gBACNtB,OAAO;gBACPuB,OAAO;YACT;YACA;gBACED,MAAM;gBACNtB,OAAO;gBACPuB,OAAO;YACT;SACD;IACH;IAEA,8EAA8E;IAC9E,IAAI/D,EAAEiE,QAAQ,CAACP,YAAY;QACzB,OAAO;YAAE3B,MAAM;QAAQ;IACzB;IACA,IAAI2B,cAAc,OAAO;QACvB,OAAO;YAAE3B,MAAM;QAAM;IACvB;IACA,MAAMQ,QAAQiB,OAAOU,IAAI,CAAC,CAACC,IAAMA,EAAEH,EAAE,KAAKN;IAC1C,OAAOnB,QAAQ;QAAEA;QAAOR,MAAM;IAAQ,IAAI;QAAEA,MAAM;IAAQ;AAC5D;AAEA,iFAAiF,GACjF,SAASqB,sBAAsB,EAC7Bb,KAAK,EACLI,GAAG,EACHN,cAAc,EAKf;IACC,MAAM+B,eAAe,CAAC,KAAK,EAAE/B,eAAe,6DAA6D,CAAC;IAC1G,OAAO,IAAIgC,QAAQ,CAACC;QAClB,MAAMC,QAAQtE,MAAMsC,MAAMW,OAAO,EAAE;YAACkB;SAAa,EAAE;YAAEzB;YAAK6B,OAAO;YAAOC,OAAO;QAAU;QACzFF,MAAMG,EAAE,CAAC,SAAS,CAACjC,OAAS6B,aAAa;gBAAE7B,MAAMA,QAAQ;YAAE;QAC3D8B,MAAMG,EAAE,CAAC,SAAS,IAAMJ,aAAa;gBAAE7B,MAAM;YAAE;IACjD;AACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { UpgradeDeps } from './types.js';
|
|
2
|
+
import { runTransforms as defaultRunTransforms } from '../runner.js';
|
|
3
|
+
export type UpgradeFlags = {
|
|
4
|
+
dry: boolean;
|
|
5
|
+
force: boolean;
|
|
6
|
+
/** Explicit --tag; when absent the default is derived from the running version. */
|
|
7
|
+
tag?: string;
|
|
8
|
+
};
|
|
9
|
+
type RunUpgradeArgs = {
|
|
10
|
+
flags: UpgradeFlags;
|
|
11
|
+
path: string;
|
|
12
|
+
};
|
|
13
|
+
type RunUpgradeOverrides = {
|
|
14
|
+
runTransforms?: typeof defaultRunTransforms;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Compose the upgrade pipeline: preflight -> resolve -> rewrite -> install ->
|
|
18
|
+
* verify -> transforms -> report. Install runs before transforms so a failed
|
|
19
|
+
* install aborts before any codemod touches source files.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runUpgrade({ flags, path }: RunUpgradeArgs, deps?: UpgradeDeps, overrides?: RunUpgradeOverrides): Promise<{
|
|
22
|
+
failed: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/upgrade/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAuC,WAAW,EAAE,MAAM,YAAY,CAAA;AAGlF,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAepE,MAAM,MAAM,YAAY,GAAG;IACzB,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,OAAO,CAAA;IACd,mFAAmF;IACnF,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,KAAK,EAAE,YAAY,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,KAAK,mBAAmB,GAAG;IACzB,aAAa,CAAC,EAAE,OAAO,oBAAoB,CAAA;CAC5C,CAAA;AAmBD;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,cAAc,EAC/B,IAAI,GAAE,WAA2B,EACjC,SAAS,GAAE,mBAAwB,GAClC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC,CA6F9B"}
|