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.


翻译:开发者开始在 TypeScript 中写入大型复杂的应用程序。 TypeScript 将 JavaScript 应用程序通过输入描述其 API 被称为 声明文件, 将 JavaScript 库整合为 dts-generate 。 TempleTTempleTyScript 是这些文件的标准公共储存库。 该存储器由自愿者手动配置和维护, 容易出错且耗时。 声明文件和 JavaScript 执行过程之间的差异导致来自 TypeScript IDE 的错误反馈, 从而导致对 JavaScript 库的错误使用。 这项工作展示了 dts- generate, 这是为 JavaScript 图书馆生成 Typeript 声明文件的工具, 这个工具被上传到国家防范机制登记处。 它从开发者所编写的文件中提取了代码示例, 执行由示例驱动的图书馆, 收集运行时间信息, 并根据此信息生成声明文件, 直接生成了 249 声明文件, 其中111 与相应的声明文件进行了比较。

0
下载
关闭预览

相关内容

TypeScript is a language for application-scale JavaScript development.TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. typescriptlang.org/
Python图像处理,366页pdf,Image Operators Image Processing in Python
【电子书】Flutter实战305页PDF免费下载
专知会员服务
23+阅读 · 2019年11月7日
【新书】Python编程基础,669页pdf
专知会员服务
195+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
Xsser 一款自动检测XSS漏洞工具
黑白之道
14+阅读 · 2019年8月26日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Arxiv
0+阅读 · 2021年10月13日
Arxiv
0+阅读 · 2021年10月13日
Arxiv
0+阅读 · 2021年10月13日
Arxiv
3+阅读 · 2018年4月3日
VIP会员
相关VIP内容
Python图像处理,366页pdf,Image Operators Image Processing in Python
【电子书】Flutter实战305页PDF免费下载
专知会员服务
23+阅读 · 2019年11月7日
【新书】Python编程基础,669页pdf
专知会员服务
195+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
41+阅读 · 2019年10月9日
相关资讯
Xsser 一款自动检测XSS漏洞工具
黑白之道
14+阅读 · 2019年8月26日
用Now轻松部署无服务器Node应用程序
前端之巅
16+阅读 · 2019年6月19日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
polyglot:Pipeline 多语言NLP工具
AINLP
4+阅读 · 2018年12月11日
Adversarial Variational Bayes: Unifying VAE and GAN 代码
CreateAMind
7+阅读 · 2017年10月4日
【推荐】MXNet深度情感分析实战
机器学习研究会
16+阅读 · 2017年10月4日
【推荐】Python机器学习生态圈(Scikit-Learn相关项目)
机器学习研究会
6+阅读 · 2017年8月23日
Auto-Encoding GAN
CreateAMind
7+阅读 · 2017年8月4日
Top
微信扫码咨询专知VIP会员