dister

Crates.iodister
lib.rsdister
version0.1.9
sourcesrc
created_at2022-04-07 12:53:09.57726
updated_at2022-04-20 13:35:48.872527
descriptionBuilds and bundles your wasm web app
homepage
repositoryhttps://github.com/MoAlyousef/dister
max_upload_size
id563642
size10,045
Mohammed Alyousef (MoAlyousef)

documentation

README

dister

dister builds and bundles your wasm web app.

Installation

cargo install dister

Requirements

  • wasm32-unknown-unknown target:

rustup target add wasm32-unknown-unknown

  • Wasm-bindgen:

cargo install wasm-bindgen-cli

  • Wasm-opt (optional, wasm-opt is called if found in PATH and the --release flag is passed to dister build).

It can be downloaded from the binaryen repo's releases.

Usage

USAGE:
    dister <SUBCOMMAND>

SUBCOMMANDS:
    build     Build your wasm web app
    clean     Clean output artifacts
    serve     Serve the generated index.html
    deploy    Creates a desktop app using the wasm web app for frontend
    --help    Prints this message or the help of the given subcommand(s)

From the manifest directory of your wasm rust applications directory, run: dister build or dister build --release

It should generate a dist folder in the manifest directory. The generated html index file can then be served by any server or by running dister serve. If you prefer to use another server for development, pass the dist directory to the server: python3 -m http.server --dir dist

If dister finds an index.html shell in the manifest directory, it will use it and replace the {{SCRIPT}} placeholder (à la emscripten shell html) with a script to load the generated js glue code.

<html>
  <head>
  <meta charset="utf-8">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  </head>
  <body>
    {{SCRIPT}}
  </body>
</html>

To create a desktop app:

dister deploy --width=800 --height=600 --title="app name"
Commit count: 20

cargo fmt