/vite-plugin-assemblyscript

Primary LanguageJavaScriptApache License 2.0Apache-2.0

vite-plugin-assemblyscript

Vite plugin that turns AssemblyScript import into a WebAssembly Data URL.

Tested with AssemblyScript 0.21.x

Motivation

Usage

  1. Install assemblyscript
  2. Copy vite-plugin-assemblyscript.js into your own project. There is no NPM release. The existing NPM package of the same name is not mine and does not work.
  3. Add to vite.config.js

vite.config.js

import Assemblyscript from "./vite-plugin-assemblyscript";
export default {
  ...
  plugins: [Assemblyscript()],
};

add.as

export function add(x: i32, y: i32): i32 {
  return x + y;
}

index.js

import wasmDataUrl from "./add.as";
const module = await WebAssembly.compileStreaming(fetch(wasmDataUrl))
const instance = await WebAssembly.instantiate(module, {})
console.log(instance.exports.add(1, 2))

StackBlitz demo: https://stackblitz.com/edit/vitejs-vite-dwpseg?file=index.html