Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Moddable XS Test Engine

XS is the JavaScript engine at the center of the Moddable SDK.

Please visit Moddable to get the source code, documentation and licence of XS

This repository only releases xst, a JavaScript engine to test XS on Linux, macOS and Windows and xsbug, the XS debugger.

You can use the jsvu CLI to install or update xst from this repostiory.


xst [-h] [-e] [-m] [-s] [-t] [-v] strings...
  • -h: print this help message
  • -e: eval strings
  • -m: strings are paths to modules
  • -s: strings are paths to scripts
  • -t: strings are paths to test262 cases or directories
  • -v: print XS version

without -e, -m, -s, or -t:

  • if ../harness exists, strings are paths to test262 cases or directories
  • else if the extension is .mjs, strings are paths to modules
  • else strings are paths to scripts


To test XS with eshost, install the eshost CLI. Then add XS to the hosts:

eshost --add 'XS' xs ~/.jsvu/xst

eshost uses the -s option of xst.


To test XS with test262, clone test262 and change the directory to the test directory inside the test262 directory. For instance:

cd ~/test262/test
xst language/block-scope
xst built-ins/TypedArrays/buffer-arg-*

See XS Conformance for details about how XS currently passes test262 cases.

Running xsbug while passing a bunch of test262 cases can be cumbersome. Just quit xsbug or at least uncheck Break - On Exceptions in the preferences.


See the xsbug documentation in the Moddable SDK.