Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B
Download MP3In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native JavaScript and TypeScript linter. What happens when every rule can be type-aware? Can you write lint rules in TypeScript and run them with near-native performance? How can error messages be more helpful for humans and agents alike? How can the configuration and plugin system be re-designed so it's less magical and has more type safety? These are the kinds of questions the Flint team is exploring and we talk with Josh about how things are progressing and where Flint's future is headed.
Josh's Links
Josh's Links
Chapters
Sponsored by Excalibur.js
Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.
- (00:00) - Introducing Josh Goldberg
- (01:43) - Introduction to Flint: A Modern, Hybrid Native Linter
- (03:44) - What Problems is Flint Trying to Solve?
- (05:26) - What's a Hybrid Linter?
- (07:55) - How Does Flint Handle Type-aware Rules?
- (10:45) - How Does Flint Improve Configuration DX?
- (17:13) - How Does Flint Handle Error Messages?
- (20:11) - What is Flint's Take on Errors vs. Warnings?
- (23:17) - How is Flint Approaching Documentation?
- (26:09) - Are There Differences in Dev Mode vs. CI Mode?
- (28:29) - Does Flint Do Anything Special with Formatting?
- (30:39) - Can Flint Fix Lint Issues?
- (32:21) - Are There Advantages to Being TypeScript-first?
- (33:55) - Separating Rules into Stylistic vs. Logical
- (36:36) - Organizing and Categorizing Lint Rules to Improve DX
- (38:17) - How to Get Involved with Flint
- (40:00) - Flint's Roadmap for 2026 and Beyond
- (43:28) - Where to Follow Josh's Work
- (44:20) - The Minnesota Long Goodbye???
Sponsored by Excalibur.js
Excalibur.js is the free and open source friendly TypeScript 2D game engine for the web. Learn to make web games with TypeScript or JavaScript! Excalibur comes out-of-the-box with everything you need, like physics, sprites, animations, sound effects, and first-party plugins for popular 2D gamedev tools.
- Homepage and Docs: https://excaliburjs.com
- Make Your First Game in 10 Minutes
- Join the Discord: https://discord.gg/9UemP985Uy
Creators and Guests
Host
Erik Onarheim
Self-professed Neovim Dandy 🎩 Software developer in Minneapolis ⛄I created a game engine for the web called Excalibur 🗡
Guest
Josh Goldberg 💖
Open source developer👨💻 Bingo, create-typescript-app, ESLint, Mocha, typescript-eslint, etc.👪 Boston TS Club & SquiggleConf✍ Learning TypeScript (O'Reilly)🌟 Microsoft MVPhttps://joshuakgoldberg.com