@samlanning @samlanning
How TypeScript is transforming the JavaScript ecosystem
Sam Lanning
About Me
Securing software, together
Twitter / GitHub: @samlanning
JavaScript’s popularity
Securing software, together
Twitter / GitHub: @samlanning
JavaScript’s popularity
Securing software, together
Twitter / GitHub: @samlanning
JavaScript’s popularity
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
Securing software, together
Twitter / GitHub: @samlanning
Large JavaScript Applications
“Types exist in JavaScript whether you choose to use tooling which can reason about them for you or not.”
James Henry - Microsoft MVP for TypeScript
Securing software, together
Twitter / GitHub: @samlanning
Static Typing for Javascript
Securing software, together
Twitter / GitHub: @samlanning
Static Typing for Javascript
Securing software, together
Twitter / GitHub: @samlanning
Introducing TypeScript
TypeScript: State of the Union - James Henry - https://youtu.be/4nwb-kplv-k
Securing software, together
Twitter / GitHub: @samlanning
// @ts-check�- or -
--checkJs
Securing software, together
Twitter / GitHub: @samlanning
Introducing TypeScript
Securing software, together
Twitter / GitHub: @samlanning
Introducing TypeScript
Securing software, together
Twitter / GitHub: @samlanning
Introducing TypeScript
Demo Time! (1/4)
Securing software, together
Twitter / GitHub: @samlanning
Does it actually make a big difference?
Securing software, together
Twitter / GitHub: @samlanning
Does it actually make a big difference?
Securing software, together
Twitter / GitHub: @samlanning
External NPM Modules
Securing software, together
Twitter / GitHub: @samlanning
External NPM Modules
Demo Time! (2/4)
Securing software, together
Twitter / GitHub: @samlanning
External NPM Modules
Securing software, together
Twitter / GitHub: @samlanning
DefinitelyTyped
Securing software, together
Twitter / GitHub: @samlanning
DefinitelyTyped
> npm install @types/lodash
Securing software, together
Twitter / GitHub: @samlanning
DefinitelyTyped
Demo Time! (3/4)
Securing software, together
Twitter / GitHub: @samlanning
Bundled Types
{
"name": "awesome",
"author": "Vandelay Industries",
"version": "1.0.0",
"main": "./lib/main.js",
"types": "./lib/main.d.ts"
}
Securing software, together
Twitter / GitHub: @samlanning
Bundled Types
Demo Time! (4/4)
Securing software, together
Twitter / GitHub: @samlanning
Bundled Types
Write your NPM project in TypeScript?
Securing software, together
Twitter / GitHub: @samlanning
Securing software, together
Twitter / GitHub: @samlanning
Summary
Securing software, together
Twitter / GitHub: @samlanning
Rate the Session
Session page on conference website
O’Reilly Events App
Securing software, together
Twitter / GitHub: @samlanning
http://semmle.com
@Semmle
Thank You
@samlanning
@samlanning
Sam Lanning
Writing npm (JavaScript) libraries using TypeScript
2:35pm–3:15pm Thursday
Live Coding ONLY
Portland 252
Follow along: github.com/samlanning/typescript-talks