  Developers are starting to write large and complex applications in
TypeScript, a typed dialect of JavaScript. TypeScript applications integrate
JavaScript libraries via typed descriptions of their APIs called declaration
files. DefinitelyTyped is the standard public repository for these files. The
repository is populated and maintained manually by volunteers, which is
error-prone and time consuming. Discrepancies between a declaration file and
the JavaScript implementation lead to incorrect feedback from the TypeScript
IDE and, thus, to incorrect uses of the underlying JavaScript library.
  This work presents dts-generate, a tool that generates TypeScript declaration
files for JavaScript libraries uploaded to the NPM registry. It extracts code
examples from the documentation written by the developer, executes the library
driven by the examples, gathers run-time information, and generates a
declaration file based on this information. To evaluate the tool, 249
declaration files were generated directly from an NPM module and 111 of these
were compared with the corresponding declaration file provided on
DefinitelyTyped. All these files either exhibited no differences at all or
differences that can be resolved by extending the developer-provided examples.
