DOCUMENTATION XS xst
Overview
Getting Started
BASE
Reference
Worker
Setup modules
COMMODETTO
Reference
Poco Renderer
Outlines
Creating Fonts
Crypt
Data
DEVICES
Moddable One
Moddable Two
Moddable Three
Moddable Four
ESP32
ESP8266
nRF52
nRF52 Low Power Notes
Raspberry Pi Pico
M5Core Ink
M5Paper
Wasm
SiLabs Gecko
QCA4020
Moddable Zero
DISPLAYS
Overview
Adafruit 1.8" ST7735
Adafruit OLED Display
BuyDisplay 2.8" CTP - ESP8266
Crystalfontz ePaper
DotStar
Generic 1.44"
Generic 2.4" & 2.8" (Resistive Touch) - ESP32
Generic 2.4" & 2.8" (Resistive Touch) - ESP8266
Generic 2.4" & 2.8" (Resistive Touch) - Pico
Sharp Memory
Sharp Memory Screen 1.3"
SparkFun TeensyView
Switch Science Reflective LCD
DRIVERS
DESTM32S display
DotStar display
ILI9341 display
LPM013M126A display
LS013B4DN04 display
MCP230XX GPIO expander
NeoStrand
SSD1306 display
SSD1351 display
ST7735 display
Files
IO
TC53 IO
Firmata
NETWORK
Reference
TLS (SecureSocket)
BLE
Ethernet
Web Things
PINS
Reference
Audio Output
PIU
Reference
Localization
Keyboard
Expanding Keyboard
Die Cut
Using After Effects Motion Data
TOOLS
Reference
Manifest
Defines in Manifests
Testing
XS
Handle
JavaScript language considerations on embedded devices using the XS engine
Mods – User Installed Extensions
ROM Colors
Using XS Preload to Optimize Applications
XS Conformance
XS Marshalling
XS Platforms
XS in C
XS linker warnings
xsbug
xst
XS Compartment
XS Profiler

xst

xst is the XS test engine, a JavaScript engine to test XS on Linux, macOS and Windows.

Build

Linux

cd $MODDABLE/xs/makefiles/lin
make

macOS

cd $MODDABLE/xs/makefiles/mac
make

Windows

cd %MODDABLE%\xs\makefiles\win
build

Download

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

You can also download the latest versions of xst from the moddable-xst repository into a directory that is on your PATH

Usage

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

Without the -e, -m or -s options, strings are paths to test262 cases or directories.

eshost

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.

test262

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.