At Tauri we originally built our CLI with typescript and node.js, but we've been looking into alternatives for a while. In that vein, we just POC'd building a Tauri app with Deno (instead of node.js)
We won't explain how to install the toolchains (deno, rust and tauri), and expect you to have already built your first Tauri apps already. But if you are new to all of this, here are the details:
git clone email@example.com:tauri-apps/tauri
git clone firstname.lastname@example.org:lucasfernog/tauri-deno-cli deno
deno run --unstable --allow-read --allow-run --allow-net --allow-env --allow-write ../../../cli/deno/index.ts build
The second time you run deno build, you'll have all the deps already installed and the rust crates as well, so let's see how long it takes on MacOS (this isn't a scientific bench):
$ time deno run --unstable --allow-read --allow-run --allow-net --allow-env --allow-write ../../../cli/deno/index.ts build
$ time node ../../../cli/tauri.js/bin/tauri build
The ~1 minute build time might seem like it takes a long time, but we are actually using these antibloat techniques only possible when single-threading.
Also, if you are trying this in your own project, you should know that you will have to run
yarn tauri devat least once in order to create
index.tauri.html. We haven't started porting the inliner to deno.
Nevertheless, deno performs better in both cases - without antibloat almost twice as fast, and just building a
.app its about 4.5x faster. So I absolutely have to agree with Lucas' sentiment:
deno is f!cking amazing