Remote
In-person

Schedule

Times below are shown in your local browsers time zone

2023-09-21T14:00:00.000Z
2023-09-21T15:00:00.000Z
2023-09-21T16:00:00.000Z
2023-09-21T17:00:00.000Z
2023-09-21T18:00:00.000Z
2023-09-21T19:00:00.000Z
2023-09-21T20:00:00.000Z
Interface Track
2023-09-21T14:00:00.000Z
Opening Ceremony
2023-09-21T14:10:00.000Z
What is "TC39: Type Annotations" aka the Types as Comments proposal
Orta Therox
A deep dive into the proposal which could de-fork TypeScript and bring all us users back to being "JavaScripters, but with some TypeScript types." We'll cover the author's motives, how it could work, why now and how it is going.ort
2023-09-21T14:30:00.000Z
QnA with Orta Therox
2023-09-21T14:40:00.000Z
Making Magic: Building a TypeScript-First Framework
Daniel Roe
Nuxt
I'll dive into the internals of Nuxt to describe how we've built a TypeScript-first framework that is deeply integrated with the user's IDE and type checking setup to offer end-to-end full-stack type safety, hints for layouts, middleware and more, typed runtime configuration options and even typed routing. Plus, I'll highlight what I'm most excited about doing in the days to come and how TypeScript makes that possible not just for us but for any library author.
2023-09-21T15:00:00.000Z
QnA with Daniel Roe
2023-09-21T15:10:00.000Z
Exploring the TypeScript-first architecture of modern frameworks
Lydia Hallie
Vercel
TypeScript goes beyond annotating syntax. We’ll explore how modern frameworks leverage type-safety at the project-level to empower better architecture, greater stability, and higher velocities.
2023-09-21T15:30:00.000Z
QnA with Lydia Hallie
2023-09-21T15:40:00.000Z
Break
2023-09-21T15:45:00.000Z
Using TypeScript with Key/Value Databases
Kevin Whinnery
Deno
Key/value (KV) databases are becoming ever more popular in web applications. Their super-fast response times and ability to support eventual consistency reads make them especially well suited for apps running on globally distributed edge servers. But with how fast this tech is moving, you might not be fully up to speed on how to use this type of database with TypeScript. In this session, we'll explore good use cases for KV databases, examine several production deployment options, and demonstrate how to effectively hydrate TypeScript objects from values in a KV database.
2023-09-21T16:05:00.000Z
QnA with Kevin Whinnery
2023-09-21T16:15:00.000Z
How to make our CLIs safer with types?
Maël Nison
Datadog
In this talk, we will explore the various issues encountered when building JavaScript CLIs, and demonstrate how TypeScript can address them and help us make our applications safer.By the end of this talk, you'll understand how to abstract runtime validations type behind easy-to-use interfaces, and have all the tools you need to bring those benefits into your own CLIs at little cost - whether they are open-source projects, or internal tools.
2023-09-21T16:35:00.000Z
QnA with Maël Nison
2023-09-21T16:45:00.000Z
From Theory to Practice: harnessing Typescript for successful Atomic Design implementation
Nathalia Rus
Custodian
Everyone mentions the importance of code "scalability" and "maintainability" and how Typescript helps with it. But when I got started in tech, I remember struggling to find a practical "real-world" example with best practices.My talk aims to provide such a practical, step-by-step example, sharing some of my learnings and shortcomings: crucially, how we leveraged typescript and atomic design - without over-engineering too early.ty
2023-09-21T17:05:00.000Z
QnA with Nathalia Rus
2023-09-21T17:15:00.000Z
Generating Typed Code
Paul Serraino
Rollbar
For the past six at Rollbar the engineering team has been working tirelessly to migrate our legacy application to a modern Javascript tech stack. We’ve leveraged Next.js, GraphQL and a number of other JS tools to ship more features, make our dev team happier and achieve an impressive 7-fold reduction in our p99 app performance. I invite you to join me as I present the various techniques and architecture we choose to use to quickly migrate away from our legacy monolith.
2023-09-21T17:35:00.000Z
QnA with Paul Serraino
2023-09-21T17:45:00.000Z
Break
2023-09-21T17:50:00.000Z
Generating types without climbing a tree
Matteo Collina
Platformatic
How do you generate types dynamically? How do you write a script that creates some typescript code? The approach most people would recommend is to use Abstract Syntax Tree manipulations. I was working on a deadline to implement types for our OpenAPI client, and I would have missed our release window.
2023-09-21T18:10:00.000Z
QnA with Matteo Collina
2023-09-21T18:20:00.000Z
Migrating TypeScript to Modules: The Fine Details
Jake Bailey
Microsoft
In TypeScript 5.0, the TypeScript toolchain migrated to modules. In this talk, we'll get deep in the weeds, discussing what "modules" even are (and how we somehow weren't using them), the specifics of the migration itself, how we managed to make the switch "mid-flight" on an actively-developed project, how the migration went, and what's next.
2023-09-21T18:40:00.000Z
QnA with Jake Bailey
2023-09-21T18:50:00.000Z
Publishing TS Libraries for Fun and Profit
Mark Erikson
Replay.io
Publishing libraries to NPM is easy - just `tsc && npm publish` and you're done, right?Whoops, you forgot proper ESM compat. And a user is asking for a UMD build. And it doesn't work in Webpack 4. And `moduleResolution: "node16"` can't find the types.Publishing libraries today is _complicated_.
2023-09-21T19:10:00.000Z
QnA with Mark Erikson
2023-09-21T19:20:00.000Z
Are the (module) types wrong?
Andrew Branch
Microsoft
Have you ever installed a dependency, imported it just like the README instructs, and immediately been met with strange TypeScript errors about default imports, the output module format, or ESM/CommonJS interoperability? When everything works at runtime but TypeScript complains, you might wonder, is this a TypeScript bug? Or… are the types wrong?The JavaScript module and package publishing landscape is complicated. Nearly one third of the most popular types-included npm packages have some sort of module-related typings issue that can cause confusion for users.
2023-09-21T19:40:00.000Z
QnA with Andrew Branch
2023-09-21T19:50:00.000Z
Closing Ceremony
2023-09-21T20:00:00.000Z
Afterparty
Interface Track Speakers' Rooms
2023-09-21T14:40:00.000Z
Orta Therox's Room
Orta Therox
2023-09-21T15:10:00.000Z
Daniel Roe's Room
Daniel Roe
Nuxt
2023-09-21T15:40:00.000Z
Lydia Hallie's Room
Lydia Hallie
Vercel
2023-09-21T16:15:00.000Z
Kevin Whinnery's Room
Kevin Whinnery
Deno
2023-09-21T16:45:00.000Z
Maël Nison's Room
Maël Nison
Datadog
2023-09-21T17:15:00.000Z
Nathalia Rus' Room
Nathalia Rus
Custodian
2023-09-21T17:45:00.000Z
Paul Serraino's Room
Paul Serraino
Rollbar
2023-09-21T18:20:00.000Z
Matteo Collina's Room
Matteo Collina
Platformatic
2023-09-21T18:50:00.000Z
Jake Bailey's Room
Jake Bailey
Microsoft
2023-09-21T19:20:00.000Z
Mark Erikson's Room
Mark Erikson
Replay.io
2023-09-21T19:50:00.000Z
Andrew Branch's Room
Andrew Branch
Microsoft
Type Track
2023-09-21T14:10:00.000Z
Opening Ceremony
2023-09-21T14:15:00.000Z
Lessons Learned While Learning Live
Jenn Junod
Aiven
Talking in front of an audience = scary. Learning something new = scary. Let’s talk about doing scary learning something new, WHILE being in front of an audience! One year and 100+ videos streamed, learning TypeScript the way I learn, has helped it click in a snowball effect helping other topics ranging from Python to APIs make more sense.In this talk, the audience will walk away with an understanding of figuring out how you learn as an individual is a lifelong gift you never knew you needed.
2023-09-21T14:40:00.000Z
Taming Language Models through TypeScript
Daniel Rosenwasser
Microsoft
You've probably played with bots like ChatGPT and used them to brainstorm. Maybe you've noticed that getting responses in the right structure or format has been a challenge. As people, we're okay with that - but programs are much more finicky. We've been experimenting with using TypeScript itself as a way of guiding and validating responses from language models.
2023-09-21T15:10:00.000Z
Infer multiple things at once with reverse mapped types
Mateusz Burzyński
Stately
Learn about inferring with reverse mapped types to create great inferences for arguments that aggregate different items of the same shape. The technique can help you to introduce type-level relationships within objects and tuples. The talk will start with the introduction to the technique and will go through a couple of real-world-like examples of how this can be used to improve library types.
2023-09-21T15:35:00.000Z
Break
2023-09-21T15:40:00.000Z
ArkType: Bringing TypeScript to Runtime
David Blass
ArkType
ArkType is a new runtime validator for TypeScript and the first library with the goal of making type syntax available 1:1 in JS with no compilation step.It uses a carefully optimized static parser so that with each character you type, you'll see a list of completions, a clear ParseError, or your inferred type. At runtime, a simple definition like "string|number[]" will be transformed into a TypeNode that can be used to validate or transform inputs, compared to other TypeNodes, or combined with other definitions to form new TypeNodes.This talk will cover the process of building ArkType, with a focus on the type-level parser and runtime type system, and demo some of the most exciting features like scopes, index signatures and generics.
2023-09-21T16:00:00.000Z
Faster TypeScript builds with --isolatedDeclarations
Titian-Cornel Cernicova-Dragomir
Bloomberg
Type-checking a TypeScript codebase can be slow, especially for monorepos containing lots of projects that each need to use the type checker to generate type declaration files. In this talk, we introduce — for the very first time — a new TypeScript feature we are working on called “Isolated Declarations” that allows DTS files to be generated without using the type checker at all! This opens the door to faster declaration generation in TypeScript itself, as well as in external tools written in other languages such as ESBuild and swc. You'll see how to use this new option, and maybe (just maybe) you’ll be convinced about the benefits of explicit return types!
2023-09-21T16:25:00.000Z
How TypeScript is integrated in your editor
Maria Solano
Microsoft
How can an editor ""automagically"" show type errors when you create a single TypeScript file without running ""npm install typescript"" or having a tsconfig.json file? Is a completion list build by your coding editor, TypeScript itself, or some other mysterious being? What is TSServer?In this talk I will give you an overview of how the TypeScript server communicates with IDEs and other editors, delivering rich language features without ever running tsc.
2023-09-21T16:45:00.000Z
The Lies We Tell Ourselves Using TypeScript
Stefan Baumgartner
Oida.dev
How safe is TypeScript's type safety? How much can you trust your statically typed code? Can you even consider TypeScript's type system "strong"? In this talk, we look at situations where TypeScript fails badly and learn why things have to be that way.
2023-09-21T17:15:00.000Z
Break
2023-09-21T17:20:00.000Z
Let's Make a Generic Inference Algorithm
Ryan Cavanaugh
Microsoft
How does generic inference in TypeScript work? For most people, this can seem like a black box. TypeScript's developer lead, Ryan Cavanaugh, walks us from a simple single-step generic inference algorithm up to a simplified model of how generic inference in TypeScript actually works, with a focus on motivating examples.
2023-09-21T17:45:00.000Z
TypeScript Performance: Going Beyond the Surface
Aleksandra Sikora
EdgeDB
Do you ever find yourself pondering how to identify and address performance issues in TypeScript to maximize the effectiveness of your code? If so, join us for a talk on the performance of TypeScript and the techniques you can use to get the most out of your code. We'll delve into various ways to debug performance, explore how to leverage the power of the TypeScript compiler to detect potential performance issues and use the profiling tools available to track down the underlying bottlenecks.
2023-09-21T18:20:00.000Z
Lightning Talks - block 1
Running TypeScript in WebAssembly on the Cloud — Matt Butcher
Enhanced AST Static Analysis with Typescript Language Server — Artur Kenzhaev
Unify Data Sources with GraphQL at the edge — Jamie Barton
2023-09-21T19:00:00.000Z
Lighting Talks - block 2
Replacing Shell Scripts with Cross-Platform TypeScript — David Sherret
Advanced linting rules with ESLint — Tibor Blenessy
Unlocking TypeScript's Potential: Exploring the Power of Ecosystem Tooling — Lizz Parody
2023-09-21T19:30:00.000Z
Lighting Talks - block 3
The Potential of Higher-Kinded Types for Library Semantics — Michael Poteat
TypeScript Survival Guide: Life-Saving Tips and Techniques — Lucas Santos
Unleashing Object Proxies: Building Type-Safe Wrappers for Anything — Akash Joshi
Type Track Speakers' Rooms
2023-09-21T14:40:00.000Z
Jenn Junod's Room
Jenn Junod
Aiven
2023-09-21T15:10:00.000Z
Daniel Rosenwasser's Room
Daniel Rosenwasser
Microsoft
2023-09-21T15:35:00.000Z
Mateusz Burzyński's Room
Mateusz Burzyński
Stately
2023-09-21T16:00:00.000Z
David Blass' Room
David Blass
ArkType
2023-09-21T16:25:00.000Z
Titian-Cornel Cernicova-Dragomir's Room
Titian-Cornel Cernicova-Dragomir
Bloomberg
2023-09-21T16:45:00.000Z
Maria Solano's Room
Maria Solano
Microsoft
2023-09-21T17:15:00.000Z
Stefan Baumgartner's Room
Stefan Baumgartner
Oida.dev
2023-09-21T17:45:00.000Z
Ryan Cavanaugh's Room
Ryan Cavanaugh
Microsoft
2023-09-21T18:20:00.000Z
Aleksandra Sikora's Room
Aleksandra Sikora
EdgeDB
2023-09-21T19:00:00.000Z
Lightning Talks Speakers' Room 1
Jamie Barton,
Dev Rel @ Turso
Matt Butcher,
Fermyon
Artur Kenzhaev
Zoa
Speakers' Room with:- Jamie Barton- Matt Butcher- Artur Kenzhaev
2023-09-21T19:30:00.000Z
Lightning Talks Speakers' Room 2
Lizz Parody,
Stateful
Tibor Blenessy,
SonarSource
David Sherret,
Deno
Tyrone Kirk Shillingford
Full Stack Developer Consultant
Speakers' Room with:- Lizz Parody- Tyrone Kirk Shillingford- David Sherret- Tibor Blenessy
2023-09-21T20:00:00.000Z
Lightning Talks Speakers' Room 3
Lucas Santos,
OpenVolt
Michael Poteat,
Volley Inc
Akash Joshi
SigTech
Speakers' Room with:- Michael Poteat- Lucas Santos- Akash Joshi

Times below are shown in your local browsers time zone

2023-09-22T14:00:00.000Z
2023-09-22T15:00:00.000Z
2023-09-22T16:00:00.000Z
Discussion Rooms
2023-09-22T14:00:00.000Z
TypeScript Feature Spotlight
Titian-Cornel Cernicova-Dragomir,
Bloomberg
Mateusz Burzyński,
Stately
Jake Bailey,
Microsoft
Maria Solano
Microsoft
2023-09-22T14:40:00.000Z
TypeScript Shenanigans
Maël Nison,
Datadog
Orta Therox,
Titian-Cornel Cernicova-Dragomir,
Bloomberg
Mateusz Burzyński,
Stately
Stefan Baumgartner,
Oida.dev
Jake Bailey,
Microsoft
David Blass,
ArkType
Maria Solano,
Microsoft
Michael Poteat
Volley Inc
2023-09-22T15:20:00.000Z
Contributing to TypeScript
Titian-Cornel Cernicova-Dragomir,
Bloomberg
Mateusz Burzyński,
Stately
Ryan Cavanaugh,
Microsoft
Jake Bailey,
Microsoft
Maria Solano
Microsoft
2023-09-22T16:00:00.000Z
Ecosystem Tooling
Maël Nison,
Datadog
Tibor Blenessy,
SonarSource
Aleksandra Sikora,
EdgeDB
Titian-Cornel Cernicova-Dragomir,
Bloomberg
Mateusz Burzyński,
Stately
Jake Bailey,
Microsoft
David Blass,
ArkType
Maria Solano,
Microsoft
Michael Poteat,
Volley Inc
David Sherret
Deno