wasm-dce

1.0.2 • Public • Published

wasm-dce

Eliminate unused functions in your WASM binary.

Features

  • Removes the export instruction
  • Replaces the func with an empty one (to preserve the index)

Example

(module
-   (func $func_1 (param i32) (param i32) (result i32)
-     (get_local 0)
-     (get_local 1)
-     (i32.add)
-   )
-   (export "add" (func $func_1))
+   (func)
)
 

FAQ

Why not use binaryen?

First you can see the JavaScript API is specified here https://github.com/WebAssembly/binaryen/wiki/binaryen.js-API.

I encounter some issues (like removing the func wasn't working) and added an additional parse of the WASM file.

Third party licenses

TODO

  • Support DCE for exported global, memory, table.
  • Remove elements only used by this function (other imports, data, etc).
  • Add CLI for node projects or libs

Readme

Keywords

none

Package Sidebar

Install

npm i wasm-dce

Weekly Downloads

4,229

Version

1.0.2

License

MIT

Unpacked Size

1.16 MB

Total Files

13

Last publish

Collaborators

  • xtuc