create-tsrouter-app 0.9.4 → 0.9.6

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.
@@ -5,6 +5,7 @@ import { render } from 'ejs';
5
5
  import { format } from 'prettier';
6
6
  import chalk from 'chalk';
7
7
  import { CODE_ROUTER, FILE_ROUTER } from './constants.js';
8
+ import { packageManagerExecute } from './package-manager.js';
8
9
  function sortObject(obj) {
9
10
  return Object.keys(obj)
10
11
  .sort()
@@ -306,7 +307,7 @@ export async function createApp(options, { silent = false, environment, }) {
306
307
  }
307
308
  if (shadcnComponents.size > 0) {
308
309
  s?.start(`Installing shadcn components (${Array.from(shadcnComponents).join(', ')})...`);
309
- await environment.execute('npx', ['shadcn@canary', 'add', '--silent', '--yes', ...shadcnComponents], resolve(targetDir));
310
+ await packageManagerExecute(environment, options.packageManager, 'shadcn@latest', ['add', '--silent', '--yes', ...shadcnComponents], resolve(targetDir));
310
311
  s?.stop(`Installed additional shadcn components`);
311
312
  }
312
313
  }
@@ -14,3 +14,17 @@ export function getPackageManager() {
14
14
  const packageManager = SUPPORTED_PACKAGE_MANAGERS.find((manager) => userAgent.startsWith(manager));
15
15
  return packageManager;
16
16
  }
17
+ export function packageManagerExecute(environment, packagerManager, pkg, args, cwd) {
18
+ switch (packagerManager) {
19
+ case 'yarn':
20
+ return environment.execute('yarn', ['dlx', pkg, ...args], cwd);
21
+ case 'pnpm':
22
+ return environment.execute('pnpx', [pkg, ...args], cwd);
23
+ case 'bun':
24
+ return environment.execute('bunx', ['--bun', pkg, ...args], cwd);
25
+ case 'deno':
26
+ return environment.execute('deno', ['run', `npm:${pkg}`, ...args], cwd);
27
+ default:
28
+ return environment.execute('npx', [pkg, ...args], cwd);
29
+ }
30
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-tsrouter-app",
3
- "version": "0.9.4",
3
+ "version": "0.9.6",
4
4
  "description": "Tanstack Application Builder",
5
5
  "bin": "./dist/index.js",
6
6
  "type": "module",
package/src/create-app.ts CHANGED
@@ -6,6 +6,7 @@ import { format } from 'prettier'
6
6
  import chalk from 'chalk'
7
7
 
8
8
  import { CODE_ROUTER, FILE_ROUTER } from './constants.js'
9
+ import { packageManagerExecute } from './package-manager.js'
9
10
 
10
11
  import type { Environment } from './environment.js'
11
12
  import type { Options } from './types.js'
@@ -485,9 +486,11 @@ export async function createApp(
485
486
  s?.start(
486
487
  `Installing shadcn components (${Array.from(shadcnComponents).join(', ')})...`,
487
488
  )
488
- await environment.execute(
489
- 'npx',
490
- ['shadcn@canary', 'add', '--silent', '--yes', ...shadcnComponents],
489
+ await packageManagerExecute(
490
+ environment,
491
+ options.packageManager,
492
+ 'shadcn@latest',
493
+ ['add', '--silent', '--yes', ...shadcnComponents],
491
494
  resolve(targetDir),
492
495
  )
493
496
  s?.stop(`Installed additional shadcn components`)
@@ -1,3 +1,5 @@
1
+ import type { Environment } from './environment'
2
+
1
3
  export const SUPPORTED_PACKAGE_MANAGERS = [
2
4
  'npm',
3
5
  'yarn',
@@ -21,3 +23,24 @@ export function getPackageManager(): PackageManager | undefined {
21
23
 
22
24
  return packageManager
23
25
  }
26
+
27
+ export function packageManagerExecute(
28
+ environment: Environment,
29
+ packagerManager: PackageManager,
30
+ pkg: string,
31
+ args: Array<string>,
32
+ cwd: string,
33
+ ) {
34
+ switch (packagerManager) {
35
+ case 'yarn':
36
+ return environment.execute('yarn', ['dlx', pkg, ...args], cwd)
37
+ case 'pnpm':
38
+ return environment.execute('pnpx', [pkg, ...args], cwd)
39
+ case 'bun':
40
+ return environment.execute('bunx', ['--bun', pkg, ...args], cwd)
41
+ case 'deno':
42
+ return environment.execute('deno', ['run', `npm:${pkg}`, ...args], cwd)
43
+ default:
44
+ return environment.execute('npx', [pkg, ...args], cwd)
45
+ }
46
+ }
@@ -1,7 +1,7 @@
1
1
  ## Shadcn
2
2
 
3
- Add components using the canary version of [Shadcn](https://ui.shadcn.com/).
3
+ Add components using the latest version of [Shadcn](https://ui.shadcn.com/).
4
4
 
5
5
  ```bash
6
- pnpx shadcn@canary add button
6
+ pnpx shadcn@latest add button
7
7
  ```
@@ -1,7 +1,7 @@
1
1
  # shadcn instructions
2
2
 
3
- Use the canary version of Shadcn to install new components, like this command to add a button component:
3
+ Use the latest version of Shadcn to install new components, like this command to add a button component:
4
4
 
5
5
  ```bash
6
- pnpx shadcn@canary add button
6
+ pnpx shadcn@latest add button
7
7
  ```