#!/usr/bin/env node // Browser bootstrap contract: visible recovery and early shell. import assert from 'node:assert/strict'; import { readFileSync } from 'node:fs'; import { runInNewContext } from 'node:vm'; import { resolve, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; const root = resolve(dirname(fileURLToPath(import.meta.url)), '../..'); const read = path => readFileSync(resolve(root, path), 'utf8'); const html = read('src/admin/web/index.html'); const css = read('src/admin/web/style.css'); const core = read('src/admin/web/app/core.js'); const runtime = read('src/admin/web/app/runtime.js'); const resume = read('src/admin/web/app/session-resume.js'); assert.match(html, /]*role="status"/); assert.match(html, /id="app-startup-title"/); assert.match(html, /class="app-startup-spinner"/); assert.match(html, /class="app-startup-recovery"/); assert.match(html, /class="outline" id="app-startup-reload" href="" data-i18n="startupRetry"/); assert.match(html, /