How the TypeScript Compiler Compiles - understanding the compiler internal

preview_player
Показать описание
A systems-level look at the TypeScript compiler. How it converts a file into something into data, checks the validity of that data and finally creates .js files on the disk. Timestamps:

Syntax Trees: 5:01
Text Scanning: 7:10
Parser: 9:24
Binder: 12:49
Flow Graph: 18:39
Checker: 25:01
Type Initializer Inference: 25:01
Generic Type Inference: 30:58
Contextual Typing: 34:01
Emitting Files: 38:55
Transformers: 39:45
Transform Flags: 41:54

Рекомендации по теме
Комментарии
Автор

This should be used as the golden example of how to give a good presentation, the large font, perfect amount of stuff on each slide, the enormous titles for each section, love it, exactly what I wanted!

mattetis
Автор

This is an awesome talk! I really like the multicolour background for flow nodes illustrating the different type possibilities depending on what narrowing has taken place. It's so .... clear! Makes me want to write a VS Code plugin that does exactly that!

johnreilly
Автор

Such an underrated channel. I loved this video, thank you!

brig
Автор

Thank you William for introducing me to Ortha. Typescript videos ❤️❤️

hugodsa
Автор

This is a great overview of what is under the hood of TS! 💙 loved it 🙌🏻

leonidpyrlya
Автор

Thanks Orta! Quite interesting introduction to the compiler internals.

timocov
Автор

TS is beatiful 🤩 i had problems understanding the flow of the type checking of the compiler. you made it so clear thank you so much that was an awesome talk

valeriofunk
Автор

This was exactly the video that I was looking for. Thank you very muuuuch

javiasilis
Автор

Great Video. It is interesting to see under the hood of a transpiler.

NathanHedglin
Автор

Great talk, I learned a lot! What's the best way to learn about the "helicoptering into a random position" and gaining context from the surrounding file type work that Anders mentions in the referenced talk? It sounds like this covers the usage of tsc as a CLI tool, but I'm eager to learn a little more about how its used as a library too!

AnkurOberoi
Автор

Crazy good video. So when the checker starts inferring types from parsing the tree, is it possible to miss diagnostics from the Binder since that process is already complete? Seems like it could be an issue whenever you mutate the syntax tree?

JordanLynn
Автор

Really helpful talk! Learned a lot. Would you mind sharing the keynote in de description below? 🙏🙏

lantianyou
Автор

Is there a useful public api doc for the compiler api anywhere? I am trying to understand some of the details of typescript eslint but i can't find info on the compiler api calls

KirkWaiblinger
Автор

I'm really enjoying this so far, but 3mins in I have to ask, how did you create such a beautiful presentation? Is this Keynote?

jsjoeio
Автор

if you say TS written in TS‌ finally, maybe write an operating system in typescript ?

emdadgar_official
Автор

When asking ChatGPT to correct my comment on a youtube video and he goes: «"I hit pause at 8:30, just before you said it was in the Plugin tab. So, I was on the hunt for that Scanner thing and the AST. And I was like, " *bro should have said it's in the plugin section.* " Also, I was thinkin' " *damn, who is this Orta?* " (cause that name was all over the Plugin list). He seems like an amazing < _equivalent word for Rustaceans but for the Python equivalent of Pythonista but in the TypeScript context_ >. Then I was like, " *I gotta check out who this Orta dude is* " after watchin' that video. And let's be real, I might have even watched the video just to find out. Haha. Oh and by the way, you know what's better than finding Orta's code in the plugin section? Getting a maple bar from Top Pot doughnuts on a rainy day in Seattle."»...

Luxcium
Автор

MFW a 46 minute description of type checker didn't mention type theory. Oh right, because TypeScript doesn't use it...

ybcnnpq