Powered by RND
PodcastsNewsTypeScript.fm - The Friendly Show for TypeScript Developers

TypeScript.fm - The Friendly Show for TypeScript Developers

Kamran Ayub and Erik Onarheim
TypeScript.fm - The Friendly Show for TypeScript Developers
Latest episode

Available Episodes

5 of 35
  • 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 Linterstypescript-eslint (stable) – TypeScript, most type-aware lint rulesoxlint (stable) – Rust, no type-aware lint rulesBiome (stable) – Rust, limited type-aware lint rules in V2tsslint (stable) – TypeScript, integrates with tsserver, custom rules with TS compiler APItsl (new) – tsc plugin that ports a selection of typescript-eslint type-aware lint rulesDeno lint (stable) – Rust, subset of ESLint rules, no type-aware lint rulesFlint (unstable) – TypeScript, Josh’s fast, friendly linter, still in developmenttsgolint (prototype) – Go, proof-of-concept experimental TypeScript Native integrationResourcesLearn: Vanilla TypeScript ExperienceLearn: ASTs and typescript-eslintLearn: If I Wrote a Linter, Part 4: Summary Learn: TypedRocks Builds a Type-aware ESLint PluginDustinSpecker/awesome-eslint – a list of awesome ESLint plugins and resourcesJoshuaKGoldberg/create-typescript-app – pick and choose the rules you likeESLint now supports linting for Markdown and CSSJosh’s Favorite Rules and Plugins:typescript-eslint/no-floating-promises – to avoid non-awaited Promisestypescript-eslint/no-deprecated – to avoid calling deprecated APIseslint-plugin-regex – to catch ReDOS vulnerabilitieseslint-plugin-n – for Node.js projectseslint-plugin-jsdoc – for the “informative docs” ruleeslint-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 fileWhere to Find JoshJoshuaKGoldberg.comFlint DiscordJosh on BlueSkyJosh on FosstodonJosh on GitHub
    --------  
    41:53
  • Node 22.18 LTS Green Lights TypeScript for Orgs | News | Ep 29
    News of the week of July 28, 2025: TS 5.9 released, Node 22.18 is the first LTS to support TypeScript, a Rust-based alternative to Next.js, plus why Laravel ain't your pappy's PHP. From the community: eslint-max-depth-ts plugin, Zod vs. Valibot battle, Better Auth is so good, a deal with the TypeScript devil, and did you know you can render motion graphics with TypeScript.Chapters(00:00) - Introduction and Personal News (05:18) - News: TypeScript 5.9 Release Highlights (08:32) - News: Node 22.18 is the First LTS to Unflag Type Stripping (12:12) - News: Deno Drops New Next.js and SvelteKit Templates (13:41) - News: pnpm Adds Support for Deno and Bun to package.json Engines (14:06) - News: A Bunch of ECMAScript Proposals Go Bonkers (16:37) - News: Laravel Wayfinder Generates Types and Is Now Stable (18:54) - News: Trusted Publishing in npm with OIDC (19:35) - PSA: Security Vulnerability in form-data Library (21:10) - Community Highlight: Adding Checked Exceptions to TypeScript (22:57) - Community Highlight: New ESLint Max Depth Plugin by TypedRocks (24:00) - Community Highlight: Zod vs. Valibot by Jack Harrington (24:20) - Community Highlight: Better Auth is a TypeScript Auth Framework (26:09) - Community Highlight: Understanding Effect.ts with Maxwell Brown (26:52) - Community Highlight: The Many, Many, Many JavaScript Runtimes by Jamie Birch (27:37) - Community Highlight: Auditing NPM Packages with NPQ (28:06) - Community Highlight: TypeScript Performance Podcast Episode by Mike Hartington (28:56) - Community Highlight: Learn TypeScript While Building a Game in Construct (29:56) - Community Highlight: Parse TypeScript Types from Strings... with TypeScript Types by easrng (30:55) - Secret of the Handbook: InstanceType (33:17) - Cool Link: Create Video Motion Graphics in TS with MotionCanvas (34:01) - Cool Link: Create Terminal UIs in TS with opentui (34:40) - Weird Link: Running Windows 95 in Electron (36:01) - Cool Library: Compile Time Expressions in TypeScript (38:51) - The Minnesota Long Goodbye NewsAnnouncing TypeScript 5.9 official stable release. No changes since the RC. (h/t Rob Palmer summary)Node 22.18 Unflagged TS support, TypeScript is now in LTSIntroducing Rari by Ryan Skinner – a full stack React runtime 4X faster than Next.js (BlueSky thread with more details)Next.js & SvelteKit Templates on Denopnpm adds support for Deno and Bun runtime engine enforcementLaravel announced the stable release of Wayfinder, which generates backend types and routes for TypeScriptVideo: https://youtu.be/UMqSDRe2oH8?si=e6cw57DJVkS40yv8Laracon 2025 Day 1: Keynote Segment by Joe Tannenbaum (@ 06:16:12)GitHub: npm trusted publishing with OIDC is generally availablePSA: Critical Vulnerability in form-data JavaScript Library Exposes Millions of Apps to Code Execution Attacks From the CommunityChecked exceptions in personal TypeScript fork by nxjosh Also: Fork Typescript: You Can Just Do ThingsTypedRocks:  This New ESLint Plugin Fixes Your Nested Unreadable Types in TypeScriptJack Harrington: Zod VS Valibot: JS/TS Validator Battle!Dreams of Code: Better Auth is so good that I **almost** switched programming languages Maxwell Brown: Effect.ts and Effectful Technologies (devtools.fm)Jamie Birch: The many, many, many JavaScript runtimes of the last decadeTrevor Lasn: NPQ: Open source CLI tool that audits and protects your n... (by our friend Liran Tal)Mike Hartington: TypeScript is So Slow… Or Is It? LogRocket podcast Construct: Learn TypeScript in ConstructFunny post about parsing TS types from string literals using... TS types by easrngSecret of the HandbookUtility type `InstanceType<T>`https://github.com/excaliburjs/Excalibur/pull/3493/files https://www.typescriptlang.org/docs/handbook/utility-types.html#instancetypetype Cool StuffMotionCanvas makes cool animations in TypeScripthttps://github.com/sst/opentui – A terminal UI library💩🚀 Windows 95 in Electron. Runs on macOS, Linux, and Windows.I was playing Space Cadet pinball. They also have DOOM and Wolfenstein pre-installed.comptime.ts – A Zig-style comptime equivalent for TypeScript projects (Vite/Bun supported)Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.MusicSeahorse Dreams by Kubbi (Spotify
    --------  
    42:20
  • Building Secure TypeScript Applications | Liran Tal | Ep 28B
    Liran Tal (lirantal.com) from Snyk joins us to dive deep into writing secure TypeScript applications. What's different compared to vanilla JavaScript security? Will schema validators fix all our woes? Can't we let LLMs find and fix security vulnerabilities? Liran educates us about the pitfalls and risks with misplacing trust in TypeScript and LLMs and what we can do to write more secure code.Chapters(00:00) - Introducing Liran Tal (02:56) - What's Special About TypeScript Security vs. JavaScript Security? (04:23) - Misplacing Trust in Types (05:49) - Practical Examples of TypeScript Security Issues (08:43) - Why Does TypeScript Security Matter? (10:23) - TypeScript is Not a Security Tool (11:14) - How Does HTTP Parameter Pollution Work? (12:45) - Ways to Mitigate Parameter Pollution (15:44) - Schema Validators Won't Always Save You (16:51) - How Prototype Pollution Works (18:23) - Exploiting Schema Validators Through Prototype Pollution (21:50) - Mitigating Prototype Pollution Risks (25:21) - Consequences of Prototype Pollution (27:23) - Ways to Safely Merge Objects (30:03) - How Can TypeScript Developers Improve Their Security Posture? (33:17) - How Do LLMs Impact Secure Coding? (39:11) - Misplacing Trust in AI-Generated Code (41:10) - Can LLMs Review and Fix Secure Code? (45:57) - So We're All Doomed, Right? (48:31) - Bonus: Game Development as a Teaching Tool (54:48) - Where to Find Liran LinksLiran's website and blogTalk: Friend or Foe? TypeScript Security FallaciesCourse: Node.js Security CourseBook: Essential Node.js SecurityBook: Serverless SecurityTool: npq (welcoming contributions!)https://github.com/lirantal/is-website-vulnerableGame: Dependency FrostPaper: Are AI-generated fixes secure? (July 2025)Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.MusicSeahorse Dreams by Kubbi (Spotify)
    --------  
    57:02
  • Deno Fresh 2.0 Alpha, a BigInt Trick, and Learn TS in One Hour | News | Ep 28
    News of the week of July 21, 2025: Deno Fresh 2.0 is in alpha, TS 5.9 RC has some small changes, and beware the latest eslint-config-prettier supply chain attack. From the community: learn TypeScript for free in an hour, master generics through Soduku, run TS in the browser without a build step, and a library for modern TS dependency injection.Chapters(00:00) - Introduction and Personal News (07:14) - News: Try Out the Deno Fresh 2.0 Alpha (08:32) - News: TypeScript 5.9 RC Includes Some Small Fixes (09:22) - News: TSGo Adds @satisfies Support for JSDoc (09:44) - PSA: eslint-config-prettier Supply Chain Attack (10:35) - Correction: tsgolint and TSL Clarifications (12:25) - Community Highlight: Learn TS in One Hour by freeCodeCamp (12:53) - Community Highlight: Mastering TypeScript Mysteries by Sweta Tanwar (13:37) - Community Highlight: Using BigInt to Make Sure a String is a Well-formed Integer (14:38) - Community Highlight: tsbro Runs TypeScript in the Browser (16:28) - Community Highlight: pure-ts-mock is a Standalone Mocking Library (17:31) - Community Highlight: Custom SSR for Lit Web Components Using Deno Emit (19:33) - Community Highlight: Mastering TypeScript Types by Laxman Rathod (20:19) - Community Highlight: Building TypeScript Apps with Bun and Electron with electrobun (21:08) - Secret of the Handbook: const Generics (23:06) - Cool API: navigator.sendBeacon for Analytics (24:43) - Cool Lib: es-toolkit, A Modern JavaScript Utility Library (25:26) - Cool Lib: di-wise, a Zero Deps Dependency Injection Library for TS (26:29) - Cool Read: NIH is Far Cheaper Than the Wrong Dependency NewsDeno Fresh 2.0 is an alphaAnnouncing TypeScript 5.9 RC Popular npm linter packages hijacked via phishing to drop malware From the CommunityfreeCodeCamp: Learn TypeScript – Crash Course for Beginners (1 hour free course)City.js Conf: Sweta Tanwar - Mastering TypeScript MysteriesInteresting Type Inference Post using BigInts (Playground Link)stagas/tsbro: TypeScript for the Browserpure-ts-mock (bweet) is a minimalist, type-safe mocking libraryMatt Jennings pointed out a neat way to do SSR with Web Components (Lit) using Deno Emit and Deno Bundle Laxman Rathod: Mastering TypeScript Types: A Practical Guide from Basics to Advanced (h/t Shawn Wildermuth)Electrobun aims to be a complete solution-in-a-box for building, updating, and shipping ultra fast, tiny, and cross-platform desktop applications written in Typescript. Under the hood it uses bun to execute the main process and to bundle webview typescript, and has native bindings written in zig.Secret of the Handbook: Const Generics (playground link) (h/t sirpepe) Cool StuffNavigator: sendBeacon() methodtoss/es-toolkit: A modern JavaScript utility library that's 2-3 times faster and up to 97% smaller—a major upgrade to lodashexuanbo/di-wise: Lightweight and flexible dependency injection library for JavaScript and TypeScript, w/wo ECMAScript decoratorsClean Architecture in TypeScript | 弦而時習之 Lewis Campbell: NIH Is Far Cheaper Than The Wrong Dependency Learn Wardley MappingSponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.MusicSeahorse Dreams by Kubbi (Spotify)
    --------  
    32:57
  • Nuxt 4.0, Bun's Smarter Types, and Testing Type Completions | News | Ep 27
    News of the week of July 14, 2025: Nuxt 4.0 is released along with an acquisition by Vercel, TSGO ships go-to-type definition support, and Bun ships smarter types. From the community: test type completions and benchmark instantiations with a testing package from Arktype, treating types as values with type-level maps, and dive a bit deeper into how type inference works. Chapters(00:00) - Introduction and Personal News (06:02) - News: Nuxt 4.0 Release and NuxtLabs Joins Vercel (09:57) - News: TSGO Adds Go-to-type Definition Support (10:33) - News: Node 24.4.1 Security Patches (12:12) - News: Bun 1.2.19 Ships Smarter Types (13:21) - News: SvelteKit Now Supports Vite 7 and Rolldown (13:52) - Community Highlight: oxlint + tsgolint = no slowdown! (16:01) - Community Highlight: Type-safe Event Emitters by Artem (17:13) - Community Highlight: Understanding TypeScript's Type Inference by SharpCoderBlog (17:46) - Community Highlight: Testing Type Completions in TypeScript by Arktype (19:17) - Community Highlight: Type-safe Persistence and Auto-theming in Svelte 5 by Puru Vijay (19:59) - Community Highlight: Your GPU is a JavaScript Runtime by Iwo Plaza (20:54) - Community Highlight: DHH Hates TypeScript (22:15) - Community Highlight: Node and Deno Permissions Discussion by Dr. Axel (25:29) - Community Highlight: Treating Types as Values with Type-level Maps by Gregros (27:08) - Community Highlight: Return Types on Functions, Yay or Nay? by Kyle Shevlin (28:15) - Community Highlight: Jake and Josh Interview on Software Engineering Daily Podcast (28:34) - Cool Link: Dokploy is an OSS Alternative to Vercel, Netlify, and Heroku (30:07) - Cool Link: Turning a Toy Into a Cyberdeck by Attoparsec (30:52) - Cool Link: What's New in Vite by Evan You (31:38) - Cool Link: Add Windows to Your App with winbox.js (33:21) - Cool Link: Marginal Utility of Money by The Happy Philosopher (37:42) - Post-credits Banter Personal NewsSorry for the delay, Kamran just got back from vacation!Follow Kamran's trip on InstaNewsNuxt 4.0 is released and NuxtLabs joins Verceltypescript-go: Implement go-to-type-definition (PR #1405)Node.js 24.4.0 and 24.4.1 include high-severity CVE fixes (as well as 20.x, and 22.x release lines)Bun 1.2.19 is smarter when you are not using `dom` lib typesWhat’s new in Svelte: July 2025From the CommunityBoshen: oxlint + tsgolint = no slowdown! no-floating-promises completes 4.4k files in 3.2 seconds, in the vscode repo.Artem: rettime, a type-safe event emitterSharpCoderBlog: Deep Dive into TS Type InferenceArktype: Testing Type Completions with @ark/attest (bsky thread)Puru Vijay: Type-Safe Persistence and Auto-Theming in Svelte 5Iwo Plaza: Your GPU is a JavaScript runtime* (TypeGPU deep-dive) DHH: I hate TypeScriptDiscussion: Per-module or Per-dependency Permissions?Greg Rosenbaum: Treating types as values with type-level mapsKyle Shevlin: Return types on functions, yay or nay?Software Engineering Daily Podcast: TypeScript with Jake BaileyCool StuffTool: dokploy is an OSS alternative to Netlify Video: Turning a toy into a cyberdeckVideo: What's New in Vite Explained by Its Creator Library: Put Windows in Your Web App with WinBox.jsBlog: How Understanding the Marginal Utility of Money Will Make you Happier Sponsored by Excalibur.jsExcalibur.js is the friendly TypeScript game engine for making 2D web games. Use your TypeScript or JavaScript skills to make games! Excalibur comes out-of-the-box with everything you need to make web games, like physics, sprites, animations, sound effects, input, and particles. Design your assets with tools like Aseprite and Tiled, then load them natively using first-party plugins.MusicSeahorse Dreams by Kubbi (Spotify)
    --------  
    38:21

More News podcasts

About 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!
Podcast website

Listen to TypeScript.fm - The Friendly Show for TypeScript Developers, The Corder Report Powered by eNCA.com and many other podcasts from around the world with the radio.net app

Get the free radio.net app

  • Stations and podcasts to bookmark
  • Stream via Wi-Fi or Bluetooth
  • Supports Carplay & Android Auto
  • Many other app features
Social
v7.22.0 | © 2007-2025 radio.de GmbH
Generated: 8/9/2025 - 7:44:49 PM