ashleygwilliams / wasm-pack
- пятница, 20 апреля 2018 г. в 00:17:54
Rust
📦 ✨ pack up the wasm and publish it to npm!
pack up the wasm and publish it to npm!
the goal of this project is to create a portable command line tool for publishing compiled wasm projects to the npm registry for the consumption of js devs using the npm CLI, yarn, or any other CLI tool that interfaces with the npm registry.
this project is a part of the rust-wasm group. you can find more info by visiting that repo!
this project is written in rust. get rust to work on this project.
if you want to publish packages, you'll also need an account on npm and have node/npm installed.
cd wasm-packcargo runhelp: display available commandsinit: create necessary files for js interop and npm publishing
Cargo.toml, e.g.:
wasm-pack init examples/js-hello-world
package.json for a scoped pkg, e.g.:
wasm-pack init examples/scopes-hello-world --scope test
generates a package.json for an npm package called @test/scopes-hello-worldpack: create a tarball but don't push to the npm registry (see https://docs.npmjs.com/cli/pack)publish: create a tarball and publish to the npm registry (see https://docs.npmjs.com/cli/publish)wasm-bindgen to your Cargo.toml: [lib]
crate-type = ["cdylib"]
[dependencies]
wasm-bindgen = "0.2"src/lib.rs: #![feature(proc_macro, wasm_import_module, wasm_custom_section)]
extern crate wasm_bindgen;
use wasm_bindgen::prelude::*;#[wasm_bindgen], for example:#[wasm_bindgen]
extern {
fn alert(s: &str);
}
#[wasm_bindgen]
pub fn greet(name: &str) {
alert(&format!("Hello, {}!", name));
}cargo install wasm-packwasm-pack init, optionally, pass a path to a dir or a scope (see above for details)pkg dirwasm-pack publish (making sure you are logged in with npm)