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
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
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.
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.