@payloadcms/codemod 4.0.0-internal.2f0d313 → 4.0.0-internal.3ed7230
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -34
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +27 -22
- package/dist/cli.js.map +1 -1
- package/dist/cli.parseFlags.d.ts +0 -5
- package/dist/cli.parseFlags.d.ts.map +1 -1
- package/dist/cli.parseFlags.js +1 -20
- package/dist/cli.parseFlags.js.map +1 -1
- package/dist/cli.parseFlags.spec.js +0 -72
- package/dist/cli.parseFlags.spec.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -1
- package/dist/registry.js.map +1 -1
- package/dist/transforms/rename-experimental-table-feature/alias.input.js +6 -0
- package/dist/transforms/rename-experimental-table-feature/alias.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/alias.output.js +6 -0
- package/dist/transforms/rename-experimental-table-feature/alias.output.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/basic.input.js +19 -0
- package/dist/transforms/rename-experimental-table-feature/basic.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/basic.output.js +19 -0
- package/dist/transforms/rename-experimental-table-feature/basic.output.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/collision.input.js +7 -0
- package/dist/transforms/rename-experimental-table-feature/collision.input.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.d.ts +3 -0
- package/dist/transforms/rename-experimental-table-feature/index.d.ts.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.js +44 -0
- package/dist/transforms/rename-experimental-table-feature/index.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.spec.d.ts.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/index.spec.js +54 -0
- package/dist/transforms/rename-experimental-table-feature/index.spec.js.map +1 -0
- package/dist/transforms/rename-experimental-table-feature/no-match.input.js +9 -0
- package/dist/transforms/rename-experimental-table-feature/no-match.input.js.map +1 -0
- package/package.json +2 -5
- package/dist/runbook/payload-v4-upgrade.md +0 -55
- package/dist/runbook/v4.mdx +0 -1652
- package/dist/upgrade/detectPackageManager.d.ts +0 -8
- package/dist/upgrade/detectPackageManager.d.ts.map +0 -1
- package/dist/upgrade/detectPackageManager.js +0 -38
- package/dist/upgrade/detectPackageManager.js.map +0 -1
- package/dist/upgrade/detectPackageManager.spec.d.ts +0 -2
- package/dist/upgrade/detectPackageManager.spec.d.ts.map +0 -1
- package/dist/upgrade/detectPackageManager.spec.js +0 -41
- package/dist/upgrade/detectPackageManager.spec.js.map +0 -1
- package/dist/upgrade/index.d.ts +0 -24
- package/dist/upgrade/index.d.ts.map +0 -1
- package/dist/upgrade/index.js +0 -184
- package/dist/upgrade/index.js.map +0 -1
- package/dist/upgrade/index.spec.d.ts.map +0 -1
- package/dist/upgrade/index.spec.js +0 -132
- package/dist/upgrade/index.spec.js.map +0 -1
- package/dist/upgrade/packaging.spec.d.ts +0 -2
- package/dist/upgrade/packaging.spec.d.ts.map +0 -1
- package/dist/upgrade/packaging.spec.js +0 -29
- package/dist/upgrade/packaging.spec.js.map +0 -1
- package/dist/upgrade/prompt.d.ts +0 -11
- package/dist/upgrade/prompt.d.ts.map +0 -1
- package/dist/upgrade/prompt.js +0 -75
- package/dist/upgrade/prompt.js.map +0 -1
- package/dist/upgrade/prompt.spec.d.ts +0 -2
- package/dist/upgrade/prompt.spec.d.ts.map +0 -1
- package/dist/upgrade/prompt.spec.js +0 -51
- package/dist/upgrade/prompt.spec.js.map +0 -1
- package/dist/upgrade/report.d.ts +0 -18
- package/dist/upgrade/report.d.ts.map +0 -1
- package/dist/upgrade/report.js +0 -41
- package/dist/upgrade/report.js.map +0 -1
- package/dist/upgrade/report.spec.d.ts +0 -2
- package/dist/upgrade/report.spec.d.ts.map +0 -1
- package/dist/upgrade/report.spec.js +0 -87
- package/dist/upgrade/report.spec.js.map +0 -1
- package/dist/upgrade/resolveVersions.d.ts +0 -13
- package/dist/upgrade/resolveVersions.d.ts.map +0 -1
- package/dist/upgrade/resolveVersions.js +0 -55
- package/dist/upgrade/resolveVersions.js.map +0 -1
- package/dist/upgrade/resolveVersions.spec.d.ts +0 -2
- package/dist/upgrade/resolveVersions.spec.d.ts.map +0 -1
- package/dist/upgrade/resolveVersions.spec.js +0 -82
- package/dist/upgrade/resolveVersions.spec.js.map +0 -1
- package/dist/upgrade/rewritePackageJson.d.ts +0 -25
- package/dist/upgrade/rewritePackageJson.d.ts.map +0 -1
- package/dist/upgrade/rewritePackageJson.js +0 -106
- package/dist/upgrade/rewritePackageJson.js.map +0 -1
- package/dist/upgrade/rewritePackageJson.spec.d.ts +0 -2
- package/dist/upgrade/rewritePackageJson.spec.d.ts.map +0 -1
- package/dist/upgrade/rewritePackageJson.spec.js +0 -108
- package/dist/upgrade/rewritePackageJson.spec.js.map +0 -1
- package/dist/upgrade/runInstall.d.ts +0 -16
- package/dist/upgrade/runInstall.d.ts.map +0 -1
- package/dist/upgrade/runInstall.js +0 -17
- package/dist/upgrade/runInstall.js.map +0 -1
- package/dist/upgrade/runInstall.spec.d.ts +0 -2
- package/dist/upgrade/runInstall.spec.d.ts.map +0 -1
- package/dist/upgrade/runInstall.spec.js +0 -48
- package/dist/upgrade/runInstall.spec.js.map +0 -1
- package/dist/upgrade/types.d.ts +0 -42
- package/dist/upgrade/types.d.ts.map +0 -1
- package/dist/upgrade/types.js +0 -7
- package/dist/upgrade/types.js.map +0 -1
- package/dist/utils/project.d.ts +0 -4
- package/dist/utils/project.d.ts.map +0 -1
- package/dist/utils/project.js +0 -30
- package/dist/utils/project.js.map +0 -1
- /package/dist/{upgrade → transforms/rename-experimental-table-feature}/index.spec.d.ts +0 -0
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it } from 'vitest';
|
|
2
|
-
import { rewritePackageJson } from './rewritePackageJson.js';
|
|
3
|
-
const resolved = {
|
|
4
|
-
enginesNode: '>=24.15.0',
|
|
5
|
-
nextTarget: '16.9.3',
|
|
6
|
-
payloadVersion: '4.0.0-canary.20',
|
|
7
|
-
typesNode: '24.12.3',
|
|
8
|
-
typescript: '6.0.3'
|
|
9
|
-
};
|
|
10
|
-
const baseInput = ()=>({
|
|
11
|
-
dependencies: {
|
|
12
|
-
'@payloadcms/next': '^3.0.0',
|
|
13
|
-
'@payloadcms/ui': '~3.0.0',
|
|
14
|
-
next: '15.5.0',
|
|
15
|
-
payload: '^3.0.0',
|
|
16
|
-
react: '19.0.0'
|
|
17
|
-
},
|
|
18
|
-
devDependencies: {
|
|
19
|
-
'@payloadcms/eslint-config': '^3.0.0',
|
|
20
|
-
'@payloadcms/eslint-plugin': '^3.0.0',
|
|
21
|
-
'@types/node': '22.9.0',
|
|
22
|
-
typescript: '5.7.3'
|
|
23
|
-
},
|
|
24
|
-
engines: {
|
|
25
|
-
node: '>=18.20.2'
|
|
26
|
-
},
|
|
27
|
-
pnpm: {
|
|
28
|
-
overrides: {
|
|
29
|
-
payload: '3.0.0',
|
|
30
|
-
'some-other': '1.0.0'
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
resolutions: {
|
|
34
|
-
'@payloadcms/ui': '3.0.0'
|
|
35
|
-
}
|
|
36
|
-
});
|
|
37
|
-
describe('rewritePackageJson', ()=>{
|
|
38
|
-
it('pins payload packages exactly, deletes payload overrides, writes floors, leaves next/react', ()=>{
|
|
39
|
-
const data = baseInput();
|
|
40
|
-
const summary = rewritePackageJson({
|
|
41
|
-
data,
|
|
42
|
-
resolved
|
|
43
|
-
});
|
|
44
|
-
expect(data).toEqual({
|
|
45
|
-
dependencies: {
|
|
46
|
-
'@payloadcms/next': '4.0.0-canary.20',
|
|
47
|
-
'@payloadcms/ui': '4.0.0-canary.20',
|
|
48
|
-
next: '15.5.0',
|
|
49
|
-
payload: '4.0.0-canary.20',
|
|
50
|
-
react: '19.0.0'
|
|
51
|
-
},
|
|
52
|
-
devDependencies: {
|
|
53
|
-
'@payloadcms/eslint-config': 'latest',
|
|
54
|
-
'@payloadcms/eslint-plugin': 'latest',
|
|
55
|
-
'@types/node': '24.12.3',
|
|
56
|
-
typescript: '6.0.3'
|
|
57
|
-
},
|
|
58
|
-
engines: {
|
|
59
|
-
node: '>=24.15.0'
|
|
60
|
-
},
|
|
61
|
-
pnpm: {
|
|
62
|
-
overrides: {
|
|
63
|
-
'some-other': '1.0.0'
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
expect(summary.overridesRemoved.sort()).toEqual([
|
|
68
|
-
'pnpm.overrides.payload',
|
|
69
|
-
'resolutions.@payloadcms/ui'
|
|
70
|
-
].sort());
|
|
71
|
-
expect(summary.pinnedPayload).toContain('payload');
|
|
72
|
-
// eslint packages are not lockstep-pinned
|
|
73
|
-
expect(summary.pinnedPayload).not.toContain('@payloadcms/eslint-config');
|
|
74
|
-
});
|
|
75
|
-
it('adds floors to devDependencies when absent', ()=>{
|
|
76
|
-
const data = {
|
|
77
|
-
dependencies: {
|
|
78
|
-
payload: '^3.0.0'
|
|
79
|
-
}
|
|
80
|
-
};
|
|
81
|
-
rewritePackageJson({
|
|
82
|
-
data,
|
|
83
|
-
resolved
|
|
84
|
-
});
|
|
85
|
-
expect(data.devDependencies).toEqual({
|
|
86
|
-
'@types/node': '24.12.3',
|
|
87
|
-
typescript: '6.0.3'
|
|
88
|
-
});
|
|
89
|
-
expect(data.engines).toEqual({
|
|
90
|
-
node: '>=24.15.0'
|
|
91
|
-
});
|
|
92
|
-
});
|
|
93
|
-
it('is idempotent', ()=>{
|
|
94
|
-
const data = baseInput();
|
|
95
|
-
rewritePackageJson({
|
|
96
|
-
data,
|
|
97
|
-
resolved
|
|
98
|
-
});
|
|
99
|
-
const once = JSON.stringify(data);
|
|
100
|
-
rewritePackageJson({
|
|
101
|
-
data,
|
|
102
|
-
resolved
|
|
103
|
-
});
|
|
104
|
-
expect(JSON.stringify(data)).toBe(once);
|
|
105
|
-
});
|
|
106
|
-
});
|
|
107
|
-
|
|
108
|
-
//# sourceMappingURL=rewritePackageJson.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/upgrade/rewritePackageJson.spec.ts"],"sourcesContent":["import { describe, expect, it } from 'vitest'\n\nimport type { ResolvedVersions } from './types.js'\n\nimport { rewritePackageJson } from './rewritePackageJson.js'\n\nconst resolved: ResolvedVersions = {\n enginesNode: '>=24.15.0',\n nextTarget: '16.9.3',\n payloadVersion: '4.0.0-canary.20',\n typesNode: '24.12.3',\n typescript: '6.0.3',\n}\n\nconst baseInput = () => ({\n dependencies: {\n '@payloadcms/next': '^3.0.0',\n '@payloadcms/ui': '~3.0.0',\n next: '15.5.0',\n payload: '^3.0.0',\n react: '19.0.0',\n },\n devDependencies: {\n '@payloadcms/eslint-config': '^3.0.0',\n '@payloadcms/eslint-plugin': '^3.0.0',\n '@types/node': '22.9.0',\n typescript: '5.7.3',\n },\n engines: { node: '>=18.20.2' },\n pnpm: { overrides: { payload: '3.0.0', 'some-other': '1.0.0' } },\n resolutions: { '@payloadcms/ui': '3.0.0' },\n})\n\ndescribe('rewritePackageJson', () => {\n it('pins payload packages exactly, deletes payload overrides, writes floors, leaves next/react', () => {\n const data = baseInput() as Record<string, unknown>\n\n const summary = rewritePackageJson({ data, resolved })\n\n expect(data).toEqual({\n dependencies: {\n '@payloadcms/next': '4.0.0-canary.20',\n '@payloadcms/ui': '4.0.0-canary.20',\n next: '15.5.0', // untouched\n payload: '4.0.0-canary.20',\n react: '19.0.0', // untouched\n },\n devDependencies: {\n '@payloadcms/eslint-config': 'latest', // versioned independently\n '@payloadcms/eslint-plugin': 'latest', // versioned independently\n '@types/node': '24.12.3',\n typescript: '6.0.3',\n },\n engines: { node: '>=24.15.0' },\n pnpm: { overrides: { 'some-other': '1.0.0' } }, // payload override removed, unrelated kept\n // resolutions removed entirely (only key was a payload package)\n })\n expect(summary.overridesRemoved.sort()).toEqual(\n ['pnpm.overrides.payload', 'resolutions.@payloadcms/ui'].sort(),\n )\n expect(summary.pinnedPayload).toContain('payload')\n // eslint packages are not lockstep-pinned\n expect(summary.pinnedPayload).not.toContain('@payloadcms/eslint-config')\n })\n\n it('adds floors to devDependencies when absent', () => {\n const data: Record<string, unknown> = { dependencies: { payload: '^3.0.0' } }\n\n rewritePackageJson({ data, resolved })\n\n expect(data.devDependencies).toEqual({\n '@types/node': '24.12.3',\n typescript: '6.0.3',\n })\n expect(data.engines).toEqual({ node: '>=24.15.0' })\n })\n\n it('is idempotent', () => {\n const data = baseInput() as Record<string, unknown>\n\n rewritePackageJson({ data, resolved })\n const once = JSON.stringify(data)\n rewritePackageJson({ data, resolved })\n\n expect(JSON.stringify(data)).toBe(once)\n })\n})\n"],"names":["describe","expect","it","rewritePackageJson","resolved","enginesNode","nextTarget","payloadVersion","typesNode","typescript","baseInput","dependencies","next","payload","react","devDependencies","engines","node","pnpm","overrides","resolutions","data","summary","toEqual","overridesRemoved","sort","pinnedPayload","toContain","not","once","JSON","stringify","toBe"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,QAAQ,SAAQ;AAI7C,SAASC,kBAAkB,QAAQ,0BAAyB;AAE5D,MAAMC,WAA6B;IACjCC,aAAa;IACbC,YAAY;IACZC,gBAAgB;IAChBC,WAAW;IACXC,YAAY;AACd;AAEA,MAAMC,YAAY,IAAO,CAAA;QACvBC,cAAc;YACZ,oBAAoB;YACpB,kBAAkB;YAClBC,MAAM;YACNC,SAAS;YACTC,OAAO;QACT;QACAC,iBAAiB;YACf,6BAA6B;YAC7B,6BAA6B;YAC7B,eAAe;YACfN,YAAY;QACd;QACAO,SAAS;YAAEC,MAAM;QAAY;QAC7BC,MAAM;YAAEC,WAAW;gBAAEN,SAAS;gBAAS,cAAc;YAAQ;QAAE;QAC/DO,aAAa;YAAE,kBAAkB;QAAQ;IAC3C,CAAA;AAEApB,SAAS,sBAAsB;IAC7BE,GAAG,8FAA8F;QAC/F,MAAMmB,OAAOX;QAEb,MAAMY,UAAUnB,mBAAmB;YAAEkB;YAAMjB;QAAS;QAEpDH,OAAOoB,MAAME,OAAO,CAAC;YACnBZ,cAAc;gBACZ,oBAAoB;gBACpB,kBAAkB;gBAClBC,MAAM;gBACNC,SAAS;gBACTC,OAAO;YACT;YACAC,iBAAiB;gBACf,6BAA6B;gBAC7B,6BAA6B;gBAC7B,eAAe;gBACfN,YAAY;YACd;YACAO,SAAS;gBAAEC,MAAM;YAAY;YAC7BC,MAAM;gBAAEC,WAAW;oBAAE,cAAc;gBAAQ;YAAE;QAE/C;QACAlB,OAAOqB,QAAQE,gBAAgB,CAACC,IAAI,IAAIF,OAAO,CAC7C;YAAC;YAA0B;SAA6B,CAACE,IAAI;QAE/DxB,OAAOqB,QAAQI,aAAa,EAAEC,SAAS,CAAC;QACxC,0CAA0C;QAC1C1B,OAAOqB,QAAQI,aAAa,EAAEE,GAAG,CAACD,SAAS,CAAC;IAC9C;IAEAzB,GAAG,8CAA8C;QAC/C,MAAMmB,OAAgC;YAAEV,cAAc;gBAAEE,SAAS;YAAS;QAAE;QAE5EV,mBAAmB;YAAEkB;YAAMjB;QAAS;QAEpCH,OAAOoB,KAAKN,eAAe,EAAEQ,OAAO,CAAC;YACnC,eAAe;YACfd,YAAY;QACd;QACAR,OAAOoB,KAAKL,OAAO,EAAEO,OAAO,CAAC;YAAEN,MAAM;QAAY;IACnD;IAEAf,GAAG,iBAAiB;QAClB,MAAMmB,OAAOX;QAEbP,mBAAmB;YAAEkB;YAAMjB;QAAS;QACpC,MAAMyB,OAAOC,KAAKC,SAAS,CAACV;QAC5BlB,mBAAmB;YAAEkB;YAAMjB;QAAS;QAEpCH,OAAO6B,KAAKC,SAAS,CAACV,OAAOW,IAAI,CAACH;IACpC;AACF"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { PackageManager, Spawn } from './types.js';
|
|
2
|
-
type RunInstallArgs = {
|
|
3
|
-
packageManager: PackageManager;
|
|
4
|
-
path: string;
|
|
5
|
-
spawn: Spawn;
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Install dependencies with the detected package manager. `install` is the same
|
|
9
|
-
* subcommand across pnpm/npm/yarn/bun. Corepack's interactive download prompt is
|
|
10
|
-
* disabled so a non-interactive run cannot hang and abort the install.
|
|
11
|
-
*/
|
|
12
|
-
export declare function runInstall({ packageManager, path, spawn, }: RunInstallArgs): Promise<{
|
|
13
|
-
code: number;
|
|
14
|
-
}>;
|
|
15
|
-
export {};
|
|
16
|
-
//# sourceMappingURL=runInstall.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runInstall.d.ts","sourceRoot":"","sources":["../../src/upgrade/runInstall.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvD,KAAK,cAAc,GAAG;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EACzB,cAAc,EACd,IAAI,EACJ,KAAK,GACN,EAAE,cAAc,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAK5C"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Install dependencies with the detected package manager. `install` is the same
|
|
3
|
-
* subcommand across pnpm/npm/yarn/bun. Corepack's interactive download prompt is
|
|
4
|
-
* disabled so a non-interactive run cannot hang and abort the install.
|
|
5
|
-
*/ export function runInstall({ packageManager, path, spawn }) {
|
|
6
|
-
return spawn(packageManager, [
|
|
7
|
-
'install'
|
|
8
|
-
], {
|
|
9
|
-
cwd: path,
|
|
10
|
-
env: {
|
|
11
|
-
...process.env,
|
|
12
|
-
COREPACK_ENABLE_DOWNLOAD_PROMPT: '0'
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
//# sourceMappingURL=runInstall.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/upgrade/runInstall.ts"],"sourcesContent":["import type { PackageManager, Spawn } from './types.js'\n\ntype RunInstallArgs = {\n packageManager: PackageManager\n path: string\n spawn: Spawn\n}\n\n/**\n * Install dependencies with the detected package manager. `install` is the same\n * subcommand across pnpm/npm/yarn/bun. Corepack's interactive download prompt is\n * disabled so a non-interactive run cannot hang and abort the install.\n */\nexport function runInstall({\n packageManager,\n path,\n spawn,\n}: RunInstallArgs): Promise<{ code: number }> {\n return spawn(packageManager, ['install'], {\n cwd: path,\n env: { ...process.env, COREPACK_ENABLE_DOWNLOAD_PROMPT: '0' },\n })\n}\n"],"names":["runInstall","packageManager","path","spawn","cwd","env","process","COREPACK_ENABLE_DOWNLOAD_PROMPT"],"mappings":"AAQA;;;;CAIC,GACD,OAAO,SAASA,WAAW,EACzBC,cAAc,EACdC,IAAI,EACJC,KAAK,EACU;IACf,OAAOA,MAAMF,gBAAgB;QAAC;KAAU,EAAE;QACxCG,KAAKF;QACLG,KAAK;YAAE,GAAGC,QAAQD,GAAG;YAAEE,iCAAiC;QAAI;IAC9D;AACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"runInstall.spec.d.ts","sourceRoot":"","sources":["../../src/upgrade/runInstall.spec.ts"],"names":[],"mappings":""}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from 'vitest';
|
|
2
|
-
import { runInstall } from './runInstall.js';
|
|
3
|
-
describe('runInstall', ()=>{
|
|
4
|
-
it('invokes the detected package manager install with corepack prompt disabled', async ()=>{
|
|
5
|
-
const spawn = vi.fn().mockResolvedValue({
|
|
6
|
-
code: 0
|
|
7
|
-
});
|
|
8
|
-
const result = await runInstall({
|
|
9
|
-
packageManager: 'pnpm',
|
|
10
|
-
path: '/project',
|
|
11
|
-
spawn
|
|
12
|
-
});
|
|
13
|
-
expect(result).toEqual({
|
|
14
|
-
code: 0
|
|
15
|
-
});
|
|
16
|
-
expect(spawn).toHaveBeenCalledWith('pnpm', [
|
|
17
|
-
'install'
|
|
18
|
-
], {
|
|
19
|
-
cwd: '/project',
|
|
20
|
-
env: expect.objectContaining({
|
|
21
|
-
COREPACK_ENABLE_DOWNLOAD_PROMPT: '0'
|
|
22
|
-
})
|
|
23
|
-
});
|
|
24
|
-
});
|
|
25
|
-
it('uses the right binary for each package manager', async ()=>{
|
|
26
|
-
const spawn = vi.fn().mockResolvedValue({
|
|
27
|
-
code: 0
|
|
28
|
-
});
|
|
29
|
-
for (const pm of [
|
|
30
|
-
'npm',
|
|
31
|
-
'yarn',
|
|
32
|
-
'bun'
|
|
33
|
-
]){
|
|
34
|
-
await runInstall({
|
|
35
|
-
packageManager: pm,
|
|
36
|
-
path: '/p',
|
|
37
|
-
spawn
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
expect(spawn.mock.calls.map((c)=>c[0])).toEqual([
|
|
41
|
-
'npm',
|
|
42
|
-
'yarn',
|
|
43
|
-
'bun'
|
|
44
|
-
]);
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
|
|
48
|
-
//# sourceMappingURL=runInstall.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/upgrade/runInstall.spec.ts"],"sourcesContent":["import { describe, expect, it, vi } from 'vitest'\n\nimport { runInstall } from './runInstall.js'\n\ndescribe('runInstall', () => {\n it('invokes the detected package manager install with corepack prompt disabled', async () => {\n const spawn = vi.fn().mockResolvedValue({ code: 0 })\n\n const result = await runInstall({ packageManager: 'pnpm', path: '/project', spawn })\n\n expect(result).toEqual({ code: 0 })\n expect(spawn).toHaveBeenCalledWith('pnpm', ['install'], {\n cwd: '/project',\n env: expect.objectContaining({ COREPACK_ENABLE_DOWNLOAD_PROMPT: '0' }),\n })\n })\n\n it('uses the right binary for each package manager', async () => {\n const spawn = vi.fn().mockResolvedValue({ code: 0 })\n\n for (const pm of ['npm', 'yarn', 'bun'] as const) {\n await runInstall({ packageManager: pm, path: '/p', spawn })\n }\n\n expect(spawn.mock.calls.map((c) => c[0])).toEqual(['npm', 'yarn', 'bun'])\n })\n})\n"],"names":["describe","expect","it","vi","runInstall","spawn","fn","mockResolvedValue","code","result","packageManager","path","toEqual","toHaveBeenCalledWith","cwd","env","objectContaining","COREPACK_ENABLE_DOWNLOAD_PROMPT","pm","mock","calls","map","c"],"mappings":"AAAA,SAASA,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,SAAQ;AAEjD,SAASC,UAAU,QAAQ,kBAAiB;AAE5CJ,SAAS,cAAc;IACrBE,GAAG,8EAA8E;QAC/E,MAAMG,QAAQF,GAAGG,EAAE,GAAGC,iBAAiB,CAAC;YAAEC,MAAM;QAAE;QAElD,MAAMC,SAAS,MAAML,WAAW;YAAEM,gBAAgB;YAAQC,MAAM;YAAYN;QAAM;QAElFJ,OAAOQ,QAAQG,OAAO,CAAC;YAAEJ,MAAM;QAAE;QACjCP,OAAOI,OAAOQ,oBAAoB,CAAC,QAAQ;YAAC;SAAU,EAAE;YACtDC,KAAK;YACLC,KAAKd,OAAOe,gBAAgB,CAAC;gBAAEC,iCAAiC;YAAI;QACtE;IACF;IAEAf,GAAG,kDAAkD;QACnD,MAAMG,QAAQF,GAAGG,EAAE,GAAGC,iBAAiB,CAAC;YAAEC,MAAM;QAAE;QAElD,KAAK,MAAMU,MAAM;YAAC;YAAO;YAAQ;SAAM,CAAW;YAChD,MAAMd,WAAW;gBAAEM,gBAAgBQ;gBAAIP,MAAM;gBAAMN;YAAM;QAC3D;QAEAJ,OAAOI,MAAMc,IAAI,CAACC,KAAK,CAACC,GAAG,CAAC,CAACC,IAAMA,CAAC,CAAC,EAAE,GAAGV,OAAO,CAAC;YAAC;YAAO;YAAQ;SAAM;IAC1E;AACF"}
|
package/dist/upgrade/types.d.ts
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/** Minimal shape of an npm registry packument we read. */
|
|
2
|
-
export type RegistryPackument = {
|
|
3
|
-
'dist-tags'?: Record<string, string>;
|
|
4
|
-
versions?: Record<string, {
|
|
5
|
-
engines?: Record<string, string>;
|
|
6
|
-
peerDependencies?: Record<string, string>;
|
|
7
|
-
}>;
|
|
8
|
-
};
|
|
9
|
-
export type FetchRegistry = (packageName: string) => Promise<RegistryPackument>;
|
|
10
|
-
export type Spawn = (command: string, args: string[], options: {
|
|
11
|
-
cwd: string;
|
|
12
|
-
env: NodeJS.ProcessEnv;
|
|
13
|
-
}) => Promise<{
|
|
14
|
-
code: number;
|
|
15
|
-
}>;
|
|
16
|
-
export type PackageManager = 'bun' | 'npm' | 'pnpm' | 'yarn';
|
|
17
|
-
/** Target versions the command resolves. Only some are written; see `written`. */
|
|
18
|
-
export type ResolvedVersions = {
|
|
19
|
-
/** Copied verbatim into engines.node. */
|
|
20
|
-
enginesNode: string;
|
|
21
|
-
/** Newest patch within @payloadcms/next's peer range. REPORT ONLY, never written. */
|
|
22
|
-
nextTarget: null | string;
|
|
23
|
-
/** Exact canary, applied in lockstep to payload + every @payloadcms/*. */
|
|
24
|
-
payloadVersion: string;
|
|
25
|
-
/** TypeScript floor (guide-sourced constant). */
|
|
26
|
-
typescript: string;
|
|
27
|
-
/** Newest @types/node patch within the Node major. */
|
|
28
|
-
typesNode: string;
|
|
29
|
-
};
|
|
30
|
-
export type UpgradeDeps = {
|
|
31
|
-
exists: (path: string) => boolean;
|
|
32
|
-
fetchRegistry: FetchRegistry;
|
|
33
|
-
spawn: Spawn;
|
|
34
|
-
};
|
|
35
|
-
/**
|
|
36
|
-
* TypeScript floor for Payload v4. Nothing machine-readable declares it, so it
|
|
37
|
-
* lives here, sourced from the v4 migration guide prose. Bump alongside the guide.
|
|
38
|
-
*/
|
|
39
|
-
export declare const TS_FLOOR = "6.0.3";
|
|
40
|
-
/** Path (relative to dist/) of the bundled runbook the command points users to. */
|
|
41
|
-
export declare const RUNBOOK_RELATIVE_PATH = "runbook/payload-v4-upgrade.md";
|
|
42
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/upgrade/types.ts"],"names":[],"mappings":"AAAA,0DAA0D;AAC1D,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,QAAQ,CAAC,EAAE,MAAM,CACf,MAAM,EACN;QACE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAChC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC1C,CACF,CAAA;CACF,CAAA;AAED,MAAM,MAAM,aAAa,GAAG,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE/E,MAAM,MAAM,KAAK,GAAG,CAClB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAA;CAAE,KAC7C,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE9B,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAA;AAE5D,kFAAkF;AAClF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,yCAAyC;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,qFAAqF;IACrF,UAAU,EAAE,IAAI,GAAG,MAAM,CAAA;IACzB,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAA;IACtB,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAA;IAClB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAA;IACjC,aAAa,EAAE,aAAa,CAAA;IAC5B,KAAK,EAAE,KAAK,CAAA;CACb,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,UAAU,CAAA;AAE/B,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,kCAAkC,CAAA"}
|
package/dist/upgrade/types.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
/** Minimal shape of an npm registry packument we read. */ /**
|
|
2
|
-
* TypeScript floor for Payload v4. Nothing machine-readable declares it, so it
|
|
3
|
-
* lives here, sourced from the v4 migration guide prose. Bump alongside the guide.
|
|
4
|
-
*/ export const TS_FLOOR = '6.0.3';
|
|
5
|
-
/** Path (relative to dist/) of the bundled runbook the command points users to. */ export const RUNBOOK_RELATIVE_PATH = 'runbook/payload-v4-upgrade.md';
|
|
6
|
-
|
|
7
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/upgrade/types.ts"],"sourcesContent":["/** Minimal shape of an npm registry packument we read. */\nexport type RegistryPackument = {\n 'dist-tags'?: Record<string, string>\n versions?: Record<\n string,\n {\n engines?: Record<string, string>\n peerDependencies?: Record<string, string>\n }\n >\n}\n\nexport type FetchRegistry = (packageName: string) => Promise<RegistryPackument>\n\nexport type Spawn = (\n command: string,\n args: string[],\n options: { cwd: string; env: NodeJS.ProcessEnv },\n) => Promise<{ code: number }>\n\nexport type PackageManager = 'bun' | 'npm' | 'pnpm' | 'yarn'\n\n/** Target versions the command resolves. Only some are written; see `written`. */\nexport type ResolvedVersions = {\n /** Copied verbatim into engines.node. */\n enginesNode: string\n /** Newest patch within @payloadcms/next's peer range. REPORT ONLY, never written. */\n nextTarget: null | string\n /** Exact canary, applied in lockstep to payload + every @payloadcms/*. */\n payloadVersion: string\n /** TypeScript floor (guide-sourced constant). */\n typescript: string\n /** Newest @types/node patch within the Node major. */\n typesNode: string\n}\n\nexport type UpgradeDeps = {\n exists: (path: string) => boolean\n fetchRegistry: FetchRegistry\n spawn: Spawn\n}\n\n/**\n * TypeScript floor for Payload v4. Nothing machine-readable declares it, so it\n * lives here, sourced from the v4 migration guide prose. Bump alongside the guide.\n */\nexport const TS_FLOOR = '6.0.3'\n\n/** Path (relative to dist/) of the bundled runbook the command points users to. */\nexport const RUNBOOK_RELATIVE_PATH = 'runbook/payload-v4-upgrade.md'\n"],"names":["TS_FLOOR","RUNBOOK_RELATIVE_PATH"],"mappings":"AAAA,wDAAwD,GA0CxD;;;CAGC,GACD,OAAO,MAAMA,WAAW,QAAO;AAE/B,iFAAiF,GACjF,OAAO,MAAMC,wBAAwB,gCAA+B"}
|
package/dist/utils/project.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project.d.ts","sourceRoot":"","sources":["../../src/utils/project.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,OAAO,EAAa,MAAM,UAAU,CAAA;AAE9D,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAmBjD"}
|
package/dist/utils/project.js
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'node:fs';
|
|
2
|
-
import { resolve } from 'node:path';
|
|
3
|
-
import { IndentationText, Project, QuoteKind } from 'ts-morph';
|
|
4
|
-
/** Load a ts-morph Project rooted at `path`, using its tsconfig.json if present. */ export function loadProject(path) {
|
|
5
|
-
const manipulationSettings = {
|
|
6
|
-
indentationText: IndentationText.TwoSpaces,
|
|
7
|
-
quoteKind: QuoteKind.Single,
|
|
8
|
-
useTrailingCommas: true
|
|
9
|
-
};
|
|
10
|
-
const tsconfigPath = resolve(path, 'tsconfig.json');
|
|
11
|
-
if (existsSync(tsconfigPath)) {
|
|
12
|
-
return new Project({
|
|
13
|
-
manipulationSettings,
|
|
14
|
-
tsConfigFilePath: tsconfigPath
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
const project = new Project({
|
|
18
|
-
manipulationSettings
|
|
19
|
-
});
|
|
20
|
-
project.addSourceFilesAtPaths([
|
|
21
|
-
`${path}/**/*.{ts,tsx,js,jsx}`,
|
|
22
|
-
'!**/node_modules/**',
|
|
23
|
-
'!**/dist/**',
|
|
24
|
-
'!**/.next/**',
|
|
25
|
-
'!**/build/**'
|
|
26
|
-
]);
|
|
27
|
-
return project;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
//# sourceMappingURL=project.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/utils/project.ts"],"sourcesContent":["import { existsSync } from 'node:fs'\nimport { resolve } from 'node:path'\nimport { IndentationText, Project, QuoteKind } from 'ts-morph'\n\n/** Load a ts-morph Project rooted at `path`, using its tsconfig.json if present. */\nexport function loadProject(path: string): Project {\n const manipulationSettings = {\n indentationText: IndentationText.TwoSpaces,\n quoteKind: QuoteKind.Single,\n useTrailingCommas: true,\n }\n const tsconfigPath = resolve(path, 'tsconfig.json')\n if (existsSync(tsconfigPath)) {\n return new Project({ manipulationSettings, tsConfigFilePath: tsconfigPath })\n }\n const project = new Project({ manipulationSettings })\n project.addSourceFilesAtPaths([\n `${path}/**/*.{ts,tsx,js,jsx}`,\n '!**/node_modules/**',\n '!**/dist/**',\n '!**/.next/**',\n '!**/build/**',\n ])\n return project\n}\n"],"names":["existsSync","resolve","IndentationText","Project","QuoteKind","loadProject","path","manipulationSettings","indentationText","TwoSpaces","quoteKind","Single","useTrailingCommas","tsconfigPath","tsConfigFilePath","project","addSourceFilesAtPaths"],"mappings":"AAAA,SAASA,UAAU,QAAQ,UAAS;AACpC,SAASC,OAAO,QAAQ,YAAW;AACnC,SAASC,eAAe,EAAEC,OAAO,EAAEC,SAAS,QAAQ,WAAU;AAE9D,kFAAkF,GAClF,OAAO,SAASC,YAAYC,IAAY;IACtC,MAAMC,uBAAuB;QAC3BC,iBAAiBN,gBAAgBO,SAAS;QAC1CC,WAAWN,UAAUO,MAAM;QAC3BC,mBAAmB;IACrB;IACA,MAAMC,eAAeZ,QAAQK,MAAM;IACnC,IAAIN,WAAWa,eAAe;QAC5B,OAAO,IAAIV,QAAQ;YAAEI;YAAsBO,kBAAkBD;QAAa;IAC5E;IACA,MAAME,UAAU,IAAIZ,QAAQ;QAAEI;IAAqB;IACnDQ,QAAQC,qBAAqB,CAAC;QAC5B,GAAGV,KAAK,qBAAqB,CAAC;QAC9B;QACA;QACA;QACA;KACD;IACD,OAAOS;AACT"}
|
|
File without changes
|