conformance #

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.

Coverage
#

Parsing 4,643 Svelte files

sourcefilesrsvelte svelte/compiler tsv
Svelte's tests4,243100.00% 100% by construction100.00%
prettier-plugin-svelte's tests318100.00% 100% by construction100.00%
Prettier's HTML fixtures82100.00% 100% by construction100.00%

Parsing 53,323 TypeScript/JS files

sourcefilestsv oxc-parser yuku-parser (wasm)tsc swc acorn-typescript
all sources but TypeScript compiler's cases45,22699.94% −2699.90% −4499.87% −5599.83% −7699.19% −36699.15% −384
test26243,739100.00% 99.96% −1499.90% −4199.85% −6299.27% −31699.40% −261
TypeScript compiler's cases8,09799.01% −8098.78% −9898.69% −106100% by construction98.01% −16195.98% −325
Prettier's JS fixtures75697.88% −1698.94% −899.33% −598.28% −1397.35% −2093.78% −47
Prettier's TypeScript fixtures59198.30% −1096.27% −2298.47% −999.83% −194.92% −3087.14% −76
Svelte's tests140100.00% 100.00% 100.00% 100.00% 100.00% 100.00%

Parsing 22,450 CSS files

sourcefilesPostCSS tsv svelte/compiler
all sources22,45099.60% −8899.31% −15499.07% −207
web-platform-tests CSS22,12799.60% −8899.38% −13799.15% −186
Svelte's tests184100.00% 100.00% 100.00%
Prettier's CSS fixtures139100.00% 87.76% −1784.89% −21

versions

  • svelte 5.57.2
  • acorn 8.19.0
  • @sveltejs/acorn-typescript 1.0.13
  • oxc-parser 0.153.0
  • @yuku-core/wasm 0.17.0
  • postcss 8.5.29
  • @rsvelte/vite-plugin-svelte-native 0.3.17
  • rsvelte's upstream svelte 5.57.1
  • @swc/core 1.16.13
  • typescript 6.0.3

run

environment

  • AMD Ryzen 5 PRO 7530U with Radeon Graphics
  • linux/x86_64
  • node 24.14.1

Test corpus
#

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.
sourcecommitfilesSvelteTypeScript/JSCSS
all sources80,4164,64353,32322,450
prettier-plugin-svelte's tests 780948631831800
Prettier's TypeScript fixtures 1dcd0b059105910
Prettier's JS fixtures 1dcd0b075607560
Prettier's CSS fixtures 1dcd0b013900139
Prettier's HTML fixtures 1dcd0b0828200
Svelte's tests 10fdca74,5674,243140184
web-platform-tests CSS 22,1270022,127
test262 43,739043,7390
TypeScript compiler's cases 637d5748,09708,0970