Non-visual, spec-driven browser runtime — execute JS-heavy pages without rendering a pixel
  • TypeScript 70.1%
  • JavaScript 15.5%
  • HTML 12.4%
  • Rust 0.9%
  • Python 0.8%
  • Other 0.3%
Find a file
Glow b4fb40d67c
Some checks are pending
/ test (push) Waiting to run
React Compatibility / react-compat (push) Waiting to run
feat(dom): innerHTML setter + Rendering Pipeline — 34 Performance-Tests
- innerHTML setter on Element (lazy-parsed via HTML5 Tokenizer + TreeBuilder in Fragment-Mode)
- Clean children, parses HTML, supports nested elements, self-closing, comments
- Fallback: text node insertion when parser fails (graceful degradation)
- className setter fix: _syncClassAttr() after parsing to keep classList + attribute in sync
- 34 Rendering Pipeline Tests (innerHTML, outerHTML, querySelector, Performance-Benchmarks)
- 1000 createElement: 2ms | innerHTML 100KB: 8.6ms | cloneNode 100: 14ms
- Test: massive HTML fragment, script tag (no exec), form/table/nested-list rendering

Gesamt: 650 pass, 1 fail (pre-existing), 1106 expect() calls
2026-06-20 09:42:37 +00:00
.forgejo/workflows React 19 compatibility: Forms + Concurrent polyfills + Integration tests 2026-06-17 16:43:33 +00:00
bench feat: Sprint 8 — Performance Pipeline, Resource Filter, Benchmarks (closes #59) 2026-06-18 13:44:50 +00:00
benchmarks React 19 compatibility: Forms + Concurrent polyfills + Integration tests 2026-06-17 16:43:33 +00:00
corpus Sprint 19 — Issue #84: NameTooLong → Blob-URL-Fallback (Memory-Only) 2026-06-18 20:50:38 +00:00
docs feat: Network Request Manager mit Request↔Response-Matching, Interceptors, Events, Body-Storage 2026-06-17 14:16:46 +00:00
native Phase 6: Performance optimization — DNS cache, TCP Fast Open, global runtime 2026-06-19 19:23:11 +00:00
references docs: references/non-visual-dom-opti.md — 10 Regeln fur Non-Visual-DOM (Phase 3/4 Plan) 2026-06-19 15:49:39 +00:00
scripts real-page-loads: switch from curl to rustls for Chrome-identical TLS fingerprint 2026-06-20 06:34:50 +00:00
src feat(dom): innerHTML setter + Rendering Pipeline — 34 Performance-Tests 2026-06-20 09:42:37 +00:00
tests feat(dom): innerHTML setter + Rendering Pipeline — 34 Performance-Tests 2026-06-20 09:42:37 +00:00
.gitignore Phase 3: HTTP/2 over rustls (hyper-based fetch) + Proxy-Chain support 2026-06-19 19:05:22 +00:00
ACTION-PLAN.md Action plan: simple 4-phase approach — Named params + module import() + webpack capture 2026-06-18 07:10:10 +00:00
ARCHITECTURE-PROPOSAL.md Architecture proposal: two-path execution (classic + module) for spec correctness + performance 2026-06-18 07:02:22 +00:00
ARCHITECTURE-V2.md docs: Architecture v2 Plan — ES Module, Performance, API Completeness (refs #56) 2026-06-18 13:11:42 +00:00
bench-test-500kb.html feat(#96): TokenPool — Zero-Allocation HTML Tokenizer 2026-06-19 20:10:26 +00:00
bench-time.ts chore: token pool + CSS perf benchmarks 2026-06-19 20:14:25 +00:00
bench-token-pool.ts feat(#96): TokenPool — Zero-Allocation HTML Tokenizer 2026-06-19 20:10:26 +00:00
bun.lock fix #104: Phase 2+5 — Events, QuerySelector, Window-Adapter, Runtime-Integration 2026-06-19 15:23:02 +00:00
cli.ts feat: ExecutionRealm + Discord URL resolution + window proxy fixes 2026-06-17 20:51:34 +00:00
COMPATIBILITY.md Phase 0b+0c: Close 24 completed Forgejo issues, update COMPATIBILITY.md 2026-06-18 06:28:39 +00:00
CONVERGENCE-GAP-CLOSURE.md docs: comprehensive Sprint 25 report — fixes, test results, corpus status, roadmap 2026-06-20 07:11:54 +00:00
GOAL.md docs: add project goal in GOAL.md 2026-06-17 13:18:52 +00:00
head fix: LayoutEngine überschreibt Happy DOM + FakeLayout korrekt 2026-06-19 11:53:10 +00:00
HOW-TO-DEVELOP.md docs: add strict-fail spec in HOW-TO-DEVELOP.md 2026-06-17 13:10:09 +00:00
index.ts chore: initial bun project scaffold 2026-06-17 13:07:05 +00:00
INTERACTION-API-PLAN.md docs: Playwright/Puppeteer-orientierter Interaction-API-Plan 2026-06-17 15:12:01 +00:00
package-lock.json feat: ExecutionRealm + Discord URL resolution + window proxy fixes 2026-06-17 20:51:34 +00:00
package.json test scripts: categorisiert + test:coverage:core ohne Netzwerk-Timeout 2026-06-20 07:39:45 +00:00
PACKAGES.md docs: remove vitest, use bun test natively 2026-06-17 13:15:37 +00:00
PLAN-MAPS.md docs: Google Maps integration plan + 5 new issues 2026-06-17 14:01:54 +00:00
PLAN.md docs: add detailed build plan + issue creation scripts 2026-06-17 13:37:47 +00:00
REACT-COMPAT-PLAN.md React 19 compatibility: Forms + Concurrent polyfills + Integration tests 2026-06-17 16:43:33 +00:00
react19-bundle.js feat: ExecutionRealm + Discord URL resolution + window proxy fixes 2026-06-17 20:51:34 +00:00
react19-entry.jsx feat: ExecutionRealm + Discord URL resolution + window proxy fixes 2026-06-17 20:51:34 +00:00
README.md chore: initial bun project scaffold 2026-06-17 13:07:05 +00:00
rules.md docs: rename SLMR.md -> rules.md 2026-06-17 13:21:37 +00:00
SPEC-GAP-REPORT.md Full detection run: fix CLI to use Page class, 19-site scan, spec-gap report 2026-06-18 06:58:57 +00:00
STRATEGY.md docs: add development strategy — error-on-unimplemented, test-first, 100% coverage 2026-06-17 13:43:51 +00:00
TEST-REPORT.md Full detection run: fix CLI to use Page class, 19-site scan, spec-gap report 2026-06-18 06:58:57 +00:00
tsconfig.json feat: fake layers — layout, canvas/WebGL, media/fonts/permissions, observers 2026-06-17 13:52:27 +00:00
WHAT-TO-BUILD.md docs: add build spec in WHAT-TO-BUILD.md 2026-06-17 13:11:05 +00:00

true-headless-browser

To install dependencies:

bun install

To run:

bun run index.ts

This project was created using bun init in bun v1.3.14. Bun is a fast all-in-one JavaScript runtime.