{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"TypeScript.fm - The Friendly Show for TypeScript Developers","title":"Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/529ec1ef\"></iframe>","width":"100%","height":180,"duration":3432,"description":"In 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 LinksFlint.fyiJoshuaKGoldberg.comFlint DiscordJosh on BlueSkyJosh on FosstodonJosh on GitHubChaptersSponsored by Excalibur.jsExcalibur.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.comMake Your First Game in 10 MinutesJoin the Discord: https://discord.gg/9UemP985UyMusicSeahorse Dreams by Kubbi (Spotify)","thumbnail_url":"https://img.transistorcdn.com/LUVFPtghCfQs9Z5cmq099b61B1Uvk41woCYRjlvHUak/rs:fill:0:0:1/w:400/h:400/q:60/mb:500000/aHR0cHM6Ly9pbWct/dXBsb2FkLXByb2R1/Y3Rpb24udHJhbnNp/c3Rvci5mbS9jY2Ew/ZThkMTZkZGNiN2E2/Mzc1MmI5NWI0ZjU0/YjA3MS5wbmc.webp","thumbnail_width":300,"thumbnail_height":300}