/go-web-app

📦 CLI for setting up a Go WebAssembly frontend app

Primary LanguageGoMIT LicenseMIT

go-web-app cover

GitHub code size in bytes Go Report Card Codacy grade

⚠️ looking for maintainers (dm @v_1rtl on telegram or email to v1rtl@proton.me)

Simple CLI for setting up Go WebAssembly frontend app.

What's included

  • 🛠️ Dev Server with live reload
  • 🗜️ TinyGo for small WebAssembly output
  • ➡ Git setup with files (such as README.md)
  • 🩹 Glue files (index.html + wasm_exec.js)

Requirements

  • Go 1.12+
  • Browser that supports WebAssembly
  • lld (LLVM linker)

Install

go get github.com/talentlessguy/go-web-app

Then use as go-web-app.

CLI Reference

go-web-app init <app name>

Initialize a project in a picked directory.

Project tree

out.wasm is generated when building. Other files are automatically added.

├── src
│   └── main.go
├── build
│   └── out.wasm
├── go.mod
├── index.html
├── README.md
└── wasm_exec.js

go-web-app dev --port <port>

Builds the project on first run and launches a development server with specified port.

Default port is 8080.

After launching a server, you should go to http://localhost:<port>

Every time you change a file in src dev server automatically compiles and updates the page.

go-web-app build

Compiles go code to WebAssembly. Compiled out.wasm file could be found in build folder.

Everything in src compiles to build, every go file.

After build, binary size is shown