preprocess-wasm-bytes 0.1.0 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -2,7 +2,9 @@ License: UNLICENSED — Not licensed for use; all rights reserved.
2
2
 
3
3
  # preprocess-wasm-bytes
4
4
 
5
- Exports a single function: `preprocess_wasm_bytes(bytes: Uint8Array): Promise<Uint8Array>`
5
+ Exports a single function:
6
+
7
+ `preprocess_wasm_bytes(bytes: Uint8Array): Promise<Uint8Array>`
6
8
 
7
9
  It scans the WASM binary (imports/exports/globals/memories/tables/element segments) and produces a new WASM binary with additional exports added for:
8
10
 
@@ -15,10 +17,8 @@ It scans the WASM binary (imports/exports/globals/memories/tables/element segmen
15
17
 
16
18
  ```bash
17
19
  npm i preprocess-wasm-bytes
18
- ```
19
20
 
20
- ## Usage (Node / ESM)
21
- ```js
21
+ Usage (Node / ESM)
22
22
  import fs from "node:fs";
23
23
  import { preprocess_wasm_bytes } from "preprocess-wasm-bytes";
24
24
 
@@ -26,58 +26,16 @@ const bytes = new Uint8Array(fs.readFileSync("input.wasm"));
26
26
  const out = await preprocess_wasm_bytes(bytes);
27
27
 
28
28
  fs.writeFileSync("output.wasm", out);
29
- ```
30
29
 
31
- ## Usage (Browser bundlers)
32
- ```js
30
+ Usage (Browser bundlers)
33
31
  import { preprocess_wasm_bytes } from "preprocess-wasm-bytes";
34
32
 
35
33
  const res = await fetch("/module.wasm");
36
34
  const bytes = new Uint8Array(await res.arrayBuffer());
37
35
  const out = await preprocess_wasm_bytes(bytes);
38
- ```
39
36
 
40
- ## Debug logging
41
- ```js
37
+ Debug logging
42
38
  globalThis.__WASM_PREPROCESS_DEBUG__ = true;
43
- ```
44
- Set that before calling preprocess_wasm_bytes(...).
45
-
46
- ## Build and publish
47
- Verify the build output exists (your `npm run build:lib` showing no output is normal when there are no errors):
48
-
49
- ```bash
50
- ls -la dist
51
- ```
52
-
53
- You should see at least: index.js, index.d.ts, and their sourcemaps, plus preprocess_wasm_bytes.js and preprocess_wasm_bytes.d.ts.
54
-
55
- Run the smoke test against dist/:
56
-
57
- ```bash
58
- npm run gen:sample-wasm
59
- npm run build:lib
60
- node --input-type=module -e "import fs from 'node:fs'; import { preprocess_wasm_bytes } from './dist/index.js'; const b=new Uint8Array(fs.readFileSync('public/sample.wasm')); const out=await preprocess_wasm_bytes(b); console.log('ok', {inBytes:b.length, outBytes:out.length});"
61
- ```
62
-
63
- Confirm what npm will publish:
64
-
65
- ```bash
66
- npm pack --dry-run
67
- ```
68
39
 
69
- This should include only dist/ and README.md (per the files field).
70
40
 
71
- Fix npm auth and publish (publish failed due to token/auth; you must re-auth on your machine):
72
-
73
- ```bash
74
- npm whoami
75
- # if not logged in:
76
- npm login
77
- # optionally confirm registry:
78
- npm config get registry
79
- # then:
80
- npm publish
81
- ```
82
-
83
- If npm publish ever reports “You cannot publish over the previously published versions”, bump version and re-run npm publish (but your attempt failed due to auth, so 0.1.0 should still be fine).
41
+ Set that before calling preprocess_wasm_bytes(...).
@@ -1 +1 @@
1
- {"version":3,"file":"preprocess_wasm_bytes.d.ts","sourceRoot":"","sources":["../src/preprocess_wasm_bytes.ts"],"names":[],"mappings":"AAonBA,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAmEtF"}
1
+ {"version":3,"file":"preprocess_wasm_bytes.d.ts","sourceRoot":"","sources":["../src/preprocess_wasm_bytes.ts"],"names":[],"mappings":"AAitBA,wBAAsB,qBAAqB,CAAC,SAAS,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAwDtF"}
@@ -17,36 +17,6 @@ function dbg(...args) {
17
17
  if (debugEnabled())
18
18
  console.log("[wasm-preprocess]", ...args);
19
19
  }
20
- /**
21
- * Some dependencies (notably @webassemblyjs/* and their transitive deps) expect
22
- * node-ish globals in browser bundles. We only install minimal shims if missing.
23
- * This runs BEFORE loading @webassemblyjs/*.
24
- */
25
- let _didEnsureNodeLikeGlobals = false;
26
- async function ensureNodeLikeGlobals() {
27
- if (_didEnsureNodeLikeGlobals)
28
- return;
29
- _didEnsureNodeLikeGlobals = true;
30
- const g = globalThis;
31
- g.global ??= g;
32
- g.process ??= { env: {} };
33
- if (!g.Buffer) {
34
- const mod = await import("buffer");
35
- g.Buffer = mod.Buffer;
36
- }
37
- }
38
- function toExactArrayBuffer(bytes) {
39
- const { buffer, byteOffset, byteLength } = bytes;
40
- if (buffer instanceof ArrayBuffer) {
41
- if (byteOffset === 0 && byteLength === buffer.byteLength)
42
- return buffer;
43
- return buffer.slice(byteOffset, byteOffset + byteLength);
44
- }
45
- // SharedArrayBuffer case: copy into a new ArrayBuffer
46
- const out = new ArrayBuffer(byteLength);
47
- new Uint8Array(out).set(bytes);
48
- return out;
49
- }
50
20
  function uniqueName(base, used, fallback) {
51
21
  const cleanBase = base && typeof base === "string" ? base : fallback;
52
22
  if (!used.has(cleanBase)) {
@@ -60,6 +30,101 @@ function uniqueName(base, used, fallback) {
60
30
  used.add(out);
61
31
  return out;
62
32
  }
33
+ const utf8enc = new TextEncoder();
34
+ function writeU32LebTo(out, value) {
35
+ // u32 LEB128
36
+ let v = value >>> 0;
37
+ do {
38
+ let byte = v & 0x7f;
39
+ v >>>= 7;
40
+ if (v !== 0)
41
+ byte |= 0x80;
42
+ out.push(byte);
43
+ } while (v !== 0);
44
+ }
45
+ function writeNameTo(out, s) {
46
+ const bytes = utf8enc.encode(s);
47
+ writeU32LebTo(out, bytes.length);
48
+ for (let i = 0; i < bytes.length; i++)
49
+ out.push(bytes[i]);
50
+ }
51
+ function buildExportSectionBytes(entries) {
52
+ // section payload
53
+ const body = [];
54
+ writeU32LebTo(body, entries.length);
55
+ for (const e of entries) {
56
+ writeNameTo(body, e.name);
57
+ body.push(e.kind);
58
+ writeU32LebTo(body, e.index >>> 0);
59
+ }
60
+ // section header: id=7 + size
61
+ const out = [];
62
+ out.push(0x07);
63
+ writeU32LebTo(out, body.length);
64
+ for (let i = 0; i < body.length; i++)
65
+ out.push(body[i]);
66
+ return new Uint8Array(out);
67
+ }
68
+ function concatChunks(chunks) {
69
+ let total = 0;
70
+ for (const c of chunks)
71
+ total += c.byteLength;
72
+ const out = new Uint8Array(total);
73
+ let off = 0;
74
+ for (const c of chunks) {
75
+ out.set(c, off);
76
+ off += c.byteLength;
77
+ }
78
+ return out;
79
+ }
80
+ function rewriteWasmWithExportSection(original, newExportSection) {
81
+ const bytes = original;
82
+ const endAll = bytes.length;
83
+ if (endAll < 8)
84
+ throw new Error("[wasm-preprocess] WASM too small");
85
+ const chunks = [];
86
+ // Copy magic + version
87
+ chunks.push(bytes.subarray(0, 8));
88
+ let pos = 8;
89
+ let inserted = false;
90
+ let replaced = false;
91
+ // Insert before first *known* section with id > 7 (custom sections (0) can appear anywhere)
92
+ while (pos < endAll) {
93
+ const sectionStart = pos;
94
+ const id = bytes[pos++];
95
+ const rSize = readU32Leb(bytes, pos, endAll);
96
+ const size = rSize.value;
97
+ pos = rSize.pos;
98
+ const payloadStart = pos;
99
+ const payloadEnd = payloadStart + size;
100
+ if (payloadEnd > endAll)
101
+ throw new Error("[wasm-preprocess] section size out of bounds");
102
+ // If export section is missing, insert it before the first known section > 7
103
+ if (!inserted && !replaced && id !== 0 && id > 7) {
104
+ chunks.push(newExportSection);
105
+ inserted = true;
106
+ }
107
+ if (id === 7) {
108
+ // Replace existing export section
109
+ if (!replaced) {
110
+ chunks.push(newExportSection);
111
+ replaced = true;
112
+ inserted = true;
113
+ }
114
+ // Skip the old export section bytes
115
+ }
116
+ else {
117
+ // Copy original section unchanged
118
+ chunks.push(bytes.subarray(sectionStart, payloadEnd));
119
+ }
120
+ pos = payloadEnd;
121
+ }
122
+ // If we never inserted/replaced (no export section and no later section to trigger insertion), append it.
123
+ if (!inserted && !replaced) {
124
+ chunks.push(newExportSection);
125
+ }
126
+ return concatChunks(chunks);
127
+ }
63
128
  /* =======================================================================================
64
129
  * Minimal WASM binary reader (just enough for exports/imports/tables/mems/globals/elems)
65
130
  * ======================================================================================= */
@@ -320,7 +385,7 @@ function parseElementSectionCollectFuncIdxs(bytes, start, end, outFuncs) {
320
385
  dbg(`element section: parsed ${pos - start} bytes, expected ${end - start} bytes (diff=${end - pos})`);
321
386
  }
322
387
  }
323
- function parseExportSection(bytes, start, end, exportNames, alreadyExported) {
388
+ function parseExportSection(bytes, start, end, exportNames, alreadyExported, exportEntries) {
324
389
  let pos = start;
325
390
  const rCount = readU32Leb(bytes, pos, end);
326
391
  const count = rCount.value;
@@ -336,6 +401,10 @@ function parseExportSection(bytes, start, end, exportNames, alreadyExported) {
336
401
  const idx = rIdx.value;
337
402
  pos = rIdx.pos;
338
403
  exportNames.add(name);
404
+ // keep exact original entries so we can rebuild export section without webassemblyjs
405
+ if (kind === 0 || kind === 1 || kind === 2 || kind === 3) {
406
+ exportEntries.push({ name, kind: kind, index: idx >>> 0 });
407
+ }
339
408
  switch (kind) {
340
409
  case 0: // func
341
410
  alreadyExported.Func.add(idx);
@@ -379,6 +448,7 @@ function scanWasmBinary(wasmBytes) {
379
448
  Memory: new Set(),
380
449
  Global: new Set(),
381
450
  };
451
+ const exportEntries = [];
382
452
  const funcsToExport = new Set();
383
453
  let importTables = 0, localTables = 0;
384
454
  let importMemories = 0, localMemories = 0;
@@ -505,7 +575,7 @@ function scanWasmBinary(wasmBytes) {
505
575
  }
506
576
  else if (id === 7) {
507
577
  // export section
508
- parseExportSection(bytes, start, end, exportNames, alreadyExported);
578
+ parseExportSection(bytes, start, end, exportNames, alreadyExported, exportEntries);
509
579
  }
510
580
  else if (id === 9) {
511
581
  // element section (the big one we care about for function refs)
@@ -529,6 +599,7 @@ function scanWasmBinary(wasmBytes) {
529
599
  return {
530
600
  exportNames,
531
601
  alreadyExported,
602
+ exportEntries,
532
603
  funcsToExport,
533
604
  mutableGlobalsToExport,
534
605
  totalMemories,
@@ -539,58 +610,49 @@ function scanWasmBinary(wasmBytes) {
539
610
  * Main entry
540
611
  * ======================================================================================= */
541
612
  export async function preprocess_wasm_bytes(wasmBytes) {
542
- await ensureNodeLikeGlobals();
543
- const [{ decode }, astMod, { addWithAST }] = await Promise.all([
544
- import("@webassemblyjs/wasm-parser"),
545
- import("@webassemblyjs/ast"),
546
- import("@webassemblyjs/wasm-edit"),
547
- ]);
548
- const t = astMod;
549
- // Binary scan is authoritative for "what should be exported"
550
- const { exportNames, alreadyExported, funcsToExport, mutableGlobalsToExport, totalMemories, totalTables, } = scanWasmBinary(wasmBytes);
551
- // Decode AST for editing
552
- const ast = decode(wasmBytes, {
553
- ignoreCodeSection: false,
554
- ignoreDataSection: true,
555
- });
556
- const newNodes = [];
557
- // 1) Export functions found via element section / ref.func const-exprs
613
+ // Scan is authoritative for what we need to export
614
+ const { exportNames, alreadyExported, exportEntries, funcsToExport, mutableGlobalsToExport, totalMemories, totalTables, } = scanWasmBinary(wasmBytes);
615
+ const added = [];
616
+ // 1) Functions referenced by element segments / ref.func
558
617
  const funcList = Array.from(funcsToExport).sort((a, b) => a - b);
559
618
  for (const idx of funcList) {
560
619
  if (alreadyExported.Func.has(idx))
561
620
  continue;
562
621
  const name = uniqueName(`__f${idx}`, exportNames, `__f${idx}`);
563
- newNodes.push(t.moduleExport(name, t.moduleExportDescr("Func", t.indexLiteral(idx))));
622
+ added.push({ name, kind: 0, index: idx >>> 0 });
564
623
  alreadyExported.Func.add(idx);
565
624
  }
566
- // 2) Export mutable globals
625
+ // 2) Mutable globals
567
626
  const globList = Array.from(mutableGlobalsToExport).sort((a, b) => a - b);
568
627
  for (const idx of globList) {
569
628
  if (alreadyExported.Global.has(idx))
570
629
  continue;
571
630
  const name = uniqueName(`__global_${idx}`, exportNames, `__global_${idx}`);
572
- newNodes.push(t.moduleExport(name, t.moduleExportDescr("Global", t.indexLiteral(idx))));
631
+ added.push({ name, kind: 3, index: idx >>> 0 });
573
632
  alreadyExported.Global.add(idx);
574
633
  }
575
- // 3) Export all memories
634
+ // 3) All memories
576
635
  for (let idx = 0; idx < totalMemories; idx++) {
577
636
  if (alreadyExported.Memory.has(idx))
578
637
  continue;
579
638
  const name = uniqueName(`__memory_${idx}`, exportNames, `__memory_${idx}`);
580
- newNodes.push(t.moduleExport(name, t.moduleExportDescr("Memory", t.indexLiteral(idx))));
639
+ added.push({ name, kind: 2, index: idx >>> 0 });
581
640
  alreadyExported.Memory.add(idx);
582
641
  }
583
- // 4) Export all tables (unconditional)
642
+ // 4) All tables
584
643
  for (let idx = 0; idx < totalTables; idx++) {
585
644
  if (alreadyExported.Table.has(idx))
586
645
  continue;
587
646
  const name = uniqueName(`__table_${idx}`, exportNames, `__table_${idx}`);
588
- newNodes.push(t.moduleExport(name, t.moduleExportDescr("Table", t.indexLiteral(idx))));
647
+ added.push({ name, kind: 1, index: idx >>> 0 });
589
648
  alreadyExported.Table.add(idx);
590
649
  }
591
- if (newNodes.length === 0)
650
+ if (added.length === 0)
592
651
  return wasmBytes;
593
- const out = addWithAST(ast, toExactArrayBuffer(wasmBytes), newNodes);
594
- return new Uint8Array(out);
652
+ // Rebuild export section = existing entries + added entries
653
+ const allExports = exportEntries.concat(added);
654
+ const newExportSection = buildExportSectionBytes(allExports);
655
+ // Replace (or insert) export section in the original binary
656
+ return rewriteWasmWithExportSection(wasmBytes, newExportSection);
595
657
  }
596
658
  //# sourceMappingURL=preprocess_wasm_bytes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"preprocess_wasm_bytes.js","sourceRoot":"","sources":["../src/preprocess_wasm_bytes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preprocess_wasm_bytes.js","sourceRoot":"","sources":["../src/preprocess_wasm_bytes.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "preprocess-wasm-bytes",
3
- "version": "0.1.0",
3
+ "version": "0.1.3",
4
4
  "description": "Preprocess a WebAssembly binary by adding exports for table-referenced functions, mutable globals, memories, and tables.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -22,17 +22,11 @@
22
22
  "dev": "npm run gen:sample-wasm && vite",
23
23
  "build": "npm run gen:sample-wasm && vite build",
24
24
  "preview": "vite preview",
25
-
26
25
  "clean": "node -e \"import('node:fs').then(fs=>fs.rmSync('dist',{recursive:true,force:true}))\"",
27
26
  "build:lib": "npm run clean && tsc -p tsconfig.lib.json",
28
27
  "prepublishOnly": "npm run build:lib"
29
28
  },
30
- "dependencies": {
31
- "@webassemblyjs/ast": "^1.14.1",
32
- "@webassemblyjs/wasm-edit": "^1.14.1",
33
- "@webassemblyjs/wasm-parser": "^1.14.1",
34
- "buffer": "^6.0.3"
35
- },
29
+ "dependencies": {},
36
30
  "devDependencies": {
37
31
  "typescript": "^5.9.3",
38
32
  "vite": "^7.2.6",