Skip to content
CAI
Produce a survey ↗Verify a survey

ocsigen/ts2ocaml

This system is a TypeScript-to-OCaml/ReScript binding generator that automates the creation of type-safe interop layers for JavaScript libraries. It parses TypeScript declaration files and translates them into F# or OCaml modules, supporting both JS_of_Ocaml and ReScript compilation targets. The tool provides configurable code generation strategies, standard library bindings, and utility modules for dependency analysis and AST inspection.

57.2

Adequate · 1 August 2026

24k

lines of production code

F#

primary language

1

bus factor · 6 authors in all

3

measurements over time

CAI band scale
CAI trend line

How it got here

2020–2021 · CLI and build system modernization

This period focused on modernizing the project's infrastructure, including a comprehensive refactor of the build system and tooling to support newer versions of OCaml and JavaScript tooling. The team also overhauled the command-line interface using the Yargs library and restructured the code generation targets to support advanced configuration options and presets.

5 changes

2022–2023 · ReScript and OCaml target support

The codebase was expanded to support ReScript and JS_of_Ocaml compilation targets, introducing new build scripts and code generation pipelines for these ecosystems. This period focused on modularizing the TypeScript parsing and type inference logic while adding comprehensive F# and ReScript bindings for JavaScript interop and standard library support.

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 1 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.18. Score the same commit under that rubric and you get the same number.
CAI link cards