{"type":"rich","version":"1.0","provider_name":"Transistor","provider_url":"https://transistor.fm","author_name":"TypeScript.fm - The Friendly Show for TypeScript Developers","title":"State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B","html":"<iframe width=\"100%\" height=\"180\" frameborder=\"no\" scrolling=\"no\" seamless src=\"https://share.transistor.fm/e/6dba5159\"></iframe>","width":"100%","height":180,"duration":2513,"description":"Joshua Goldberg (JoshuaKGoldberg.com), creator of typescript-eslint, joins us to discuss the state of linting TypeScript projects in 2025. Which linters should we pay attention to? Why are there so many? What's unique about TypeScript? Josh shares his perspective and covers what to look for in a linter and how best to utilize them in your projects.\nChapters\nLinters\ntypescript-eslint (stable) – TypeScript, most type-aware lint rules\noxlint (stable) – Rust, no type-aware lint rules\nBiome (stable) – Rust, limited type-aware lint rules in V2\ntsslint (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API\ntsl (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules\nDeno lint (stable) – Rust, subset of ESLint rules, no type-aware lint rules\nFlint (unstable) – TypeScript, Josh’s fast, friendly linter, still in development\ntsgolint (prototype) – Go, proof-of-concept experimental TypeScript Native integration\n\nResources\nLearn: Vanilla TypeScript Experience\nLearn: ASTs and typescript-eslint\nLearn: If I Wrote a Linter, Part 4: Summary \nLearn: TypedRocks Builds a Type-aware ESLint Plugin\nDustinSpecker/awesome-eslint – a list of awesome ESLint plugins and resources\nJoshuaKGoldberg/create-typescript-app – pick and choose the rules you like\nESLint now supports linting for Markdown and CSS\nJosh’s Favorite Rules and Plugins:typescript-eslint/no-floating-promises – to avoid non-awaited Promises\ntypescript-eslint/no-deprecated – to avoid calling deprecated APIs\neslint-plugin-regex – to catch ReDOS vulnerabilities\neslint-plugin-n – for Node.js projects\neslint-plugin-jsdoc – for the “informative docs” rule\neslint-plugin-erasable-syntax-only – to enforce erasable syntax in your TS project (prior to TS 5.8)\neslint-plugin-package-json – lint your package.json file\n\nWhere to Find Josh\nJoshuaKGoldberg.com\nFlint Discord\nJosh on BlueSky\nJosh on Fosstodon\nJosh on GitHub\nSponsored by Excalibur.js\nExcalibur.js is the friendly TypeScript...","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}