Where the benchmarks measure performance on real-world code, this page
compares one aspect of parser correctness — which files each parser accepts — on edge-case test suites.
80,416 files from
9 sources, all of them formatter, compiler, and conformance
test suites. Each source links its upstream, at the commit the harness pinned where the
report records one.
The Svelte set is every .svelte and .html file, minus the
harness's fixture exclusions and those svelte/compiler rejects. The .html files load as Svelte.
test262 is its expected-valid tests outside test/staging/, minus the
sloppy-mode tests under test/annexB/: Annex B is the web-browser layer,
optional outside browsers, and tsv doesn't implement it. Over half the set is
runtime-library tests (built-ins, intl402) with ordinary syntax.
The TypeScript compiler's cases are the single-file .ts ones tsc's parser
accepts and whose recorded baselines carry no grammar error.
The web-platform-tests CSS is the <style> blocks of the .html pages under its css/ directory, deduplicated.
From Prettier's suites the harness drops range- and cursor-marker files, front-matter and
multiparser fixtures, Babel-only proposals, error cases its specs expect every
spec-grammar parser to reject, and the spec files themselves.
JSX is excluded: Prettier's JSX suite, every .tsx file, and the .js fixtures Prettier reads as JSX are dropped, since every parser here is
run in plain TypeScript mode, where all of them reject JSX. tsv has no JSX mode by design,
so these tables don't measure that gap.
TS/JS files parse as modules, with two exceptions: test262's parse as script or module, as
each test's flags declare, and Prettier's JS and TypeScript fixtures take the goal their
extension names (.cjs, .mjs, …), otherwise retrying as scripts
when the module parse fails. tsc decides for itself.