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