create-payload-app 4.0.0-internal.fa345ef → 4.0.0-internal.fec2230

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 (135) 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 +15 -0
  7. package/dist/lib/agent-config.d.ts.map +1 -0
  8. package/dist/lib/agent-config.js +22 -0
  9. package/dist/lib/agent-config.js.map +1 -0
  10. package/dist/lib/agent-config.spec.js +23 -0
  11. package/dist/lib/agent-config.spec.js.map +1 -0
  12. package/dist/lib/ast/adapter-config.d.ts.map +1 -1
  13. package/dist/lib/ast/adapter-config.js +0 -10
  14. package/dist/lib/ast/adapter-config.js.map +1 -1
  15. package/dist/lib/ast/package-json.d.ts +9 -0
  16. package/dist/lib/ast/package-json.d.ts.map +1 -1
  17. package/dist/lib/ast/package-json.js +34 -8
  18. package/dist/lib/ast/package-json.js.map +1 -1
  19. package/dist/lib/ast/package-json.spec.js +73 -1
  20. package/dist/lib/ast/package-json.spec.js.map +1 -1
  21. package/dist/lib/ast/types.d.ts +2 -2
  22. package/dist/lib/ast/types.d.ts.map +1 -1
  23. package/dist/lib/ast/types.js +0 -1
  24. package/dist/lib/ast/types.js.map +1 -1
  25. package/dist/lib/configure-payload-tsconfig.d.ts +5 -0
  26. package/dist/lib/configure-payload-tsconfig.d.ts.map +1 -0
  27. package/dist/lib/configure-payload-tsconfig.js +26 -0
  28. package/dist/lib/configure-payload-tsconfig.js.map +1 -0
  29. package/dist/lib/configure-payload-tsconfig.spec.js +135 -0
  30. package/dist/lib/configure-payload-tsconfig.spec.js.map +1 -0
  31. package/dist/lib/configure-plugin-project.d.ts.map +1 -1
  32. package/dist/lib/create-project.d.ts +1 -2
  33. package/dist/lib/create-project.d.ts.map +1 -1
  34. package/dist/lib/create-project.js +5 -21
  35. package/dist/lib/create-project.js.map +1 -1
  36. package/dist/lib/create-project.spec.js +9 -0
  37. package/dist/lib/create-project.spec.js.map +1 -1
  38. package/dist/lib/generate-secret.js +1 -1
  39. package/dist/lib/generate-secret.js.map +1 -1
  40. package/dist/lib/init-next.d.ts.map +1 -1
  41. package/dist/lib/init-next.js +5 -34
  42. package/dist/lib/init-next.js.map +1 -1
  43. package/dist/lib/init-tanstack-default-template.spec.js +121 -0
  44. package/dist/lib/init-tanstack-default-template.spec.js.map +1 -0
  45. package/dist/lib/init-tanstack.d.ts +18 -0
  46. package/dist/lib/init-tanstack.d.ts.map +1 -0
  47. package/dist/lib/init-tanstack.js +150 -0
  48. package/dist/lib/init-tanstack.js.map +1 -0
  49. package/dist/lib/init-tanstack.spec.js +394 -0
  50. package/dist/lib/init-tanstack.spec.js.map +1 -0
  51. package/dist/lib/tanstack/detect.d.ts +5 -0
  52. package/dist/lib/tanstack/detect.d.ts.map +1 -0
  53. package/dist/lib/tanstack/detect.js +131 -0
  54. package/dist/lib/tanstack/detect.js.map +1 -0
  55. package/dist/lib/tanstack/detect.spec.js +227 -0
  56. package/dist/lib/tanstack/detect.spec.js.map +1 -0
  57. package/dist/lib/tanstack/prepare.d.ts +23 -0
  58. package/dist/lib/tanstack/prepare.d.ts.map +1 -0
  59. package/dist/lib/tanstack/prepare.js +114 -0
  60. package/dist/lib/tanstack/prepare.js.map +1 -0
  61. package/dist/lib/tanstack/prepare.spec.js +288 -0
  62. package/dist/lib/tanstack/prepare.spec.js.map +1 -0
  63. package/dist/lib/tanstack/template-files.d.ts +50 -0
  64. package/dist/lib/tanstack/template-files.d.ts.map +1 -0
  65. package/dist/lib/tanstack/template-files.js +64 -0
  66. package/dist/lib/tanstack/template-files.js.map +1 -0
  67. package/dist/lib/tanstack/transform-root-route.d.ts +7 -0
  68. package/dist/lib/tanstack/transform-root-route.d.ts.map +1 -0
  69. package/dist/lib/tanstack/transform-root-route.js +747 -0
  70. package/dist/lib/tanstack/transform-root-route.js.map +1 -0
  71. package/dist/lib/tanstack/transform-root-route.spec.js +484 -0
  72. package/dist/lib/tanstack/transform-root-route.spec.js.map +1 -0
  73. package/dist/lib/tanstack/transform-router.d.ts +5 -0
  74. package/dist/lib/tanstack/transform-router.d.ts.map +1 -0
  75. package/dist/lib/tanstack/transform-router.js +301 -0
  76. package/dist/lib/tanstack/transform-router.js.map +1 -0
  77. package/dist/lib/tanstack/transform-router.spec.js +264 -0
  78. package/dist/lib/tanstack/transform-router.spec.js.map +1 -0
  79. package/dist/lib/tanstack/transform-vite-config.d.ts +14 -0
  80. package/dist/lib/tanstack/transform-vite-config.d.ts.map +1 -0
  81. package/dist/lib/tanstack/transform-vite-config.js +576 -0
  82. package/dist/lib/tanstack/transform-vite-config.js.map +1 -0
  83. package/dist/lib/tanstack/transform-vite-config.spec.js +456 -0
  84. package/dist/lib/tanstack/transform-vite-config.spec.js.map +1 -0
  85. package/dist/lib/templates.d.ts.map +1 -1
  86. package/dist/lib/templates.js +6 -0
  87. package/dist/lib/templates.js.map +1 -1
  88. package/dist/lib/update-payload-in-project.d.ts +18 -3
  89. package/dist/lib/update-payload-in-project.d.ts.map +1 -1
  90. package/dist/lib/update-payload-in-project.js +98 -18
  91. package/dist/lib/update-payload-in-project.js.map +1 -1
  92. package/dist/lib/update-payload-in-project.spec.js +262 -0
  93. package/dist/lib/update-payload-in-project.spec.js.map +1 -0
  94. package/dist/lib/wrap-next-config.d.ts.map +1 -1
  95. package/dist/main.d.ts +20 -1
  96. package/dist/main.d.ts.map +1 -1
  97. package/dist/main.js +120 -29
  98. package/dist/main.js.map +1 -1
  99. package/dist/main.spec.js +102 -0
  100. package/dist/main.spec.js.map +1 -0
  101. package/dist/scripts/pack-template-files.js +18 -0
  102. package/dist/scripts/pack-template-files.js.map +1 -1
  103. package/dist/template/src/app/(frontend)/styles.css +1 -1
  104. package/dist/template/src/app/(payload)/layout.tsx +8 -2
  105. package/dist/template-tanstack/routes/_payload/admin.$.tsx +8 -0
  106. package/dist/template-tanstack/routes/_payload/admin.index.tsx +8 -0
  107. package/dist/template-tanstack/routes/_payload/api.$.ts +10 -0
  108. package/dist/template-tanstack/routes/_payload/importMap.js +32 -0
  109. package/dist/template-tanstack/routes/_payload/server.functions.ts +49 -0
  110. package/dist/template-tanstack/routes/_payload.tsx +30 -0
  111. package/dist/template-tanstack/src/collections/Folders.ts +16 -0
  112. package/dist/template-tanstack/src/collections/Media.ts +20 -0
  113. package/dist/template-tanstack/src/collections/Tags.ts +16 -0
  114. package/dist/template-tanstack/src/collections/Users.ts +14 -0
  115. package/dist/template-tanstack/src/payload.config.ts +40 -0
  116. package/dist/template-tanstack/src/payload.css +1 -0
  117. package/dist/types.d.ts +22 -3
  118. package/dist/types.d.ts.map +1 -1
  119. package/dist/types.js.map +1 -1
  120. package/dist/utils/casing.d.ts.map +1 -1
  121. package/dist/utils/log.d.ts.map +1 -1
  122. package/dist/utils/messages.d.ts +1 -0
  123. package/dist/utils/messages.d.ts.map +1 -1
  124. package/dist/utils/messages.js +8 -6
  125. package/dist/utils/messages.js.map +1 -1
  126. package/package.json +4 -4
  127. package/dist/lib/download-skill.d.ts +0 -8
  128. package/dist/lib/download-skill.d.ts.map +0 -1
  129. package/dist/lib/download-skill.js +0 -35
  130. package/dist/lib/download-skill.js.map +0 -1
  131. package/dist/lib/select-agent.d.ts +0 -16
  132. package/dist/lib/select-agent.d.ts.map +0 -1
  133. package/dist/lib/select-agent.js +0 -67
  134. package/dist/lib/select-agent.js.map +0 -1
  135. /package/dist/template/src/app/(payload)/{custom.scss → custom.css} +0 -0
@@ -0,0 +1,288 @@
1
+ import fse from 'fs-extra';
2
+ import os from 'node:os';
3
+ import path from 'node:path';
4
+ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
5
+ import { applyPreparedWrites, prepareTanStackInit } from './prepare.js';
6
+ const routerContent = `import { createRouter } from '@tanstack/react-router'
7
+
8
+ import { routeTree } from './routeTree.gen'
9
+
10
+ export function getRouter() {
11
+ return createRouter({
12
+ routeTree,
13
+ defaultPreload: 'intent',
14
+ })
15
+ }
16
+
17
+ declare module '@tanstack/react-router' {
18
+ interface Register {
19
+ router: ReturnType<typeof getRouter>
20
+ }
21
+ }
22
+ `;
23
+ const rootRouteContent = `import { createRootRoute, HeadContent, Scripts } from '@tanstack/react-router'
24
+ import appCss from '../styles.css?url'
25
+
26
+ export const Route = createRootRoute({
27
+ head: () => ({
28
+ links: [{ rel: 'stylesheet', href: appCss }],
29
+ meta: [{ title: 'Host app' }],
30
+ }),
31
+ shellComponent: RootDocument,
32
+ })
33
+
34
+ function RootDocument({ children }: { children: React.ReactNode }) {
35
+ return (
36
+ <html lang="en">
37
+ <head>
38
+ <HeadContent />
39
+ </head>
40
+ <body>
41
+ {children}
42
+ <Scripts />
43
+ </body>
44
+ </html>
45
+ )
46
+ }
47
+ `;
48
+ const viteConfigContent = `import { tanstackStart } from '@tanstack/react-start/plugin/vite'
49
+ import viteReact from '@vitejs/plugin-react'
50
+ import { defineConfig } from 'vite'
51
+
52
+ export default defineConfig({
53
+ plugins: [tanstackStart(), viteReact()],
54
+ })
55
+ `;
56
+ const templateFiles = {
57
+ 'routes/_payload.tsx': 'export const payloadLayout = true\n',
58
+ 'routes/_payload/admin.$.tsx': 'export const payloadAdminSplat = true\n',
59
+ 'routes/_payload/admin.index.tsx': 'export const payloadAdminIndex = true\n',
60
+ 'routes/_payload/api.$.ts': 'export const payloadApi = true\n',
61
+ 'routes/_payload/importMap.js': 'export const importMap = {}\n',
62
+ 'routes/_payload/server.functions.ts': 'export const payloadServerFunctions = true\n',
63
+ 'src/collections/Folders.ts': "export const Folders = { slug: 'folders' }\n",
64
+ 'src/collections/Media.ts': "export const Media = { slug: 'media' }\n",
65
+ 'src/collections/Tags.ts': "export const Tags = { slug: 'tags' }\n",
66
+ 'src/collections/Users.ts': "export const Users = { slug: 'users' }\n",
67
+ 'src/payload.css': "@import '@payloadcms/ui/css/app.css';\n",
68
+ 'src/payload.config.ts': 'export default { collections: [] }\n'
69
+ };
70
+ describe('prepareTanStackInit', ()=>{
71
+ let appDetails;
72
+ let projectDir;
73
+ let templateRoot;
74
+ beforeEach(()=>{
75
+ projectDir = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-prepare-tanstack-project-'));
76
+ templateRoot = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-prepare-tanstack-template-'));
77
+ writeFiles({
78
+ root: projectDir,
79
+ files: {
80
+ 'src/router.tsx': routerContent,
81
+ 'src/routes/__root.tsx': rootRouteContent,
82
+ 'vite.config.ts': viteConfigContent
83
+ }
84
+ });
85
+ writeFiles({
86
+ files: templateFiles,
87
+ root: templateRoot
88
+ });
89
+ appDetails = {
90
+ isPayloadInstalled: false,
91
+ kind: 'start',
92
+ projectDir,
93
+ rootRoutePath: path.join(projectDir, 'src/routes/__root.tsx'),
94
+ routerPath: path.join(projectDir, 'src/router.tsx'),
95
+ routesDir: path.join(projectDir, 'src/routes'),
96
+ sourceDir: path.join(projectDir, 'src'),
97
+ viteConfigPath: path.join(projectDir, 'vite.config.ts')
98
+ };
99
+ });
100
+ afterEach(()=>{
101
+ fse.removeSync(projectDir);
102
+ fse.removeSync(templateRoot);
103
+ });
104
+ it('should prepare every host transformation and Payload-owned file without writing to disk', async ()=>{
105
+ const before = snapshotDirectory(projectDir);
106
+ const result = await prepareTanStackInit({
107
+ appDetails,
108
+ templateRoot
109
+ });
110
+ expect(result.success).toBe(true);
111
+ expect(snapshotDirectory(projectDir)).toEqual(before);
112
+ if (!result.success) {
113
+ throw new Error(result.reason);
114
+ }
115
+ expect(result.writes.map(({ filePath })=>path.relative(projectDir, filePath)).sort()).toEqual([
116
+ 'src/collections/Folders.ts',
117
+ 'src/collections/Media.ts',
118
+ 'src/collections/Tags.ts',
119
+ 'src/collections/Users.ts',
120
+ 'src/payload.config.ts',
121
+ 'src/payload.css',
122
+ 'src/router.tsx',
123
+ 'src/routes/__root.tsx',
124
+ 'src/routes/_payload.tsx',
125
+ 'src/routes/_payload/admin.$.tsx',
126
+ 'src/routes/_payload/admin.index.tsx',
127
+ 'src/routes/_payload/api.$.ts',
128
+ 'src/routes/_payload/importMap.js',
129
+ 'src/routes/_payload/server.functions.ts',
130
+ 'vite.config.ts'
131
+ ]);
132
+ expect(getPreparedContent({
133
+ filePath: appDetails.viteConfigPath,
134
+ writes: result.writes
135
+ })).toContain('withPayload(');
136
+ expect(getPreparedContent({
137
+ filePath: appDetails.routerPath,
138
+ writes: result.writes
139
+ })).toContain('parseSearch: payloadParseSearch');
140
+ expect(getPreparedContent({
141
+ filePath: appDetails.rootRoutePath,
142
+ writes: result.writes
143
+ })).toContain('withPayloadRoot(');
144
+ expect(getPreparedContent({
145
+ filePath: path.join(appDetails.routesDir, '_payload/api.$.ts'),
146
+ writes: result.writes
147
+ })).toBe(templateFiles['routes/_payload/api.$.ts']);
148
+ });
149
+ it('should reject a non-identical Payload-owned file collision without writing to disk', async ()=>{
150
+ fse.outputFileSync(path.join(appDetails.routesDir, '_payload.tsx'), 'custom route\n');
151
+ const before = snapshotDirectory(projectDir);
152
+ const result = await prepareTanStackInit({
153
+ appDetails,
154
+ templateRoot
155
+ });
156
+ expect(result).toEqual({
157
+ reason: `A different file already exists at ${path.join(appDetails.routesDir, '_payload.tsx')}.`,
158
+ success: false
159
+ });
160
+ expect(snapshotDirectory(projectDir)).toEqual(before);
161
+ });
162
+ it('should reject a host file that cannot be transformed without writing to disk', async ()=>{
163
+ fse.writeFileSync(appDetails.routerPath, 'export function getRouter() {}\n');
164
+ const before = snapshotDirectory(projectDir);
165
+ const result = await prepareTanStackInit({
166
+ appDetails,
167
+ templateRoot
168
+ });
169
+ expect(result).toEqual({
170
+ reason: `Could not transform ${appDetails.routerPath}: Could not identify the createRouter import.`,
171
+ success: false
172
+ });
173
+ expect(snapshotDirectory(projectDir)).toEqual(before);
174
+ });
175
+ it('should reject a missing required template file without writing to disk', async ()=>{
176
+ fse.removeSync(path.join(templateRoot, 'src/payload.config.ts'));
177
+ const before = snapshotDirectory(projectDir);
178
+ const result = await prepareTanStackInit({
179
+ appDetails,
180
+ templateRoot
181
+ });
182
+ expect(result).toEqual({
183
+ reason: `Required TanStack template file is missing: ${path.join(templateRoot, 'src/payload.config.ts')}.`,
184
+ success: false
185
+ });
186
+ expect(snapshotDirectory(projectDir)).toEqual(before);
187
+ });
188
+ it('should reject a missing nested Payload route without writing to disk', async ()=>{
189
+ const missingFilePath = path.join(templateRoot, 'routes/_payload/server.functions.ts');
190
+ fse.removeSync(missingFilePath);
191
+ const before = snapshotDirectory(projectDir);
192
+ const result = await prepareTanStackInit({
193
+ appDetails,
194
+ templateRoot
195
+ });
196
+ expect(result).toEqual({
197
+ reason: `Required TanStack template file is missing: ${missingFilePath}.`,
198
+ success: false
199
+ });
200
+ expect(snapshotDirectory(projectDir)).toEqual(before);
201
+ });
202
+ it('should reject a missing collection without writing to disk', async ()=>{
203
+ const missingFilePath = path.join(templateRoot, 'src/collections/Folders.ts');
204
+ fse.removeSync(missingFilePath);
205
+ const before = snapshotDirectory(projectDir);
206
+ const result = await prepareTanStackInit({
207
+ appDetails,
208
+ templateRoot
209
+ });
210
+ expect(result).toEqual({
211
+ reason: `Required TanStack template file is missing: ${missingFilePath}.`,
212
+ success: false
213
+ });
214
+ expect(snapshotDirectory(projectDir)).toEqual(before);
215
+ });
216
+ it('should accept an identical Payload-owned file and omit it from the write set', async ()=>{
217
+ const identicalFilePath = path.join(appDetails.routesDir, '_payload.tsx');
218
+ fse.outputFileSync(identicalFilePath, templateFiles['routes/_payload.tsx']);
219
+ const before = snapshotDirectory(projectDir);
220
+ const result = await prepareTanStackInit({
221
+ appDetails,
222
+ templateRoot
223
+ });
224
+ expect(result.success).toBe(true);
225
+ expect(snapshotDirectory(projectDir)).toEqual(before);
226
+ if (!result.success) {
227
+ throw new Error(result.reason);
228
+ }
229
+ expect(result.writes.some(({ filePath })=>filePath === identicalFilePath)).toBe(false);
230
+ });
231
+ });
232
+ describe('applyPreparedWrites', ()=>{
233
+ let projectDir;
234
+ beforeEach(()=>{
235
+ projectDir = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-apply-tanstack-writes-'));
236
+ });
237
+ afterEach(()=>{
238
+ fse.removeSync(projectDir);
239
+ });
240
+ it('should create parent directories and write the exact prepared content', async ()=>{
241
+ const writes = [
242
+ {
243
+ content: 'export const value = "preserve exact quotes"\n',
244
+ filePath: path.join(projectDir, 'nested/deep/file.ts')
245
+ },
246
+ {
247
+ content: '@layer payload;\n',
248
+ filePath: path.join(projectDir, 'src/payload.css')
249
+ }
250
+ ];
251
+ await applyPreparedWrites({
252
+ writes
253
+ });
254
+ expect(fse.readFileSync(writes[0].filePath, 'utf8')).toBe(writes[0].content);
255
+ expect(fse.readFileSync(writes[1].filePath, 'utf8')).toBe(writes[1].content);
256
+ });
257
+ });
258
+ function getPreparedContent({ filePath, writes }) {
259
+ const write = writes.find((candidate)=>candidate.filePath === filePath);
260
+ if (!write) {
261
+ throw new Error(`No prepared write found for ${filePath}.`);
262
+ }
263
+ return write.content;
264
+ }
265
+ function snapshotDirectory(root) {
266
+ if (!fse.pathExistsSync(root)) {
267
+ return {};
268
+ }
269
+ return fse.readdirSync(root).sort().reduce((snapshot, entry)=>{
270
+ const filePath = path.join(root, entry);
271
+ const relativePath = path.relative(root, filePath);
272
+ if (fse.statSync(filePath).isDirectory()) {
273
+ for (const [nestedPath, content] of Object.entries(snapshotDirectory(filePath))){
274
+ snapshot[path.join(relativePath, nestedPath)] = content;
275
+ }
276
+ } else {
277
+ snapshot[relativePath] = fse.readFileSync(filePath, 'utf8');
278
+ }
279
+ return snapshot;
280
+ }, {});
281
+ }
282
+ function writeFiles({ files, root }) {
283
+ for (const [relativePath, content] of Object.entries(files)){
284
+ fse.outputFileSync(path.join(root, relativePath), content);
285
+ }
286
+ }
287
+
288
+ //# sourceMappingURL=prepare.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/tanstack/prepare.spec.ts"],"sourcesContent":["import fse from 'fs-extra'\nimport os from 'node:os'\nimport path from 'node:path'\nimport { afterEach, beforeEach, describe, expect, it } from 'vitest'\n\nimport type { TanStackAppDetails } from '../../types.js'\n\nimport { applyPreparedWrites, prepareTanStackInit } from './prepare.js'\n\nconst routerContent = `import { createRouter } from '@tanstack/react-router'\n\nimport { routeTree } from './routeTree.gen'\n\nexport function getRouter() {\n return createRouter({\n routeTree,\n defaultPreload: 'intent',\n })\n}\n\ndeclare module '@tanstack/react-router' {\n interface Register {\n router: ReturnType<typeof getRouter>\n }\n}\n`\n\nconst rootRouteContent = `import { createRootRoute, HeadContent, Scripts } from '@tanstack/react-router'\nimport appCss from '../styles.css?url'\n\nexport const Route = createRootRoute({\n head: () => ({\n links: [{ rel: 'stylesheet', href: appCss }],\n meta: [{ title: 'Host app' }],\n }),\n shellComponent: RootDocument,\n})\n\nfunction RootDocument({ children }: { children: React.ReactNode }) {\n return (\n <html lang=\"en\">\n <head>\n <HeadContent />\n </head>\n <body>\n {children}\n <Scripts />\n </body>\n </html>\n )\n}\n`\n\nconst viteConfigContent = `import { tanstackStart } from '@tanstack/react-start/plugin/vite'\nimport viteReact from '@vitejs/plugin-react'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n plugins: [tanstackStart(), viteReact()],\n})\n`\n\nconst templateFiles = {\n 'routes/_payload.tsx': 'export const payloadLayout = true\\n',\n 'routes/_payload/admin.$.tsx': 'export const payloadAdminSplat = true\\n',\n 'routes/_payload/admin.index.tsx': 'export const payloadAdminIndex = true\\n',\n 'routes/_payload/api.$.ts': 'export const payloadApi = true\\n',\n 'routes/_payload/importMap.js': 'export const importMap = {}\\n',\n 'routes/_payload/server.functions.ts': 'export const payloadServerFunctions = true\\n',\n 'src/collections/Folders.ts': \"export const Folders = { slug: 'folders' }\\n\",\n 'src/collections/Media.ts': \"export const Media = { slug: 'media' }\\n\",\n 'src/collections/Tags.ts': \"export const Tags = { slug: 'tags' }\\n\",\n 'src/collections/Users.ts': \"export const Users = { slug: 'users' }\\n\",\n 'src/payload.css': \"@import '@payloadcms/ui/css/app.css';\\n\",\n 'src/payload.config.ts': 'export default { collections: [] }\\n',\n}\n\ndescribe('prepareTanStackInit', () => {\n let appDetails: TanStackAppDetails\n let projectDir: string\n let templateRoot: string\n\n beforeEach(() => {\n projectDir = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-prepare-tanstack-project-'))\n templateRoot = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-prepare-tanstack-template-'))\n\n writeFiles({\n root: projectDir,\n files: {\n 'src/router.tsx': routerContent,\n 'src/routes/__root.tsx': rootRouteContent,\n 'vite.config.ts': viteConfigContent,\n },\n })\n writeFiles({ files: templateFiles, root: templateRoot })\n\n appDetails = {\n isPayloadInstalled: false,\n kind: 'start',\n projectDir,\n rootRoutePath: path.join(projectDir, 'src/routes/__root.tsx'),\n routerPath: path.join(projectDir, 'src/router.tsx'),\n routesDir: path.join(projectDir, 'src/routes'),\n sourceDir: path.join(projectDir, 'src'),\n viteConfigPath: path.join(projectDir, 'vite.config.ts'),\n }\n })\n\n afterEach(() => {\n fse.removeSync(projectDir)\n fse.removeSync(templateRoot)\n })\n\n it('should prepare every host transformation and Payload-owned file without writing to disk', async () => {\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result.success).toBe(true)\n expect(snapshotDirectory(projectDir)).toEqual(before)\n\n if (!result.success) {\n throw new Error(result.reason)\n }\n\n expect(result.writes.map(({ filePath }) => path.relative(projectDir, filePath)).sort()).toEqual(\n [\n 'src/collections/Folders.ts',\n 'src/collections/Media.ts',\n 'src/collections/Tags.ts',\n 'src/collections/Users.ts',\n 'src/payload.config.ts',\n 'src/payload.css',\n 'src/router.tsx',\n 'src/routes/__root.tsx',\n 'src/routes/_payload.tsx',\n 'src/routes/_payload/admin.$.tsx',\n 'src/routes/_payload/admin.index.tsx',\n 'src/routes/_payload/api.$.ts',\n 'src/routes/_payload/importMap.js',\n 'src/routes/_payload/server.functions.ts',\n 'vite.config.ts',\n ],\n )\n expect(\n getPreparedContent({ filePath: appDetails.viteConfigPath, writes: result.writes }),\n ).toContain('withPayload(')\n expect(\n getPreparedContent({ filePath: appDetails.routerPath, writes: result.writes }),\n ).toContain('parseSearch: payloadParseSearch')\n expect(\n getPreparedContent({ filePath: appDetails.rootRoutePath, writes: result.writes }),\n ).toContain('withPayloadRoot(')\n expect(\n getPreparedContent({\n filePath: path.join(appDetails.routesDir, '_payload/api.$.ts'),\n writes: result.writes,\n }),\n ).toBe(templateFiles['routes/_payload/api.$.ts'])\n })\n\n it('should reject a non-identical Payload-owned file collision without writing to disk', async () => {\n fse.outputFileSync(path.join(appDetails.routesDir, '_payload.tsx'), 'custom route\\n')\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result).toEqual({\n reason: `A different file already exists at ${path.join(appDetails.routesDir, '_payload.tsx')}.`,\n success: false,\n })\n expect(snapshotDirectory(projectDir)).toEqual(before)\n })\n\n it('should reject a host file that cannot be transformed without writing to disk', async () => {\n fse.writeFileSync(appDetails.routerPath, 'export function getRouter() {}\\n')\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result).toEqual({\n reason: `Could not transform ${appDetails.routerPath}: Could not identify the createRouter import.`,\n success: false,\n })\n expect(snapshotDirectory(projectDir)).toEqual(before)\n })\n\n it('should reject a missing required template file without writing to disk', async () => {\n fse.removeSync(path.join(templateRoot, 'src/payload.config.ts'))\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result).toEqual({\n reason: `Required TanStack template file is missing: ${path.join(templateRoot, 'src/payload.config.ts')}.`,\n success: false,\n })\n expect(snapshotDirectory(projectDir)).toEqual(before)\n })\n\n it('should reject a missing nested Payload route without writing to disk', async () => {\n const missingFilePath = path.join(templateRoot, 'routes/_payload/server.functions.ts')\n fse.removeSync(missingFilePath)\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result).toEqual({\n reason: `Required TanStack template file is missing: ${missingFilePath}.`,\n success: false,\n })\n expect(snapshotDirectory(projectDir)).toEqual(before)\n })\n\n it('should reject a missing collection without writing to disk', async () => {\n const missingFilePath = path.join(templateRoot, 'src/collections/Folders.ts')\n fse.removeSync(missingFilePath)\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result).toEqual({\n reason: `Required TanStack template file is missing: ${missingFilePath}.`,\n success: false,\n })\n expect(snapshotDirectory(projectDir)).toEqual(before)\n })\n\n it('should accept an identical Payload-owned file and omit it from the write set', async () => {\n const identicalFilePath = path.join(appDetails.routesDir, '_payload.tsx')\n fse.outputFileSync(identicalFilePath, templateFiles['routes/_payload.tsx'])\n const before = snapshotDirectory(projectDir)\n\n const result = await prepareTanStackInit({ appDetails, templateRoot })\n\n expect(result.success).toBe(true)\n expect(snapshotDirectory(projectDir)).toEqual(before)\n\n if (!result.success) {\n throw new Error(result.reason)\n }\n\n expect(result.writes.some(({ filePath }) => filePath === identicalFilePath)).toBe(false)\n })\n})\n\ndescribe('applyPreparedWrites', () => {\n let projectDir: string\n\n beforeEach(() => {\n projectDir = fse.mkdtempSync(path.join(os.tmpdir(), 'cpa-apply-tanstack-writes-'))\n })\n\n afterEach(() => {\n fse.removeSync(projectDir)\n })\n\n it('should create parent directories and write the exact prepared content', async () => {\n const writes = [\n {\n content: 'export const value = \"preserve exact quotes\"\\n',\n filePath: path.join(projectDir, 'nested/deep/file.ts'),\n },\n {\n content: '@layer payload;\\n',\n filePath: path.join(projectDir, 'src/payload.css'),\n },\n ]\n\n await applyPreparedWrites({ writes })\n\n expect(fse.readFileSync(writes[0]!.filePath, 'utf8')).toBe(writes[0]!.content)\n expect(fse.readFileSync(writes[1]!.filePath, 'utf8')).toBe(writes[1]!.content)\n })\n})\n\nfunction getPreparedContent({\n filePath,\n writes,\n}: {\n filePath: string\n writes: { content: string; filePath: string }[]\n}) {\n const write = writes.find((candidate) => candidate.filePath === filePath)\n\n if (!write) {\n throw new Error(`No prepared write found for ${filePath}.`)\n }\n\n return write.content\n}\n\nfunction snapshotDirectory(root: string): Record<string, string> {\n if (!fse.pathExistsSync(root)) {\n return {}\n }\n\n return fse\n .readdirSync(root)\n .sort()\n .reduce<Record<string, string>>((snapshot, entry) => {\n const filePath = path.join(root, entry)\n const relativePath = path.relative(root, filePath)\n\n if (fse.statSync(filePath).isDirectory()) {\n for (const [nestedPath, content] of Object.entries(snapshotDirectory(filePath))) {\n snapshot[path.join(relativePath, nestedPath)] = content\n }\n } else {\n snapshot[relativePath] = fse.readFileSync(filePath, 'utf8')\n }\n\n return snapshot\n }, {})\n}\n\nfunction writeFiles({ files, root }: { files: Record<string, string>; root: string }) {\n for (const [relativePath, content] of Object.entries(files)) {\n fse.outputFileSync(path.join(root, relativePath), content)\n }\n}\n"],"names":["fse","os","path","afterEach","beforeEach","describe","expect","it","applyPreparedWrites","prepareTanStackInit","routerContent","rootRouteContent","viteConfigContent","templateFiles","appDetails","projectDir","templateRoot","mkdtempSync","join","tmpdir","writeFiles","root","files","isPayloadInstalled","kind","rootRoutePath","routerPath","routesDir","sourceDir","viteConfigPath","removeSync","before","snapshotDirectory","result","success","toBe","toEqual","Error","reason","writes","map","filePath","relative","sort","getPreparedContent","toContain","outputFileSync","writeFileSync","missingFilePath","identicalFilePath","some","content","readFileSync","write","find","candidate","pathExistsSync","readdirSync","reduce","snapshot","entry","relativePath","statSync","isDirectory","nestedPath","Object","entries"],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export declare const TANSTACK_TEMPLATE_FILES: readonly [{
2
+ readonly destination: 'routes';
3
+ readonly relativePath: '_payload.tsx';
4
+ readonly sourcePath: 'app/_payload.tsx';
5
+ }, {
6
+ readonly destination: 'routes';
7
+ readonly relativePath: '_payload/admin.$.tsx';
8
+ readonly sourcePath: 'app/_payload/admin.$.tsx';
9
+ }, {
10
+ readonly destination: 'routes';
11
+ readonly relativePath: '_payload/admin.index.tsx';
12
+ readonly sourcePath: 'app/_payload/admin.index.tsx';
13
+ }, {
14
+ readonly destination: 'routes';
15
+ readonly relativePath: '_payload/api.$.ts';
16
+ readonly sourcePath: 'app/_payload/api.$.ts';
17
+ }, {
18
+ readonly destination: 'routes';
19
+ readonly relativePath: '_payload/importMap.js';
20
+ readonly sourcePath: 'app/_payload/importMap.js';
21
+ }, {
22
+ readonly destination: 'routes';
23
+ readonly relativePath: '_payload/server.functions.ts';
24
+ readonly sourcePath: 'app/_payload/server.functions.ts';
25
+ }, {
26
+ readonly destination: 'src';
27
+ readonly relativePath: 'collections/Folders.ts';
28
+ readonly sourcePath: 'collections/Folders.ts';
29
+ }, {
30
+ readonly destination: 'src';
31
+ readonly relativePath: 'collections/Media.ts';
32
+ readonly sourcePath: 'collections/Media.ts';
33
+ }, {
34
+ readonly destination: 'src';
35
+ readonly relativePath: 'collections/Tags.ts';
36
+ readonly sourcePath: 'collections/Tags.ts';
37
+ }, {
38
+ readonly destination: 'src';
39
+ readonly relativePath: 'collections/Users.ts';
40
+ readonly sourcePath: 'collections/Users.ts';
41
+ }, {
42
+ readonly destination: 'src';
43
+ readonly relativePath: 'payload.css';
44
+ readonly sourcePath: 'payload.css';
45
+ }, {
46
+ readonly destination: 'src';
47
+ readonly relativePath: 'payload.config.ts';
48
+ readonly sourcePath: 'payload.config.ts';
49
+ }];
50
+ //# sourceMappingURL=template-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"template-files.d.ts","sourceRoot":"","sources":["../../../src/lib/tanstack/template-files.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB;aAEhC,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,cAAc;aAC5B,UAAU,EAAE,kBAAkB;;aAG9B,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,sBAAsB;aACpC,UAAU,EAAE,0BAA0B;;aAGtC,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,0BAA0B;aACxC,UAAU,EAAE,8BAA8B;;aAG1C,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,mBAAmB;aACjC,UAAU,EAAE,uBAAuB;;aAGnC,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,uBAAuB;aACrC,UAAU,EAAE,2BAA2B;;aAGvC,WAAW,EAAE,QAAQ;aACrB,YAAY,EAAE,8BAA8B;aAC5C,UAAU,EAAE,kCAAkC;;aAG9C,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,wBAAwB;aACtC,UAAU,EAAE,wBAAwB;;aAGpC,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,sBAAsB;aACpC,UAAU,EAAE,sBAAsB;;aAGlC,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,qBAAqB;aACnC,UAAU,EAAE,qBAAqB;;aAGjC,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,sBAAsB;aACpC,UAAU,EAAE,sBAAsB;;aAGlC,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,aAAa;aAC3B,UAAU,EAAE,aAAa;;aAGzB,WAAW,EAAE,KAAK;aAClB,YAAY,EAAE,mBAAmB;aACjC,UAAU,EAAE,mBAAmB;EAEzB,CAAA"}
@@ -0,0 +1,64 @@
1
+ export const TANSTACK_TEMPLATE_FILES = [
2
+ {
3
+ destination: 'routes',
4
+ relativePath: '_payload.tsx',
5
+ sourcePath: 'app/_payload.tsx'
6
+ },
7
+ {
8
+ destination: 'routes',
9
+ relativePath: '_payload/admin.$.tsx',
10
+ sourcePath: 'app/_payload/admin.$.tsx'
11
+ },
12
+ {
13
+ destination: 'routes',
14
+ relativePath: '_payload/admin.index.tsx',
15
+ sourcePath: 'app/_payload/admin.index.tsx'
16
+ },
17
+ {
18
+ destination: 'routes',
19
+ relativePath: '_payload/api.$.ts',
20
+ sourcePath: 'app/_payload/api.$.ts'
21
+ },
22
+ {
23
+ destination: 'routes',
24
+ relativePath: '_payload/importMap.js',
25
+ sourcePath: 'app/_payload/importMap.js'
26
+ },
27
+ {
28
+ destination: 'routes',
29
+ relativePath: '_payload/server.functions.ts',
30
+ sourcePath: 'app/_payload/server.functions.ts'
31
+ },
32
+ {
33
+ destination: 'src',
34
+ relativePath: 'collections/Folders.ts',
35
+ sourcePath: 'collections/Folders.ts'
36
+ },
37
+ {
38
+ destination: 'src',
39
+ relativePath: 'collections/Media.ts',
40
+ sourcePath: 'collections/Media.ts'
41
+ },
42
+ {
43
+ destination: 'src',
44
+ relativePath: 'collections/Tags.ts',
45
+ sourcePath: 'collections/Tags.ts'
46
+ },
47
+ {
48
+ destination: 'src',
49
+ relativePath: 'collections/Users.ts',
50
+ sourcePath: 'collections/Users.ts'
51
+ },
52
+ {
53
+ destination: 'src',
54
+ relativePath: 'payload.css',
55
+ sourcePath: 'payload.css'
56
+ },
57
+ {
58
+ destination: 'src',
59
+ relativePath: 'payload.config.ts',
60
+ sourcePath: 'payload.config.ts'
61
+ }
62
+ ];
63
+
64
+ //# sourceMappingURL=template-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/lib/tanstack/template-files.ts"],"sourcesContent":["export const TANSTACK_TEMPLATE_FILES = [\n {\n destination: 'routes',\n relativePath: '_payload.tsx',\n sourcePath: 'app/_payload.tsx',\n },\n {\n destination: 'routes',\n relativePath: '_payload/admin.$.tsx',\n sourcePath: 'app/_payload/admin.$.tsx',\n },\n {\n destination: 'routes',\n relativePath: '_payload/admin.index.tsx',\n sourcePath: 'app/_payload/admin.index.tsx',\n },\n {\n destination: 'routes',\n relativePath: '_payload/api.$.ts',\n sourcePath: 'app/_payload/api.$.ts',\n },\n {\n destination: 'routes',\n relativePath: '_payload/importMap.js',\n sourcePath: 'app/_payload/importMap.js',\n },\n {\n destination: 'routes',\n relativePath: '_payload/server.functions.ts',\n sourcePath: 'app/_payload/server.functions.ts',\n },\n {\n destination: 'src',\n relativePath: 'collections/Folders.ts',\n sourcePath: 'collections/Folders.ts',\n },\n {\n destination: 'src',\n relativePath: 'collections/Media.ts',\n sourcePath: 'collections/Media.ts',\n },\n {\n destination: 'src',\n relativePath: 'collections/Tags.ts',\n sourcePath: 'collections/Tags.ts',\n },\n {\n destination: 'src',\n relativePath: 'collections/Users.ts',\n sourcePath: 'collections/Users.ts',\n },\n {\n destination: 'src',\n relativePath: 'payload.css',\n sourcePath: 'payload.css',\n },\n {\n destination: 'src',\n relativePath: 'payload.config.ts',\n sourcePath: 'payload.config.ts',\n },\n] as const\n"],"names":["TANSTACK_TEMPLATE_FILES","destination","relativePath","sourcePath"],"mappings":"AAAA,OAAO,MAAMA,0BAA0B;IACrC;QACEC,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;IACA;QACEF,aAAa;QACbC,cAAc;QACdC,YAAY;IACd;CACD,CAAS"}
@@ -0,0 +1,7 @@
1
+ import type { TanStackAppDetails } from '../../types.js';
2
+ import type { TextTransformResult } from './transform-vite-config.js';
3
+ export declare function transformTanStackRootRoute({ content, kind, }: {
4
+ content: string;
5
+ kind: TanStackAppDetails['kind'];
6
+ }): TextTransformResult;
7
+ //# sourceMappingURL=transform-root-route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transform-root-route.d.ts","sourceRoot":"","sources":["../../../src/lib/tanstack/transform-root-route.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAkBrE,wBAAgB,0BAA0B,CAAC,EACzC,OAAO,EACP,IAAI,GACL,EAAE;IACD,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAA;CACjC,GAAG,mBAAmB,CAyCtB"}