{"version":"1.0","type":"rich","provider_name":"Acast","provider_url":"https://acast.com","height":250,"width":700,"html":"<iframe src=\"https://embed.acast.com/$/655148df2861630012a1d01b/66d8a4edf24509f15607702b?\" frameBorder=\"0\" width=\"700\" height=\"250\"></iframe>","title":"Josh Goldberg: How to Maximize Success with TypeScript and ESLint","thumbnail_width":200,"thumbnail_height":200,"thumbnail_url":"https://open-images.acast.com/shows/655148df2861630012a1d01b/1725473868188-27b97e7e-ab51-455a-9b54-32361010ac4f.jpeg?height=200","description":"<p>Links</p><p>- Codecrafters (sponsor): https://tej.as/codecrafters</p><p>- Wix (sponsor): https://tej.as/wix</p><p>- Josh Goldberg: https://x.com/joshuakgoldberg</p><p>- Learning TypeScript: https://learning.oreilly.com/library/view/-/9781098110321/</p><p>- SquiggleConf: https://2024.squiggleconf.com/ </p><p><br></p><p>Summary</p><p><br></p><p>Joshua K Goldberg is a full-time independent open source maintainer in the TypeScript ecosystem. He shares his journey into open source and the importance of filling in the gaps in the ecosystem. He also discusses the best incremental migration path to TypeScript and highlights advanced features like shenanigans with type parameters and the 'satisfies' keyword. The conversation covers topics such as literals in TypeScript, writing a book, the process of writing and shipping a book, the reception of the book, the development of TypeScript ESLint, abstract syntax trees (ASTs), parsing, and static analysis. We also discuss the future of TypeScript, the performance of ESLint, and configuration tips to improve ESLint's performance. </p><p><br></p><p>Takeaways</p><p><br></p><p>1. Being a full-time independent open source maintainer is rewarding and allows for direct contributions to tools that benefit everyone.</p><p>2. When migrating to TypeScript, it's best to start with one file at a time and gradually increase strictness.</p><p>3. Type parameters in TypeScript can be complex, but they are useful for advanced scenarios.</p><p>4. The 'satisfies' keyword in TypeScript allows for declaring data that adheres to a type while still inferring a more specific type.</p><p>5. Parsing is the process of converting a string of code into an AST.</p><p>6. ESLint provides a report function that allows lint rules to report issues to the user.</p><p>7. TypeScript ESLint supports typed linting, which allows for more powerful linting rules.</p><p>8. ESLint's performance can be affected by misconfiguration, the number of plugins, and the use of ESLint plugin prettier.</p><p>9. Separating ESLint and Prettier as separate tools can improve performance.</p><p>10. Being an open-source maintainer can be challenging, but having a fallback plan and a supportive community can make it sustainable.</p><p><br></p><p>Chapters</p><p><br></p><p>00:00 Josh Goldberg</p><p>03:37 Introduction and Background</p><p>06:22 The Journey into Open Source and Filling in the Gaps</p><p>15:15 The Best Incremental Migration Path to TypeScript</p><p>28:41 Introducing the 'Satisfies' Keyword in TypeScript</p><p>30:31 The Process of Writing and Shipping a Book</p><p>35:10 The Development of TypeScript ESLint</p><p>37:26 Parsing and Static Analysis with Abstract Syntax Trees</p><p>56:54 Improving ESLint Performance: Configuration Tips</p><p>01:01:00 Understanding the Role of ASTs and Compilers in TypeScript and ESLint</p><p>01:03:42 Configuring Type Linting in TypeScript</p><p>01:06:22 The Intersection of AI with TypeScript and ESLint</p><p>01:11:53 Creating a Standardized Open-Source Sponsorship Rating System</p>","author_name":"Tejas Kumar"}