Socket
Socket
Sign inDemoInstall

alta-vite-plugin-wasm

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

alta-vite-plugin-wasm

Add WebAssembly ESM integration (aka. Webpack's `asyncWebAssembly`) to Vite and support `wasm-pack` generated modules.


Version published
Weekly downloads
3
Maintainers
1
Weekly downloads
 
Created
Source

vite-plugin-wasm

Test Status npm Commitizen friendly code style: prettier License

Add WebAssembly ESM integration (aka. Webpack's asyncWebAssembly) to Vite and support wasm-pack generated modules.

Installation

For Vite 3.x (latest), please use 2.x version of this plugin (pure ESM, since Vite is pure ESM):

yarn add -D vite-plugin-wasm@^2

For Vite 2.x (latest), please use 1.x version of this plugin:

yarn add -D vite-plugin-wasm@^1

Usage

You also need the vite-plugin-top-level-await plugin unless you target very modern browsers only (i.e. set build.target to esnext).

import wasm from "vite-plugin-wasm";
import topLevelAwait from "vite-plugin-top-level-await";

export default defineConfig({
  plugins: [
    /**
     * Since 2.x version of this plugin, the `filter` option has been removed.
     * 
     * For 1.x (with Vite 2.x):
     *   By default ALL `.wasm` imports will be transformed to WebAssembly ES module.
     *   You can also set a filter (function or regex) to match files you want to transform.
     *   Other files will fallback to Vite's default WASM loader (i.e. You need to call `initWasm()` for them). 
     *   ```js
     *   wasm({
     *     filter: /syntect_bg.wasm$/
     *   })
     *   ```
     */
    wasm(),
    topLevelAwait()
  ]
});

Notes

TypeScript typing is broken. Since we can't declare a module with Record<string, any> as its named export map. Your import ... from "./module.wasm"; will still got Vite's bulit-in typing, but the transformed code is fine. So just use an asterisk import import * as wasmModule from "./module.wasm" and type assertion (you have typing for your WASM files, right?).

Keywords

FAQs

Package last updated on 18 Jul 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc