Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ ____*/
____*
bindings/wasm/pkg/
sdk/js/server/pkg/
sdk/js/server/dist/
dist/
sdk/js/web/pkg/
pnpm-lock.yaml
pnpm-lock.yaml
actra_wasm.wasm
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
### v0.6.2 - 21 March 2026
- updated wasm bindings for raw wasm abi
- removed wasm bindgen
- added raw tests for wasm - JS wrapper

### v0.6.1 - 19 March 2026
- added wasm bindings for Node, Bun, Browser, Deno and Edge
- Bug fix in wasm binding
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ members = [
resolver = "2"

[workspace.package]
version = "0.6.1"
version = "0.6.2"
edition = "2021"
license = "Apache-2.0"
authors = ["Amit Saxena"]
Expand Down
5 changes: 2 additions & 3 deletions bindings/wasm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,15 +8,14 @@ description.workspace = true
authors.workspace = true

[lib]
crate-type = ["cdylib"]
crate-type = ["cdylib", "rlib"]

[dependencies]
actra = { path = "../../core" }
wasm-bindgen = "0.2"
console_error_panic_hook = "0.1"
serde_yaml = "0.9"
serde-wasm-bindgen = "0.6.5"
serde = "1.0.228"
serde_json = "1.0.149"

[package.metadata.wasm-pack.profile.release]
wasm-opt = false
Expand Down
20 changes: 5 additions & 15 deletions bindings/wasm/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,17 @@
"name": "wasm-binding-test",
"version": "1.0.0",
"type": "module",
"files": [
"pkg"
],
"scripts": {
"build": "node scripts/build.mjs",
"build:webpack": "webpack --config test/webpack/webpack.config.js",
"test:webpack": "webpack serve --config test/webpack/webpack.config.js",
"test:node": "node test/test-node.mjs",
"test:bun": "bun test/test-bun.mjs",
"test:deno": "deno run --allow-read test/test-deno.ts",
"test:bundler": "node test/test-bundler.mjs",
"test:node": "node test/raw-test.mjs",
"test:bun": "bun test/raw-test.mjs",
"test:deno": "deno run --allow-read test/raw-test.mjs",
"test:browser": "npx serve ."
},
"exports": {
".": {
"types": "./pkg/node/actra_wasm.d.ts",
"node": "./pkg/node/actra_wasm.js",
"deno": "./pkg/deno/actra_wasm.js",
"browser": "./pkg/web/actra_wasm.js",
"worker": "./pkg/web/actra_wasm.js",
"default": "./pkg/bundler/actra_wasm.js"
}
".": "./js/actra.mjs"
},
"devDependencies": {
"html-webpack-plugin": "^5.6.6",
Expand Down
33 changes: 15 additions & 18 deletions bindings/wasm/scripts/build.mjs
Original file line number Diff line number Diff line change
@@ -1,24 +1,21 @@
import { execSync } from "child_process";
import { rmSync, existsSync } from "fs";
import fs from "fs/promises";
import path from "path";

const builds = [
{ target: "bundler", out: "pkg/bundler" },
{ target: "web", out: "pkg/web" },
{ target: "nodejs", out: "pkg/node" },
{ target: "deno", out: "pkg/deno" }
const src = path.resolve(
"../../target/wasm32-unknown-unknown/release/actra_wasm.wasm"
);

// destinations
const targets = [
"./test/actra_wasm.wasm",
"./test/webpack/actra_wasm.wasm"
];

console.log("CWD:", process.cwd());
for (const dest of targets) {
const out = path.resolve(dest);

if (existsSync("pkg")) {
console.log("\nCleaning pkg directory...");
rmSync("pkg", { recursive: true, force: true });
}
await fs.mkdir(path.dirname(out), { recursive: true });
await fs.copyFile(src, out);

for (const b of builds) {
console.log(`\nBuilding ${b.target}...`);
execSync(
`wasm-pack build . --target ${b.target} --out-dir ${b.out} --release`,
{ stdio: "inherit" }
);
console.log("Copied WASM ->", dest);
}
Loading
Loading