Home
Categories
EXPLORE
True Crime
Comedy
Society & Culture
Business
Sports
Technology
Health & Fitness
About Us
Contact Us
Copyright
© 2024 PodJoint
Podjoint Logo
US
00:00 / 00:00
Sign in

or

Don't have an account?
Sign up
Forgot password
https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/96/7d/9e/967d9e18-e3a1-8e3a-8c7b-56c5c7bcda95/mza_2936517355277359361.jpg/600x600bb.jpg
TypeScript.fm - The Friendly Show for TypeScript Developers
Kamran Ayub and Erik Onarheim
48 episodes
1 week ago
The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!
Show more...
Technology
News,
Tech News
RSS
All content for TypeScript.fm - The Friendly Show for TypeScript Developers is the property of Kamran Ayub and Erik Onarheim and is served directly from their servers with no modification, redirects, or rehosting. The podcast is not affiliated with or endorsed by Podjoint in any way.
The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!
Show more...
Technology
News,
Tech News
https://is1-ssl.mzstatic.com/image/thumb/Podcasts221/v4/96/7d/9e/967d9e18-e3a1-8e3a-8c7b-56c5c7bcda95/mza_2936517355277359361.jpg/600x600bb.jpg
State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B
TypeScript.fm - The Friendly Show for TypeScript Developers
41 minutes
2 months ago
State of TypeScript Linting 2025 | Joshua Goldberg | Ep 29B

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.

Chapters

  • (00:00) - Introducing Josh Goldberg
  • (02:10) - Why Are There So Many Linters?
  • (02:48) - Why Do I Need a Linter With TypeScript, Anyway?
  • (04:13) - Landscape of Linters in 2025
  • (06:56) - How Does TypeScript Linting Actually Work?
  • (08:15) - Creating Type-aware Native Speed Linters
  • (11:06) - What Would the Ideal Linter Look Like?
  • (12:48) - Where is the Bottleneck in Type-aware Linting?
  • (15:15) - Are Native Speed Linters the Answer?
  • (21:03) - Okay, So Which Linter Should I Use?
  • (23:33) - Are There Some Golden Type-aware Rules to Use?
  • (24:44) - Customizing Your Linting Setup
  • (27:05) - Writing Your Own Custom Lint Rules
  • (31:08) - Josh's Recommended ESLint Plugins
  • (34:15) - Future of Linting with Flint
  • (36:37) - Attend SquiggleConf 2025 in Boston

Linters
  • typescript-eslint (stable) – TypeScript, most type-aware lint rules
  • oxlint (stable) – Rust, no type-aware lint rules
  • Biome (stable) – Rust, limited type-aware lint rules in V2
  • tsslint (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler API
  • tsl (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rules
  • Deno lint (stable) – Rust, subset of ESLint rules, no type-aware lint rules
  • Flint (unstable) – TypeScript, Josh’s fast, friendly linter, still in development
  • tsgolint (prototype) – Go, proof-of-concept experimental TypeScript Native integration


Resources

  • Learn: Vanilla TypeScript Experience
  • Learn: ASTs and typescript-eslint
  • Learn: If I Wrote a Linter, Part 4: Summary 
  • Learn: TypedRocks Builds a Type-aware ESLint Plugin
  • DustinSpecker/awesome-eslint – a list of awesome ESLint plugins and resources
  • JoshuaKGoldberg/create-typescript-app – pick and choose the rules you like
  • ESLint now supports linting for Markdown and CSS
  • Josh’s Favorite Rules and Plugins:
    • typescript-eslint/no-floating-promises – to avoid non-awaited Promises
    • typescript-eslint/no-deprecated – to avoid calling deprecated APIs
    • eslint-plugin-regex – to catch ReDOS vulnerabilities
    • eslint-plugin-n – for Node.js projects
    • eslint-plugin-jsdoc – for the “informative docs” rule
    • eslint-plugin-erasable-syntax-only – to enforce erasable syntax in your TS project (prior to TS 5.8)
    • eslint-plugin-package-json – lint your package.json file


Where to Find Josh

  • JoshuaKGoldberg.com
  • Flint Discord
  • Josh on BlueSky
  • Josh on Fosstodon
  • Josh on GitHub
TypeScript.fm - The Friendly Show for TypeScript Developers
The two TypeScript Fools, Kamran Ayub and Erik Onarheim, get together weekly to bring you news, community highlights, and deep dives into the TypeScript ecosystem. Stay up-to-date on what's happening and learn new things to make you a better TypeScript developer along the way!