create-payload-app 4.0.0-internal.ccea85d → 4.0.0-internal.cd47d20

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 (123) hide show
  1. package/README.md +5 -0
  2. package/dist/commands.d.ts +4 -0
  3. package/dist/commands.d.ts.map +1 -0
  4. package/dist/commands.js +5 -0
  5. package/dist/commands.js.map +1 -0
  6. package/dist/lib/agent-config.d.ts +12 -0
  7. package/dist/lib/agent-config.d.ts.map +1 -0
  8. package/dist/lib/agent-config.js +15 -0
  9. package/dist/lib/agent-config.js.map +1 -0
  10. package/dist/lib/ast/package-json.d.ts +9 -0
  11. package/dist/lib/ast/package-json.d.ts.map +1 -1
  12. package/dist/lib/ast/package-json.js +34 -8
  13. package/dist/lib/ast/package-json.js.map +1 -1
  14. package/dist/lib/configure-payload-tsconfig.d.ts +5 -0
  15. package/dist/lib/configure-payload-tsconfig.d.ts.map +1 -0
  16. package/dist/lib/configure-payload-tsconfig.js +26 -0
  17. package/dist/lib/configure-payload-tsconfig.js.map +1 -0
  18. package/dist/lib/create-project.d.ts +1 -2
  19. package/dist/lib/create-project.d.ts.map +1 -1
  20. package/dist/lib/create-project.js +56 -29
  21. package/dist/lib/create-project.js.map +1 -1
  22. package/dist/lib/generate-secret.js +1 -1
  23. package/dist/lib/generate-secret.js.map +1 -1
  24. package/dist/lib/get-package-manager.d.ts +9 -0
  25. package/dist/lib/get-package-manager.d.ts.map +1 -1
  26. package/dist/lib/get-package-manager.js +20 -0
  27. package/dist/lib/get-package-manager.js.map +1 -1
  28. package/dist/lib/init-next.d.ts.map +1 -1
  29. package/dist/lib/init-next.js +5 -34
  30. package/dist/lib/init-next.js.map +1 -1
  31. package/dist/lib/init-tanstack.d.ts +18 -0
  32. package/dist/lib/init-tanstack.d.ts.map +1 -0
  33. package/dist/lib/init-tanstack.js +150 -0
  34. package/dist/lib/init-tanstack.js.map +1 -0
  35. package/dist/lib/tanstack/detect.d.ts +5 -0
  36. package/dist/lib/tanstack/detect.d.ts.map +1 -0
  37. package/dist/lib/tanstack/detect.js +131 -0
  38. package/dist/lib/tanstack/detect.js.map +1 -0
  39. package/dist/lib/tanstack/prepare.d.ts +23 -0
  40. package/dist/lib/tanstack/prepare.d.ts.map +1 -0
  41. package/dist/lib/tanstack/prepare.js +114 -0
  42. package/dist/lib/tanstack/prepare.js.map +1 -0
  43. package/dist/lib/tanstack/template-files.d.ts +50 -0
  44. package/dist/lib/tanstack/template-files.d.ts.map +1 -0
  45. package/dist/lib/tanstack/template-files.js +64 -0
  46. package/dist/lib/tanstack/template-files.js.map +1 -0
  47. package/dist/lib/tanstack/transform-root-route.d.ts +7 -0
  48. package/dist/lib/tanstack/transform-root-route.d.ts.map +1 -0
  49. package/dist/lib/tanstack/transform-root-route.js +747 -0
  50. package/dist/lib/tanstack/transform-root-route.js.map +1 -0
  51. package/dist/lib/tanstack/transform-router.d.ts +5 -0
  52. package/dist/lib/tanstack/transform-router.d.ts.map +1 -0
  53. package/dist/lib/tanstack/transform-router.js +301 -0
  54. package/dist/lib/tanstack/transform-router.js.map +1 -0
  55. package/dist/lib/tanstack/transform-vite-config.d.ts +14 -0
  56. package/dist/lib/tanstack/transform-vite-config.d.ts.map +1 -0
  57. package/dist/lib/tanstack/transform-vite-config.js +576 -0
  58. package/dist/lib/tanstack/transform-vite-config.js.map +1 -0
  59. package/dist/lib/templates.d.ts.map +1 -1
  60. package/dist/lib/templates.js +6 -0
  61. package/dist/lib/templates.js.map +1 -1
  62. package/dist/lib/update-payload-in-project.d.ts +18 -3
  63. package/dist/lib/update-payload-in-project.d.ts.map +1 -1
  64. package/dist/lib/update-payload-in-project.js +98 -18
  65. package/dist/lib/update-payload-in-project.js.map +1 -1
  66. package/dist/main.d.ts +20 -1
  67. package/dist/main.d.ts.map +1 -1
  68. package/dist/main.js +120 -30
  69. package/dist/main.js.map +1 -1
  70. package/dist/scripts/pack-template-files.js +18 -0
  71. package/dist/scripts/pack-template-files.js.map +1 -1
  72. package/dist/template/src/app/(frontend)/styles.css +8 -1
  73. package/dist/template/src/app/(payload)/admin/[[...segments]]/not-found.tsx +1 -2
  74. package/dist/template/src/app/(payload)/admin/[[...segments]]/page.tsx +1 -2
  75. package/dist/template/src/app/(payload)/api/[...slug]/route.ts +1 -2
  76. package/dist/template/src/app/(payload)/api/graphql/route.ts +1 -2
  77. package/dist/template/src/app/(payload)/api/graphql-playground/route.ts +1 -2
  78. package/dist/template/src/app/(payload)/layout.tsx +2 -3
  79. package/dist/template-tanstack/routes/_payload/admin.$.tsx +8 -0
  80. package/dist/template-tanstack/routes/_payload/admin.index.tsx +8 -0
  81. package/dist/template-tanstack/routes/_payload/api.$.ts +10 -0
  82. package/dist/template-tanstack/routes/_payload/importMap.js +32 -0
  83. package/dist/template-tanstack/routes/_payload/server.functions.ts +49 -0
  84. package/dist/template-tanstack/routes/_payload.tsx +30 -0
  85. package/dist/template-tanstack/src/collections/Folders.ts +16 -0
  86. package/dist/template-tanstack/src/collections/Media.ts +20 -0
  87. package/dist/template-tanstack/src/collections/Tags.ts +16 -0
  88. package/dist/template-tanstack/src/collections/Users.ts +14 -0
  89. package/dist/template-tanstack/src/payload.config.ts +40 -0
  90. package/dist/template-tanstack/src/payload.css +1 -0
  91. package/dist/types.d.ts +22 -3
  92. package/dist/types.d.ts.map +1 -1
  93. package/dist/types.js.map +1 -1
  94. package/dist/utils/messages.d.ts +1 -0
  95. package/dist/utils/messages.d.ts.map +1 -1
  96. package/dist/utils/messages.js +8 -6
  97. package/dist/utils/messages.js.map +1 -1
  98. package/package.json +5 -5
  99. package/dist/ast-integration.spec.js +0 -132
  100. package/dist/ast-integration.spec.js.map +0 -1
  101. package/dist/lib/ast/package-json.spec.js +0 -67
  102. package/dist/lib/ast/package-json.spec.js.map +0 -1
  103. package/dist/lib/ast/payload-config.spec.js +0 -365
  104. package/dist/lib/ast/payload-config.spec.js.map +0 -1
  105. package/dist/lib/ast/utils.spec.js +0 -226
  106. package/dist/lib/ast/utils.spec.js.map +0 -1
  107. package/dist/lib/create-project.spec.js +0 -190
  108. package/dist/lib/create-project.spec.js.map +0 -1
  109. package/dist/lib/download-skill.d.ts +0 -8
  110. package/dist/lib/download-skill.d.ts.map +0 -1
  111. package/dist/lib/download-skill.js +0 -35
  112. package/dist/lib/download-skill.js.map +0 -1
  113. package/dist/lib/manage-env-files.spec.js +0 -118
  114. package/dist/lib/manage-env-files.spec.js.map +0 -1
  115. package/dist/lib/select-agent.d.ts +0 -16
  116. package/dist/lib/select-agent.d.ts.map +0 -1
  117. package/dist/lib/select-agent.js +0 -67
  118. package/dist/lib/select-agent.js.map +0 -1
  119. package/dist/lib/wrap-next-config.spec.js +0 -167
  120. package/dist/lib/wrap-next-config.spec.js.map +0 -1
  121. package/dist/utils/resolvePackageVersion.spec.js +0 -77
  122. package/dist/utils/resolvePackageVersion.spec.js.map +0 -1
  123. /package/dist/template/src/app/(payload)/{custom.scss → custom.css} +0 -0
@@ -1,167 +0,0 @@
1
- import * as p from '@clack/prompts';
2
- import { describe, it, expect, vitest } from 'vitest';
3
- import { parseAndModifyConfigContent, withPayloadStatement } from './wrap-next-config.js';
4
- const tsConfigs = {
5
- defaultNextConfig: `import type { NextConfig } from "next";
6
-
7
- const nextConfig: NextConfig = {};
8
- export default nextConfig;`,
9
- nextConfigExportNamedDefault: `import type { NextConfig } from "next";
10
- const nextConfig: NextConfig = {};
11
- const wrapped = someFunc(asdf);
12
- export { wrapped as default };
13
- `,
14
- nextConfigWithFunc: `import type { NextConfig } from "next";
15
- const nextConfig: NextConfig = {};
16
- export default someFunc(nextConfig);
17
- `,
18
- nextConfigWithFuncMultiline: `import type { NextConfig } from "next";
19
- const nextConfig: NextConfig = {};
20
- export default someFunc(
21
- nextConfig
22
- );
23
- `,
24
- nextConfigWithSpread: `import type { NextConfig } from "next";
25
- const nextConfig: NextConfig = {
26
- ...someConfig,
27
- };
28
- export default nextConfig;
29
- `
30
- };
31
- const esmConfigs = {
32
- defaultNextConfig: `/** @type {import('next').NextConfig} */
33
- const nextConfig = {};
34
- export default nextConfig;
35
- `,
36
- nextConfigExportNamedDefault: `const nextConfig = {};
37
- const wrapped = someFunc(asdf);
38
- export { wrapped as default };
39
- `,
40
- nextConfigWithFunc: `const nextConfig = {};
41
- export default someFunc(nextConfig);
42
- `,
43
- nextConfigWithFuncMultiline: `const nextConfig = {};;
44
- export default someFunc(
45
- nextConfig
46
- );
47
- `,
48
- nextConfigWithSpread: `const nextConfig = {
49
- ...someConfig,
50
- };
51
- export default nextConfig;
52
- `
53
- };
54
- const cjsConfigs = {
55
- anonConfig: `module.exports = {};`,
56
- defaultNextConfig: `
57
- /** @type {import('next').NextConfig} */
58
- const nextConfig = {};
59
- module.exports = nextConfig;
60
- `,
61
- nextConfigExportNamedDefault: `const nextConfig = {};
62
- const wrapped = someFunc(asdf);
63
- module.exports = wrapped;
64
- `,
65
- nextConfigWithFunc: `const nextConfig = {};
66
- module.exports = someFunc(nextConfig);
67
- `,
68
- nextConfigWithFuncMultiline: `const nextConfig = {};
69
- module.exports = someFunc(
70
- nextConfig
71
- );
72
- `,
73
- nextConfigWithSpread: `const nextConfig = { ...someConfig };
74
- module.exports = nextConfig;
75
- `
76
- };
77
- describe('parseAndInsertWithPayload', ()=>{
78
- describe('ts', ()=>{
79
- const configType = 'ts';
80
- const importStatement = withPayloadStatement[configType];
81
- it('should parse the default next config', async ()=>{
82
- const { modifiedConfigContent } = await parseAndModifyConfigContent(tsConfigs.defaultNextConfig, configType);
83
- expect(modifiedConfigContent).toContain(importStatement);
84
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
85
- });
86
- it('should parse the config with a function', async ()=>{
87
- const { modifiedConfigContent: modifiedConfigContent2 } = await parseAndModifyConfigContent(tsConfigs.nextConfigWithFunc, configType);
88
- expect(modifiedConfigContent2).toContain('withPayload(someFunc(nextConfig))');
89
- });
90
- it('should parse the config with a multi-lined function', async ()=>{
91
- const { modifiedConfigContent } = await parseAndModifyConfigContent(tsConfigs.nextConfigWithFuncMultiline, configType);
92
- expect(modifiedConfigContent).toContain(importStatement);
93
- expect(modifiedConfigContent).toMatch(/withPayload\(someFunc\(\n {2}nextConfig\n\)\)/);
94
- });
95
- it('should parse the config with a spread', async ()=>{
96
- const { modifiedConfigContent } = await parseAndModifyConfigContent(tsConfigs.nextConfigWithSpread, configType);
97
- expect(modifiedConfigContent).toContain(importStatement);
98
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
99
- });
100
- });
101
- describe('esm', ()=>{
102
- const configType = 'esm';
103
- const importStatement = withPayloadStatement[configType];
104
- it('should parse the default next config', async ()=>{
105
- const { modifiedConfigContent } = await parseAndModifyConfigContent(esmConfigs.defaultNextConfig, configType);
106
- expect(modifiedConfigContent).toContain(importStatement);
107
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
108
- });
109
- it('should parse the config with a function', async ()=>{
110
- const { modifiedConfigContent } = await parseAndModifyConfigContent(esmConfigs.nextConfigWithFunc, configType);
111
- expect(modifiedConfigContent).toContain('withPayload(someFunc(nextConfig))');
112
- });
113
- it('should parse the config with a multi-lined function', async ()=>{
114
- const { modifiedConfigContent } = await parseAndModifyConfigContent(esmConfigs.nextConfigWithFuncMultiline, configType);
115
- expect(modifiedConfigContent).toContain(importStatement);
116
- expect(modifiedConfigContent).toMatch(/withPayload\(someFunc\(\n {2}nextConfig\n\)\)/);
117
- });
118
- it('should parse the config with a spread', async ()=>{
119
- const { modifiedConfigContent } = await parseAndModifyConfigContent(esmConfigs.nextConfigWithSpread, configType);
120
- expect(modifiedConfigContent).toContain(importStatement);
121
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
122
- });
123
- // Unsupported: export { wrapped as default }
124
- it('should give warning with a named export as default', async ()=>{
125
- const warnLogSpy = vitest.spyOn(p.log, 'warn').mockImplementation(()=>{});
126
- const { modifiedConfigContent, success } = await parseAndModifyConfigContent(esmConfigs.nextConfigExportNamedDefault, configType);
127
- expect(modifiedConfigContent).toContain(importStatement);
128
- expect(success).toBe(false);
129
- expect(warnLogSpy).toHaveBeenCalledWith(expect.stringContaining('Could not automatically wrap'));
130
- });
131
- });
132
- describe('cjs', ()=>{
133
- const configType = 'cjs';
134
- const requireStatement = withPayloadStatement[configType];
135
- it('should parse the default next config', async ()=>{
136
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.defaultNextConfig, configType);
137
- expect(modifiedConfigContent).toContain(requireStatement);
138
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
139
- });
140
- it('should parse anonymous default config', async ()=>{
141
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.anonConfig, configType);
142
- expect(modifiedConfigContent).toContain(requireStatement);
143
- expect(modifiedConfigContent).toContain('withPayload({})');
144
- });
145
- it('should parse the config with a function', async ()=>{
146
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.nextConfigWithFunc, configType);
147
- expect(modifiedConfigContent).toContain('withPayload(someFunc(nextConfig))');
148
- });
149
- it('should parse the config with a multi-lined function', async ()=>{
150
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.nextConfigWithFuncMultiline, configType);
151
- expect(modifiedConfigContent).toContain(requireStatement);
152
- expect(modifiedConfigContent).toMatch(/withPayload\(someFunc\(\n {2}nextConfig\n\)\)/);
153
- });
154
- it('should parse the config with a named export as default', async ()=>{
155
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.nextConfigExportNamedDefault, configType);
156
- expect(modifiedConfigContent).toContain(requireStatement);
157
- expect(modifiedConfigContent).toContain('withPayload(wrapped)');
158
- });
159
- it('should parse the config with a spread', async ()=>{
160
- const { modifiedConfigContent } = await parseAndModifyConfigContent(cjsConfigs.nextConfigWithSpread, configType);
161
- expect(modifiedConfigContent).toContain(requireStatement);
162
- expect(modifiedConfigContent).toContain('withPayload(nextConfig)');
163
- });
164
- });
165
- });
166
-
167
- //# sourceMappingURL=wrap-next-config.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/wrap-next-config.spec.ts"],"sourcesContent":["import * as p from '@clack/prompts'\nimport { describe, it, expect, vitest } from 'vitest'\n\nimport { parseAndModifyConfigContent, withPayloadStatement } from './wrap-next-config.js'\n\nconst tsConfigs = {\n defaultNextConfig: `import type { NextConfig } from \"next\";\n\nconst nextConfig: NextConfig = {};\nexport default nextConfig;`,\n\n nextConfigExportNamedDefault: `import type { NextConfig } from \"next\";\nconst nextConfig: NextConfig = {};\nconst wrapped = someFunc(asdf);\nexport { wrapped as default };\n`,\n nextConfigWithFunc: `import type { NextConfig } from \"next\";\nconst nextConfig: NextConfig = {};\nexport default someFunc(nextConfig);\n`,\n nextConfigWithFuncMultiline: `import type { NextConfig } from \"next\";\nconst nextConfig: NextConfig = {};\nexport default someFunc(\n nextConfig\n);\n`,\n nextConfigWithSpread: `import type { NextConfig } from \"next\";\nconst nextConfig: NextConfig = {\n ...someConfig,\n};\nexport default nextConfig;\n`,\n}\n\nconst esmConfigs = {\n defaultNextConfig: `/** @type {import('next').NextConfig} */\nconst nextConfig = {};\nexport default nextConfig;\n`,\n nextConfigExportNamedDefault: `const nextConfig = {};\nconst wrapped = someFunc(asdf);\nexport { wrapped as default };\n`,\n nextConfigWithFunc: `const nextConfig = {};\nexport default someFunc(nextConfig);\n`,\n nextConfigWithFuncMultiline: `const nextConfig = {};;\nexport default someFunc(\n nextConfig\n);\n`,\n nextConfigWithSpread: `const nextConfig = {\n ...someConfig,\n};\nexport default nextConfig;\n`,\n}\n\nconst cjsConfigs = {\n anonConfig: `module.exports = {};`,\n defaultNextConfig: `\n /** @type {import('next').NextConfig} */\nconst nextConfig = {};\nmodule.exports = nextConfig;\n`,\n nextConfigExportNamedDefault: `const nextConfig = {};\nconst wrapped = someFunc(asdf);\nmodule.exports = wrapped;\n`,\n nextConfigWithFunc: `const nextConfig = {};\nmodule.exports = someFunc(nextConfig);\n`,\n nextConfigWithFuncMultiline: `const nextConfig = {};\nmodule.exports = someFunc(\n nextConfig\n);\n`,\n nextConfigWithSpread: `const nextConfig = { ...someConfig };\nmodule.exports = nextConfig;\n`,\n}\n\ndescribe('parseAndInsertWithPayload', () => {\n describe('ts', () => {\n const configType = 'ts'\n const importStatement = withPayloadStatement[configType]\n\n it('should parse the default next config', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n tsConfigs.defaultNextConfig,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n\n it('should parse the config with a function', async () => {\n const { modifiedConfigContent: modifiedConfigContent2 } = await parseAndModifyConfigContent(\n tsConfigs.nextConfigWithFunc,\n configType,\n )\n expect(modifiedConfigContent2).toContain('withPayload(someFunc(nextConfig))')\n })\n\n it('should parse the config with a multi-lined function', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n tsConfigs.nextConfigWithFuncMultiline,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toMatch(/withPayload\\(someFunc\\(\\n {2}nextConfig\\n\\)\\)/)\n })\n\n it('should parse the config with a spread', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n tsConfigs.nextConfigWithSpread,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n })\n describe('esm', () => {\n const configType = 'esm'\n const importStatement = withPayloadStatement[configType]\n it('should parse the default next config', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n esmConfigs.defaultNextConfig,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n it('should parse the config with a function', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n esmConfigs.nextConfigWithFunc,\n configType,\n )\n expect(modifiedConfigContent).toContain('withPayload(someFunc(nextConfig))')\n })\n\n it('should parse the config with a multi-lined function', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n esmConfigs.nextConfigWithFuncMultiline,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toMatch(/withPayload\\(someFunc\\(\\n {2}nextConfig\\n\\)\\)/)\n })\n\n it('should parse the config with a spread', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n esmConfigs.nextConfigWithSpread,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n\n // Unsupported: export { wrapped as default }\n it('should give warning with a named export as default', async () => {\n const warnLogSpy = vitest.spyOn(p.log, 'warn').mockImplementation(() => {})\n\n const { modifiedConfigContent, success } = await parseAndModifyConfigContent(\n esmConfigs.nextConfigExportNamedDefault,\n configType,\n )\n expect(modifiedConfigContent).toContain(importStatement)\n expect(success).toBe(false)\n\n expect(warnLogSpy).toHaveBeenCalledWith(\n expect.stringContaining('Could not automatically wrap'),\n )\n })\n })\n\n describe('cjs', () => {\n const configType = 'cjs'\n const requireStatement = withPayloadStatement[configType]\n it('should parse the default next config', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.defaultNextConfig,\n configType,\n )\n expect(modifiedConfigContent).toContain(requireStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n it('should parse anonymous default config', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.anonConfig,\n configType,\n )\n expect(modifiedConfigContent).toContain(requireStatement)\n expect(modifiedConfigContent).toContain('withPayload({})')\n })\n it('should parse the config with a function', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.nextConfigWithFunc,\n configType,\n )\n expect(modifiedConfigContent).toContain('withPayload(someFunc(nextConfig))')\n })\n it('should parse the config with a multi-lined function', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.nextConfigWithFuncMultiline,\n configType,\n )\n expect(modifiedConfigContent).toContain(requireStatement)\n expect(modifiedConfigContent).toMatch(/withPayload\\(someFunc\\(\\n {2}nextConfig\\n\\)\\)/)\n })\n it('should parse the config with a named export as default', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.nextConfigExportNamedDefault,\n configType,\n )\n expect(modifiedConfigContent).toContain(requireStatement)\n expect(modifiedConfigContent).toContain('withPayload(wrapped)')\n })\n\n it('should parse the config with a spread', async () => {\n const { modifiedConfigContent } = await parseAndModifyConfigContent(\n cjsConfigs.nextConfigWithSpread,\n configType,\n )\n expect(modifiedConfigContent).toContain(requireStatement)\n expect(modifiedConfigContent).toContain('withPayload(nextConfig)')\n })\n })\n})\n"],"names":["p","describe","it","expect","vitest","parseAndModifyConfigContent","withPayloadStatement","tsConfigs","defaultNextConfig","nextConfigExportNamedDefault","nextConfigWithFunc","nextConfigWithFuncMultiline","nextConfigWithSpread","esmConfigs","cjsConfigs","anonConfig","configType","importStatement","modifiedConfigContent","toContain","modifiedConfigContent2","toMatch","warnLogSpy","spyOn","log","mockImplementation","success","toBe","toHaveBeenCalledWith","stringContaining","requireStatement"],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from 'vitest';
2
- import { DEFAULT_PAYLOAD_VERSION_TAG, resolvePackageVersion } from './resolvePackageVersion.js';
3
- const mockRegistry = ({ distTags, validVersions = [] })=>vi.stubGlobal('fetch', vi.fn((url)=>{
4
- if (url.endsWith('/dist-tags')) {
5
- return Promise.resolve({
6
- json: ()=>Promise.resolve(distTags)
7
- });
8
- }
9
- const version = url.split('/').pop() ?? '';
10
- return Promise.resolve({
11
- status: validVersions.includes(version) ? 200 : 404
12
- });
13
- }));
14
- describe('resolvePackageVersion', ()=>{
15
- afterEach(()=>{
16
- vi.unstubAllGlobals();
17
- vi.restoreAllMocks();
18
- });
19
- it('should resolve a dist-tag to its concrete version', async ()=>{
20
- mockRegistry({
21
- distTags: {
22
- canary: '3.0.0-canary.abc',
23
- latest: '2.9.0'
24
- }
25
- });
26
- const version = await resolvePackageVersion({
27
- packageName: 'payload',
28
- versionOrTag: 'canary'
29
- });
30
- expect(version).toBe('3.0.0-canary.abc');
31
- });
32
- it('should default to the latest tag when no value is provided', async ()=>{
33
- mockRegistry({
34
- distTags: {
35
- canary: '3.0.0-canary.abc',
36
- latest: '2.9.0'
37
- }
38
- });
39
- const version = await resolvePackageVersion({
40
- packageName: 'payload'
41
- });
42
- expect(version).toBe('2.9.0');
43
- });
44
- it('should return an explicit version when it exists on the registry', async ()=>{
45
- mockRegistry({
46
- distTags: {
47
- latest: '2.9.0'
48
- },
49
- validVersions: [
50
- '3.1.0'
51
- ]
52
- });
53
- const version = await resolvePackageVersion({
54
- packageName: 'payload',
55
- versionOrTag: '3.1.0'
56
- });
57
- expect(version).toBe('3.1.0');
58
- });
59
- it('should throw a clear error when neither a tag nor a version is found', async ()=>{
60
- mockRegistry({
61
- distTags: {
62
- latest: '2.9.0'
63
- }
64
- });
65
- await expect(resolvePackageVersion({
66
- packageName: 'payload',
67
- versionOrTag: 'nope'
68
- })).rejects.toThrow('No version or tag "nope" found for package: payload');
69
- });
70
- });
71
- describe('DEFAULT_PAYLOAD_VERSION_TAG', ()=>{
72
- it('should export DEFAULT_PAYLOAD_VERSION_TAG as "canary"', ()=>{
73
- expect(DEFAULT_PAYLOAD_VERSION_TAG).toBe('canary');
74
- });
75
- });
76
-
77
- //# sourceMappingURL=resolvePackageVersion.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/resolvePackageVersion.spec.ts"],"sourcesContent":["import { afterEach, describe, expect, it, vi } from 'vitest'\n\nimport { DEFAULT_PAYLOAD_VERSION_TAG, resolvePackageVersion } from './resolvePackageVersion.js'\n\nconst mockRegistry = ({\n distTags,\n validVersions = [],\n}: {\n distTags: Record<string, string>\n validVersions?: string[]\n}) =>\n vi.stubGlobal(\n 'fetch',\n vi.fn((url: string) => {\n if (url.endsWith('/dist-tags')) {\n return Promise.resolve({ json: () => Promise.resolve(distTags) })\n }\n\n const version = url.split('/').pop() ?? ''\n return Promise.resolve({ status: validVersions.includes(version) ? 200 : 404 })\n }),\n )\n\ndescribe('resolvePackageVersion', () => {\n afterEach(() => {\n vi.unstubAllGlobals()\n vi.restoreAllMocks()\n })\n\n it('should resolve a dist-tag to its concrete version', async () => {\n mockRegistry({ distTags: { canary: '3.0.0-canary.abc', latest: '2.9.0' } })\n\n const version = await resolvePackageVersion({ packageName: 'payload', versionOrTag: 'canary' })\n\n expect(version).toBe('3.0.0-canary.abc')\n })\n\n it('should default to the latest tag when no value is provided', async () => {\n mockRegistry({ distTags: { canary: '3.0.0-canary.abc', latest: '2.9.0' } })\n\n const version = await resolvePackageVersion({ packageName: 'payload' })\n\n expect(version).toBe('2.9.0')\n })\n\n it('should return an explicit version when it exists on the registry', async () => {\n mockRegistry({ distTags: { latest: '2.9.0' }, validVersions: ['3.1.0'] })\n\n const version = await resolvePackageVersion({ packageName: 'payload', versionOrTag: '3.1.0' })\n\n expect(version).toBe('3.1.0')\n })\n\n it('should throw a clear error when neither a tag nor a version is found', async () => {\n mockRegistry({ distTags: { latest: '2.9.0' } })\n\n await expect(\n resolvePackageVersion({ packageName: 'payload', versionOrTag: 'nope' }),\n ).rejects.toThrow('No version or tag \"nope\" found for package: payload')\n })\n})\n\ndescribe('DEFAULT_PAYLOAD_VERSION_TAG', () => {\n it('should export DEFAULT_PAYLOAD_VERSION_TAG as \"canary\"', () => {\n expect(DEFAULT_PAYLOAD_VERSION_TAG).toBe('canary')\n })\n})\n"],"names":["afterEach","describe","expect","it","vi","DEFAULT_PAYLOAD_VERSION_TAG","resolvePackageVersion","mockRegistry","distTags","validVersions","stubGlobal","fn","url","endsWith","Promise","resolve","json","version","split","pop","status","includes","unstubAllGlobals","restoreAllMocks","canary","latest","packageName","versionOrTag","toBe","rejects","toThrow"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,EAAE,EAAEC,EAAE,QAAQ,SAAQ;AAE5D,SAASC,2BAA2B,EAAEC,qBAAqB,QAAQ,6BAA4B;AAE/F,MAAMC,eAAe,CAAC,EACpBC,QAAQ,EACRC,gBAAgB,EAAE,EAInB,GACCL,GAAGM,UAAU,CACX,SACAN,GAAGO,EAAE,CAAC,CAACC;QACL,IAAIA,IAAIC,QAAQ,CAAC,eAAe;YAC9B,OAAOC,QAAQC,OAAO,CAAC;gBAAEC,MAAM,IAAMF,QAAQC,OAAO,CAACP;YAAU;QACjE;QAEA,MAAMS,UAAUL,IAAIM,KAAK,CAAC,KAAKC,GAAG,MAAM;QACxC,OAAOL,QAAQC,OAAO,CAAC;YAAEK,QAAQX,cAAcY,QAAQ,CAACJ,WAAW,MAAM;QAAI;IAC/E;AAGJhB,SAAS,yBAAyB;IAChCD,UAAU;QACRI,GAAGkB,gBAAgB;QACnBlB,GAAGmB,eAAe;IACpB;IAEApB,GAAG,qDAAqD;QACtDI,aAAa;YAAEC,UAAU;gBAAEgB,QAAQ;gBAAoBC,QAAQ;YAAQ;QAAE;QAEzE,MAAMR,UAAU,MAAMX,sBAAsB;YAAEoB,aAAa;YAAWC,cAAc;QAAS;QAE7FzB,OAAOe,SAASW,IAAI,CAAC;IACvB;IAEAzB,GAAG,8DAA8D;QAC/DI,aAAa;YAAEC,UAAU;gBAAEgB,QAAQ;gBAAoBC,QAAQ;YAAQ;QAAE;QAEzE,MAAMR,UAAU,MAAMX,sBAAsB;YAAEoB,aAAa;QAAU;QAErExB,OAAOe,SAASW,IAAI,CAAC;IACvB;IAEAzB,GAAG,oEAAoE;QACrEI,aAAa;YAAEC,UAAU;gBAAEiB,QAAQ;YAAQ;YAAGhB,eAAe;gBAAC;aAAQ;QAAC;QAEvE,MAAMQ,UAAU,MAAMX,sBAAsB;YAAEoB,aAAa;YAAWC,cAAc;QAAQ;QAE5FzB,OAAOe,SAASW,IAAI,CAAC;IACvB;IAEAzB,GAAG,wEAAwE;QACzEI,aAAa;YAAEC,UAAU;gBAAEiB,QAAQ;YAAQ;QAAE;QAE7C,MAAMvB,OACJI,sBAAsB;YAAEoB,aAAa;YAAWC,cAAc;QAAO,IACrEE,OAAO,CAACC,OAAO,CAAC;IACpB;AACF;AAEA7B,SAAS,+BAA+B;IACtCE,GAAG,yDAAyD;QAC1DD,OAAOG,6BAA6BuB,IAAI,CAAC;IAC3C;AACF"}