• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

shexjs / shex.js / 29434305233
75%

Build:
DEFAULT BRANCH: main
Ran 15 Jul 2026 04:55PM UTC
Jobs 1
Files 70
Run time 1min
Badge
Embed β–Ύ
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

15 Jul 2026 04:53PM UTC coverage: 75.337% (+0.2%) from 75.107%
29434305233

push

github

Eric Prud'hommeaux
validation debugger: capture + replay of triple-expression matches

eval-simple-1err's match() is now a drained * runMatch() generator (the
PikeVM loop was already a flat worklist, so, like ThreadedMaterializer,
no suspension machinery is needed) yielding constraint/fail/accept
events with thread views carrying the aspects specific to a validation
thread: position in the state machine (stateNo + the schema
TripleConstraint), repeat counts, and the matched-triples partition.
liveThreads() snapshots the worklist (this generation, then the threads
already advanced into the next).  MatchDebugger drives it:
stepInto/stepOver (= next generation)/continue with tc/predicate
breakpoints.  capturingRegexModule (in @shexjs/eval-validator-api)
wraps any engine to record every match() invocation of a validation for
later replay.

shex-simple and shexmap-simple get a validate-side 🐞 (with the
language-aware editors on): the validation runs once with the capturing
eval-simple-1err, a picker lists the recorded node@shape matches, and
▢‡⏭⏹ replay the chosen one -- schema-gutter breakpoints resolve to
constraints, the current constraint highlights in the schema pane, and
the #valDbgThreads pane lists this generation's threads (β€’ = already
advanced); hovering or clicking one renders its state-machine position,
repeat counts and matched partition in #results.

Materializer thread hovers gained the analogous view: liveThreads and
accepts now expose the cursor's consumed marks, and shexmap-simple's
thread previews render the binding tree (frames Γ— vars, βœ“ = consumed by
that thread, β†’ = cursor) above the (partial) generated graph.

MatchDebugger-test drives capture->replay->determinism, breakpoints and
repeat counts; the editors smoke tests grow a full validation debug
session (shex-simple) and binding-state hover assertions (shexmap).
The webapp packages declare their new @shexjs/eval-validator-api
dependency.  5103 passing.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

2563 of 4003 branches covered (64.03%)

Branch coverage included in aggregate %.

102 of 102 new or added lines in 5 files covered. (100.0%)

5932 of 7273 relevant lines covered (81.56%)

6131.68 hits per line

Jobs
ID Job ID Ran Files Coverage
1 29434305233.1 15 Jul 2026 04:55PM UTC 70
75.34
GitHub Action Run
Source Files on build 29434305233
  • Tree
  • List 70
  • Changed 4
  • Source Changed 4
  • Coverage Changed 4
Coverage βˆ† File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #29434305233
  • 54f30b17 on github
  • Prev Build on main (#29407194496)
  • Next Build on main (#29434601041)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc