diff --git a/packages/object/asconfig.json b/packages/object/asconfig.json index 3532ddc9..800f3e08 100644 --- a/packages/object/asconfig.json +++ b/packages/object/asconfig.json @@ -8,9 +8,7 @@ "debug": true }, "release": { - "outFile": "dist/asc/release.wasm", - "textFile": "dist/asc/release.wat", - "sourceMap": true, + "sourceMap": false, "optimizeLevel": 3, "shrinkLevel": 0, "converge": false, @@ -18,7 +16,6 @@ } }, "options": { - "bindings": "esm", "lib": { "@topology-foundation/crdt": ["../crdt/src/index.asc.ts"] } diff --git a/packages/object/src/index.ts b/packages/object/src/index.ts index 604a81f8..7bf35267 100644 --- a/packages/object/src/index.ts +++ b/packages/object/src/index.ts @@ -18,6 +18,10 @@ export function newTopologyObject(peerId: string, id?: string, abi?: string, byt } } -// just for testing wasm compilation with tsx, should be deleted -let obj = newTopologyObject("peerId"); -console.log(obj.id); +async function run() { + // TODO: just for testing wasm compilation with tsx, should be deleted + let bytecode = await compileWasm(); + let obj = newTopologyObject("peerId", undefined, undefined, bytecode); + console.log(obj); +} +run(); diff --git a/packages/object/src/wasm/compiler.ts b/packages/object/src/wasm/compiler.ts index f1513538..7594b594 100644 --- a/packages/object/src/wasm/compiler.ts +++ b/packages/object/src/wasm/compiler.ts @@ -2,6 +2,7 @@ - Bytecode - ABI */ +import * as fs from "fs"; import asc from "assemblyscript/asc"; export async function compileWasm() { @@ -9,6 +10,7 @@ export async function compileWasm() { // Command line options "/Users/droak/code/topology/ts-topology/packages/object/src/chat.ts", "--config=/Users/droak/code/topology/ts-topology/packages/object/asconfig.json", + "--outFile=dist/tmp.wasm", "--target=release" ]); @@ -16,6 +18,9 @@ export async function compileWasm() { console.log("Compilation failed: " + error.message); console.log(stderr.toString()); } else { - console.log(stdout.toString()); + // read tmp file and delete it + const bytecode = fs.readFileSync('dist/tmp.wasm'); + fs.unlinkSync('dist/tmp.wasm'); + return bytecode; } }