Skip to content

utherpally/vite-wasm-zig

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

npm package zig language zig language

vite-wasm-zig

Install

yarn add -D vite-wasm-zig

Usage

// vite.config.{js, ts}
import zig from 'vite-wasm-zig';

export default defineConfig(({ mode }) => {
    return {
        plugins: {
            zig({
                // Enable this option require `wasm-opt` installed on your $PATH.
                optimize: mode === 'production',
                // Other options goes here
            })
        }
    }
}
// main.zig

export fn add(a: i32, b: i32) i32 {
    return a + b;
}
// index.{js,ts}
import init from "./main.zig?init";

function someFunc() {
  const importObject = {
    /* ... */
  };

  init(importObject).then((instance) => {
    console.log(instance.exports.add(1, 10));
  });
}
// OR
// This plugin support SSR, so top level await is OK
const instance = await init(importObject)
console.log(instance.exports.add(1, 10));
export default instance.exports;

With Typescript

Add to tsconfig.json:

{
  "types": ["vite/client", "vite-wasm-zig/client"]
}

Semver

Until 1.0 release, this package don't follow Semver for versioning

Lisence

MIT

About

No description or website provided.

Topics

Resources

License

Stars

Watchers

Forks