@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/rename-typescript-schema-to-json-schema/index.ts"],"sourcesContent":["import type { SourceFile } from 'ts-morph'\n\nimport { Node, SyntaxKind } from 'ts-morph'\n\nimport type { Transform } from '../../types.js'\n\nconst OLD_NAME = 'typescriptSchema'\nconst NEW_NAME = 'jsonSchema'\n\nconst renameInSourceFile = (sourceFile: SourceFile): { changed: boolean; collisions: number } => {\n let changed = false\n let collisions = 0\n\n // Snapshot the object literals up front so renaming a key mid-loop doesn't\n // disturb iteration. Each rename only swaps the property-name token, so the\n // other object literals stay valid.\n const objectLiterals = sourceFile.getDescendantsOfKind(SyntaxKind.ObjectLiteralExpression)\n\n for (const obj of objectLiterals) {\n const property = obj.getProperty(OLD_NAME)\n if (!property || !Node.isPropertyAssignment(property)) {\n continue\n }\n // Never overwrite an existing `jsonSchema` — leave the deprecated key in\n // place and surface it as a note for manual review.\n if (obj.getProperty(NEW_NAME)) {\n collisions++\n continue\n }\n property.getNameNode().replaceWithText(NEW_NAME)\n changed = true\n }\n\n return { changed, collisions }\n}\n\nexport const renameTypescriptSchemaToJsonSchema: Transform = {\n name: 'rename-typescript-schema-to-json-schema',\n apply: ({ project }) => {\n const filesChanged: string[] = []\n const notes: string[] = []\n\n for (const sourceFile of project.getSourceFiles()) {\n const { changed, collisions } = renameInSourceFile(sourceFile)\n if (changed) {\n filesChanged.push(sourceFile.getFilePath())\n }\n if (collisions > 0) {\n notes.push(\n `${sourceFile.getFilePath()}: left ${collisions} \\`typescriptSchema\\` ${\n collisions === 1 ? 'property' : 'properties'\n } untouched because a sibling \\`jsonSchema\\` already exists — resolve manually.`,\n )\n }\n }\n\n return notes.length > 0 ? { filesChanged, notes } : { filesChanged }\n },\n description:\n 'Renames the `typescriptSchema` field-config property to `jsonSchema`. Skips objects that already define a `jsonSchema` sibling.',\n}\n"],"names":["Node","SyntaxKind","OLD_NAME","NEW_NAME","renameInSourceFile","sourceFile","changed","collisions","objectLiterals","getDescendantsOfKind","ObjectLiteralExpression","obj","property","getProperty","isPropertyAssignment","getNameNode","replaceWithText","renameTypescriptSchemaToJsonSchema","name","apply","project","filesChanged","notes","getSourceFiles","push","getFilePath","length","description"],"mappings":"AAEA,SAASA,IAAI,EAAEC,UAAU,QAAQ,WAAU;AAI3C,MAAMC,WAAW;AACjB,MAAMC,WAAW;AAEjB,MAAMC,qBAAqB,CAACC;IAC1B,IAAIC,UAAU;IACd,IAAIC,aAAa;IAEjB,2EAA2E;IAC3E,4EAA4E;IAC5E,oCAAoC;IACpC,MAAMC,iBAAiBH,WAAWI,oBAAoB,CAACR,WAAWS,uBAAuB;IAEzF,KAAK,MAAMC,OAAOH,eAAgB;QAChC,MAAMI,WAAWD,IAAIE,WAAW,CAACX;QACjC,IAAI,CAACU,YAAY,CAACZ,KAAKc,oBAAoB,CAACF,WAAW;YACrD;QACF;QACA,yEAAyE;QACzE,oDAAoD;QACpD,IAAID,IAAIE,WAAW,CAACV,WAAW;YAC7BI;YACA;QACF;QACAK,SAASG,WAAW,GAAGC,eAAe,CAACb;QACvCG,UAAU;IACZ;IAEA,OAAO;QAAEA;QAASC;IAAW;AAC/B;AAEA,OAAO,MAAMU,qCAAgD;IAC3DC,MAAM;IACNC,OAAO,CAAC,EAAEC,OAAO,EAAE;QACjB,MAAMC,eAAyB,EAAE;QACjC,MAAMC,QAAkB,EAAE;QAE1B,KAAK,MAAMjB,cAAce,QAAQG,cAAc,GAAI;YACjD,MAAM,EAAEjB,OAAO,EAAEC,UAAU,EAAE,GAAGH,mBAAmBC;YACnD,IAAIC,SAAS;gBACXe,aAAaG,IAAI,CAACnB,WAAWoB,WAAW;YAC1C;YACA,IAAIlB,aAAa,GAAG;gBAClBe,MAAME,IAAI,CACR,GAAGnB,WAAWoB,WAAW,GAAG,OAAO,EAAElB,WAAW,sBAAsB,EACpEA,eAAe,IAAI,aAAa,aACjC,8EAA8E,CAAC;YAEpF;QACF;QAEA,OAAOe,MAAMI,MAAM,GAAG,IAAI;YAAEL;YAAcC;QAAM,IAAI;YAAED;QAAa;IACrE;IACAM,aACE;AACJ,EAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.spec.d.ts","sourceRoot":"","sources":["../../../src/transforms/rename-typescript-schema-to-json-schema/index.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
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 { renameTypescriptSchemaToJsonSchema } from './index.js';
|
|
7
|
+
const here = dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const fixture = (name)=>readFile(join(here, name), 'utf8');
|
|
9
|
+
describe('rename-typescript-schema-to-json-schema', ()=>{
|
|
10
|
+
it('renames `typescriptSchema` to `jsonSchema`', 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: renameTypescriptSchemaToJsonSchema
|
|
16
|
+
});
|
|
17
|
+
expect(result).toBe(output);
|
|
18
|
+
});
|
|
19
|
+
it('is idempotent', async ()=>{
|
|
20
|
+
const output = await fixture('basic.output.ts');
|
|
21
|
+
const result = await runTransform({
|
|
22
|
+
source: output,
|
|
23
|
+
transform: renameTypescriptSchemaToJsonSchema
|
|
24
|
+
});
|
|
25
|
+
expect(result).toBe(output);
|
|
26
|
+
});
|
|
27
|
+
it('no-ops on code without `typescriptSchema`', async ()=>{
|
|
28
|
+
const input = await fixture('non-matching.input.ts');
|
|
29
|
+
const result = await runTransform({
|
|
30
|
+
source: input,
|
|
31
|
+
transform: renameTypescriptSchemaToJsonSchema
|
|
32
|
+
});
|
|
33
|
+
expect(result).toBe(input);
|
|
34
|
+
});
|
|
35
|
+
it('does not clobber an existing `jsonSchema` sibling', async ()=>{
|
|
36
|
+
const input = await fixture('sibling.input.ts');
|
|
37
|
+
const result = await runTransform({
|
|
38
|
+
source: input,
|
|
39
|
+
transform: renameTypescriptSchemaToJsonSchema
|
|
40
|
+
});
|
|
41
|
+
expect(result).toBe(input);
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=index.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-typescript-schema-to-json-schema/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 { renameTypescriptSchemaToJsonSchema } from './index.js'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst fixture = (name: string) => readFile(join(here, name), 'utf8')\n\ndescribe('rename-typescript-schema-to-json-schema', () => {\n it('renames `typescriptSchema` to `jsonSchema`', async () => {\n const input = await fixture('basic.input.ts')\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(output)\n })\n\n it('is idempotent', async () => {\n const output = await fixture('basic.output.ts')\n\n const result = await runTransform({\n source: output,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(output)\n })\n\n it('no-ops on code without `typescriptSchema`', async () => {\n const input = await fixture('non-matching.input.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(input)\n })\n\n it('does not clobber an existing `jsonSchema` sibling', async () => {\n const input = await fixture('sibling.input.ts')\n\n const result = await runTransform({\n source: input,\n transform: renameTypescriptSchemaToJsonSchema,\n })\n\n expect(result).toBe(input)\n })\n})\n"],"names":["readFile","dirname","join","fileURLToPath","describe","expect","it","runTransform","renameTypescriptSchemaToJsonSchema","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,kCAAkC,QAAQ,aAAY;AAE/D,MAAMC,OAAOR,QAAQE,cAAc,YAAYO,GAAG;AAClD,MAAMC,UAAU,CAACC,OAAiBZ,SAASE,KAAKO,MAAMG,OAAO;AAE7DR,SAAS,2CAA2C;IAClDE,GAAG,8CAA8C;QAC/C,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,iBAAiB;QAClB,MAAMQ,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQF;YACRG,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,6CAA6C;QAC9C,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACL;IACtB;IAEAP,GAAG,qDAAqD;QACtD,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAChCS,QAAQH;YACRI,WAAWT;QACb;QAEAH,OAAOU,QAAQG,IAAI,CAACL;IACtB;AACF"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const title = {
|
|
2
|
+
name: 'title',
|
|
3
|
+
type: 'text'
|
|
4
|
+
};
|
|
5
|
+
// `typescriptVersion` is a near-miss — only the exact `typescriptSchema` key should match.
|
|
6
|
+
export const meta = {
|
|
7
|
+
custom: {
|
|
8
|
+
typescriptVersion: '5.5.0'
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=non-matching.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-typescript-schema-to-json-schema/non-matching.input.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nexport const title: Field = {\n name: 'title',\n type: 'text',\n}\n\n// `typescriptVersion` is a near-miss — only the exact `typescriptSchema` key should match.\nexport const meta = {\n custom: {\n typescriptVersion: '5.5.0',\n },\n}\n"],"names":["title","name","type","meta","custom","typescriptVersion"],"mappings":"AAEA,OAAO,MAAMA,QAAe;IAC1BC,MAAM;IACNC,MAAM;AACR,EAAC;AAED,2FAA2F;AAC3F,OAAO,MAAMC,OAAO;IAClBC,QAAQ;QACNC,mBAAmB;IACrB;AACF,EAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
// A sibling `jsonSchema` already exists — the transform must not clobber it,
|
|
2
|
+
// and leaves the deprecated `typescriptSchema` key untouched for manual review.
|
|
3
|
+
export const tags = {
|
|
4
|
+
name: 'tags',
|
|
5
|
+
type: 'json',
|
|
6
|
+
jsonSchema: [
|
|
7
|
+
()=>({
|
|
8
|
+
type: 'array'
|
|
9
|
+
})
|
|
10
|
+
],
|
|
11
|
+
typescriptSchema: [
|
|
12
|
+
()=>({
|
|
13
|
+
type: 'string'
|
|
14
|
+
})
|
|
15
|
+
]
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=sibling.input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/transforms/rename-typescript-schema-to-json-schema/sibling.input.ts"],"sourcesContent":["import type { Field } from 'payload'\n\n// A sibling `jsonSchema` already exists — the transform must not clobber it,\n// and leaves the deprecated `typescriptSchema` key untouched for manual review.\nexport const tags: Field = {\n name: 'tags',\n type: 'json',\n jsonSchema: [() => ({ type: 'array' })],\n typescriptSchema: [() => ({ type: 'string' })],\n}\n"],"names":["tags","name","type","jsonSchema","typescriptSchema"],"mappings":"AAEA,6EAA6E;AAC7E,gFAAgF;AAChF,OAAO,MAAMA,OAAc;IACzBC,MAAM;IACNC,MAAM;IACNC,YAAY;QAAC,IAAO,CAAA;gBAAED,MAAM;YAAQ,CAAA;KAAG;IACvCE,kBAAkB;QAAC,IAAO,CAAA;gBAAEF,MAAM;YAAS,CAAA;KAAG;AAChD,EAAC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { Project } from 'ts-morph';
|
|
2
|
+
/** A package.json file exposed to transforms. Transforms mutate `data` only. */
|
|
3
|
+
export type PackageJsonFile = {
|
|
4
|
+
/** Parsed, mutable package.json contents. */
|
|
5
|
+
data: Record<string, unknown>;
|
|
6
|
+
/** Absolute path to the package.json. */
|
|
7
|
+
path: string;
|
|
8
|
+
};
|
|
9
|
+
export type TransformContext = {
|
|
10
|
+
packageJsons: PackageJsonFile[];
|
|
11
|
+
project: Project;
|
|
12
|
+
};
|
|
13
|
+
export type TransformResult = {
|
|
14
|
+
filesChanged: string[];
|
|
15
|
+
notes?: string[];
|
|
16
|
+
};
|
|
17
|
+
export type Transform = {
|
|
18
|
+
apply: (ctx: TransformContext) => Promise<TransformResult> | TransformResult;
|
|
19
|
+
description: string;
|
|
20
|
+
name: string;
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAEvC,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,eAAe,EAAE,CAAA;IAC/B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG;IACtB,KAAK,EAAE,CAAC,GAAG,EAAE,gBAAgB,KAAK,OAAO,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IAC5E,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Project } from 'ts-morph'\n\n/** A package.json file exposed to transforms. Transforms mutate `data` only. */\nexport type PackageJsonFile = {\n /** Parsed, mutable package.json contents. */\n data: Record<string, unknown>\n /** Absolute path to the package.json. */\n path: string\n}\n\nexport type TransformContext = {\n packageJsons: PackageJsonFile[]\n project: Project\n}\n\nexport type TransformResult = {\n filesChanged: string[]\n notes?: string[]\n}\n\nexport type Transform = {\n apply: (ctx: TransformContext) => Promise<TransformResult> | TransformResult\n description: string\n name: string\n}\n"],"names":[],"mappings":"AAoBA,WAIC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** Internal record carried by the CLI; transforms only see `{ path, data }`. */
|
|
2
|
+
export type LoadedPackageJson = {
|
|
3
|
+
data: Record<string, unknown>;
|
|
4
|
+
originalText: string;
|
|
5
|
+
path: string;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Load every package.json under `rootPath`, skipping build/dependency dirs.
|
|
9
|
+
* The CLI owns this filesystem read so transforms stay FS-free.
|
|
10
|
+
*/
|
|
11
|
+
export declare function loadPackageJsons(rootPath: string): LoadedPackageJson[];
|
|
12
|
+
/**
|
|
13
|
+
* Re-serialize package.json data, preserving the original indentation style and
|
|
14
|
+
* trailing newline. Key order is preserved by object insertion order.
|
|
15
|
+
*/
|
|
16
|
+
export declare function serializePackageJson(data: unknown, originalText: string): string;
|
|
17
|
+
//# sourceMappingURL=packageJson.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageJson.d.ts","sourceRoot":"","sources":["../../src/utils/packageJson.ts"],"names":[],"mappings":"AAGA,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAID;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAkBtE;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAGhF"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { globSync, readFileSync } from 'node:fs';
|
|
2
|
+
import { resolve, sep } from 'node:path';
|
|
3
|
+
const EXCLUDED_DIRS = new Set([
|
|
4
|
+
'.next',
|
|
5
|
+
'build',
|
|
6
|
+
'dist',
|
|
7
|
+
'node_modules'
|
|
8
|
+
]);
|
|
9
|
+
/**
|
|
10
|
+
* Load every package.json under `rootPath`, skipping build/dependency dirs.
|
|
11
|
+
* The CLI owns this filesystem read so transforms stay FS-free.
|
|
12
|
+
*/ export function loadPackageJsons(rootPath) {
|
|
13
|
+
const matches = globSync('**/package.json', {
|
|
14
|
+
cwd: rootPath,
|
|
15
|
+
// `exclude` prunes traversal into these dirs (avoids walking node_modules).
|
|
16
|
+
exclude: (entry)=>entry.split(/[\\/]/).some((seg)=>EXCLUDED_DIRS.has(seg))
|
|
17
|
+
});
|
|
18
|
+
return matches// Authoritative, version-independent guard in case a Node version applies
|
|
19
|
+
// `exclude` differently than expected.
|
|
20
|
+
.filter((rel)=>!rel.split(sep).some((seg)=>EXCLUDED_DIRS.has(seg))).map((rel)=>{
|
|
21
|
+
const path = resolve(rootPath, rel);
|
|
22
|
+
const originalText = readFileSync(path, 'utf8');
|
|
23
|
+
return {
|
|
24
|
+
data: JSON.parse(originalText),
|
|
25
|
+
originalText,
|
|
26
|
+
path
|
|
27
|
+
};
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Re-serialize package.json data, preserving the original indentation style and
|
|
32
|
+
* trailing newline. Key order is preserved by object insertion order.
|
|
33
|
+
*/ export function serializePackageJson(data, originalText) {
|
|
34
|
+
const json = JSON.stringify(data, null, detectIndent(originalText));
|
|
35
|
+
return originalText.endsWith('\n') ? `${json}\n` : json;
|
|
36
|
+
}
|
|
37
|
+
function detectIndent(text) {
|
|
38
|
+
const match = /^\{[\r\n]+([ \t]+)/.exec(text);
|
|
39
|
+
const indent = match?.[1];
|
|
40
|
+
if (!indent) {
|
|
41
|
+
return 2;
|
|
42
|
+
}
|
|
43
|
+
return indent.startsWith('\t') ? '\t' : indent.length;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
//# sourceMappingURL=packageJson.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/packageJson.ts"],"sourcesContent":["import { globSync, readFileSync } from 'node:fs'\nimport { resolve, sep } from 'node:path'\n\n/** Internal record carried by the CLI; transforms only see `{ path, data }`. */\nexport type LoadedPackageJson = {\n data: Record<string, unknown>\n originalText: string\n path: string\n}\n\nconst EXCLUDED_DIRS = new Set(['.next', 'build', 'dist', 'node_modules'])\n\n/**\n * Load every package.json under `rootPath`, skipping build/dependency dirs.\n * The CLI owns this filesystem read so transforms stay FS-free.\n */\nexport function loadPackageJsons(rootPath: string): LoadedPackageJson[] {\n const matches = globSync('**/package.json', {\n cwd: rootPath,\n // `exclude` prunes traversal into these dirs (avoids walking node_modules).\n exclude: (entry) => entry.split(/[\\\\/]/).some((seg) => EXCLUDED_DIRS.has(seg)),\n })\n\n return (\n matches\n // Authoritative, version-independent guard in case a Node version applies\n // `exclude` differently than expected.\n .filter((rel) => !rel.split(sep).some((seg) => EXCLUDED_DIRS.has(seg)))\n .map((rel) => {\n const path = resolve(rootPath, rel)\n const originalText = readFileSync(path, 'utf8')\n return { data: JSON.parse(originalText), originalText, path }\n })\n )\n}\n\n/**\n * Re-serialize package.json data, preserving the original indentation style and\n * trailing newline. Key order is preserved by object insertion order.\n */\nexport function serializePackageJson(data: unknown, originalText: string): string {\n const json = JSON.stringify(data, null, detectIndent(originalText))\n return originalText.endsWith('\\n') ? `${json}\\n` : json\n}\n\nfunction detectIndent(text: string): number | string {\n const match = /^\\{[\\r\\n]+([ \\t]+)/.exec(text)\n const indent = match?.[1]\n if (!indent) {\n return 2\n }\n return indent.startsWith('\\t') ? '\\t' : indent.length\n}\n"],"names":["globSync","readFileSync","resolve","sep","EXCLUDED_DIRS","Set","loadPackageJsons","rootPath","matches","cwd","exclude","entry","split","some","seg","has","filter","rel","map","path","originalText","data","JSON","parse","serializePackageJson","json","stringify","detectIndent","endsWith","text","match","exec","indent","startsWith","length"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,YAAY,QAAQ,UAAS;AAChD,SAASC,OAAO,EAAEC,GAAG,QAAQ,YAAW;AASxC,MAAMC,gBAAgB,IAAIC,IAAI;IAAC;IAAS;IAAS;IAAQ;CAAe;AAExE;;;CAGC,GACD,OAAO,SAASC,iBAAiBC,QAAgB;IAC/C,MAAMC,UAAUR,SAAS,mBAAmB;QAC1CS,KAAKF;QACL,4EAA4E;QAC5EG,SAAS,CAACC,QAAUA,MAAMC,KAAK,CAAC,SAASC,IAAI,CAAC,CAACC,MAAQV,cAAcW,GAAG,CAACD;IAC3E;IAEA,OACEN,OACE,0EAA0E;IAC1E,uCAAuC;KACtCQ,MAAM,CAAC,CAACC,MAAQ,CAACA,IAAIL,KAAK,CAACT,KAAKU,IAAI,CAAC,CAACC,MAAQV,cAAcW,GAAG,CAACD,OAChEI,GAAG,CAAC,CAACD;QACJ,MAAME,OAAOjB,QAAQK,UAAUU;QAC/B,MAAMG,eAAenB,aAAakB,MAAM;QACxC,OAAO;YAAEE,MAAMC,KAAKC,KAAK,CAACH;YAAeA;YAAcD;QAAK;IAC9D;AAEN;AAEA;;;CAGC,GACD,OAAO,SAASK,qBAAqBH,IAAa,EAAED,YAAoB;IACtE,MAAMK,OAAOH,KAAKI,SAAS,CAACL,MAAM,MAAMM,aAAaP;IACrD,OAAOA,aAAaQ,QAAQ,CAAC,QAAQ,GAAGH,KAAK,EAAE,CAAC,GAAGA;AACrD;AAEA,SAASE,aAAaE,IAAY;IAChC,MAAMC,QAAQ,qBAAqBC,IAAI,CAACF;IACxC,MAAMG,SAASF,OAAO,CAAC,EAAE;IACzB,IAAI,CAACE,QAAQ;QACX,OAAO;IACT;IACA,OAAOA,OAAOC,UAAU,CAAC,QAAQ,OAAOD,OAAOE,MAAM;AACvD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageJson.spec.d.ts","sourceRoot":"","sources":["../../src/utils/packageJson.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { describe, expect, it } from 'vitest';
|
|
2
|
+
import { serializePackageJson } from './packageJson.js';
|
|
3
|
+
import { runTransformOnPackageJson } from './test-helpers.js';
|
|
4
|
+
describe('serializePackageJson', ()=>{
|
|
5
|
+
it('preserves two-space indentation, key order, and trailing newline', ()=>{
|
|
6
|
+
const original = '{\n "name": "x",\n "scripts": {\n "build": "next build"\n }\n}\n';
|
|
7
|
+
const data = JSON.parse(original);
|
|
8
|
+
expect(serializePackageJson(data, original)).toBe(original);
|
|
9
|
+
});
|
|
10
|
+
it('omits trailing newline when the original had none', ()=>{
|
|
11
|
+
const original = '{\n "name": "x"\n}';
|
|
12
|
+
const data = JSON.parse(original);
|
|
13
|
+
expect(serializePackageJson(data, original)).toBe(original);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
describe('runTransforms threading', ()=>{
|
|
17
|
+
const setName = {
|
|
18
|
+
name: 'set-name',
|
|
19
|
+
apply: ({ packageJsons })=>{
|
|
20
|
+
const changed = [];
|
|
21
|
+
for (const pkg of packageJsons){
|
|
22
|
+
pkg.data.name = 'renamed';
|
|
23
|
+
changed.push(pkg.path);
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
filesChanged: changed
|
|
27
|
+
};
|
|
28
|
+
},
|
|
29
|
+
description: 'test transform'
|
|
30
|
+
};
|
|
31
|
+
it('passes packageJsons to the transform and reflects mutations', async ()=>{
|
|
32
|
+
const input = '{\n "name": "old"\n}\n';
|
|
33
|
+
const result = await runTransformOnPackageJson({
|
|
34
|
+
source: input,
|
|
35
|
+
transform: setName
|
|
36
|
+
});
|
|
37
|
+
expect(result).toBe('{\n "name": "renamed"\n}\n');
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=packageJson.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/packageJson.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport type { Transform } from '../types.js'\n\nimport { serializePackageJson } from './packageJson.js'\nimport { runTransformOnPackageJson } from './test-helpers.js'\n\ndescribe('serializePackageJson', () => {\n it('preserves two-space indentation, key order, and trailing newline', () => {\n const original = '{\\n \"name\": \"x\",\\n \"scripts\": {\\n \"build\": \"next build\"\\n }\\n}\\n'\n const data = JSON.parse(original)\n\n expect(serializePackageJson(data, original)).toBe(original)\n })\n\n it('omits trailing newline when the original had none', () => {\n const original = '{\\n \"name\": \"x\"\\n}'\n const data = JSON.parse(original)\n\n expect(serializePackageJson(data, original)).toBe(original)\n })\n})\n\ndescribe('runTransforms threading', () => {\n const setName: Transform = {\n name: 'set-name',\n apply: ({ packageJsons }) => {\n const changed: string[] = []\n for (const pkg of packageJsons) {\n pkg.data.name = 'renamed'\n changed.push(pkg.path)\n }\n return { filesChanged: changed }\n },\n description: 'test transform',\n }\n\n it('passes packageJsons to the transform and reflects mutations', async () => {\n const input = '{\\n \"name\": \"old\"\\n}\\n'\n\n const result = await runTransformOnPackageJson({ source: input, transform: setName })\n\n expect(result).toBe('{\\n \"name\": \"renamed\"\\n}\\n')\n })\n})\n"],"names":["describe","expect","it","serializePackageJson","runTransformOnPackageJson","original","data","JSON","parse","toBe","setName","name","apply","packageJsons","changed","pkg","push","path","filesChanged","description","input","result","source","transform"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAI7C,SAASC,oBAAoB,QAAQ,mBAAkB;AACvD,SAASC,yBAAyB,QAAQ,oBAAmB;AAE7DJ,SAAS,wBAAwB;IAC/BE,GAAG,oEAAoE;QACrE,MAAMG,WAAW;QACjB,MAAMC,OAAOC,KAAKC,KAAK,CAACH;QAExBJ,OAAOE,qBAAqBG,MAAMD,WAAWI,IAAI,CAACJ;IACpD;IAEAH,GAAG,qDAAqD;QACtD,MAAMG,WAAW;QACjB,MAAMC,OAAOC,KAAKC,KAAK,CAACH;QAExBJ,OAAOE,qBAAqBG,MAAMD,WAAWI,IAAI,CAACJ;IACpD;AACF;AAEAL,SAAS,2BAA2B;IAClC,MAAMU,UAAqB;QACzBC,MAAM;QACNC,OAAO,CAAC,EAAEC,YAAY,EAAE;YACtB,MAAMC,UAAoB,EAAE;YAC5B,KAAK,MAAMC,OAAOF,aAAc;gBAC9BE,IAAIT,IAAI,CAACK,IAAI,GAAG;gBAChBG,QAAQE,IAAI,CAACD,IAAIE,IAAI;YACvB;YACA,OAAO;gBAAEC,cAAcJ;YAAQ;QACjC;QACAK,aAAa;IACf;IAEAjB,GAAG,+DAA+D;QAChE,MAAMkB,QAAQ;QAEd,MAAMC,SAAS,MAAMjB,0BAA0B;YAAEkB,QAAQF;YAAOG,WAAWb;QAAQ;QAEnFT,OAAOoB,QAAQZ,IAAI,CAAC;IACtB;AACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { Transform } from '../types.js';
|
|
2
|
+
type RunTransformArgs = {
|
|
3
|
+
filename?: string;
|
|
4
|
+
source: string;
|
|
5
|
+
transform: Transform;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Apply a transform to an in-memory source string and return the resulting source.
|
|
9
|
+
* Used by per-transform tests to drive fixture-pair comparisons.
|
|
10
|
+
*/
|
|
11
|
+
export declare function runTransform({ filename, source, transform, }: RunTransformArgs): Promise<string>;
|
|
12
|
+
type RunTransformOnPackageJsonArgs = {
|
|
13
|
+
filename?: string;
|
|
14
|
+
source: string;
|
|
15
|
+
transform: Transform;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Apply a transform to an in-memory package.json string and return the
|
|
19
|
+
* re-serialized result. Used by package.json transform fixture tests.
|
|
20
|
+
*/
|
|
21
|
+
export declare function runTransformOnPackageJson({ filename, source, transform, }: RunTransformOnPackageJsonArgs): Promise<string>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=test-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/test-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAK5C,KAAK,gBAAgB,GAAG;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,wBAAsB,YAAY,CAAC,EACjC,QAAqB,EACrB,MAAM,EACN,SAAS,GACV,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAcpC;AAED,KAAK,6BAA6B,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAED;;;GAGG;AACH,wBAAsB,yBAAyB,CAAC,EAC9C,QAAkC,EAClC,MAAM,EACN,SAAS,GACV,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBjD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { IndentationText, Project, QuoteKind } from 'ts-morph';
|
|
2
|
+
import { runTransforms } from '../runner.js';
|
|
3
|
+
import { serializePackageJson } from './packageJson.js';
|
|
4
|
+
/**
|
|
5
|
+
* Apply a transform to an in-memory source string and return the resulting source.
|
|
6
|
+
* Used by per-transform tests to drive fixture-pair comparisons.
|
|
7
|
+
*/ export async function runTransform({ filename = 'input.ts', source, transform }) {
|
|
8
|
+
const project = new Project({
|
|
9
|
+
manipulationSettings: {
|
|
10
|
+
indentationText: IndentationText.TwoSpaces,
|
|
11
|
+
quoteKind: QuoteKind.Single,
|
|
12
|
+
useTrailingCommas: true
|
|
13
|
+
},
|
|
14
|
+
useInMemoryFileSystem: true
|
|
15
|
+
});
|
|
16
|
+
const file = project.createSourceFile(filename, source);
|
|
17
|
+
await runTransforms({
|
|
18
|
+
project,
|
|
19
|
+
transforms: [
|
|
20
|
+
transform
|
|
21
|
+
]
|
|
22
|
+
});
|
|
23
|
+
return file.getFullText();
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Apply a transform to an in-memory package.json string and return the
|
|
27
|
+
* re-serialized result. Used by package.json transform fixture tests.
|
|
28
|
+
*/ export async function runTransformOnPackageJson({ filename = '/project/package.json', source, transform }) {
|
|
29
|
+
const project = new Project({
|
|
30
|
+
manipulationSettings: {
|
|
31
|
+
indentationText: IndentationText.TwoSpaces,
|
|
32
|
+
quoteKind: QuoteKind.Single,
|
|
33
|
+
useTrailingCommas: true
|
|
34
|
+
},
|
|
35
|
+
useInMemoryFileSystem: true
|
|
36
|
+
});
|
|
37
|
+
const data = JSON.parse(source);
|
|
38
|
+
await runTransforms({
|
|
39
|
+
packageJsons: [
|
|
40
|
+
{
|
|
41
|
+
data,
|
|
42
|
+
path: filename
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
project,
|
|
46
|
+
transforms: [
|
|
47
|
+
transform
|
|
48
|
+
]
|
|
49
|
+
});
|
|
50
|
+
return serializePackageJson(data, source);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
//# sourceMappingURL=test-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/utils/test-helpers.ts"],"sourcesContent":["import { IndentationText, Project, QuoteKind } from 'ts-morph'\n\nimport type { Transform } from '../types.js'\n\nimport { runTransforms } from '../runner.js'\nimport { serializePackageJson } from './packageJson.js'\n\ntype RunTransformArgs = {\n filename?: string\n source: string\n transform: Transform\n}\n\n/**\n * Apply a transform to an in-memory source string and return the resulting source.\n * Used by per-transform tests to drive fixture-pair comparisons.\n */\nexport async function runTransform({\n filename = 'input.ts',\n source,\n transform,\n}: RunTransformArgs): Promise<string> {\n const project = new Project({\n manipulationSettings: {\n indentationText: IndentationText.TwoSpaces,\n quoteKind: QuoteKind.Single,\n useTrailingCommas: true,\n },\n useInMemoryFileSystem: true,\n })\n const file = project.createSourceFile(filename, source)\n\n await runTransforms({ project, transforms: [transform] })\n\n return file.getFullText()\n}\n\ntype RunTransformOnPackageJsonArgs = {\n filename?: string\n source: string\n transform: Transform\n}\n\n/**\n * Apply a transform to an in-memory package.json string and return the\n * re-serialized result. Used by package.json transform fixture tests.\n */\nexport async function runTransformOnPackageJson({\n filename = '/project/package.json',\n source,\n transform,\n}: RunTransformOnPackageJsonArgs): Promise<string> {\n const project = new Project({\n manipulationSettings: {\n indentationText: IndentationText.TwoSpaces,\n quoteKind: QuoteKind.Single,\n useTrailingCommas: true,\n },\n useInMemoryFileSystem: true,\n })\n const data = JSON.parse(source) as Record<string, unknown>\n\n await runTransforms({\n packageJsons: [{ data, path: filename }],\n project,\n transforms: [transform],\n })\n\n return serializePackageJson(data, source)\n}\n"],"names":["IndentationText","Project","QuoteKind","runTransforms","serializePackageJson","runTransform","filename","source","transform","project","manipulationSettings","indentationText","TwoSpaces","quoteKind","Single","useTrailingCommas","useInMemoryFileSystem","file","createSourceFile","transforms","getFullText","runTransformOnPackageJson","data","JSON","parse","packageJsons","path"],"mappings":"AAAA,SAASA,eAAe,EAAEC,OAAO,EAAEC,SAAS,QAAQ,WAAU;AAI9D,SAASC,aAAa,QAAQ,eAAc;AAC5C,SAASC,oBAAoB,QAAQ,mBAAkB;AAQvD;;;CAGC,GACD,OAAO,eAAeC,aAAa,EACjCC,WAAW,UAAU,EACrBC,MAAM,EACNC,SAAS,EACQ;IACjB,MAAMC,UAAU,IAAIR,QAAQ;QAC1BS,sBAAsB;YACpBC,iBAAiBX,gBAAgBY,SAAS;YAC1CC,WAAWX,UAAUY,MAAM;YAC3BC,mBAAmB;QACrB;QACAC,uBAAuB;IACzB;IACA,MAAMC,OAAOR,QAAQS,gBAAgB,CAACZ,UAAUC;IAEhD,MAAMJ,cAAc;QAAEM;QAASU,YAAY;YAACX;SAAU;IAAC;IAEvD,OAAOS,KAAKG,WAAW;AACzB;AAQA;;;CAGC,GACD,OAAO,eAAeC,0BAA0B,EAC9Cf,WAAW,uBAAuB,EAClCC,MAAM,EACNC,SAAS,EACqB;IAC9B,MAAMC,UAAU,IAAIR,QAAQ;QAC1BS,sBAAsB;YACpBC,iBAAiBX,gBAAgBY,SAAS;YAC1CC,WAAWX,UAAUY,MAAM;YAC3BC,mBAAmB;QACrB;QACAC,uBAAuB;IACzB;IACA,MAAMM,OAAOC,KAAKC,KAAK,CAACjB;IAExB,MAAMJ,cAAc;QAClBsB,cAAc;YAAC;gBAAEH;gBAAMI,MAAMpB;YAAS;SAAE;QACxCG;QACAU,YAAY;YAACX;SAAU;IACzB;IAEA,OAAOJ,qBAAqBkB,MAAMf;AACpC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@payloadcms/codemod",
|
|
3
|
+
"version": "4.0.0-canary.15",
|
|
4
|
+
"description": "Codemods for migrating Payload projects across versions.",
|
|
5
|
+
"homepage": "https://payloadcms.com",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "https://github.com/payloadcms/payload.git",
|
|
9
|
+
"directory": "packages/codemod"
|
|
10
|
+
},
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"author": "Payload <dev@payloadcms.com> (https://payloadcms.com)",
|
|
13
|
+
"maintainers": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Payload",
|
|
16
|
+
"email": "info@payloadcms.com",
|
|
17
|
+
"url": "https://payloadcms.com"
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"sideEffects": false,
|
|
21
|
+
"type": "module",
|
|
22
|
+
"bin": {
|
|
23
|
+
"payload-codemod": "bin/cli.js"
|
|
24
|
+
},
|
|
25
|
+
"files": [
|
|
26
|
+
"package.json",
|
|
27
|
+
"bin",
|
|
28
|
+
"dist",
|
|
29
|
+
"README.md"
|
|
30
|
+
],
|
|
31
|
+
"dependencies": {
|
|
32
|
+
"ts-morph": "^21.0.1"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@swc/core": "1.15.3",
|
|
36
|
+
"@types/node": "24.12.3",
|
|
37
|
+
"rimraf": "6.0.1",
|
|
38
|
+
"typescript": "6.0.3",
|
|
39
|
+
"vitest": "4.1.6"
|
|
40
|
+
},
|
|
41
|
+
"engines": {
|
|
42
|
+
"node": ">=24.15.0"
|
|
43
|
+
},
|
|
44
|
+
"scripts": {
|
|
45
|
+
"build": "pnpm typecheck && pnpm build:swc",
|
|
46
|
+
"build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
|
|
47
|
+
"clean": "rimraf -g {dist,*.tsbuildinfo}",
|
|
48
|
+
"lint": "eslint .",
|
|
49
|
+
"lint:fix": "eslint . --fix",
|
|
50
|
+
"test": "vitest --run",
|
|
51
|
+
"typecheck": "tsc"
|
|
52
|
+
}
|
|
53
|
+
}
|