These files describe behaviour the specifications leave open, the formats the engine writes, and the choices behind them. They are written so a port to another language can reproduce the behaviour from the text.
Using the library
- host-api.md: the low-level host API (
ScriptEngine,JsRealm,JsValue, promises, modules, limits, errors across the boundary). - js-export.md:
[JsExport]bindings, boundary errors, generator diagnostics and the JSON-Schema tool helper. - repair-table.md: the auto-repair table (version 2): each rule, its example and when it applies.
- source-maps.md: ECMA-426 source maps and how reports use them.
Reports and diagnostics
- diagnostic-json.md and diagnostic-report.schema.json: the versioned JSON report and its schema.
- stack-traces.md: the
err.stackformat and the frames of a report. - error-help.md: how the
= help:line of a runtime report is chosen, and the idiom table. - syntax-messages.md: the wording of every syntax and early error, with the script that produces it.
- record-log.md: the record log (version 1) that makes runs replayable.
Language and built-ins
- ast.md: the syntax tree, scopes and the parser's error behaviour.
- executor.md: why the executor is a bytecode machine, with the measurements.
- runtime.md: the contract for adding a built-in area, limits and the host interface.
- arrays.md:
Array, iterators and iterator helpers. - binary-data.md:
ArrayBuffer, typed arrays,DataViewandAtomics. - builtins-string-number-json.md:
String,Number,Math,JSON,BigIntand the URI functions. - collections-proxy.md:
Map,Set, weak references,ReflectandProxy. - date.md:
Dateparsing, formatting and time zones. - regexp.md: the RegExp engine, its limits and Unicode data.
Intl and Unicode
- intl.md: the Intl services and the time zone source.
- locale-data.md: where locale data comes from, the embedded format and how to add a locale.
- text-services.md: normalization, collation and segmentation.