Skip to main content

I1 — ES Engine

Goal: ship a Zig-native JavaScript engine that is fully compatible with the latest ECMAScript edition.

Why this is first

Every other product surface — exclusive Bun/Deno APIs, Node-compat, frameworks, DX, desktop embed — assumes correct language semantics. Partial engines produce matrices that look green while real programs fail in surprising ways. Pre-v0.0.1 therefore gates the tag on language completeness, not on framework dogfood.

Success definition

You may claim ES edition compatibility for 0.0.1 only when all of the following hold:
  1. Feature matrix in-scope rows are supported or dogfooded
  2. Test262 CI runs on Linux for the in-scope set with zero open blockers
  3. Fail-closed behavior outside the matrix (no silent wrong success)
  4. Edition pin and Test262 pin are recorded in Sources
Exact in/out boundaries: Scope.

Current engine reality (honest)

scripty already has an early kernel: lexer/parser, bytecode interpreter, partial values, promises/microtasks, timers, local ESM, TS type strip, JSX transform. That is a starting point — not ES2026 completeness.

Work packages

Risks

Next

  1. Read Scope
  2. Track Phases
  3. Update Feature matrix as work lands