chung-leong/zigar
Toolkit enabling the use of Zig code in JavaScript projects
Zigar
A software tool set that lets you utilize Zig code in your JavaScript
projects.
Consult the project wiki for installation instructions
and tutorials.
Features
- Access to all Zig data types in JavaScript
- Zig-to-JavaScript, JavaScript-to-Zig call marshalling
- Async task management
- Threads in native code and WebAssembly (with support for pthread)
- Emulating of file system operations
- Support for MacOS, Linux, and Windows (both 64-bit and 32-bit)
- Support for Node.js, Bun.js, Electron, and NW.js (native code execution)
- Support for Webpack, Rollup, and Vite (WebAssembly)
Versioning
The major and minor version numbers of Zigar correspond to the version of the Zig compiler
it's designed for. The current version is 0.15.2. It works with Zig 0.15.x.
Version 0.14.3 has the same feature set as 0.15.2 and works with Zig 0.14.x.
For those on the absolutely bleeding edge, a development version of this toolkit is available that
works with master. Append the package name with the tag @dev to install it. At any given time it
might be broken due to changes to the language itself. Please file a bug report when you encounter
a problem.
Technical support
If you have questions concerning this project, please post them at this project's
discussion section. I can also be contacted at
ziggit.dev, which also happens to be an excellent forum for finding help on
all matters related to the Zig language.
