sbt-teavm / sbt-teavm   0.2.0

MIT License GitHub

sbt plugin for TeaVM. Generate JavaScript and WebAssembly from Java bytecode

Scala versions: 2.12
sbt plugins: 1.0

sbt-teavm

scaladex maven central javadoc

sbt plugin for TeaVM.

Generate JavaScript and WebAssembly from Java bytecode.

setup

require

  • install JDK 11 or later
  • sbt

optional

  • wasmtime for run WebAssembly(WASI)
  • Node.js and Chrome for run WebAssembly and JavaScript

install

project/plugins.sbt

addSbtPlugin("io.github.sbt-teavm" % "sbt-teavm" % version)

build.sbt

note: Maybe Scala 3 does not work due to default lazy val implementation use sun.misc.Unsafe

scalaVersion := // recommend 2.13.x

enablePlugins(SbtTeaVM)

usage

basic sbt tasks

build

  • teavmJS: build js
  • teavmWasm: build WebAssembly (for web browser)
  • teavmWasi: build WebAssembly (WASI)
  • teavmC: build C (native)

run

  • teavmJS/run <args>: require Node.js and Chrome
  • teavmWasm/run <args>: require Node.js and Chrome
  • teavmWasi/run <args>: require wasmtime

runMain

  • teavmJS/runMain
  • teavmWasm/runMain
  • teavmWasi/runMain