9 releases

0.1.8 Nov 16, 2023
0.1.7 Nov 14, 2023
0.1.6 Apr 20, 2022

#704 in WebAssembly

35 downloads per month
Used in dister

MIT license

17KB
351 lines

livid-cli

dister builds and bundles your wasm web app.

Installation

cargo install livid-cli

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 livid build).

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

Usage

USAGE:
    livid <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: livid build or livid 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 livid serve. If you prefer to use another server for development, pass the dist directory to the server: python3 -m http.server --dir dist

If livid-cli 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:

livid deploy --width=800 --height=600 --title="app name"

Dependencies

~0.7–1MB
~20K SLoC