Skip to content

Commit 380bc07

Browse files
authored
fix: don't unshift(bin) to args when running from deno (#834)
closes #833
1 parent 1c529e3 commit 380bc07

4 files changed

Lines changed: 43 additions & 20 deletions

File tree

.changes/running-from-deno.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"create-tauri-app": "patch"
3+
"create-tauri-app-js": "patch"
4+
---
5+
6+
Fix running `create-tauri-app` using deno.

README.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,12 @@ yarn create tauri-app
5656
pnpm create tauri-app
5757
```
5858

59+
### Deno
60+
61+
```bash
62+
deno run -A npm:create-tauri-app
63+
```
64+
5965
### Bun:
6066

6167
```bash
@@ -136,23 +142,25 @@ You can also directly specify the project name, package manager and the template
136142

137143
```bash
138144
# curl
139-
sh <(curl https://create.tauri.app/sh) my-tauri-app --template svelte --manager pnpm
145+
sh <(curl https://create.tauri.app/sh) my-tauri-app --template svelte
140146
# wget
141-
sh <(wget https://create.tauri.app/sh) my-tauri-app --template svelte --manager pnpm
147+
sh <(wget https://create.tauri.app/sh) my-tauri-app --template svelte
142148
# powershell
143-
$env:CTA_ARGS="--template svelte --manager pnpm";irm https://create.tauri.app/ps | iex
149+
$env:CTA_ARGS="--template svelte";irm https://create.tauri.app/ps | iex
144150
# cargo
145-
cargo create-tauri-app my-tauri-app --template svelte --manager pnpm
151+
cargo create-tauri-app my-tauri-app --template svelte
146152
# npm 6.x
147-
npm create tauri-app@latest my-tauri-app --template svelte --manager pnpm
153+
npm create tauri-app@latest my-tauri-app --template svelte
148154
# npm 7+, extra double-dash is needed:
149-
npm create tauri-app@latest my-tauri-app -- --template svelte --manager pnpm
155+
npm create tauri-app@latest my-tauri-app -- --template svelte
150156
# yarn
151-
yarn create tauri-app my-tauri-app --template svelte --manager pnpm
157+
yarn create tauri-app my-tauri-app --template svelte
152158
# pnpm
153-
pnpm create tauri-app my-tauri-app --template svelte --manager pnpm
159+
pnpm create tauri-app my-tauri-app --template svelte
160+
# deno
161+
deno run -A npm:create-tauri-app --template svelte
154162
# Bun
155-
bunx create-tauri-app my-tauri-app --template svelte --manager bun
163+
bunx create-tauri-app my-tauri-app --template svelte
156164
```
157165

158166
Currently supported template presets include:
@@ -165,6 +173,8 @@ Currently supported template presets include:
165173
- `svelte-ts`
166174
- `react`
167175
- `react-ts`
176+
- `preact`
177+
- `preact-ts`
168178
- `solid`
169179
- `solid-ts`
170180
- `angular`

node/README.md

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ yarn create tauri-app
2929
pnpm create tauri-app
3030
```
3131

32+
### Deno
33+
34+
```bash
35+
deno run -A npm:create-tauri-app
36+
```
37+
3238
## Bun:
3339

3440
```bash
@@ -41,15 +47,15 @@ You can also directly specify the project name, package manager and the template
4147

4248
```bash
4349
# npm 6.x
44-
npm create tauri-app@latest my-tauri-app --template svelte --manager pnpm
50+
npm create tauri-app@latest my-tauri-app --template svelte
4551
# npm 7+, extra double-dash is needed:
46-
npm create tauri-app@latest my-tauri-app -- --template svelte --manager pnpm
52+
npm create tauri-app@latest my-tauri-app -- --template svelte
4753
# yarn
48-
yarn create tauri-app my-tauri-app --template svelte --manager pnpm
54+
yarn create tauri-app my-tauri-app --template svelte
4955
# pnpm
50-
pnpm create tauri-app my-tauri-app --template svelte --manager pnpm
56+
pnpm create tauri-app my-tauri-app --template svelte
5157
# Bun
52-
bunx create-tauri-app my-tauri-app --template svelte --manager bun
58+
bunx create-tauri-app my-tauri-app --template svelte
5359
```
5460

5561
Currently supported template presets include:
@@ -62,6 +68,8 @@ Currently supported template presets include:
6268
- `svelte-ts`
6369
- `react`
6470
- `react-ts`
71+
- `preact`
72+
- `preact-ts`
6573
- `solid`
6674
- `solid-ts`
6775
- `angular`

node/create-tauri-app.js

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ if (globalThis.navigator?.userAgent?.includes("Deno")) {
2020
}
2121
// Even if started by a package manager, the binary will be NodeJS or Bun.
2222
// Some distribution still use "nodejs" as the binary name.
23-
if (binStem.match(/(nodejs|node|bun)-*([0-9]*)*$/g)) {
23+
else if (binStem.match(/(nodejs|node|bun)-*([0-9]*)*$/g)) {
2424
const managerStem = process.env.npm_execpath
2525
? path.parse(process.env.npm_execpath).name.toLowerCase()
2626
: null;
@@ -52,9 +52,8 @@ if (binStem.match(/(nodejs|node|bun)-*([0-9]*)*$/g)) {
5252
}
5353

5454
// adapted from https://github.com/vitejs/vite/blob/34826aae015ed16dc9b9096c0f778154ca6981a6/packages/create-vite/src/index.ts#L513
55-
function pkgManagerFromUserAgent(userAgent) {
56-
if (!userAgent) return undefined;
57-
return userAgent.split(" ")[0]?.split("/")[0];
58-
}
59-
const pkgManager = pkgManagerFromUserAgent(process.env.npm_config_user_agent);
55+
const userAgent =
56+
process.env.npm_config_user_agent ?? globalThis.navigator?.userAgent;
57+
const pkgManager = userAgent?.split(" ")[0]?.split("/")[0].toLocaleLowerCase();
58+
6059
cli.run(args, binName, pkgManager);

0 commit comments

Comments
 (0)