Fueling innovative software
July 15-18, 2019
Portland, OR

How TypeScript is transforming the JavaScript ecosystem

Sam Lanning (Semmle Inc)
11:00am11:40am Thursday, July 18, 2019
Average rating: ****.
(4.58, 12 ratings)

Who is this presentation for?

  • Software developers and programmers (especially JavaScript programmers), software architects, CxOs and technical leads, and library and API designers




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.

Prerequisite knowledge

  • A working knowledge of JavaScript, Node.js, and npm

What you'll learn

  • Understand the core benefits of TypeScript’s type system and the limitations that arise when type checking is internal to a project only (and not its dependencies)
  • Explore the DefinitelyTyped project
  • Learn how types are beginning to be bundled with modules in npm and how to take advantage of that in your own projects
Photo of Sam Lanning

Sam Lanning

Semmle Inc

Sam Lanning is a developer advocate at Semmle, which he joined after deciding to drop out of his master’s at Oxford University after completing his undergraduate computer science degree there. He was the first full-time developer for Semmle’s LGTM platform, and he worked on it for over three years before becoming a developer advocate. He’s been an active member of the security and privacy community for a while, with a particular interest in vulnerability research, cryptography, and peer-to-peer networks, having previously contributed to Signal’s Android and desktop clients among other open source projects. In his free time, he’s been working on an open source project that ties together music and lighting.

Comments on this page are now closed.


Picture of Sam Lanning
Sam Lanning | Developer Advocate
07/17/2019 5:15am PDT

Content that I’ll be using during this talk can be found / will be found over on GitHub here: https://github.com/samlanning/typescript-talks/tree/master/typescript-js-ecosystem