@payloadcms/codemod 4.0.0-internal.2f0d313 → 4.0.0-internal.314c594

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.
Files changed (103) hide show
  1. package/README.md +1 -34
  2. package/dist/cli.d.ts.map +1 -1
  3. package/dist/cli.js +27 -22
  4. package/dist/cli.js.map +1 -1
  5. package/dist/cli.parseFlags.d.ts +0 -5
  6. package/dist/cli.parseFlags.d.ts.map +1 -1
  7. package/dist/cli.parseFlags.js +1 -20
  8. package/dist/cli.parseFlags.js.map +1 -1
  9. package/dist/cli.parseFlags.spec.js +0 -72
  10. package/dist/cli.parseFlags.spec.js.map +1 -1
  11. package/dist/registry.d.ts.map +1 -1
  12. package/dist/registry.js +3 -1
  13. package/dist/registry.js.map +1 -1
  14. package/dist/transforms/rename-experimental-table-feature/alias.input.js +6 -0
  15. package/dist/transforms/rename-experimental-table-feature/alias.input.js.map +1 -0
  16. package/dist/transforms/rename-experimental-table-feature/alias.output.js +6 -0
  17. package/dist/transforms/rename-experimental-table-feature/alias.output.js.map +1 -0
  18. package/dist/transforms/rename-experimental-table-feature/basic.input.js +19 -0
  19. package/dist/transforms/rename-experimental-table-feature/basic.input.js.map +1 -0
  20. package/dist/transforms/rename-experimental-table-feature/basic.output.js +19 -0
  21. package/dist/transforms/rename-experimental-table-feature/basic.output.js.map +1 -0
  22. package/dist/transforms/rename-experimental-table-feature/collision.input.js +7 -0
  23. package/dist/transforms/rename-experimental-table-feature/collision.input.js.map +1 -0
  24. package/dist/transforms/rename-experimental-table-feature/index.d.ts +3 -0
  25. package/dist/transforms/rename-experimental-table-feature/index.d.ts.map +1 -0
  26. package/dist/transforms/rename-experimental-table-feature/index.js +44 -0
  27. package/dist/transforms/rename-experimental-table-feature/index.js.map +1 -0
  28. package/dist/transforms/rename-experimental-table-feature/index.spec.d.ts.map +1 -0
  29. package/dist/transforms/rename-experimental-table-feature/index.spec.js +54 -0
  30. package/dist/transforms/rename-experimental-table-feature/index.spec.js.map +1 -0
  31. package/dist/transforms/rename-experimental-table-feature/no-match.input.js +9 -0
  32. package/dist/transforms/rename-experimental-table-feature/no-match.input.js.map +1 -0
  33. package/package.json +2 -5
  34. package/dist/runbook/payload-v4-upgrade.md +0 -55
  35. package/dist/runbook/v4.mdx +0 -1652
  36. package/dist/upgrade/detectPackageManager.d.ts +0 -8
  37. package/dist/upgrade/detectPackageManager.d.ts.map +0 -1
  38. package/dist/upgrade/detectPackageManager.js +0 -38
  39. package/dist/upgrade/detectPackageManager.js.map +0 -1
  40. package/dist/upgrade/detectPackageManager.spec.d.ts +0 -2
  41. package/dist/upgrade/detectPackageManager.spec.d.ts.map +0 -1
  42. package/dist/upgrade/detectPackageManager.spec.js +0 -41
  43. package/dist/upgrade/detectPackageManager.spec.js.map +0 -1
  44. package/dist/upgrade/index.d.ts +0 -24
  45. package/dist/upgrade/index.d.ts.map +0 -1
  46. package/dist/upgrade/index.js +0 -184
  47. package/dist/upgrade/index.js.map +0 -1
  48. package/dist/upgrade/index.spec.d.ts.map +0 -1
  49. package/dist/upgrade/index.spec.js +0 -132
  50. package/dist/upgrade/index.spec.js.map +0 -1
  51. package/dist/upgrade/packaging.spec.d.ts +0 -2
  52. package/dist/upgrade/packaging.spec.d.ts.map +0 -1
  53. package/dist/upgrade/packaging.spec.js +0 -29
  54. package/dist/upgrade/packaging.spec.js.map +0 -1
  55. package/dist/upgrade/prompt.d.ts +0 -11
  56. package/dist/upgrade/prompt.d.ts.map +0 -1
  57. package/dist/upgrade/prompt.js +0 -75
  58. package/dist/upgrade/prompt.js.map +0 -1
  59. package/dist/upgrade/prompt.spec.d.ts +0 -2
  60. package/dist/upgrade/prompt.spec.d.ts.map +0 -1
  61. package/dist/upgrade/prompt.spec.js +0 -51
  62. package/dist/upgrade/prompt.spec.js.map +0 -1
  63. package/dist/upgrade/report.d.ts +0 -18
  64. package/dist/upgrade/report.d.ts.map +0 -1
  65. package/dist/upgrade/report.js +0 -41
  66. package/dist/upgrade/report.js.map +0 -1
  67. package/dist/upgrade/report.spec.d.ts +0 -2
  68. package/dist/upgrade/report.spec.d.ts.map +0 -1
  69. package/dist/upgrade/report.spec.js +0 -87
  70. package/dist/upgrade/report.spec.js.map +0 -1
  71. package/dist/upgrade/resolveVersions.d.ts +0 -13
  72. package/dist/upgrade/resolveVersions.d.ts.map +0 -1
  73. package/dist/upgrade/resolveVersions.js +0 -55
  74. package/dist/upgrade/resolveVersions.js.map +0 -1
  75. package/dist/upgrade/resolveVersions.spec.d.ts +0 -2
  76. package/dist/upgrade/resolveVersions.spec.d.ts.map +0 -1
  77. package/dist/upgrade/resolveVersions.spec.js +0 -82
  78. package/dist/upgrade/resolveVersions.spec.js.map +0 -1
  79. package/dist/upgrade/rewritePackageJson.d.ts +0 -25
  80. package/dist/upgrade/rewritePackageJson.d.ts.map +0 -1
  81. package/dist/upgrade/rewritePackageJson.js +0 -106
  82. package/dist/upgrade/rewritePackageJson.js.map +0 -1
  83. package/dist/upgrade/rewritePackageJson.spec.d.ts +0 -2
  84. package/dist/upgrade/rewritePackageJson.spec.d.ts.map +0 -1
  85. package/dist/upgrade/rewritePackageJson.spec.js +0 -108
  86. package/dist/upgrade/rewritePackageJson.spec.js.map +0 -1
  87. package/dist/upgrade/runInstall.d.ts +0 -16
  88. package/dist/upgrade/runInstall.d.ts.map +0 -1
  89. package/dist/upgrade/runInstall.js +0 -17
  90. package/dist/upgrade/runInstall.js.map +0 -1
  91. package/dist/upgrade/runInstall.spec.d.ts +0 -2
  92. package/dist/upgrade/runInstall.spec.d.ts.map +0 -1
  93. package/dist/upgrade/runInstall.spec.js +0 -48
  94. package/dist/upgrade/runInstall.spec.js.map +0 -1
  95. package/dist/upgrade/types.d.ts +0 -42
  96. package/dist/upgrade/types.d.ts.map +0 -1
  97. package/dist/upgrade/types.js +0 -7
  98. package/dist/upgrade/types.js.map +0 -1
  99. package/dist/utils/project.d.ts +0 -4
  100. package/dist/utils/project.d.ts.map +0 -1
  101. package/dist/utils/project.js +0 -30
  102. package/dist/utils/project.js.map +0 -1
  103. /package/dist/{upgrade → transforms/rename-experimental-table-feature}/index.spec.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/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 { renameExperimentalTableFeature } from './index.js'\n\nconst here = dirname(fileURLToPath(import.meta.url))\nconst fixture = (name: string) => readFile(join(here, name), 'utf8')\n\ndescribe('rename-experimental-table-feature', () => {\n it('renames EXPERIMENTAL_TableFeature to TableFeature and updates call sites', 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: renameExperimentalTableFeature })\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({ source: output, transform: renameExperimentalTableFeature })\n\n expect(result).toBe(output)\n })\n\n it('renames the imported name without touching an aliased local binding', 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: renameExperimentalTableFeature })\n\n expect(result).toBe(output)\n })\n\n it('no-ops on code without EXPERIMENTAL_TableFeature', async () => {\n const input = await fixture('no-match.input.ts')\n\n const result = await runTransform({ source: input, transform: renameExperimentalTableFeature })\n\n expect(result).toBe(input)\n })\n\n it('skips the rename when TableFeature is already imported from the same declaration', async () => {\n const input = await fixture('collision.input.ts')\n\n const result = await runTransform({ source: input, transform: renameExperimentalTableFeature })\n\n expect(result).toBe(input)\n })\n})\n"],"names":["readFile","dirname","join","fileURLToPath","describe","expect","it","runTransform","renameExperimentalTableFeature","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,8BAA8B,QAAQ,aAAY;AAE3D,MAAMC,OAAOR,QAAQE,cAAc,YAAYO,GAAG;AAClD,MAAMC,UAAU,CAACC,OAAiBZ,SAASE,KAAKO,MAAMG,OAAO;AAE7DR,SAAS,qCAAqC;IAC5CE,GAAG,4EAA4E;QAC7E,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA+B;QAE7FH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,iBAAiB;QAClB,MAAMQ,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQF;YAAQG,WAAWT;QAA+B;QAE9FH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,uEAAuE;QACxE,MAAMO,QAAQ,MAAMF,QAAQ;QAC5B,MAAMG,SAAS,MAAMH,QAAQ;QAE7B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA+B;QAE7FH,OAAOU,QAAQG,IAAI,CAACJ;IACtB;IAEAR,GAAG,oDAAoD;QACrD,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA+B;QAE7FH,OAAOU,QAAQG,IAAI,CAACL;IACtB;IAEAP,GAAG,oFAAoF;QACrF,MAAMO,QAAQ,MAAMF,QAAQ;QAE5B,MAAMI,SAAS,MAAMR,aAAa;YAAES,QAAQH;YAAOI,WAAWT;QAA+B;QAE7FH,OAAOU,QAAQG,IAAI,CAACL;IACtB;AACF"}
@@ -0,0 +1,9 @@
1
+ import { FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical';
2
+ export const editor = lexicalEditor({
3
+ features: ({ defaultFeatures })=>[
4
+ ...defaultFeatures,
5
+ FixedToolbarFeature()
6
+ ]
7
+ });
8
+
9
+ //# sourceMappingURL=no-match.input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/transforms/rename-experimental-table-feature/no-match.input.ts"],"sourcesContent":["import { FixedToolbarFeature, lexicalEditor } from '@payloadcms/richtext-lexical'\n\nexport const editor = lexicalEditor({\n features: ({ defaultFeatures }) => [...defaultFeatures, FixedToolbarFeature()],\n})\n"],"names":["FixedToolbarFeature","lexicalEditor","editor","features","defaultFeatures"],"mappings":"AAAA,SAASA,mBAAmB,EAAEC,aAAa,QAAQ,+BAA8B;AAEjF,OAAO,MAAMC,SAASD,cAAc;IAClCE,UAAU,CAAC,EAAEC,eAAe,EAAE,GAAK;eAAIA;YAAiBJ;SAAsB;AAChF,GAAE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/codemod",
3
- "version": "4.0.0-internal.2f0d313",
3
+ "version": "4.0.0-internal.314c594",
4
4
  "description": "Codemods for migrating Payload projects across versions.",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -29,13 +29,11 @@
29
29
  "README.md"
30
30
  ],
31
31
  "dependencies": {
32
- "semver": "^7.8.5",
33
32
  "ts-morph": "^21.0.1"
34
33
  },
35
34
  "devDependencies": {
36
35
  "@swc/core": "1.15.3",
37
36
  "@types/node": "24.12.3",
38
- "@types/semver": "^7.7.1",
39
37
  "rimraf": "6.0.1",
40
38
  "typescript": "6.0.3",
41
39
  "vitest": "4.1.6"
@@ -44,8 +42,7 @@
44
42
  "node": ">=24.15.0"
45
43
  },
46
44
  "scripts": {
47
- "build": "pnpm typecheck && pnpm build:swc && pnpm build:copy-docs",
48
- "build:copy-docs": "node scripts/copy-migration-guide.mjs",
45
+ "build": "pnpm typecheck && pnpm build:swc",
49
46
  "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths",
50
47
  "clean": "rimraf -g {dist,*.tsbuildinfo}",
51
48
  "lint": "eslint .",
@@ -1,55 +0,0 @@
1
- # Payload v3 -> v4: remaining steps
2
-
3
- `payload-codemod upgrade` has done the mechanical slice: pinned Payload packages to v4,
4
- removed conflicting overrides, written the toolchain floors, installed, and run the AST
5
- transforms. This checklist is what it did NOT do. The authoritative breaking-change list is
6
- the migration guide (`docs/migration-guide/v4.mdx`, also bundled at `dist/runbook/v4.mdx`):
7
- <https://github.com/payloadcms/payload/blob/main/docs/migration-guide/v4.mdx>
8
-
9
- Report each item as verified / cannot-confirm / broken. Do not call the upgrade complete while
10
- any gate fails or any generated file is stale.
11
-
12
- ## 0. Before upgrading (do on v3)
13
-
14
- Some migrations need v3 tooling that v4 removes, so they must run BEFORE `payload-codemod upgrade`,
15
- while the v3 packages are still installed:
16
-
17
- - Slate richtext is deleted in v4. Migrate Slate -> Lexical on v3; the migration path is gone once
18
- packages are pinned to v4.
19
-
20
- ## 1. Next.js 16
21
-
22
- Payload v4 requires Next 16. The command did not touch Next. Run Next's own recommended agent
23
- workflow, which bumps Next + React and migrates the code as one unit:
24
- <https://nextjs.org/docs/app/guides/upgrading/version-16#use-an-ai-agent-recommended>
25
-
26
- Keep the resulting Next version within `>=16.2.6 <17` (the exact target is printed in the
27
- upgrade report), since Next's `upgrade latest` may point past 16 in future.
28
-
29
- ## 2. Regenerate generated files
30
-
31
- ```bash
32
- payload generate:types && payload generate:importmap
33
- ```
34
-
35
- Never hand-edit `payload-types.ts` or `importMap.js` — regenerate them. If a credential wall
36
- blocks generation, set dummy env values and re-run.
37
-
38
- ## 3. Manual v4 items (not covered by transforms)
39
-
40
- - SCSS is gone: move `@payloadcms/ui/scss` to `@payloadcms/ui/css`; rename `--theme-*` -> `--color-*`.
41
- - Sweep agent/editor instruction files (`AGENTS.md`, `CLAUDE.md`, `.cursor/rules/*`) for APIs v4 removed.
42
- - Cron parsing is strict now: `/10 * * * *` -> `*/10 * * * *`.
43
- - Jobs: run DB migrations for the new lease/stats fields.
44
- - Review per-transform notes printed in the upgrade report for spots needing manual review.
45
-
46
- ## 4. Verify
47
-
48
- - `tsc --noEmit` (delete `tsconfig.tsbuildinfo` first; set `checkJs: true` so `importMap.js` is covered).
49
- - Run integration tests and e2e separately.
50
- - Build.
51
- - Confirm native modules (e.g. `sharp`) still load.
52
-
53
- ## 5. Report honestly
54
-
55
- Distinguish verified, cannot-confirm, and broken. A silent gap reads as "checked and fine".