Skip to main content

πŸ“¦ Port of tauri-bundler

You can now easily create installers for your Deno apps, thanks to the amazing work of Tauri πŸ’ͺ

IMPORTANT note: the code is still very meh

That beind said, feel free to contribute. If you have any feature idea see Contributing :)

Demo

Before making the installer make sure you have your project as:

+-- MyAppExecutable (.exe if in Windows)
+-- icons
|   +-- icon.ico (Windows)
|   +-- icon.png (MacOS & Linux)

Create a file build.ts, paste and modify as you wish:

import { Installer } from "https://deno.land/x/installer/mod.ts";

const installer = new Installer({
    out_path: `${Deno.cwd()}/dist`,
    src_path: `${Deno.cwd()}/MyAppExecutable${Deno.build.os === "windows" ? ".exe" : ""}`,
    package: {
        product_name: "MyApp",
        version: "1.0.0",
        description: "App made by a denosaur",
        homepage: "https://github.com/marc2332/deno_installer",
        authors: ["Denosaur"],
        default_run: "MyApp"
    },
    bundle: {
        identifier: "my.deno.app",
        icon: [], // It will look under /icons if empty
        resources: [], // Not tested
        copyright: "2022",
        short_description: "Short description!",
        long_description: "Looooooooooong description!"
    }
})

await installer.createInstaller();

Run:

deno run -A --unstable build.ts

The installer path will be printed out.

Contributing

Requisites:

Build the plugin:

deno_bindgen

Create a installer from the demo app:

cd examples/oak
deno compile app.ts
deno run -A --unstable build.ts