Files
sausage/spikes/s6-esbuild/check.mjs
T
surma 9e9cde5241 spikes: six v3 spikes (V8 harness, WASI shell, git, builder, http hook, esbuild)
Throwaway prototypes for Sausage v3. Plan and decisions:
~/research/sausage-v3/PLAN.md. Results and evidence: the spike READMEs.
2026-11-06 14:03:20 +00:00

13 lines
717 B
JavaScript

// Execute the actual browser bundle against a small DOM implementation.
import assert from 'node:assert/strict';
import { readFileSync } from 'node:fs';
import vm from 'node:vm';
import { parseHTML } from 'linkedom';
const { window, document } = parseHTML('<html><body><div id="app"></div></body></html>');
vm.runInNewContext(readFileSync(process.argv[2], 'utf8'), { window, document, console, setTimeout });
assert.equal(document.querySelector('h1')?.textContent, 'Hello from WASI');
assert.equal(document.querySelector('p')?.textContent, 'Preact + TypeScript');
assert.equal(document.querySelectorAll('main').length, 1);
console.log(`PASS render ${process.argv[2]}: ${document.getElementById('app').innerHTML}`);