You did WHAT with TypeScript?—Glint Architecture Overview
Channel: Sympolymathesy by Chris Krycho
Date: 2023-09-07

Chris Krycho and Dan Freeman explain the big picture of how the Glint project works. Glint provides #TypeScript capabilities for #EmberJS and #GlimmerJS templates.

→ How did we get here?
→ What are the pieces of the project?
→ How do they fit together?
→ Where are these pieces in the code base?

The Glint project repository: https://github.com/typed-ember/glint
The Glint project documentation: https://typed-ember.gitbook.io/glint
The “signatures” RFC: https://github.com/emberjs/rfcs/pull/748
Ember.js: https://emberjs.com
Glimmer.js: https://glimmerjs.com
rust-analyzer: https://rust-analyzer.github.io

The Series:
1: https://www.youtube.com/watch?v=MLpP8D3cY7M&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=1
2: https://www.youtube.com/watch?v=Xhv1jAV5cZI&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=2
3: https://www.youtube.com/watch?v=6-TWGx8j9RU&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=3
4: https://www.youtube.com/watch?v=9RjaREOmFAA&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=4
5: https://www.youtube.com/watch?v=oqIAyLbp6Rc&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=5
6: https://www.youtube.com/watch?v=VUXROd82Ljk&list=PLelyiwKWHHApkoeXQjwKPHPAHgKXZyl3t&index=6

00:00 Introductions
03:17 Background
10:57 Architecture.md
11:59 Glint's end to end flow
16:10 Actually a compiler!
20:00 Glint’s parts and their invariants
20:10 The template DSL
21:22 Environments
25:30 Core
28:44 Language server and VS Code plugin
30:33 How the pieces fit together
33:43 Repository overview and tests
36:06 `@glint/template` overview
40:20 `@glint/core` modules overview
41:04 The transform and its output
46:24 Adding features to the language server
48:14 Glint's status
51:38 Glint's philosophy