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

shexjs / shex.js / 29372960304
75%

Build:
DEFAULT BRANCH: main
Ran 14 Jul 2026 10:27PM UTC
Jobs 1
Files 61
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

14 Jul 2026 10:25PM UTC coverage: 73.711% (+0.08%) from 73.627%
29372960304

push

github

Eric Prud'hommeaux
editors: phase-4 -- worker-safe anchoring, autocomplete, materialization marks

Worker-app error mapping without worker changes: every error leaf now
carries its predicate, so the (shape, predicate) lookup anchors
validation errors even when postMessage's structured clone breaks object
identity with the schema.  Tested against a JSON round trip of the
results.

Single-parse: parseShExC/parseTurtle memoize their most recent results
(small LRU keyed on text+base); the live linter and the validation-time
mapper share one parse.  RdfJsDb(MillanDataset) as the validation store
remains open -- the app's proof-graph/remainder/slurp flows use
N3-specific APIs and N3 internalization would drop term sources (noted
in doc/editor-integration-plan.md).

Materialization-failure anchoring: ThreadedMaterializer failure records
reference their TripleConstraint (kept out of the error message JSON);
ShExMapBaseApp.anchorMaterializationFailures resolves them by identity
into outputSchema-pane diagnostics ('no binding for <bp:sysVal>' lands
on the exact constraint), clearing on success.  MaterializationErrors
are tagged as input errors for the console policy.  Main-thread app
only; the worker materializer still ships just a message.

Autocomplete: ShExC and Turtle panes complete prefixes (namespace as
detail), shape labels (plain and @ref forms) and constraint predicates,
supplied live from the parsed schema (_index labels, _exprLocations
keys) and both panes' prefix maps; the shexmap outputSchema pane
completes from its own schema.  Wired through CodeMirror languageData
so basicSetup's autocompletion picks it up; completionSource and
lexicalize are unit-tested via a programmatic CompletionContext.

Tests: 5044 passing.

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

2246 of 3568 branches covered (62.95%)

Branch coverage included in aggregate %.

35 of 40 new or added lines in 4 files covered. (87.5%)

5030 of 6303 relevant lines covered (79.8%)

7061.83 hits per line

Uncovered Changes

Lines Coverage ∆ File
4
84.11
0.04% packages/extension-map/lib/ThreadedMaterializer.js
1
93.02
-0.14% packages/extension-map/test/ThreadedMaterializer-test.js
Jobs
ID Job ID Ran Files Coverage
1 29372960304.1 14 Jul 2026 10:27PM UTC 61
73.71
GitHub Action Run
Source Files on build 29372960304
  • Tree
  • List 61
  • 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 #29372960304
  • af5b51d9 on github
  • Prev Build on main (#29367060521)
  • Next Build on main (#29374493162)
  • 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