Skip to content
0:00 / 0:00

#typescriptcompiler#ast#parser

How the TypeScript Compiler Compiles - understanding the compiler internal

orta therox

893 subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 1 on Lobsters and 1 in engineering communities.
  • Presented by Orta Therox, TypeScript core team member

Advanced. Deep dive for people who know the field.

21K views4 years ago2 recommendations

Systems programmingProgramming languagesCompilers and interpretersTypeScript

Orta Therox provides a systems-level walkthrough of the TypeScript compiler, explaining the parser, binder, checker, and emitter.

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: Text Scanning: Parser: Binder: Flow Graph: Checker: Type Initializer Inference: Generic Type Inference: Contextual Typing: Emitting Files: Transformers: Transform Flags: Slides: keybase.pub/orta/talks/tsconf-2021/ ("long" version)

Why it's here

2 people recommend this

What people say. Recommended as an excellent, deep-dive explanation of the TypeScript compiler's internal architecture.

u/ais04in r/typescript • Recommends

How the TypeScript Compiler Compiles - understanding the compiler internal

adamshayloron Lobsters • Recommends

How the TypeScript Compiler Compiles

u/nadameuin r/typescript • Mentions

On “Searching for videos about the TypeScript Compiler API”

link to this video

u/nedlininin r/typescript • Mentions

On “Why is tsc reporting far fewer errors than VSCode for the same project and Typescript version?”

Someone already answered your question. tsc is a compiler. VS Code is running an LSP. The LSP decouples the requirement for the perfect syntax creating an AST, the compiler does not. Semantic checks happen \_after\_ the syntactic checks in the compiler. Yes, it has been this way for a very, very long time. https://github.com/microsoft/typescript/wiki/using-the-language-service-api [video