TypeScript is a quickly evolving superset of JavaScript with active development of new features. Our paper seeks to understand how quickly these features are adopted by the developer community. Existing work in JavaScript shows the adoption of dynamic language features can be a major hindrance to static analysis. As TypeScript evolves the addition of features makes the underlying standard more and more difficult to keep up with. In our work we present an analysis of 454 open source TypeScript repositories and study the adoption of 13 language features over the past three years. We show that while new versions of the TypeScript compiler are aggressively adopted by the community, the same cannot be said for language features. While some experience strong growth others are rarely adopted by projects. Our work serves as a starting point for future study of the adoption of features in TypeScript. We also release our analysis and data gathering software as open source in the hope it helps the programming languages community.
翻译:TypeScript是一种快速演进的JavaScript超集,具有持续开发新特性的活跃社区。本文旨在了解开发者社区对这些特性的采用速度。JavaScript领域现有的研究表明,动态语言特性的采用可能是静态分析的主要障碍。随着TypeScript的演变,特性的添加使得标准变得越来越难以跟上。在本研究中,我们对454个开源TypeScript仓库进行了分析,并研究了过去三年中13个语言特性的采用情况。我们发现,虽然社区积极采用TypeScript编译器的新版本,但同样不能这样做的是语言特性。尽管一些特性经历了强劲的增长,但其他特性很少被项目采用。我们的研究为未来研究TypeScript特性采用率提供了起点。我们还开源了我们的分析和数据采集软件,以帮助编程语言社区。