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

source-academy / js-slang / 35574332389
86%

Build:
DEFAULT BRANCH: master
Ran 21 Sep 2026 07:49AM UTC
Jobs 1
Files 169
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

21 Sep 2026 07:43AM UTC coverage: 78.792% (+0.08%) from 78.715%
35574332389

push

github

web-flow
feat(conductor): Source §1–4 transpiler evaluators + operator conformance sweep (#2058)

* feat(conductor): Source §1-4 evaluators on the transpiler

First slice of the Conductor migration (#2051): the workhorse evaluator
path only. No CSE machine, no stepper, no modules, no non-default
variants — each of those gets its own issue.

SourceEvaluator1..4 extend BasicEvaluator and implement evaluateChunk
alone. As of conductor 0.8.3 the base class already owns the REPL loop
and emits EVAL_READY/RUNNING/ERROR around each chunk, and calls
sendResult with whatever evaluateChunk returns — so the evaluator
returns the program's value rather than sending it, or every run would
appear twice in the host's REPL.

display()/prompt()/alert() are wired through externalBuiltIns to
sendOutput/tryRequestInput. tryRequestInput is conductor's synchronous
counterpart to requestInput, which matches js-slang's synchronous
CustomBuiltIns.prompt exactly, so no async plumbing is needed here.
Without this wiring js-slang's default rawDisplay applies, which is
console.log — inside a Worker, i.e. output that never reaches the REPL.

Errors are sent one per SourceError rather than as a single bulk
parseError string, so each keeps its own position: EvaluatorError takes
(message, line, column, fileName) and renders the location itself.
Warnings go to stdout, since the host renders the error channel in red.

executionMethod is pinned to 'native'. The default 'auto' silently falls
back to the CSE machine on a debugger; statement or verbose errors,
which this evaluator does not support. Note this is the ExecutionMethod
named 'native' (compile to JS and eval, as opposed to interpreting),
not Variant.NATIVE — the variant stays DEFAULT, so the full Source
instrumentation applies: operator type checks, boolean checks, array
guards, proper tail calls and the execution timeout.

Build notes:
- @ts-morph/bootstrap is aliased to a throwing stub. It is reached only
  through FullTSParser (Chapte... (continued)

3192 of 4258 branches covered (74.96%)

Branch coverage included in aggregate %.

20 of 20 new or added lines in 2 files covered. (100.0%)

7110 of 8817 relevant lines covered (80.64%)

211240.6 hits per line

Jobs
ID Job ID Ran Files Coverage
1 35574332389.1 21 Sep 2026 07:49AM UTC 169
78.79
GitHub Action Run
Source Files on build 35574332389
  • Tree
  • List 169
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • c536e0bc on github
  • Prev Build on master (#35092126101)
  • Next Build on master (#35590600188)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc