@payloadcms/codemod 4.0.0-canary.15
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/LICENSE.md +22 -0
- package/README.md +62 -0
- package/bin/cli.js +8 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +120 -0
- package/dist/cli.js.map +1 -0
- package/dist/cli.parseFlags.d.ts +9 -0
- package/dist/cli.parseFlags.d.ts.map +1 -0
- package/dist/cli.parseFlags.js +37 -0
- package/dist/cli.parseFlags.js.map +1 -0
- package/dist/cli.parseFlags.spec.d.ts +2 -0
- package/dist/cli.parseFlags.spec.d.ts.map +1 -0
- package/dist/cli.parseFlags.spec.js +49 -0
- package/dist/cli.parseFlags.spec.js.map +1 -0
- package/dist/registry.d.ts +3 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +54 -0
- package/dist/registry.js.map +1 -0
- package/dist/runner.d.ts +17 -0
- package/dist/runner.d.ts.map +1 -0
- package/dist/runner.js +37 -0
- package/dist/runner.js.map +1 -0
- package/dist/runner.spec.d.ts +2 -0
- package/dist/runner.spec.d.ts.map +1 -0
- package/dist/runner.spec.js +88 -0
- package/dist/runner.spec.js.map +1 -0
- package/dist/transforms/example-noop/basic.input.js +3 -0
- package/dist/transforms/example-noop/basic.input.js.map +1 -0
- package/dist/transforms/example-noop/basic.output.js +3 -0
- package/dist/transforms/example-noop/basic.output.js.map +1 -0
- package/dist/transforms/example-noop/index.d.ts +3 -0
- package/dist/transforms/example-noop/index.d.ts.map +1 -0
- package/dist/transforms/example-noop/index.js +9 -0
- package/dist/transforms/example-noop/index.js.map +1 -0
- package/dist/transforms/example-noop/index.spec.d.ts +2 -0
- package/dist/transforms/example-noop/index.spec.d.ts.map +1 -0
- package/dist/transforms/example-noop/index.spec.js +29 -0
- package/dist/transforms/example-noop/index.spec.js.map +1 -0
- package/dist/transforms/globals-components-edit/basic.input.js +23 -0
- package/dist/transforms/globals-components-edit/basic.input.js.map +1 -0
- package/dist/transforms/globals-components-edit/basic.output.js +23 -0
- package/dist/transforms/globals-components-edit/basic.output.js.map +1 -0
- package/dist/transforms/globals-components-edit/collection.input.js +19 -0
- package/dist/transforms/globals-components-edit/collection.input.js.map +1 -0
- package/dist/transforms/globals-components-edit/index.d.ts +3 -0
- package/dist/transforms/globals-components-edit/index.d.ts.map +1 -0
- package/dist/transforms/globals-components-edit/index.js +92 -0
- package/dist/transforms/globals-components-edit/index.js.map +1 -0
- package/dist/transforms/globals-components-edit/index.spec.d.ts +2 -0
- package/dist/transforms/globals-components-edit/index.spec.d.ts.map +1 -0
- package/dist/transforms/globals-components-edit/index.spec.js +37 -0
- package/dist/transforms/globals-components-edit/index.spec.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/alias.input.js +16 -0
- package/dist/transforms/migrate-after-operation-read/alias.input.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/alias.output.js +16 -0
- package/dist/transforms/migrate-after-operation-read/alias.output.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/basic.input.js +19 -0
- package/dist/transforms/migrate-after-operation-read/basic.input.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/basic.output.js +19 -0
- package/dist/transforms/migrate-after-operation-read/basic.output.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/external.input.js +12 -0
- package/dist/transforms/migrate-after-operation-read/external.input.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/index.d.ts +3 -0
- package/dist/transforms/migrate-after-operation-read/index.d.ts.map +1 -0
- package/dist/transforms/migrate-after-operation-read/index.js +148 -0
- package/dist/transforms/migrate-after-operation-read/index.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-after-operation-read/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-after-operation-read/index.spec.js +62 -0
- package/dist/transforms/migrate-after-operation-read/index.spec.js.map +1 -0
- package/dist/transforms/migrate-after-operation-read/non-matching.input.js +16 -0
- package/dist/transforms/migrate-after-operation-read/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/basic.input.js +9 -0
- package/dist/transforms/migrate-aliased-exports/basic.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/basic.output.js +9 -0
- package/dist/transforms/migrate-aliased-exports/basic.output.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/index.d.ts +3 -0
- package/dist/transforms/migrate-aliased-exports/index.d.ts.map +1 -0
- package/dist/transforms/migrate-aliased-exports/index.js +215 -0
- package/dist/transforms/migrate-aliased-exports/index.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-aliased-exports/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-aliased-exports/index.spec.js +55 -0
- package/dist/transforms/migrate-aliased-exports/index.spec.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/merge.input.js +6 -0
- package/dist/transforms/migrate-aliased-exports/merge.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/merge.output.js +6 -0
- package/dist/transforms/migrate-aliased-exports/merge.output.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/non-matching.input.js +6 -0
- package/dist/transforms/migrate-aliased-exports/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/rename.input.js +3 -0
- package/dist/transforms/migrate-aliased-exports/rename.input.js.map +1 -0
- package/dist/transforms/migrate-aliased-exports/rename.output.js +3 -0
- package/dist/transforms/migrate-aliased-exports/rename.output.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/basic.input.js +16 -0
- package/dist/transforms/migrate-azure-chunk-large-files/basic.input.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/basic.output.js +14 -0
- package/dist/transforms/migrate-azure-chunk-large-files/basic.output.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.d.ts +3 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.d.ts.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.js +49 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js +67 -0
- package/dist/transforms/migrate-azure-chunk-large-files/index.spec.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/no-match.input.js +14 -0
- package/dist/transforms/migrate-azure-chunk-large-files/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/no-match.output.js +14 -0
- package/dist/transforms/migrate-azure-chunk-large-files/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/with-access.input.js +17 -0
- package/dist/transforms/migrate-azure-chunk-large-files/with-access.input.js.map +1 -0
- package/dist/transforms/migrate-azure-chunk-large-files/with-access.output.js +16 -0
- package/dist/transforms/migrate-azure-chunk-large-files/with-access.output.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/basic.input.js +27 -0
- package/dist/transforms/migrate-block-references-to-blocks/basic.input.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/basic.output.js +26 -0
- package/dist/transforms/migrate-block-references-to-blocks/basic.output.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.d.ts +3 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.d.ts.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.js +76 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.js +45 -0
- package/dist/transforms/migrate-block-references-to-blocks/index.spec.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/non-matching.input.js +20 -0
- package/dist/transforms/migrate-block-references-to-blocks/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-block-references-to-blocks/sibling.input.js +21 -0
- package/dist/transforms/migrate-block-references-to-blocks/sibling.input.js.map +1 -0
- package/dist/transforms/migrate-build-script/index.d.ts +3 -0
- package/dist/transforms/migrate-build-script/index.d.ts.map +1 -0
- package/dist/transforms/migrate-build-script/index.js +28 -0
- package/dist/transforms/migrate-build-script/index.js.map +1 -0
- package/dist/transforms/migrate-build-script/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-build-script/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-build-script/index.spec.js +81 -0
- package/dist/transforms/migrate-build-script/index.spec.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/basic.input.js +3 -0
- package/dist/transforms/migrate-db-types-subpath/basic.input.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/basic.output.js +3 -0
- package/dist/transforms/migrate-db-types-subpath/basic.output.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/index.d.ts +3 -0
- package/dist/transforms/migrate-db-types-subpath/index.d.ts.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/index.js +56 -0
- package/dist/transforms/migrate-db-types-subpath/index.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-db-types-subpath/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/index.spec.js +46 -0
- package/dist/transforms/migrate-db-types-subpath/index.spec.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/module-augmentation.input.js +2 -0
- package/dist/transforms/migrate-db-types-subpath/module-augmentation.input.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/module-augmentation.output.js +2 -0
- package/dist/transforms/migrate-db-types-subpath/module-augmentation.output.js.map +1 -0
- package/dist/transforms/migrate-db-types-subpath/non-matching.input.js +3 -0
- package/dist/transforms/migrate-db-types-subpath/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/basic.input.js +27 -0
- package/dist/transforms/migrate-disabled-fields/basic.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/basic.output.js +31 -0
- package/dist/transforms/migrate-disabled-fields/basic.output.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/imagesize.input.js +32 -0
- package/dist/transforms/migrate-disabled-fields/imagesize.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/imagesize.output.js +36 -0
- package/dist/transforms/migrate-disabled-fields/imagesize.output.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/index.d.ts +3 -0
- package/dist/transforms/migrate-disabled-fields/index.d.ts.map +1 -0
- package/dist/transforms/migrate-disabled-fields/index.js +124 -0
- package/dist/transforms/migrate-disabled-fields/index.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-disabled-fields/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-disabled-fields/index.spec.js +73 -0
- package/dist/transforms/migrate-disabled-fields/index.spec.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/merge.input.js +17 -0
- package/dist/transforms/migrate-disabled-fields/merge.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/merge.output.js +17 -0
- package/dist/transforms/migrate-disabled-fields/merge.output.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/non-matching.input.js +8 -0
- package/dist/transforms/migrate-disabled-fields/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/non-matching.output.js +8 -0
- package/dist/transforms/migrate-disabled-fields/non-matching.output.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/preserve-true.input.js +16 -0
- package/dist/transforms/migrate-disabled-fields/preserve-true.input.js.map +1 -0
- package/dist/transforms/migrate-disabled-fields/preserve-true.output.js +14 -0
- package/dist/transforms/migrate-disabled-fields/preserve-true.output.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/basic.input.js +23 -0
- package/dist/transforms/migrate-document-title-context/basic.input.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/basic.output.js +25 -0
- package/dist/transforms/migrate-document-title-context/basic.output.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/index.d.ts +3 -0
- package/dist/transforms/migrate-document-title-context/index.d.ts.map +1 -0
- package/dist/transforms/migrate-document-title-context/index.js +133 -0
- package/dist/transforms/migrate-document-title-context/index.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-document-title-context/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-document-title-context/index.spec.js +86 -0
- package/dist/transforms/migrate-document-title-context/index.spec.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/no-match.input.js +21 -0
- package/dist/transforms/migrate-document-title-context/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-document-title-context/no-match.output.js +21 -0
- package/dist/transforms/migrate-document-title-context/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-force-select/basic.input.js +10 -0
- package/dist/transforms/migrate-force-select/basic.input.js.map +1 -0
- package/dist/transforms/migrate-force-select/basic.output.js +11 -0
- package/dist/transforms/migrate-force-select/basic.output.js.map +1 -0
- package/dist/transforms/migrate-force-select/index.d.ts +3 -0
- package/dist/transforms/migrate-force-select/index.d.ts.map +1 -0
- package/dist/transforms/migrate-force-select/index.js +104 -0
- package/dist/transforms/migrate-force-select/index.js.map +1 -0
- package/dist/transforms/migrate-force-select/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-force-select/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-force-select/index.spec.js +107 -0
- package/dist/transforms/migrate-force-select/index.spec.js.map +1 -0
- package/dist/transforms/migrate-force-select/no-match.input.js +12 -0
- package/dist/transforms/migrate-force-select/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-force-select/no-match.output.js +12 -0
- package/dist/transforms/migrate-force-select/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/basic.input.js +9 -0
- package/dist/transforms/migrate-hide-api-url/basic.input.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/basic.output.js +19 -0
- package/dist/transforms/migrate-hide-api-url/basic.output.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/index.d.ts +3 -0
- package/dist/transforms/migrate-hide-api-url/index.d.ts.map +1 -0
- package/dist/transforms/migrate-hide-api-url/index.js +85 -0
- package/dist/transforms/migrate-hide-api-url/index.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-hide-api-url/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-hide-api-url/index.spec.js +118 -0
- package/dist/transforms/migrate-hide-api-url/index.spec.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/no-match.input.js +12 -0
- package/dist/transforms/migrate-hide-api-url/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-hide-api-url/no-match.output.js +12 -0
- package/dist/transforms/migrate-hide-api-url/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/basic.input.js +16 -0
- package/dist/transforms/migrate-import-export-hooks/basic.input.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/basic.output.js +18 -0
- package/dist/transforms/migrate-import-export-hooks/basic.output.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/both.input.js +18 -0
- package/dist/transforms/migrate-import-export-hooks/both.input.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/both.output.js +20 -0
- package/dist/transforms/migrate-import-export-hooks/both.output.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/existing-hooks.input.js +20 -0
- package/dist/transforms/migrate-import-export-hooks/existing-hooks.input.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/existing-hooks.output.js +20 -0
- package/dist/transforms/migrate-import-export-hooks/existing-hooks.output.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/hooks-priority.input.js +19 -0
- package/dist/transforms/migrate-import-export-hooks/hooks-priority.input.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/hooks-priority.output.js +18 -0
- package/dist/transforms/migrate-import-export-hooks/hooks-priority.output.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/index.d.ts +3 -0
- package/dist/transforms/migrate-import-export-hooks/index.d.ts.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/index.js +88 -0
- package/dist/transforms/migrate-import-export-hooks/index.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-import-export-hooks/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/index.spec.js +65 -0
- package/dist/transforms/migrate-import-export-hooks/index.spec.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/non-matching.input.js +19 -0
- package/dist/transforms/migrate-import-export-hooks/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-import-export-hooks/non-matching.output.js +19 -0
- package/dist/transforms/migrate-import-export-hooks/non-matching.output.js.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/basic.input.js +15 -0
- package/dist/transforms/migrate-list-view-select-api/basic.input.js.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/basic.output.js +14 -0
- package/dist/transforms/migrate-list-view-select-api/basic.output.js.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/index.d.ts +3 -0
- package/dist/transforms/migrate-list-view-select-api/index.d.ts.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/index.js +38 -0
- package/dist/transforms/migrate-list-view-select-api/index.js.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-list-view-select-api/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/index.spec.js +37 -0
- package/dist/transforms/migrate-list-view-select-api/index.spec.js.map +1 -0
- package/dist/transforms/migrate-list-view-select-api/no-match.input.js +17 -0
- package/dist/transforms/migrate-list-view-select-api/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/basic.input.js +22 -0
- package/dist/transforms/migrate-next-generate-viewport-export/basic.input.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/basic.output.js +23 -0
- package/dist/transforms/migrate-next-generate-viewport-export/basic.output.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.d.ts +3 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.d.ts.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.js +69 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js +41 -0
- package/dist/transforms/migrate-next-generate-viewport-export/index.spec.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/non-matching.input.js +8 -0
- package/dist/transforms/migrate-next-generate-viewport-export/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-next-generate-viewport-export/non-matching.output.js +8 -0
- package/dist/transforms/migrate-next-generate-viewport-export/non-matching.output.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/basic.input.js +20 -0
- package/dist/transforms/migrate-next-subpath-exports/basic.input.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/basic.output.js +20 -0
- package/dist/transforms/migrate-next-subpath-exports/basic.output.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/index.d.ts +3 -0
- package/dist/transforms/migrate-next-subpath-exports/index.d.ts.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/index.js +92 -0
- package/dist/transforms/migrate-next-subpath-exports/index.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-next-subpath-exports/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/index.spec.js +46 -0
- package/dist/transforms/migrate-next-subpath-exports/index.spec.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/non-matching.input.js +22 -0
- package/dist/transforms/migrate-next-subpath-exports/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/re-export.input.js +5 -0
- package/dist/transforms/migrate-next-subpath-exports/re-export.input.js.map +1 -0
- package/dist/transforms/migrate-next-subpath-exports/re-export.output.js +5 -0
- package/dist/transforms/migrate-next-subpath-exports/re-export.output.js.map +1 -0
- package/dist/transforms/migrate-slug-field/basic.input.js +21 -0
- package/dist/transforms/migrate-slug-field/basic.input.js.map +1 -0
- package/dist/transforms/migrate-slug-field/basic.output.js +26 -0
- package/dist/transforms/migrate-slug-field/basic.output.js.map +1 -0
- package/dist/transforms/migrate-slug-field/index.d.ts +3 -0
- package/dist/transforms/migrate-slug-field/index.d.ts.map +1 -0
- package/dist/transforms/migrate-slug-field/index.js +157 -0
- package/dist/transforms/migrate-slug-field/index.js.map +1 -0
- package/dist/transforms/migrate-slug-field/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-slug-field/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-slug-field/index.spec.js +47 -0
- package/dist/transforms/migrate-slug-field/index.spec.js.map +1 -0
- package/dist/transforms/migrate-slug-field/no-match.input.js +11 -0
- package/dist/transforms/migrate-slug-field/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-slug-field/no-match.output.js +11 -0
- package/dist/transforms/migrate-slug-field/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-slug-field/overrides.input.js +15 -0
- package/dist/transforms/migrate-slug-field/overrides.input.js.map +1 -0
- package/dist/transforms/migrate-slug-field/overrides.output.js +15 -0
- package/dist/transforms/migrate-slug-field/overrides.output.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/basic.input.js +22 -0
- package/dist/transforms/migrate-storage-adapters-to-config/basic.input.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/basic.output.js +22 -0
- package/dist/transforms/migrate-storage-adapters-to-config/basic.output.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.d.ts +3 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.d.ts.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.js +80 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts +2 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.d.ts.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js +85 -0
- package/dist/transforms/migrate-storage-adapters-to-config/index.spec.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/mixed-plugins.input.js +24 -0
- package/dist/transforms/migrate-storage-adapters-to-config/mixed-plugins.input.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/mixed-plugins.output.js +26 -0
- package/dist/transforms/migrate-storage-adapters-to-config/mixed-plugins.output.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/no-match.input.js +14 -0
- package/dist/transforms/migrate-storage-adapters-to-config/no-match.input.js.map +1 -0
- package/dist/transforms/migrate-storage-adapters-to-config/no-match.output.js +14 -0
- package/dist/transforms/migrate-storage-adapters-to-config/no-match.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/already-set.input.js +16 -0
- package/dist/transforms/migrate-versions-default/already-set.input.js.map +1 -0
- package/dist/transforms/migrate-versions-default/already-set.output.js +16 -0
- package/dist/transforms/migrate-versions-default/already-set.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/basic.input.js +16 -0
- package/dist/transforms/migrate-versions-default/basic.input.js.map +1 -0
- package/dist/transforms/migrate-versions-default/basic.output.js +18 -0
- package/dist/transforms/migrate-versions-default/basic.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/globals.input.js +16 -0
- package/dist/transforms/migrate-versions-default/globals.input.js.map +1 -0
- package/dist/transforms/migrate-versions-default/globals.output.js +17 -0
- package/dist/transforms/migrate-versions-default/globals.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/index.d.ts +10 -0
- package/dist/transforms/migrate-versions-default/index.d.ts.map +1 -0
- package/dist/transforms/migrate-versions-default/index.js +106 -0
- package/dist/transforms/migrate-versions-default/index.js.map +1 -0
- package/dist/transforms/migrate-versions-default/index.test.d.ts +2 -0
- package/dist/transforms/migrate-versions-default/index.test.d.ts.map +1 -0
- package/dist/transforms/migrate-versions-default/index.test.js +81 -0
- package/dist/transforms/migrate-versions-default/index.test.js.map +1 -0
- package/dist/transforms/migrate-versions-default/non-matching.input.js +10 -0
- package/dist/transforms/migrate-versions-default/non-matching.input.js.map +1 -0
- package/dist/transforms/migrate-versions-default/non-matching.output.js +10 -0
- package/dist/transforms/migrate-versions-default/non-matching.output.js.map +1 -0
- package/dist/transforms/migrate-versions-default/satisfies.input.js +11 -0
- package/dist/transforms/migrate-versions-default/satisfies.input.js.map +1 -0
- package/dist/transforms/migrate-versions-default/satisfies.output.js +13 -0
- package/dist/transforms/migrate-versions-default/satisfies.output.js.map +1 -0
- package/dist/transforms/remove-group-by-true/basic.input.js +22 -0
- package/dist/transforms/remove-group-by-true/basic.input.js.map +1 -0
- package/dist/transforms/remove-group-by-true/basic.output.js +19 -0
- package/dist/transforms/remove-group-by-true/basic.output.js.map +1 -0
- package/dist/transforms/remove-group-by-true/index.d.ts +3 -0
- package/dist/transforms/remove-group-by-true/index.d.ts.map +1 -0
- package/dist/transforms/remove-group-by-true/index.js +36 -0
- package/dist/transforms/remove-group-by-true/index.js.map +1 -0
- package/dist/transforms/remove-group-by-true/index.spec.d.ts +2 -0
- package/dist/transforms/remove-group-by-true/index.spec.d.ts.map +1 -0
- package/dist/transforms/remove-group-by-true/index.spec.js +47 -0
- package/dist/transforms/remove-group-by-true/index.spec.js.map +1 -0
- package/dist/transforms/remove-group-by-true/no-match.input.js +13 -0
- package/dist/transforms/remove-group-by-true/no-match.input.js.map +1 -0
- package/dist/transforms/remove-group-by-true/no-match.output.js +13 -0
- package/dist/transforms/remove-group-by-true/no-match.output.js.map +1 -0
- package/dist/transforms/remove-group-by-true/non-boolean.input.js +15 -0
- package/dist/transforms/remove-group-by-true/non-boolean.input.js.map +1 -0
- package/dist/transforms/remove-group-by-true/non-boolean.output.js +15 -0
- package/dist/transforms/remove-group-by-true/non-boolean.output.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/basic.input.js +27 -0
- package/dist/transforms/remove-localize-status-config/basic.input.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/basic.output.js +23 -0
- package/dist/transforms/remove-localize-status-config/basic.output.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/index.d.ts +11 -0
- package/dist/transforms/remove-localize-status-config/index.d.ts.map +1 -0
- package/dist/transforms/remove-localize-status-config/index.js +34 -0
- package/dist/transforms/remove-localize-status-config/index.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/index.spec.d.ts +2 -0
- package/dist/transforms/remove-localize-status-config/index.spec.d.ts.map +1 -0
- package/dist/transforms/remove-localize-status-config/index.spec.js +38 -0
- package/dist/transforms/remove-localize-status-config/index.spec.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/preserve-false.input.js +23 -0
- package/dist/transforms/remove-localize-status-config/preserve-false.input.js.map +1 -0
- package/dist/transforms/remove-localize-status-config/preserve-false.output.js +23 -0
- package/dist/transforms/remove-localize-status-config/preserve-false.output.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/already-has-locale.input.js +12 -0
- package/dist/transforms/remove-publish-specific-locale/already-has-locale.input.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/already-has-locale.output.js +11 -0
- package/dist/transforms/remove-publish-specific-locale/already-has-locale.output.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/basic.input.js +20 -0
- package/dist/transforms/remove-publish-specific-locale/basic.input.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/basic.output.js +20 -0
- package/dist/transforms/remove-publish-specific-locale/basic.output.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/index.d.ts +11 -0
- package/dist/transforms/remove-publish-specific-locale/index.d.ts.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/index.js +76 -0
- package/dist/transforms/remove-publish-specific-locale/index.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts +2 -0
- package/dist/transforms/remove-publish-specific-locale/index.spec.d.ts.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/index.spec.js +47 -0
- package/dist/transforms/remove-publish-specific-locale/index.spec.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/non-matching.input.js +6 -0
- package/dist/transforms/remove-publish-specific-locale/non-matching.input.js.map +1 -0
- package/dist/transforms/remove-publish-specific-locale/non-matching.output.js +6 -0
- package/dist/transforms/remove-publish-specific-locale/non-matching.output.js.map +1 -0
- package/dist/transforms/remove-versions-true/basic.input.js +12 -0
- package/dist/transforms/remove-versions-true/basic.input.js.map +1 -0
- package/dist/transforms/remove-versions-true/basic.output.js +10 -0
- package/dist/transforms/remove-versions-true/basic.output.js.map +1 -0
- package/dist/transforms/remove-versions-true/index.d.ts +12 -0
- package/dist/transforms/remove-versions-true/index.d.ts.map +1 -0
- package/dist/transforms/remove-versions-true/index.js +100 -0
- package/dist/transforms/remove-versions-true/index.js.map +1 -0
- package/dist/transforms/remove-versions-true/index.test.d.ts +2 -0
- package/dist/transforms/remove-versions-true/index.test.d.ts.map +1 -0
- package/dist/transforms/remove-versions-true/index.test.js +38 -0
- package/dist/transforms/remove-versions-true/index.test.js.map +1 -0
- package/dist/transforms/remove-versions-true/non-matching.input.js +20 -0
- package/dist/transforms/remove-versions-true/non-matching.input.js.map +1 -0
- package/dist/transforms/remove-versions-true/non-matching.output.js +20 -0
- package/dist/transforms/remove-versions-true/non-matching.output.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/basic.input.js +18 -0
- package/dist/transforms/rename-storage-adapters-to-storage/basic.input.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/basic.output.js +18 -0
- package/dist/transforms/rename-storage-adapters-to-storage/basic.output.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.d.ts +3 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.d.ts.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.js +31 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts +2 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.d.ts.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js +55 -0
- package/dist/transforms/rename-storage-adapters-to-storage/index.spec.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/no-match.input.js +7 -0
- package/dist/transforms/rename-storage-adapters-to-storage/no-match.input.js.map +1 -0
- package/dist/transforms/rename-storage-adapters-to-storage/no-match.output.js +7 -0
- package/dist/transforms/rename-storage-adapters-to-storage/no-match.output.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/basic.input.js +25 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/basic.input.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/basic.output.js +25 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/basic.output.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.d.ts +3 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.d.ts.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.js +54 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts +2 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.d.ts.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js +45 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/index.spec.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/non-matching.input.js +12 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/non-matching.input.js.map +1 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/sibling.input.js +18 -0
- package/dist/transforms/rename-typescript-schema-to-json-schema/sibling.input.js.map +1 -0
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/packageJson.d.ts +17 -0
- package/dist/utils/packageJson.d.ts.map +1 -0
- package/dist/utils/packageJson.js +46 -0
- package/dist/utils/packageJson.js.map +1 -0
- package/dist/utils/packageJson.spec.d.ts +2 -0
- package/dist/utils/packageJson.spec.d.ts.map +1 -0
- package/dist/utils/packageJson.spec.js +41 -0
- package/dist/utils/packageJson.spec.js.map +1 -0
- package/dist/utils/test-helpers.d.ts +23 -0
- package/dist/utils/test-helpers.d.ts.map +1 -0
- package/dist/utils/test-helpers.js +53 -0
- package/dist/utils/test-helpers.js.map +1 -0
- package/package.json +53 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-after-operation-read/index.ts"],"sourcesContent":["import type {\n ArrowFunction,\n BinaryExpression,\n FunctionExpression,\n PropertyAssignment,\n Node as TsNode,\n} from 'ts-morph'\n\nimport { Node, SyntaxKind } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\nconst EQUALITY_OPERATORS = new Set(['==', '==='])\nconst INEQUALITY_OPERATORS = new Set(['!=', '!=='])\n\ntype HookFunction = ArrowFunction | FunctionExpression\n\nexport const migrateAfterOperationRead: Transform = {\n name: 'migrate-after-operation-read',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n const notes: string[] = []\n\n for (const sourceFile of project.getSourceFiles()) {\n let mutated = false\n\n const afterOperationProps = sourceFile\n .getDescendantsOfKind(SyntaxKind.PropertyAssignment)\n .filter((prop) => prop.getName() === 'afterOperation' && isHookArray(prop))\n\n for (const prop of afterOperationProps) {\n const initializer = prop.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression)!\n const filePath = sourceFile.getFilePath()\n\n for (const element of initializer.getElements()) {\n if (!Node.isArrowFunction(element) && !Node.isFunctionExpression(element)) {\n notes.push(\n `${filePath}: afterOperation hook is not an inline function — if it branches on \\`operation === 'read'\\`, update it to handle 'find' and 'findByID' manually.`,\n )\n continue\n }\n\n const operationExpr = getOperationExpr(element)\n if (!operationExpr) {\n if (referencesReadLiteral(element)) {\n notes.push(\n `${filePath}: could not locate the \\`operation\\` argument of an afterOperation hook — update any \\`operation === 'read'\\` checks to handle 'find' and 'findByID' manually.`,\n )\n }\n continue\n }\n\n if (hasReadSwitchCase({ fn: element, operationExpr })) {\n notes.push(\n `${filePath}: afterOperation hook switches on \\`${operationExpr}\\` with a 'read' case — replace it with 'find' and 'findByID' cases manually.`,\n )\n }\n\n if (rewriteReadComparisons({ fn: element, operationExpr })) {\n mutated = true\n }\n }\n }\n\n if (mutated) {\n filesChanged.add(sourceFile.getFilePath())\n }\n }\n\n return { filesChanged: [...filesChanged], ...(notes.length > 0 ? { notes } : {}) }\n },\n description:\n \"Rewrites `operation === 'read'` checks in collection `afterOperation` hooks to handle the `find` and `findByID` operations, since the deprecated `'read'` value was removed. Handles `===`/`!==`/`==`/`!=` against destructured (and aliased) or property-accessed `operation` arguments. Leaves `beforeOperation` (which still uses `'read'`) untouched and surfaces notes for non-inline hooks and `switch` cases that need manual review.\",\n}\n\nfunction isHookArray(prop: PropertyAssignment): boolean {\n return prop.getInitializerIfKind(SyntaxKind.ArrayLiteralExpression) !== undefined\n}\n\n/**\n * Resolve the text used to reference the `operation` argument inside a hook —\n * either the local name from a destructured (possibly aliased) first parameter,\n * or `<param>.operation` when the first parameter is a plain identifier.\n */\nfunction getOperationExpr(fn: HookFunction): string | undefined {\n const param = fn.getParameters()[0]\n if (!param) {\n return undefined\n }\n\n const nameNode = param.getNameNode()\n\n if (Node.isObjectBindingPattern(nameNode)) {\n for (const element of nameNode.getElements()) {\n const sourceProp = element.getPropertyNameNode()?.getText() ?? element.getNameNode().getText()\n if (sourceProp === 'operation') {\n return element.getNameNode().getText()\n }\n }\n return undefined\n }\n\n if (Node.isIdentifier(nameNode)) {\n return `${nameNode.getText()}.operation`\n }\n\n return undefined\n}\n\ntype RewriteArgs = {\n fn: HookFunction\n operationExpr: string\n}\n\nfunction rewriteReadComparisons({ fn, operationExpr }: RewriteArgs): boolean {\n let changed = false\n\n // Replace one match at a time and re-query: replaceWithText re-parses the\n // changed range, so collecting node refs up front would leave them stale.\n while (true) {\n const match = fn\n .getDescendantsOfKind(SyntaxKind.BinaryExpression)\n .find((binary) => isReadComparison({ binary, operationExpr }))\n\n if (!match) {\n break\n }\n\n const operator = match.getOperatorToken().getText()\n const joiner = EQUALITY_OPERATORS.has(operator) ? '||' : '&&'\n const expanded = `${operationExpr} ${operator} 'find' ${joiner} ${operationExpr} ${operator} 'findByID'`\n\n match.replaceWithText(needsParens(match) ? `(${expanded})` : expanded)\n changed = true\n }\n\n return changed\n}\n\ntype ReadComparisonArgs = {\n binary: BinaryExpression\n operationExpr: string\n}\n\nfunction isReadComparison({ binary, operationExpr }: ReadComparisonArgs): boolean {\n const operator = binary.getOperatorToken().getText()\n if (!EQUALITY_OPERATORS.has(operator) && !INEQUALITY_OPERATORS.has(operator)) {\n return false\n }\n\n const left = binary.getLeft()\n const right = binary.getRight()\n\n return (\n (isOperationOperand(left, operationExpr) && isReadLiteral(right)) ||\n (isReadLiteral(left) && isOperationOperand(right, operationExpr))\n )\n}\n\nfunction isOperationOperand(node: TsNode, operationExpr: string): boolean {\n return (\n (Node.isIdentifier(node) || Node.isPropertyAccessExpression(node)) &&\n node.getText() === operationExpr\n )\n}\n\nfunction isReadLiteral(node: TsNode): boolean {\n return Node.isStringLiteral(node) && node.getLiteralValue() === 'read'\n}\n\nfunction hasReadSwitchCase({ fn, operationExpr }: RewriteArgs): boolean {\n return fn.getDescendantsOfKind(SyntaxKind.SwitchStatement).some((switchStatement) => {\n if (switchStatement.getExpression().getText() !== operationExpr) {\n return false\n }\n return switchStatement\n .getClauses()\n .some((clause) => Node.isCaseClause(clause) && isReadLiteral(clause.getExpression()))\n })\n}\n\nfunction referencesReadLiteral(fn: HookFunction): boolean {\n return fn\n .getDescendantsOfKind(SyntaxKind.StringLiteral)\n .some((literal) => literal.getLiteralValue() === 'read')\n}\n\n/**\n * The expanded comparison only needs wrapping where surrounding precedence\n * could change its meaning (e.g. nested inside `&&`/`||` or a `!`). Positions\n * that already delimit the expression — `if (...)`, `return ...`, a ternary\n * condition, an arrow body — are left unwrapped for cleaner output.\n */\nfunction needsParens(node: BinaryExpression): boolean {\n const parent = node.getParent()\n if (!parent) {\n return true\n }\n\n return !(\n Node.isParenthesizedExpression(parent) ||\n Node.isIfStatement(parent) ||\n Node.isWhileStatement(parent) ||\n Node.isDoStatement(parent) ||\n Node.isReturnStatement(parent) ||\n Node.isConditionalExpression(parent) ||\n Node.isArrowFunction(parent) ||\n Node.isVariableDeclaration(parent) ||\n Node.isPropertyAssignment(parent)\n )\n}\n"],"names":["Node","SyntaxKind","EQUALITY_OPERATORS","Set","INEQUALITY_OPERATORS","migrateAfterOperationRead","name","apply","project","filesChanged","notes","sourceFile","getSourceFiles","mutated","afterOperationProps","getDescendantsOfKind","PropertyAssignment","filter","prop","getName","isHookArray","initializer","getInitializerIfKind","ArrayLiteralExpression","filePath","getFilePath","element","getElements","isArrowFunction","isFunctionExpression","push","operationExpr","getOperationExpr","referencesReadLiteral","hasReadSwitchCase","fn","rewriteReadComparisons","add","length","description","undefined","param","getParameters","nameNode","getNameNode","isObjectBindingPattern","sourceProp","getPropertyNameNode","getText","isIdentifier","changed","match","BinaryExpression","find","binary","isReadComparison","operator","getOperatorToken","joiner","has","expanded","replaceWithText","needsParens","left","getLeft","right","getRight","isOperationOperand","isReadLiteral","node","isPropertyAccessExpression","isStringLiteral","getLiteralValue","SwitchStatement","some","switchStatement","getExpression","getClauses","clause","isCaseClause","StringLiteral","literal","parent","getParent","isParenthesizedExpression","isIfStatement","isWhileStatement","isDoStatement","isReturnStatement","isConditionalExpression","isVariableDeclaration","isPropertyAssignment"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../src/transforms/migrate-after-operation-read/index.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { Project } from 'ts-morph';
|
|
5
|
+
import { describe, expect, it } from 'vitest';
|
|
6
|
+
import { runTransform } from '../../utils/test-helpers.js';
|
|
7
|
+
import { migrateAfterOperationRead } from './index.js';
|
|
8
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
9
|
+
const fixture = (name)=>readFile(join(here, name), 'utf8');
|
|
10
|
+
describe('migrate-after-operation-read', ()=>{
|
|
11
|
+
it("expands `operation === 'read'` to handle find and findByID", async ()=>{
|
|
12
|
+
const input = await fixture('basic.input.ts');
|
|
13
|
+
const output = await fixture('basic.output.ts');
|
|
14
|
+
const result = await runTransform({
|
|
15
|
+
source: input,
|
|
16
|
+
transform: migrateAfterOperationRead
|
|
17
|
+
});
|
|
18
|
+
expect(result).toBe(output);
|
|
19
|
+
});
|
|
20
|
+
it('resolves an aliased operation arg and parenthesizes negated checks inside logical expressions', async ()=>{
|
|
21
|
+
const input = await fixture('alias.input.ts');
|
|
22
|
+
const output = await fixture('alias.output.ts');
|
|
23
|
+
const result = await runTransform({
|
|
24
|
+
source: input,
|
|
25
|
+
transform: migrateAfterOperationRead
|
|
26
|
+
});
|
|
27
|
+
expect(result).toBe(output);
|
|
28
|
+
});
|
|
29
|
+
it('is idempotent on already-migrated source', async ()=>{
|
|
30
|
+
const output = await fixture('basic.output.ts');
|
|
31
|
+
const result = await runTransform({
|
|
32
|
+
source: output,
|
|
33
|
+
transform: migrateAfterOperationRead
|
|
34
|
+
});
|
|
35
|
+
expect(result).toBe(output);
|
|
36
|
+
});
|
|
37
|
+
it("leaves beforeOperation's `operation === 'read'` untouched", async ()=>{
|
|
38
|
+
const input = await fixture('non-matching.input.ts');
|
|
39
|
+
const result = await runTransform({
|
|
40
|
+
source: input,
|
|
41
|
+
transform: migrateAfterOperationRead
|
|
42
|
+
});
|
|
43
|
+
expect(result).toBe(input);
|
|
44
|
+
});
|
|
45
|
+
it('emits a note for a non-inline afterOperation hook', async ()=>{
|
|
46
|
+
const input = await fixture('external.input.ts');
|
|
47
|
+
const project = new Project({
|
|
48
|
+
useInMemoryFileSystem: true
|
|
49
|
+
});
|
|
50
|
+
project.createSourceFile('input.ts', input);
|
|
51
|
+
const result = await migrateAfterOperationRead.apply({
|
|
52
|
+
packageJsons: [],
|
|
53
|
+
project
|
|
54
|
+
});
|
|
55
|
+
expect(result.filesChanged).toEqual([]);
|
|
56
|
+
expect(result.notes).toEqual([
|
|
57
|
+
expect.stringContaining('not an inline function')
|
|
58
|
+
]);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-after-operation-read/index.spec.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\nimport { dirname, join } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { Project } from 'ts-morph'\nimport { describe, expect, it } from 'vitest'\n\nimport { runTransform } from '../../utils/test-helpers.js'\nimport { migrateAfterOperationRead } from './index.js'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst fixture = (name: string) => readFile(join(here, name), 'utf8')\n\ndescribe('migrate-after-operation-read', () => {\n it(\"expands `operation === 'read'` to handle find and findByID\", async () => {\n const input = await fixture('basic.input.ts')\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({ source: input, transform: migrateAfterOperationRead })\n\n expect(result).toBe(output)\n })\n\n it('resolves an aliased operation arg and parenthesizes negated checks inside logical expressions', async () => {\n const input = await fixture('alias.input.ts')\n const output = await fixture('alias.output.ts')\n\n const result = await runTransform({ source: input, transform: migrateAfterOperationRead })\n\n expect(result).toBe(output)\n })\n\n it('is idempotent on already-migrated source', async () => {\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({ source: output, transform: migrateAfterOperationRead })\n\n expect(result).toBe(output)\n })\n\n it(\"leaves beforeOperation's `operation === 'read'` untouched\", async () => {\n const input = await fixture('non-matching.input.ts')\n\n const result = await runTransform({ source: input, transform: migrateAfterOperationRead })\n\n expect(result).toBe(input)\n })\n\n it('emits a note for a non-inline afterOperation hook', async () => {\n const input = await fixture('external.input.ts')\n const project = new Project({ useInMemoryFileSystem: true })\n project.createSourceFile('input.ts', input)\n\n const result = await migrateAfterOperationRead.apply({ packageJsons: [], project })\n\n expect(result.filesChanged).toEqual([])\n expect(result.notes).toEqual([expect.stringContaining('not an inline function')])\n })\n})\n"],"names":["readFile","dirname","join","fileURLToPath","Project","describe","expect","it","runTransform","migrateAfterOperationRead","here","url","fixture","name","input","output","result","source","transform","toBe","project","useInMemoryFileSystem","createSourceFile","apply","packageJsons","filesChanged","toEqual","notes","stringContaining"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,mBAAkB;AAC3C,SAASC,OAAO,EAAEC,IAAI,QAAQ,YAAW;AACzC,SAASC,aAAa,QAAQ,WAAU;AACxC,SAASC,OAAO,QAAQ,WAAU;AAClC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,yBAAyB,QAAQ,aAAY;AAEtD,MAAMC,OAAOT,QAAQE,cAAc,YAAYQ,GAAG;AAClD,MAAMC,UAAU,CAACC,OAAiBb,SAASE,KAAKQ,MAAMG,OAAO;AAE7DR,SAAS,gCAAgC;IACvCE,GAAG,8DAA8D;QAC/D,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA0B;QAExFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,iGAAiG;QAClG,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA0B;QAExFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,4CAA4C;QAC7C,MAAMQ,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQF;YAAQG,WAAWT;QAA0B;QAEzFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,6DAA6D;QAC9D,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA0B;QAExFH,OAAOU,QAAQG,IAAI,CAACL;IACtB;IAEAP,GAAG,qDAAqD;QACtD,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMQ,UAAU,IAAIhB,QAAQ;YAAEiB,uBAAuB;QAAK;QAC1DD,QAAQE,gBAAgB,CAAC,YAAYR;QAErC,MAAME,SAAS,MAAMP,0BAA0Bc,KAAK,CAAC;YAAEC,cAAc,EAAE;YAAEJ;QAAQ;QAEjFd,OAAOU,OAAOS,YAAY,EAAEC,OAAO,CAAC,EAAE;QACtCpB,OAAOU,OAAOW,KAAK,EAAED,OAAO,CAAC;YAACpB,OAAOsB,gBAAgB,CAAC;SAA0B;IAClF;AACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export const Posts = {
|
|
2
|
+
slug: 'posts',
|
|
3
|
+
hooks: {
|
|
4
|
+
beforeOperation: [
|
|
5
|
+
({ args, operation })=>{
|
|
6
|
+
if (operation === 'read') {
|
|
7
|
+
return args;
|
|
8
|
+
}
|
|
9
|
+
return args;
|
|
10
|
+
}
|
|
11
|
+
]
|
|
12
|
+
},
|
|
13
|
+
fields: []
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=non-matching.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-after-operation-read/non-matching.input.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nexport const Posts: CollectionConfig = {\n slug: 'posts',\n hooks: {\n beforeOperation: [\n ({ args, operation }) => {\n if (operation === 'read') {\n return args\n }\n\n return args\n },\n ],\n },\n fields: [],\n}\n"],"names":["Posts","slug","hooks","beforeOperation","args","operation","fields"],"mappings":"AAEA,OAAO,MAAMA,QAA0B;IACrCC,MAAM;IACNC,OAAO;QACLC,iBAAiB;YACf,CAAC,EAAEC,IAAI,EAAEC,SAAS,EAAE;gBAClB,IAAIA,cAAc,QAAQ;oBACxB,OAAOD;gBACT;gBAEA,OAAOA;YACT;SACD;IACH;IACAE,QAAQ,EAAE;AACZ,EAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityType, formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared';
|
|
2
|
+
import { headersWithCors, mergeHeaders } from '@payloadcms/next/utilities';
|
|
3
|
+
export const buildHeaders = (a, b)=>mergeHeaders(a, b);
|
|
4
|
+
export const cors = headersWithCors;
|
|
5
|
+
export const buildWhere = mergeListSearchAndWhere;
|
|
6
|
+
export const buildURL = formatAdminURL;
|
|
7
|
+
export const collectionType = EntityType.collection;
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=basic.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/basic.input.ts"],"sourcesContent":["import type { Column, ListViewSlots } from '@payloadcms/ui'\n\nimport { EntityType, formatAdminURL, mergeListSearchAndWhere } from '@payloadcms/ui/shared'\nimport { headersWithCors, mergeHeaders } from '@payloadcms/next/utilities'\n\nexport type Args = {\n column: Column\n slots: ListViewSlots\n}\n\nexport const buildHeaders = (a: Headers, b: Headers) => mergeHeaders(a, b)\nexport const cors = headersWithCors\nexport const buildWhere = mergeListSearchAndWhere\nexport const buildURL = formatAdminURL\nexport const collectionType = EntityType.collection\n"],"names":["EntityType","formatAdminURL","mergeListSearchAndWhere","headersWithCors","mergeHeaders","buildHeaders","a","b","cors","buildWhere","buildURL","collectionType","collection"],"mappings":"AAEA,SAASA,UAAU,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ,wBAAuB;AAC3F,SAASC,eAAe,EAAEC,YAAY,QAAQ,6BAA4B;AAO1E,OAAO,MAAMC,eAAe,CAACC,GAAYC,IAAeH,aAAaE,GAAGC,GAAE;AAC1E,OAAO,MAAMC,OAAOL,gBAAe;AACnC,OAAO,MAAMM,aAAaP,wBAAuB;AACjD,OAAO,MAAMQ,WAAWT,eAAc;AACtC,OAAO,MAAMU,iBAAiBX,WAAWY,UAAU,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EntityType, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared';
|
|
2
|
+
import { headersWithCors, mergeHeaders } from 'payload';
|
|
3
|
+
export const buildHeaders = (a, b)=>mergeHeaders(a, b);
|
|
4
|
+
export const cors = headersWithCors;
|
|
5
|
+
export const buildWhere = mergeListSearchAndWhere;
|
|
6
|
+
export const buildURL = formatAdminURL;
|
|
7
|
+
export const collectionType = EntityType.collection;
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=basic.output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/basic.output.ts"],"sourcesContent":["import type { Column, ListViewSlots } from 'payload'\n\nimport { EntityType, formatAdminURL, mergeListSearchAndWhere } from 'payload/shared'\nimport { headersWithCors, mergeHeaders } from 'payload'\n\nexport type Args = {\n column: Column\n slots: ListViewSlots\n}\n\nexport const buildHeaders = (a: Headers, b: Headers) => mergeHeaders(a, b)\nexport const cors = headersWithCors\nexport const buildWhere = mergeListSearchAndWhere\nexport const buildURL = formatAdminURL\nexport const collectionType = EntityType.collection\n"],"names":["EntityType","formatAdminURL","mergeListSearchAndWhere","headersWithCors","mergeHeaders","buildHeaders","a","b","cors","buildWhere","buildURL","collectionType","collection"],"mappings":"AAEA,SAASA,UAAU,EAAEC,cAAc,EAAEC,uBAAuB,QAAQ,iBAAgB;AACpF,SAASC,eAAe,EAAEC,YAAY,QAAQ,UAAS;AAOvD,OAAO,MAAMC,eAAe,CAACC,GAAYC,IAAeH,aAAaE,GAAGC,GAAE;AAC1E,OAAO,MAAMC,OAAOL,gBAAe;AACnC,OAAO,MAAMM,aAAaP,wBAAuB;AACjD,OAAO,MAAMQ,WAAWT,eAAc;AACtC,OAAO,MAAMU,iBAAiBX,WAAWY,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/migrate-aliased-exports/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAoC/C,eAAO,MAAM,qBAAqB,EAAE,SA2FnC,CAAA"}
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
const SOURCE_MAP = {
|
|
2
|
+
'@payloadcms/next/utilities': {
|
|
3
|
+
addDataAndFileToRequest: {
|
|
4
|
+
to: 'payload'
|
|
5
|
+
},
|
|
6
|
+
addLocalesToRequestFromData: {
|
|
7
|
+
to: 'payload'
|
|
8
|
+
},
|
|
9
|
+
createPayloadRequest: {
|
|
10
|
+
to: 'payload'
|
|
11
|
+
},
|
|
12
|
+
headersWithCors: {
|
|
13
|
+
to: 'payload'
|
|
14
|
+
},
|
|
15
|
+
mergeHeaders: {
|
|
16
|
+
to: 'payload'
|
|
17
|
+
},
|
|
18
|
+
sanitizeLocales: {
|
|
19
|
+
to: 'payload'
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
'@payloadcms/ui': {
|
|
23
|
+
Column: {
|
|
24
|
+
to: 'payload'
|
|
25
|
+
},
|
|
26
|
+
ListComponentClientProps: {
|
|
27
|
+
rename: 'ListViewClientProps',
|
|
28
|
+
to: 'payload'
|
|
29
|
+
},
|
|
30
|
+
ListComponentServerProps: {
|
|
31
|
+
rename: 'ListViewServerProps',
|
|
32
|
+
to: 'payload'
|
|
33
|
+
},
|
|
34
|
+
ListPreferences: {
|
|
35
|
+
rename: 'CollectionPreferences',
|
|
36
|
+
to: 'payload'
|
|
37
|
+
},
|
|
38
|
+
ListViewClientProps: {
|
|
39
|
+
to: 'payload'
|
|
40
|
+
},
|
|
41
|
+
ListViewSlots: {
|
|
42
|
+
to: 'payload'
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
'@payloadcms/ui/shared': {
|
|
46
|
+
EntityType: {
|
|
47
|
+
to: 'payload/shared'
|
|
48
|
+
},
|
|
49
|
+
formatAdminURL: {
|
|
50
|
+
to: 'payload/shared'
|
|
51
|
+
},
|
|
52
|
+
mergeListSearchAndWhere: {
|
|
53
|
+
to: 'payload/shared'
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
export const migrateAliasedExports = {
|
|
58
|
+
name: 'migrate-aliased-exports',
|
|
59
|
+
apply: ({ project })=>{
|
|
60
|
+
const filesChanged = new Set();
|
|
61
|
+
const notes = [];
|
|
62
|
+
for (const file of project.getSourceFiles()){
|
|
63
|
+
let mutated = false;
|
|
64
|
+
for (const importDecl of [
|
|
65
|
+
...file.getImportDeclarations()
|
|
66
|
+
]){
|
|
67
|
+
const migrations = SOURCE_MAP[importDecl.getModuleSpecifierValue()];
|
|
68
|
+
if (!migrations) {
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
const named = importDecl.getNamedImports();
|
|
72
|
+
const migrating = [];
|
|
73
|
+
let kept = 0;
|
|
74
|
+
for (const spec of named){
|
|
75
|
+
const migration = migrations[spec.getName()];
|
|
76
|
+
if (migration) {
|
|
77
|
+
migrating.push({
|
|
78
|
+
migration,
|
|
79
|
+
named: spec
|
|
80
|
+
});
|
|
81
|
+
} else {
|
|
82
|
+
kept++;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (migrating.length === 0) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
const targets = new Set(migrating.map(({ migration })=>migration.to));
|
|
89
|
+
if (kept === 0 && targets.size === 1) {
|
|
90
|
+
const [target] = [
|
|
91
|
+
...targets
|
|
92
|
+
];
|
|
93
|
+
importDecl.setModuleSpecifier(target);
|
|
94
|
+
for (const { migration, named: spec } of migrating){
|
|
95
|
+
applyRename({
|
|
96
|
+
migration,
|
|
97
|
+
notes,
|
|
98
|
+
sourceFile: file,
|
|
99
|
+
spec,
|
|
100
|
+
target: target
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
mutated = true;
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
for (const { migration, named: spec } of migrating){
|
|
107
|
+
const isTypeOnly = importDecl.isTypeOnly() || spec.isTypeOnly();
|
|
108
|
+
const aliasNode = spec.getAliasNode();
|
|
109
|
+
const localName = aliasNode?.getText() ?? spec.getName();
|
|
110
|
+
const canonicalName = migration.rename ?? spec.getName();
|
|
111
|
+
const alias = localName !== canonicalName ? localName : undefined;
|
|
112
|
+
spec.remove();
|
|
113
|
+
attachToTargetImport({
|
|
114
|
+
file,
|
|
115
|
+
isTypeOnly,
|
|
116
|
+
named: {
|
|
117
|
+
name: canonicalName,
|
|
118
|
+
alias
|
|
119
|
+
},
|
|
120
|
+
target: migration.to
|
|
121
|
+
});
|
|
122
|
+
if (migration.rename) {
|
|
123
|
+
notes.push(renameNote({
|
|
124
|
+
filePath: file.getFilePath(),
|
|
125
|
+
migration,
|
|
126
|
+
originalName: spec.getName()
|
|
127
|
+
}));
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const remaining = importDecl.getNamedImports();
|
|
131
|
+
if (remaining.length === 0 && !importDecl.getDefaultImport() && !importDecl.getNamespaceImport()) {
|
|
132
|
+
importDecl.remove();
|
|
133
|
+
}
|
|
134
|
+
mutated = true;
|
|
135
|
+
}
|
|
136
|
+
if (mutated) {
|
|
137
|
+
filesChanged.add(file.getFilePath());
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return {
|
|
141
|
+
filesChanged: [
|
|
142
|
+
...filesChanged
|
|
143
|
+
],
|
|
144
|
+
...notes.length > 0 ? {
|
|
145
|
+
notes
|
|
146
|
+
} : {}
|
|
147
|
+
};
|
|
148
|
+
},
|
|
149
|
+
description: 'Move imports of aliased re-exports from @payloadcms/ui and @payloadcms/next/utilities to their canonical sources in `payload` / `payload/shared`. Renamed names (`ListPreferences` → `CollectionPreferences`, `ListComponentClientProps` → `ListViewClientProps`, `ListComponentServerProps` → `ListViewServerProps`) are imported using an `as` alias so existing usages keep compiling.'
|
|
150
|
+
};
|
|
151
|
+
function applyRename({ migration, notes, sourceFile, spec, target }) {
|
|
152
|
+
if (!migration.rename) {
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
const originalName = spec.getName();
|
|
156
|
+
const aliasNode = spec.getAliasNode();
|
|
157
|
+
const localName = aliasNode?.getText() ?? originalName;
|
|
158
|
+
spec.setName(migration.rename);
|
|
159
|
+
if (localName !== migration.rename) {
|
|
160
|
+
spec.setAlias(localName);
|
|
161
|
+
} else {
|
|
162
|
+
spec.removeAlias();
|
|
163
|
+
}
|
|
164
|
+
notes.push(renameNote({
|
|
165
|
+
filePath: sourceFile.getFilePath(),
|
|
166
|
+
migration,
|
|
167
|
+
originalName
|
|
168
|
+
}));
|
|
169
|
+
}
|
|
170
|
+
function renameNote({ filePath, migration, originalName }) {
|
|
171
|
+
return `${filePath}: \`${originalName}\` is now \`${migration.rename}\` in \`${migration.to}\`. Codemod imported as \`${migration.rename} as ${originalName}\`; rename usages manually if you want to drop the alias.`;
|
|
172
|
+
}
|
|
173
|
+
function attachToTargetImport({ file, isTypeOnly, named, target }) {
|
|
174
|
+
const localName = named.alias ?? named.name;
|
|
175
|
+
const existing = findExistingTarget({
|
|
176
|
+
file,
|
|
177
|
+
isTypeOnly,
|
|
178
|
+
target
|
|
179
|
+
});
|
|
180
|
+
if (existing) {
|
|
181
|
+
const declTypeOnly = existing.isTypeOnly();
|
|
182
|
+
const alreadyHas = existing.getNamedImports().some((spec)=>(spec.getAliasNode()?.getText() ?? spec.getName()) === localName);
|
|
183
|
+
if (alreadyHas) {
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
existing.addNamedImport({
|
|
187
|
+
name: named.name,
|
|
188
|
+
alias: named.alias,
|
|
189
|
+
isTypeOnly: !declTypeOnly && isTypeOnly
|
|
190
|
+
});
|
|
191
|
+
return;
|
|
192
|
+
}
|
|
193
|
+
file.addImportDeclaration({
|
|
194
|
+
isTypeOnly,
|
|
195
|
+
moduleSpecifier: target,
|
|
196
|
+
namedImports: [
|
|
197
|
+
{
|
|
198
|
+
name: named.name,
|
|
199
|
+
alias: named.alias
|
|
200
|
+
}
|
|
201
|
+
]
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
function findExistingTarget({ file, isTypeOnly, target }) {
|
|
205
|
+
const candidates = file.getImportDeclarations().filter((decl)=>decl.getModuleSpecifierValue() === target);
|
|
206
|
+
if (candidates.length === 0) {
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
if (isTypeOnly) {
|
|
210
|
+
return candidates.find((decl)=>decl.isTypeOnly()) ?? candidates[0];
|
|
211
|
+
}
|
|
212
|
+
return candidates.find((decl)=>!decl.isTypeOnly()) ?? candidates[0];
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/index.ts"],"sourcesContent":["import type { ImportDeclaration, ImportSpecifier, SourceFile } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\ntype Migration = {\n rename?: string\n to: string\n}\n\nconst SOURCE_MAP: Record<string, Record<string, Migration>> = {\n '@payloadcms/next/utilities': {\n addDataAndFileToRequest: { to: 'payload' },\n addLocalesToRequestFromData: { to: 'payload' },\n createPayloadRequest: { to: 'payload' },\n headersWithCors: { to: 'payload' },\n mergeHeaders: { to: 'payload' },\n sanitizeLocales: { to: 'payload' },\n },\n '@payloadcms/ui': {\n Column: { to: 'payload' },\n ListComponentClientProps: { rename: 'ListViewClientProps', to: 'payload' },\n ListComponentServerProps: { rename: 'ListViewServerProps', to: 'payload' },\n ListPreferences: { rename: 'CollectionPreferences', to: 'payload' },\n ListViewClientProps: { to: 'payload' },\n ListViewSlots: { to: 'payload' },\n },\n '@payloadcms/ui/shared': {\n EntityType: { to: 'payload/shared' },\n formatAdminURL: { to: 'payload/shared' },\n mergeListSearchAndWhere: { to: 'payload/shared' },\n },\n}\n\ntype MigratingSpec = {\n migration: Migration\n named: ImportSpecifier\n}\n\nexport const migrateAliasedExports: Transform = {\n name: 'migrate-aliased-exports',\n apply: ({ project }) => {\n const filesChanged = new Set<string>()\n const notes: string[] = []\n\n for (const file of project.getSourceFiles()) {\n let mutated = false\n\n for (const importDecl of [...file.getImportDeclarations()]) {\n const migrations = SOURCE_MAP[importDecl.getModuleSpecifierValue()]\n if (!migrations) {\n continue\n }\n\n const named = importDecl.getNamedImports()\n const migrating: MigratingSpec[] = []\n let kept = 0\n\n for (const spec of named) {\n const migration = migrations[spec.getName()]\n if (migration) {\n migrating.push({ migration, named: spec })\n } else {\n kept++\n }\n }\n\n if (migrating.length === 0) {\n continue\n }\n\n const targets = new Set(migrating.map(({ migration }) => migration.to))\n\n if (kept === 0 && targets.size === 1) {\n const [target] = [...targets]\n importDecl.setModuleSpecifier(target!)\n for (const { migration, named: spec } of migrating) {\n applyRename({ migration, notes, sourceFile: file, spec, target: target! })\n }\n mutated = true\n continue\n }\n\n for (const { migration, named: spec } of migrating) {\n const isTypeOnly = importDecl.isTypeOnly() || spec.isTypeOnly()\n const aliasNode = spec.getAliasNode()\n const localName = aliasNode?.getText() ?? spec.getName()\n const canonicalName = migration.rename ?? spec.getName()\n const alias = localName !== canonicalName ? localName : undefined\n\n spec.remove()\n\n attachToTargetImport({\n file,\n isTypeOnly,\n named: { name: canonicalName, alias },\n target: migration.to,\n })\n\n if (migration.rename) {\n notes.push(\n renameNote({ filePath: file.getFilePath(), migration, originalName: spec.getName() }),\n )\n }\n }\n\n const remaining = importDecl.getNamedImports()\n if (\n remaining.length === 0 &&\n !importDecl.getDefaultImport() &&\n !importDecl.getNamespaceImport()\n ) {\n importDecl.remove()\n }\n\n mutated = true\n }\n\n if (mutated) {\n filesChanged.add(file.getFilePath())\n }\n }\n\n return {\n filesChanged: [...filesChanged],\n ...(notes.length > 0 ? { notes } : {}),\n }\n },\n description:\n 'Move imports of aliased re-exports from @payloadcms/ui and @payloadcms/next/utilities to their canonical sources in `payload` / `payload/shared`. Renamed names (`ListPreferences` → `CollectionPreferences`, `ListComponentClientProps` → `ListViewClientProps`, `ListComponentServerProps` → `ListViewServerProps`) are imported using an `as` alias so existing usages keep compiling.',\n}\n\ntype ApplyRenameArgs = {\n migration: Migration\n notes: string[]\n sourceFile: SourceFile\n spec: ImportSpecifier\n target: string\n}\n\nfunction applyRename({ migration, notes, sourceFile, spec, target }: ApplyRenameArgs): void {\n if (!migration.rename) {\n return\n }\n\n const originalName = spec.getName()\n const aliasNode = spec.getAliasNode()\n const localName = aliasNode?.getText() ?? originalName\n\n spec.setName(migration.rename)\n\n if (localName !== migration.rename) {\n spec.setAlias(localName)\n } else {\n spec.removeAlias()\n }\n\n notes.push(renameNote({ filePath: sourceFile.getFilePath(), migration, originalName }))\n}\n\ntype RenameNoteArgs = {\n filePath: string\n migration: Migration\n originalName: string\n}\n\nfunction renameNote({ filePath, migration, originalName }: RenameNoteArgs): string {\n return `${filePath}: \\`${originalName}\\` is now \\`${migration.rename}\\` in \\`${migration.to}\\`. Codemod imported as \\`${migration.rename} as ${originalName}\\`; rename usages manually if you want to drop the alias.`\n}\n\ntype AttachToTargetArgs = {\n file: SourceFile\n isTypeOnly: boolean\n named: { alias?: string; name: string }\n target: string\n}\n\nfunction attachToTargetImport({ file, isTypeOnly, named, target }: AttachToTargetArgs): void {\n const localName = named.alias ?? named.name\n const existing = findExistingTarget({ file, isTypeOnly, target })\n\n if (existing) {\n const declTypeOnly = existing.isTypeOnly()\n const alreadyHas = existing\n .getNamedImports()\n .some((spec) => (spec.getAliasNode()?.getText() ?? spec.getName()) === localName)\n if (alreadyHas) {\n return\n }\n existing.addNamedImport({\n name: named.name,\n alias: named.alias,\n isTypeOnly: !declTypeOnly && isTypeOnly,\n })\n return\n }\n\n file.addImportDeclaration({\n isTypeOnly,\n moduleSpecifier: target,\n namedImports: [{ name: named.name, alias: named.alias }],\n })\n}\n\ntype FindExistingTargetArgs = {\n file: SourceFile\n isTypeOnly: boolean\n target: string\n}\n\nfunction findExistingTarget({\n file,\n isTypeOnly,\n target,\n}: FindExistingTargetArgs): ImportDeclaration | undefined {\n const candidates = file\n .getImportDeclarations()\n .filter((decl) => decl.getModuleSpecifierValue() === target)\n\n if (candidates.length === 0) {\n return undefined\n }\n\n if (isTypeOnly) {\n return candidates.find((decl) => decl.isTypeOnly()) ?? candidates[0]\n }\n\n return candidates.find((decl) => !decl.isTypeOnly()) ?? candidates[0]\n}\n"],"names":["SOURCE_MAP","addDataAndFileToRequest","to","addLocalesToRequestFromData","createPayloadRequest","headersWithCors","mergeHeaders","sanitizeLocales","Column","ListComponentClientProps","rename","ListComponentServerProps","ListPreferences","ListViewClientProps","ListViewSlots","EntityType","formatAdminURL","mergeListSearchAndWhere","migrateAliasedExports","name","apply","project","filesChanged","Set","notes","file","getSourceFiles","mutated","importDecl","getImportDeclarations","migrations","getModuleSpecifierValue","named","getNamedImports","migrating","kept","spec","migration","getName","push","length","targets","map","size","target","setModuleSpecifier","applyRename","sourceFile","isTypeOnly","aliasNode","getAliasNode","localName","getText","canonicalName","alias","undefined","remove","attachToTargetImport","renameNote","filePath","getFilePath","originalName","remaining","getDefaultImport","getNamespaceImport","add","description","setName","setAlias","removeAlias","existing","findExistingTarget","declTypeOnly","alreadyHas","some","addNamedImport","addImportDeclaration","moduleSpecifier","namedImports","candidates","filter","decl","find"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../src/transforms/migrate-aliased-exports/index.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { dirname, join } from 'node:path';
|
|
3
|
+
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { describe, expect, it } from 'vitest';
|
|
5
|
+
import { runTransform } from '../../utils/test-helpers.js';
|
|
6
|
+
import { migrateAliasedExports } from './index.js';
|
|
7
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const fixture = (name)=>readFile(join(here, name), 'utf8');
|
|
9
|
+
describe('migrate-aliased-exports', ()=>{
|
|
10
|
+
it('moves pass-through re-exports to canonical sources', async ()=>{
|
|
11
|
+
const input = await fixture('basic.input.ts');
|
|
12
|
+
const output = await fixture('basic.output.ts');
|
|
13
|
+
const result = await runTransform({
|
|
14
|
+
source: input,
|
|
15
|
+
transform: migrateAliasedExports
|
|
16
|
+
});
|
|
17
|
+
expect(result).toBe(output);
|
|
18
|
+
});
|
|
19
|
+
it('rewrites renamed types using `as` alias to preserve usages', async ()=>{
|
|
20
|
+
const input = await fixture('rename.input.ts');
|
|
21
|
+
const output = await fixture('rename.output.ts');
|
|
22
|
+
const result = await runTransform({
|
|
23
|
+
source: input,
|
|
24
|
+
transform: migrateAliasedExports
|
|
25
|
+
});
|
|
26
|
+
expect(result).toBe(output);
|
|
27
|
+
});
|
|
28
|
+
it('merges into existing import declaration from canonical source', async ()=>{
|
|
29
|
+
const input = await fixture('merge.input.ts');
|
|
30
|
+
const output = await fixture('merge.output.ts');
|
|
31
|
+
const result = await runTransform({
|
|
32
|
+
source: input,
|
|
33
|
+
transform: migrateAliasedExports
|
|
34
|
+
});
|
|
35
|
+
expect(result).toBe(output);
|
|
36
|
+
});
|
|
37
|
+
it('is idempotent on already-migrated source', async ()=>{
|
|
38
|
+
const output = await fixture('basic.output.ts');
|
|
39
|
+
const result = await runTransform({
|
|
40
|
+
source: output,
|
|
41
|
+
transform: migrateAliasedExports
|
|
42
|
+
});
|
|
43
|
+
expect(result).toBe(output);
|
|
44
|
+
});
|
|
45
|
+
it('leaves unrelated imports untouched', async ()=>{
|
|
46
|
+
const input = await fixture('non-matching.input.ts');
|
|
47
|
+
const result = await runTransform({
|
|
48
|
+
source: input,
|
|
49
|
+
transform: migrateAliasedExports
|
|
50
|
+
});
|
|
51
|
+
expect(result).toBe(input);
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
|
|
55
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/index.spec.ts"],"sourcesContent":["import { readFile } from 'node:fs/promises'\nimport { dirname, join } from 'node:path'\nimport { fileURLToPath } from 'node:url'\nimport { describe, expect, it } from 'vitest'\n\nimport { runTransform } from '../../utils/test-helpers.js'\nimport { migrateAliasedExports } from './index.js'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst fixture = (name: string) => readFile(join(here, name), 'utf8')\n\ndescribe('migrate-aliased-exports', () => {\n it('moves pass-through re-exports to canonical sources', async () => {\n const input = await fixture('basic.input.ts')\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({ source: input, transform: migrateAliasedExports })\n\n expect(result).toBe(output)\n })\n\n it('rewrites renamed types using `as` alias to preserve usages', async () => {\n const input = await fixture('rename.input.ts')\n const output = await fixture('rename.output.ts')\n\n const result = await runTransform({ source: input, transform: migrateAliasedExports })\n\n expect(result).toBe(output)\n })\n\n it('merges into existing import declaration from canonical source', async () => {\n const input = await fixture('merge.input.ts')\n const output = await fixture('merge.output.ts')\n\n const result = await runTransform({ source: input, transform: migrateAliasedExports })\n\n expect(result).toBe(output)\n })\n\n it('is idempotent on already-migrated source', async () => {\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({ source: output, transform: migrateAliasedExports })\n\n expect(result).toBe(output)\n })\n\n it('leaves unrelated imports untouched', async () => {\n const input = await fixture('non-matching.input.ts')\n\n const result = await runTransform({ source: input, transform: migrateAliasedExports })\n\n expect(result).toBe(input)\n })\n})\n"],"names":["readFile","dirname","join","fileURLToPath","describe","expect","it","runTransform","migrateAliasedExports","here","url","fixture","name","input","output","result","source","transform","toBe"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,mBAAkB;AAC3C,SAASC,OAAO,EAAEC,IAAI,QAAQ,YAAW;AACzC,SAASC,aAAa,QAAQ,WAAU;AACxC,SAASC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAE7C,SAASC,YAAY,QAAQ,8BAA6B;AAC1D,SAASC,qBAAqB,QAAQ,aAAY;AAElD,MAAMC,OAAOR,QAAQE,cAAc,YAAYO,GAAG;AAClD,MAAMC,UAAU,CAACC,OAAiBZ,SAASE,KAAKO,MAAMG,OAAO;AAE7DR,SAAS,2BAA2B;IAClCE,GAAG,sDAAsD;QACvD,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAAsB;QAEpFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,8DAA8D;QAC/D,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAAsB;QAEpFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,iEAAiE;QAClE,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAAsB;QAEpFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,4CAA4C;QAC7C,MAAMQ,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQF;YAAQG,WAAWT;QAAsB;QAErFH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,sCAAsC;QACvC,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAAsB;QAEpFH,OAAOU,QAAQG,IAAI,CAACL;IACtB;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/merge.input.ts"],"sourcesContent":["import type { Column } from '@payloadcms/ui'\nimport { APIError } from 'payload'\n\nimport { headersWithCors } from '@payloadcms/next/utilities'\n\nexport const fail = () => new APIError('boom', 500)\nexport const cors = headersWithCors\nexport type Col = Column\n"],"names":["APIError","headersWithCors","fail","cors"],"mappings":"AACA,SAASA,QAAQ,QAAQ,UAAS;AAElC,SAASC,eAAe,QAAQ,6BAA4B;AAE5D,OAAO,MAAMC,OAAO,IAAM,IAAIF,SAAS,QAAQ,KAAI;AACnD,OAAO,MAAMG,OAAOF,gBAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/merge.output.ts"],"sourcesContent":["import type { Column } from 'payload'\nimport { APIError } from 'payload'\n\nimport { headersWithCors } from 'payload'\n\nexport const fail = () => new APIError('boom', 500)\nexport const cors = headersWithCors\nexport type Col = Column\n"],"names":["APIError","headersWithCors","fail","cors"],"mappings":"AACA,SAASA,QAAQ,QAAQ,UAAS;AAElC,SAASC,eAAe,QAAQ,UAAS;AAEzC,OAAO,MAAMC,OAAO,IAAM,IAAIF,SAAS,QAAQ,KAAI;AACnD,OAAO,MAAMG,OAAOF,gBAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/non-matching.input.ts"],"sourcesContent":["import type { Field } from 'payload'\nimport { Button } from '@payloadcms/ui'\n\nimport { formatAdminURL } from 'payload/shared'\n\nexport const Thing = (props: { field: Field }) => Button\nexport const url = formatAdminURL\n"],"names":["Button","formatAdminURL","Thing","props","url"],"mappings":"AACA,SAASA,MAAM,QAAQ,iBAAgB;AAEvC,SAASC,cAAc,QAAQ,iBAAgB;AAE/C,OAAO,MAAMC,QAAQ,CAACC,QAA4BH,OAAM;AACxD,OAAO,MAAMI,MAAMH,eAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/rename.input.ts"],"sourcesContent":["import type {\n ListComponentClientProps,\n ListComponentServerProps,\n ListPreferences,\n} from '@payloadcms/ui'\n\nexport type Props = {\n client: ListComponentClientProps\n preferences: ListPreferences\n server: ListComponentServerProps\n}\n"],"names":[],"mappings":"AAMA,WAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-aliased-exports/rename.output.ts"],"sourcesContent":["import type {\n ListViewClientProps as ListComponentClientProps,\n ListViewServerProps as ListComponentServerProps,\n CollectionPreferences as ListPreferences,\n} from 'payload'\n\nexport type Props = {\n client: ListComponentClientProps\n preferences: ListPreferences\n server: ListComponentServerProps\n}\n"],"names":[],"mappings":"AAMA,WAIC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { azureStorage } from '@payloadcms/storage-azure';
|
|
2
|
+
import { buildConfig } from 'payload';
|
|
3
|
+
export default buildConfig({
|
|
4
|
+
storage: [
|
|
5
|
+
azureStorage({
|
|
6
|
+
collections: {
|
|
7
|
+
media: true
|
|
8
|
+
},
|
|
9
|
+
clientUploads: {
|
|
10
|
+
chunkLargeFiles: true
|
|
11
|
+
}
|
|
12
|
+
})
|
|
13
|
+
]
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=basic.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-azure-chunk-large-files/basic.input.ts"],"sourcesContent":["import { azureStorage } from '@payloadcms/storage-azure'\nimport { buildConfig } from 'payload'\n\nexport default buildConfig({\n storage: [\n azureStorage({\n collections: { media: true },\n clientUploads: { chunkLargeFiles: true },\n }),\n ],\n})\n"],"names":["azureStorage","buildConfig","storage","collections","media","clientUploads","chunkLargeFiles"],"mappings":"AAAA,SAASA,YAAY,QAAQ,4BAA2B;AACxD,SAASC,WAAW,QAAQ,UAAS;AAErC,eAAeA,YAAY;IACzBC,SAAS;QACPF,aAAa;YACXG,aAAa;gBAAEC,OAAO;YAAK;YAC3BC,eAAe;gBAAEC,iBAAiB;YAAK;QACzC;KACD;AACH,GAAE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { azureStorage } from '@payloadcms/storage-azure';
|
|
2
|
+
import { buildConfig } from 'payload';
|
|
3
|
+
export default buildConfig({
|
|
4
|
+
storage: [
|
|
5
|
+
azureStorage({
|
|
6
|
+
collections: {
|
|
7
|
+
media: true
|
|
8
|
+
},
|
|
9
|
+
clientUploads: true
|
|
10
|
+
})
|
|
11
|
+
]
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=basic.output.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/migrate-azure-chunk-large-files/basic.output.ts"],"sourcesContent":["import { azureStorage } from '@payloadcms/storage-azure'\nimport { buildConfig } from 'payload'\n\nexport default buildConfig({\n storage: [\n azureStorage({\n collections: { media: true },\n clientUploads: true,\n }),\n ],\n})\n"],"names":["azureStorage","buildConfig","storage","collections","media","clientUploads"],"mappings":"AAAA,SAASA,YAAY,QAAQ,4BAA2B;AACxD,SAASC,WAAW,QAAQ,UAAS;AAErC,eAAeA,YAAY;IACzBC,SAAS;QACPF,aAAa;YACXG,aAAa;gBAAEC,OAAO;YAAK;YAC3BC,eAAe;QACjB;KACD;AACH,GAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transforms/migrate-azure-chunk-large-files/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/C,eAAO,MAAM,2BAA2B,EAAE,SA4DzC,CAAA"}
|