January 29, 2020

293 words 2 mins read

How TypeScript is transforming the JavaScript ecosystem

How TypeScript is transforming the JavaScript ecosystem

TypeScript is revolutionizing the JavaScript ecosystem by introducing static typing, allowing JS projects to truly scale. Sam Lanning explores the transformations taking place, focusing on the benefits across project boundaries, offers an overview of DefinitelyTyped, and shows how type definitions are now starting to be distributed as part of npm packages.

Talk Title How TypeScript is transforming the JavaScript ecosystem
Speakers Sam Lanning (Semmle Inc)
Conference O’Reilly Open Source Software Conference
Conf Tag Fueling innovative software
Location Portland, Oregon
Date July 15-18, 2019
URL Talk Page
Slides Talk Slides

TypeScript continues to grow in popularity—many projects have been migrating over to it from Vanilla JavaScript, and new projects are starting out as TypeScript projects from the get go. Its type system allows for many classes of mistakes to be found at compile time, and integrations with text editors and IDEs makes navigating large codebases a breeze. But these beneficial TypeScript features can only be so useful if the dependencies and libraries that your project uses are not also considered; it should be possible to statically type-check your usage of the modules you import so features like code navigation and autocomplete work for these modules too. The TypeScript community knows this, and there are a number of initiatives that ensure that type definitions are available for as many JavaScript libraries as possible. Sam Lanning explores TypeScript’s motivations and goals. He then covers the two initiatives that have been transforming the JavaScript ecosystem—DefinitelyTyped, an initiative to write type definitions for commonly used libraries (in particular npm packages) and make them easily accessible, and a method for including type definitions in npm packages and how to automate this process if a package is itself written in TypeScript rather than JavaScript—and explains how to leverage them.

comments powered by Disqus