Skip to content
CAI
Produce a survey ↗Verify a survey

ocsigen/ts2ocaml

This system is a TypeScript-to-OCaml/ReScript binding generator that converts TypeScript declaration files into native bindings for both OCaml (via JsOfOCaml) and ReScript. It provides a CLI tool that supports multiple generation presets and output configurations, enabling developers to integrate TypeScript types into functional programming environments. The tooling includes a F#-based build system, comprehensive test suites for both OCaml and ReScript targets, and utilities for dependency analysis and code generation.

57.2

Adequate · 6 August 2026

24k

lines of production code

F#

primary language

1

bus factor · 6 authors in all

4

measurements over time

CAI band scale
CAI trend line

How it got here

2020–2021 · Build system migration and CLI refactoring

This period focused on modernizing the project's infrastructure by migrating the build system from Node.js to .NET/F# and implementing a robust CLI using Yargs. The work also introduced granular code generation options for the JsOfOCaml target and established automated testing for the TypeScript-to-OCaml bindings.

6 changes

2022–2023 · ReScript and TypeScript binding infrastructure

This period focused on establishing a robust infrastructure for generating F# and ReScript bindings from TypeScript sources, including new build scripts and a ReScript code generation target. The work introduced core library modules for data structures and utilities, alongside updated bindings for the TypeScript compiler API and environment detection.

8 changes

CAI lens gauges

Survey your own repository

ocsigen/ts2ocaml was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.

Survey a repository

About this page

  • The description of this project is derived from its own commit history, not from its README.
  • The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit 8e860e1a0b — the exact code this score is about.
  • Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.
CAI link cards