2020-08-20 10:52:21 +07:00
|
|
|
<div align="center">
|
|
|
|
<h1><code>wasmweb sample</code></h1>
|
2020-08-20 13:20:14 +07:00
|
|
|
|
|
|
|
![Rust - WASM](https://github.com/CUBETIQ/wasmweb-sample/workflows/Rust%20-%20WASM/badge.svg)
|
2020-08-20 13:52:45 +07:00
|
|
|
[![Build status](https://ci.appveyor.com/api/projects/status/c2ybi4806wh5jsqw/branch/master?svg=true)](https://ci.appveyor.com/project/SomboChea/wasmweb-sample/branch/master)
|
|
|
|
[![Build Status](https://travis-ci.org/CUBETIQ/wasmweb-sample.svg?branch=master)](https://travis-ci.org/CUBETIQ/wasmweb-sample)
|
2020-08-20 13:20:14 +07:00
|
|
|
|
2020-08-20 10:52:21 +07:00
|
|
|
<strong>A template for kick starting a Rust and WebAssembly project using <a href="https://github.com/rustwasm/wasm-pack">wasm-pack</a>.</strong>
|
|
|
|
</div>
|
|
|
|
## About
|
|
|
|
|
|
|
|
[**📚 Read this template tutorial! 📚**][template-docs]
|
|
|
|
|
|
|
|
This template is designed for compiling Rust libraries into WebAssembly and
|
|
|
|
publishing the resulting package to NPM.
|
|
|
|
|
|
|
|
Be sure to check out [other `wasm-pack` tutorials online][tutorials] for other
|
|
|
|
templates and usages of `wasm-pack`.
|
|
|
|
|
|
|
|
[tutorials]: https://rustwasm.github.io/docs/wasm-pack/tutorials/index.html
|
|
|
|
[template-docs]: https://rustwasm.github.io/docs/wasm-pack/tutorials/npm-browser-packages/index.html
|
|
|
|
|
|
|
|
## 🚴 Usage
|
|
|
|
|
|
|
|
### 🐑 Use `cargo generate` to Clone this Template
|
|
|
|
|
|
|
|
[Learn more about `cargo generate` here.](https://github.com/ashleygwilliams/cargo-generate)
|
|
|
|
|
|
|
|
```
|
2020-08-20 10:58:41 +07:00
|
|
|
cargo generate --git https://github.com/CUBETIQ/wasmweb-sample.git --name my-wasm-project
|
|
|
|
cd my-wasm-project
|
2020-08-20 10:52:21 +07:00
|
|
|
```
|
|
|
|
|
|
|
|
### 🛠️ Build with `wasm-pack build`
|
|
|
|
|
|
|
|
```
|
|
|
|
wasm-pack build
|
|
|
|
```
|
|
|
|
|
|
|
|
### 🔬 Test in Headless Browsers with `wasm-pack test`
|
|
|
|
|
|
|
|
```
|
|
|
|
wasm-pack test --headless --firefox
|
|
|
|
```
|
|
|
|
|
|
|
|
### 🎁 Publish to NPM with `wasm-pack publish`
|
|
|
|
|
|
|
|
```
|
|
|
|
wasm-pack publish
|
|
|
|
```
|
|
|
|
|
|
|
|
## 🔋 Batteries Included
|
|
|
|
|
|
|
|
* [`wasm-bindgen`](https://github.com/rustwasm/wasm-bindgen) for communicating
|
|
|
|
between WebAssembly and JavaScript.
|
|
|
|
* [`console_error_panic_hook`](https://github.com/rustwasm/console_error_panic_hook)
|
|
|
|
for logging panic messages to the developer console.
|
|
|
|
* [`wee_alloc`](https://github.com/rustwasm/wee_alloc), an allocator optimized
|
|
|
|
for small code size.
|