@tanstack/create 0.59.4 → 0.61.0
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/CHANGELOG.md +147 -0
- package/dist/create-app.js +7 -5
- package/dist/file-helpers.js +13 -1
- package/dist/frameworks/react/add-ons/ai/info.json +0 -5
- package/dist/frameworks/react/add-ons/ai/package.json +0 -1
- package/dist/frameworks/{solid/add-ons/better-auth/README.md → react/add-ons/better-auth/README.md.ejs} +2 -2
- package/dist/frameworks/react/add-ons/better-auth/assets/_dot_env.local.append.ejs +3 -0
- package/dist/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +3 -1
- package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +3 -1
- package/dist/frameworks/react/add-ons/convex/README.md.ejs +4 -0
- package/dist/frameworks/react/add-ons/drizzle/assets/src/routes/demo/{drizzle.tsx → drizzle.tsx.ejs} +3 -3
- package/dist/frameworks/react/add-ons/neon/assets/_dot_env.example.append +2 -2
- package/dist/frameworks/react/add-ons/neon/assets/neon-vite-plugin.ts +1 -1
- package/dist/frameworks/react/add-ons/neon/assets/src/db.ts +2 -2
- package/dist/frameworks/react/add-ons/posthog/README.md +9 -0
- package/dist/frameworks/react/add-ons/posthog/assets/_dot_env.local.append +4 -0
- package/dist/frameworks/react/add-ons/posthog/assets/src/integrations/posthog/provider.tsx +20 -0
- package/dist/frameworks/react/add-ons/posthog/assets/src/routes/demo/posthog.tsx +93 -0
- package/dist/frameworks/react/add-ons/posthog/files.json +5 -0
- package/dist/frameworks/react/add-ons/posthog/info.json +28 -0
- package/dist/frameworks/react/add-ons/posthog/package.json +6 -0
- package/dist/frameworks/react/add-ons/prisma/assets/src/routes/demo/{prisma.tsx → prisma.tsx.ejs} +3 -3
- package/dist/frameworks/react/add-ons/prisma/package.json.ejs +1 -1
- package/dist/frameworks/react/add-ons/sentry/package.json +1 -1
- package/dist/frameworks/react/add-ons/tanstack-query/info.json +1 -1
- package/dist/frameworks/react/hosts/nitro/info.json +1 -1
- package/dist/frameworks/react/hosts/railway/info.json +1 -1
- package/dist/frameworks/react/project/base/README.md.ejs +1 -1
- package/dist/frameworks/react/project/base/package.json +1 -1
- package/dist/frameworks/react/project/base/vite.config.ts.ejs +1 -1
- package/dist/frameworks/{react/add-ons/better-auth/README.md → solid/add-ons/better-auth/README.md.ejs} +2 -2
- package/dist/frameworks/solid/add-ons/better-auth/assets/_dot_env.local.append.ejs +3 -0
- package/dist/frameworks/solid/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +3 -1
- package/dist/frameworks/solid/add-ons/better-auth/assets/src/routes/demo.better-auth.tsx +3 -1
- package/dist/frameworks/solid/add-ons/convex/README.md.ejs +4 -0
- package/{src/frameworks/solid/add-ons/solid-ui/README.md → dist/frameworks/solid/add-ons/solid-ui/README.md.ejs} +1 -1
- package/dist/frameworks/solid/add-ons/solid-ui/info.json +1 -5
- package/dist/frameworks/solid/project/base/README.md.ejs +1 -1
- package/dist/frameworks.js +6 -0
- package/dist/package-manager.js +29 -0
- package/dist/template-file.js +8 -1
- package/dist/types/custom-add-ons/add-on.d.ts +2 -1
- package/dist/types/package-manager.d.ts +7 -0
- package/dist/types/types.d.ts +21 -15
- package/dist/types/utils.d.ts +2 -0
- package/dist/types.js +2 -0
- package/dist/utils.js +6 -0
- package/package.json +1 -1
- package/src/create-app.ts +9 -6
- package/src/file-helpers.ts +12 -1
- package/src/frameworks/react/add-ons/ai/info.json +0 -5
- package/src/frameworks/react/add-ons/ai/package.json +0 -1
- package/src/frameworks/react/add-ons/better-auth/{README.md → README.md.ejs} +2 -2
- package/src/frameworks/react/add-ons/better-auth/assets/_dot_env.local.append.ejs +3 -0
- package/src/frameworks/react/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +3 -1
- package/src/frameworks/react/add-ons/better-auth/assets/src/routes/demo/better-auth.tsx +3 -1
- package/src/frameworks/react/add-ons/convex/README.md.ejs +4 -0
- package/src/frameworks/react/add-ons/drizzle/assets/src/routes/demo/{drizzle.tsx → drizzle.tsx.ejs} +3 -3
- package/src/frameworks/react/add-ons/neon/assets/_dot_env.example.append +2 -2
- package/src/frameworks/react/add-ons/neon/assets/neon-vite-plugin.ts +1 -1
- package/src/frameworks/react/add-ons/neon/assets/src/db.ts +2 -2
- package/src/frameworks/react/add-ons/posthog/README.md +9 -0
- package/src/frameworks/react/add-ons/posthog/assets/_dot_env.local.append +4 -0
- package/src/frameworks/react/add-ons/posthog/assets/src/integrations/posthog/provider.tsx +20 -0
- package/src/frameworks/react/add-ons/posthog/assets/src/routes/demo/posthog.tsx +93 -0
- package/src/frameworks/react/add-ons/posthog/files.json +5 -0
- package/src/frameworks/react/add-ons/posthog/info.json +28 -0
- package/src/frameworks/react/add-ons/posthog/package.json +6 -0
- package/src/frameworks/react/add-ons/prisma/assets/src/routes/demo/{prisma.tsx → prisma.tsx.ejs} +3 -3
- package/src/frameworks/react/add-ons/prisma/package.json.ejs +1 -1
- package/src/frameworks/react/add-ons/sentry/package.json +1 -1
- package/src/frameworks/react/add-ons/tanstack-query/info.json +1 -1
- package/src/frameworks/react/hosts/nitro/info.json +1 -1
- package/src/frameworks/react/hosts/railway/info.json +1 -1
- package/src/frameworks/react/project/base/README.md.ejs +1 -1
- package/src/frameworks/react/project/base/package.json +1 -1
- package/src/frameworks/react/project/base/vite.config.ts.ejs +1 -1
- package/src/frameworks/solid/add-ons/better-auth/{README.md → README.md.ejs} +2 -2
- package/src/frameworks/solid/add-ons/better-auth/assets/_dot_env.local.append.ejs +3 -0
- package/src/frameworks/solid/add-ons/better-auth/assets/src/integrations/better-auth/header-user.tsx +3 -1
- package/src/frameworks/solid/add-ons/better-auth/assets/src/routes/demo.better-auth.tsx +3 -1
- package/src/frameworks/solid/add-ons/convex/README.md.ejs +4 -0
- package/{dist/frameworks/solid/add-ons/solid-ui/README.md → src/frameworks/solid/add-ons/solid-ui/README.md.ejs} +1 -1
- package/src/frameworks/solid/add-ons/solid-ui/info.json +1 -5
- package/src/frameworks/solid/project/base/README.md.ejs +1 -1
- package/src/frameworks.ts +8 -0
- package/src/package-manager.ts +37 -0
- package/src/template-file.ts +14 -0
- package/src/types.ts +2 -0
- package/src/utils.ts +8 -0
- package/tests/file-helper.test.ts +6 -0
- package/tests/package-manager.test.ts +159 -0
- package/tests/template-file.test.ts +13 -0
- package/dist/frameworks/react/add-ons/ai/assets/src/lib/ai-devtools.tsx +0 -3
- package/dist/frameworks/react/add-ons/better-auth/assets/_dot_env.local.append +0 -3
- package/dist/frameworks/react/add-ons/convex/README.md +0 -4
- package/dist/frameworks/solid/add-ons/better-auth/assets/_dot_env.local.append +0 -3
- package/dist/frameworks/solid/add-ons/convex/README.md +0 -4
- package/src/frameworks/react/add-ons/ai/assets/src/lib/ai-devtools.tsx +0 -3
- package/src/frameworks/react/add-ons/better-auth/assets/_dot_env.local.append +0 -3
- package/src/frameworks/react/add-ons/convex/README.md +0 -4
- package/src/frameworks/solid/add-ons/better-auth/assets/_dot_env.local.append +0 -3
- package/src/frameworks/solid/add-ons/convex/README.md +0 -4
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
getPackageManagerExecuteCommand,
|
|
5
5
|
getPackageManagerInstallCommand,
|
|
6
6
|
getPackageManagerScriptCommand,
|
|
7
|
+
translateExecuteCommand,
|
|
7
8
|
} from '../src/package-manager.js'
|
|
8
9
|
import { formatCommand } from '../src/utils.js'
|
|
9
10
|
|
|
@@ -152,3 +153,161 @@ describe('getPackageManagerInstallCommand', () => {
|
|
|
152
153
|
).toBe('npm install vitest -D')
|
|
153
154
|
})
|
|
154
155
|
})
|
|
156
|
+
|
|
157
|
+
describe('translateExecuteCommand', () => {
|
|
158
|
+
it('should translate npx to bunx for bun', () => {
|
|
159
|
+
expect(
|
|
160
|
+
formatCommand(
|
|
161
|
+
translateExecuteCommand('bun', {
|
|
162
|
+
command: 'npx',
|
|
163
|
+
args: ['shadcn', 'add', 'button'],
|
|
164
|
+
}),
|
|
165
|
+
),
|
|
166
|
+
).toBe('bunx --bun shadcn add button')
|
|
167
|
+
})
|
|
168
|
+
it('should translate npx to pnpm dlx for pnpm', () => {
|
|
169
|
+
expect(
|
|
170
|
+
formatCommand(
|
|
171
|
+
translateExecuteCommand('pnpm', {
|
|
172
|
+
command: 'npx',
|
|
173
|
+
args: ['shadcn', 'add', 'button'],
|
|
174
|
+
}),
|
|
175
|
+
),
|
|
176
|
+
).toBe('pnpm dlx shadcn add button')
|
|
177
|
+
})
|
|
178
|
+
it('should translate npx to yarn dlx for yarn', () => {
|
|
179
|
+
expect(
|
|
180
|
+
formatCommand(
|
|
181
|
+
translateExecuteCommand('yarn', {
|
|
182
|
+
command: 'npx',
|
|
183
|
+
args: ['shadcn', 'add', 'button'],
|
|
184
|
+
}),
|
|
185
|
+
),
|
|
186
|
+
).toBe('yarn dlx shadcn add button')
|
|
187
|
+
})
|
|
188
|
+
it('should translate npx to deno run for deno', () => {
|
|
189
|
+
expect(
|
|
190
|
+
formatCommand(
|
|
191
|
+
translateExecuteCommand('deno', {
|
|
192
|
+
command: 'npx',
|
|
193
|
+
args: ['shadcn', 'add', 'button'],
|
|
194
|
+
}),
|
|
195
|
+
),
|
|
196
|
+
).toBe('deno run npm:shadcn add button')
|
|
197
|
+
})
|
|
198
|
+
it('should keep npx -y for npm', () => {
|
|
199
|
+
expect(
|
|
200
|
+
formatCommand(
|
|
201
|
+
translateExecuteCommand('npm', {
|
|
202
|
+
command: 'npx',
|
|
203
|
+
args: ['shadcn', 'add', 'button'],
|
|
204
|
+
}),
|
|
205
|
+
),
|
|
206
|
+
).toBe('npx -y shadcn add button')
|
|
207
|
+
})
|
|
208
|
+
it('should pass through non-npx commands unchanged', () => {
|
|
209
|
+
expect(
|
|
210
|
+
formatCommand(
|
|
211
|
+
translateExecuteCommand('bun', {
|
|
212
|
+
command: 'node',
|
|
213
|
+
args: ['script.js'],
|
|
214
|
+
}),
|
|
215
|
+
),
|
|
216
|
+
).toBe('node script.js')
|
|
217
|
+
})
|
|
218
|
+
it('should handle missing args gracefully', () => {
|
|
219
|
+
expect(
|
|
220
|
+
formatCommand(translateExecuteCommand('bun', { command: 'npx' })),
|
|
221
|
+
).toBe('npx')
|
|
222
|
+
})
|
|
223
|
+
it('should strip -y flag from npx input', () => {
|
|
224
|
+
expect(
|
|
225
|
+
formatCommand(
|
|
226
|
+
translateExecuteCommand('pnpm', {
|
|
227
|
+
command: 'npx',
|
|
228
|
+
args: ['-y', 'shadcn', 'add', 'button'],
|
|
229
|
+
}),
|
|
230
|
+
),
|
|
231
|
+
).toBe('pnpm dlx shadcn add button')
|
|
232
|
+
})
|
|
233
|
+
it('should translate bunx to target package manager', () => {
|
|
234
|
+
expect(
|
|
235
|
+
formatCommand(
|
|
236
|
+
translateExecuteCommand('pnpm', {
|
|
237
|
+
command: 'bunx',
|
|
238
|
+
args: ['shadcn', 'add', 'button'],
|
|
239
|
+
}),
|
|
240
|
+
),
|
|
241
|
+
).toBe('pnpm dlx shadcn add button')
|
|
242
|
+
})
|
|
243
|
+
it('should strip --bun flag from bunx input', () => {
|
|
244
|
+
expect(
|
|
245
|
+
formatCommand(
|
|
246
|
+
translateExecuteCommand('pnpm', {
|
|
247
|
+
command: 'bunx',
|
|
248
|
+
args: ['--bun', 'shadcn', 'add', 'button'],
|
|
249
|
+
}),
|
|
250
|
+
),
|
|
251
|
+
).toBe('pnpm dlx shadcn add button')
|
|
252
|
+
})
|
|
253
|
+
it('should translate pnpx to target package manager', () => {
|
|
254
|
+
expect(
|
|
255
|
+
formatCommand(
|
|
256
|
+
translateExecuteCommand('yarn', {
|
|
257
|
+
command: 'pnpx',
|
|
258
|
+
args: ['shadcn', 'add', 'button'],
|
|
259
|
+
}),
|
|
260
|
+
),
|
|
261
|
+
).toBe('yarn dlx shadcn add button')
|
|
262
|
+
})
|
|
263
|
+
it('should translate pnpm dlx to target package manager', () => {
|
|
264
|
+
expect(
|
|
265
|
+
formatCommand(
|
|
266
|
+
translateExecuteCommand('bun', {
|
|
267
|
+
command: 'pnpm',
|
|
268
|
+
args: ['dlx', 'shadcn', 'add', 'button'],
|
|
269
|
+
}),
|
|
270
|
+
),
|
|
271
|
+
).toBe('bunx --bun shadcn add button')
|
|
272
|
+
})
|
|
273
|
+
it('should translate yarn dlx to target package manager', () => {
|
|
274
|
+
expect(
|
|
275
|
+
formatCommand(
|
|
276
|
+
translateExecuteCommand('npm', {
|
|
277
|
+
command: 'yarn',
|
|
278
|
+
args: ['dlx', 'shadcn', 'add', 'button'],
|
|
279
|
+
}),
|
|
280
|
+
),
|
|
281
|
+
).toBe('npx -y shadcn add button')
|
|
282
|
+
})
|
|
283
|
+
it('should translate deno run npm: to target package manager', () => {
|
|
284
|
+
expect(
|
|
285
|
+
formatCommand(
|
|
286
|
+
translateExecuteCommand('pnpm', {
|
|
287
|
+
command: 'deno',
|
|
288
|
+
args: ['run', 'npm:shadcn', 'add', 'button'],
|
|
289
|
+
}),
|
|
290
|
+
),
|
|
291
|
+
).toBe('pnpm dlx shadcn add button')
|
|
292
|
+
})
|
|
293
|
+
it('should pass through non-execute pnpm commands unchanged', () => {
|
|
294
|
+
expect(
|
|
295
|
+
formatCommand(
|
|
296
|
+
translateExecuteCommand('bun', {
|
|
297
|
+
command: 'pnpm',
|
|
298
|
+
args: ['install'],
|
|
299
|
+
}),
|
|
300
|
+
),
|
|
301
|
+
).toBe('pnpm install')
|
|
302
|
+
})
|
|
303
|
+
it('should pass through non-execute deno commands unchanged', () => {
|
|
304
|
+
expect(
|
|
305
|
+
formatCommand(
|
|
306
|
+
translateExecuteCommand('npm', {
|
|
307
|
+
command: 'deno',
|
|
308
|
+
args: ['task', 'dev'],
|
|
309
|
+
}),
|
|
310
|
+
),
|
|
311
|
+
).toBe('deno task dev')
|
|
312
|
+
})
|
|
313
|
+
})
|
|
@@ -176,6 +176,19 @@ describe('createTemplateFile', () => {
|
|
|
176
176
|
expect(output.files['/test/run-dev.txt']).toEqual('pnpm dev')
|
|
177
177
|
})
|
|
178
178
|
|
|
179
|
+
it('should handle package manager execute script', async () => {
|
|
180
|
+
const { environment, output } = createMemoryEnvironment()
|
|
181
|
+
const templateFile = createTemplateFile(environment, simpleOptions)
|
|
182
|
+
environment.startRun()
|
|
183
|
+
await templateFile(
|
|
184
|
+
'exec.txt.ejs',
|
|
185
|
+
"<%= getPackageManagerExecuteScript('shadcn', ['add', 'button']) %>",
|
|
186
|
+
)
|
|
187
|
+
environment.finishRun()
|
|
188
|
+
|
|
189
|
+
expect(output.files['/test/exec.txt']).toEqual('pnpm dlx shadcn add button')
|
|
190
|
+
})
|
|
191
|
+
|
|
179
192
|
it('should normalize src js files to ts when typescript is enabled', async () => {
|
|
180
193
|
const { environment, output } = createMemoryEnvironment()
|
|
181
194
|
const templateFile = createTemplateFile(environment, simpleOptions)
|