Skip to content
webpack plugin for Rust
JavaScript Rust
Branch: master
Clone or download
xtuc Merge pull request #71 from nwtgck/patch-1
docs: fix installation link
Latest commit 38ee7fb Oct 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example chore(example): pin wasm-bindgen version Jul 2, 2019
.gitignore Various quality of life improvements. Jun 15, 2019
.npmignore feat: add npm ignore Aug 2, 2018
LICENSE Create LICENSE Jul 28, 2018
README.md
package.json 1.0.1 Aug 27, 2019
plugin.d.ts Add Type Declarations for Webpack configurations written in TypeScript. Mar 13, 2019
plugin.js Display error message when crate directory does not exist Aug 26, 2019

README.md

@wasm-tool/wasm-pack-plugin

Webpack plugin for Rust

Installation

yarn add --dev @wasm-tool/wasm-pack-plugin

wasm-pack

We expect wasm-pack to be in your $PATH. See installation here.

The minimum required wasm-pack version is 0.8.0

Usage

Add the loader in your webpack.config.js:

const path = require("path");
const WasmPackPlugin = require("@wasm-tool/wasm-pack-plugin");

module.exports = {
  // ...

  plugins: [

    new WasmPackPlugin({
      crateDirectory: path.resolve(__dirname, "crate"),

      // Check https://rustwasm.github.io/wasm-pack/book/commands/build.html for
      // the available set of arguments.
      //
      // Default arguments are `--typescript --target browser --mode normal`.
      extraArgs: "--no-typescript",

      // Optional array of absolute paths to directories, changes to which
      // will trigger the build.
      // watchDirectories: [
      //   path.resolve(__dirname, "another-crate/src")
      // ],

      // The same as the `--out-dir` option for `wasm-pack`
      // outDir: "pkg",

      // The same as the `--out-name` option for `wasm-pack`
      // outName: "index",

      // If defined, `forceWatch` will force activate/deactivate watch mode for
      // `.rs` files.
      //
      // The default (not set) aligns watch mode for `.rs` files to Webpack's
      // watch mode.
      // forceWatch: true,

      // If defined, `forceMode` will force the compilation mode for `wasm-pack`
      //
      // Possible values are `development` and `production`.
      //
      // the mode `development` makes `wasm-pack` build in `debug` mode.
      // the mode `production` makes `wasm-pack` build in `release` mode.
      // forceMode: "development",
    }),

  ]

  // ...
};

and then import your pkg folder from wasm-pack:

import("./path/to/your/pkg").then(module => {
  module.run();
});
You can’t perform that action at this time.