浏览代码

fix(cli): detect deno (#5475)

Co-authored-by: Lucas Nogueira <lucas@tauri.studio>
Amr Bashir 2 年之前
父节点
当前提交
7a231cd1c9
共有 2 个文件被更改,包括 10 次插入6 次删除
  1. 5 5
      .changes/cli.js-node-shim-and-deno.md
  2. 5 1
      tooling/cli/node/tauri.js

+ 5 - 5
.changes/cli.js-node-shim.md → .changes/cli.js-node-shim-and-deno.md

@@ -1,5 +1,5 @@
----
-"cli.js": patch
----
-
-Fix crash when nodejs binary has the version in its name, for example `node18`
+---
+"cli.js": patch
+---
+
+Fix crash when nodejs binary has the version in its name, for example `node18` or when running through deno.

+ 5 - 1
tooling/cli/node/tauri.js

@@ -10,9 +10,13 @@ const binStem = path.parse(bin).name.toLowerCase()
 // can successfully detect what command likely started the execution.
 let binName
 
+// deno run -A --unstable --node-modules-dir npm:@tauri-apps/cli
+if (bin === '@tauri-apps/cli') {
+  binName = '@tauri-apps/cli'
+}
 // Even if started by a package manager, the binary will be NodeJS.
 // Some distribution still use "nodejs" as the binary name.
-if (binStem.match(/(nodejs|node)([1-9]*)*$/g)) {
+else if (binStem.match(/(nodejs|node)([1-9]*)*$/g)) {
   const managerStem = process.env.npm_execpath
     ? path.parse(process.env.npm_execpath).name.toLowerCase()
     : null