

TypeScript.fm - The Friendly Show for TypeScript Developers
Kamran Ayub and Erik Onarheim
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!
Episodes
Mentioned books

Sep 18, 2025 • 1h 10min
ArkType is TypeScript's 1:1 Validator | David Blass | Ep 35B
David Blass (@ssalbdivad.dev) teaches the two fools about ArkType and its 1:1 validator type system. If you, like us, thought ArkType was only about validation, think again! David pulls back the curtain on what makes ArkType unique, how he built a type-level parser to provide helpful error messages, and why ArkType can provide soundness guarantees that go beyond even what vanilla TypeScript can offer. *waves hand* These are the array intersections you're looking for.Chapters(00:00) - Introducing David Blass
(02:39) - ArkType vs. Zod
(04:28) - ArkType's Differences
(06:21) - Defining ArkType Types
(10:33) - Matching TypeScript's Syntax
(14:24) - Detailed Editor-time Errors
(17:14) - Type-level Testing with attest
(18:26) - Runtime Error Checking
(21:05) - Generating JIT-optimized Code
(27:27) - Benchmarking ArkType's Performance
(29:41) - Optimizing the Parser for ArkType Types
(32:13) - Tips for Optimizing TypeScript Types
(38:12) - Type Mapping API
(40:20) - Set-based APIs
(43:15) - Typing Array and Tuple Intersections
(45:57) - ArkType's Internal Type System
(49:01) - Serializing Types to JSON
(50:09) - Porting Enhancements to TypeScript
(51:55) - Compatibility with Standard Schema Spec
(57:15) - Introspecting ArkType Types
(01:00:10) - Use Cases for ArkType
(01:03:34) - What's Next for ArkType?
(01:05:59) - Getting Started with ArkType
(01:07:56) - Where to Follow David
ResourcesArkType.ioArkType DiscordArkType GitHub@ark/attest testing libraryWhere to Follow DavidDavid on BlueSkyArkType on BlueSkySponsored 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)

Sep 16, 2025 • 49min
Deno 2.5, Type-safe Configs and Forms, and Underrated TS Features | News | Ep 35
Deno 2.5 has arrived with exciting features like enhanced permission management and better testing APIs. The hosts discuss underrated TypeScript functionalities and showcase tools for type-safe configurations, secrets, and forms. They also weigh the pros and cons of using Bun in production. Light-hearted banter about parenting and personal anecdotes about camping and retro gaming add charm to the conversation. Plus, don't miss their excitement over the release of 'Assassin's Creed Mirage' and insights on npm security challenges!

Sep 11, 2025 • 50min
Fresh 2.0 Beta, TS Nostalgia, and Spear Phishing the Supply Chain | News | Ep 34
This week, Deno Fresh 2.0 enters beta, enhancing TypeScript development with Vite support. A significant spear-phishing attack on npm maintainers raises alarm about security in the software world. The community reflects on a decade of TypeScript, highlighting past innovations and the rise of type-safe state machines. Exciting performance improvements in Immer.js and intriguing new tools, like Wi-Fi sharing utilities, are showcased. Also, a legal discussion around AI piracy and authors' rights takes center stage, reminding us of the importance of ethics in tech.

Sep 3, 2025 • 56min
Breaking Changes in TS 6, a Calm Migration to Type Stripping, and Deno's #FreeJavaScript Campaign | News | Ep 33
News of the week of August 25, 2025: the two fools unpack the expected breaking changes to TSConfig in the upcoming 6.0 release, explain Node's latest LTS notable changes, and cover the latest in the JS trademark case from Deno. Plus, a PSA if you use Nx! From the community: making the case to migrate to Node's type stripping, a peek at Vitest 4, Zod's new Codecs feature, refactoring types, Rolldown is the opposite of a letdown, and a bunch of neat libraries/framework releases to watch. Chapters(00:00) - Welcome to the Show
(06:46) - News: TSGo Refactoring and Find Reference Enhancements
(07:54) - News: Expect Some (Good) Breaking Changes in TS 6.0
(12:26) - News: Node.js 22.19.0 LTS Notable Changes
(18:13) - News: RsPack 1.5 Features Type Re-export Analysis
(21:27) - News: Deno's GoFundMe to #FreeJavaScript
(22:38) - PSA: Supply Chain Attack Against Nx Packages
(25:49) - Community Highlight: Attend SquiggleConf 2025
(26:43) - Case Study: How Calm.com Migrated to Node Type Stripping
(30:13) - Community Highlight: Dr. Axel's Corner
(33:01) - Community Highlight: Vitest 4 Sneak Peek
(34:28) - Community Highlight: Zod 4.1 Codecs
(36:39) - Community Highlight: Shout-out to Remco for Fixing JSX Typing Bugs
(37:24) - Community Highlight: TypedRocks Shows You How to Refactor Type Definitions
(38:27) - Community Highlight: Neovim Support for TSGo Spotted in the Wild
(39:09) - Library Watch: csv-utils Helps You Deal with CSV Files
(39:39) - Library Watch: contrastrast Provides WCAG-compliant Color Manipulation
(41:16) - Case Study: Plaid Cut Build Time by 97% with Rolldown
(42:17) - Framework Watch: Runner V4 Released
(43:53) - Framework Watch: Ripple, a TypeScript UI Framework
(45:20) - Community Highlight: Joke of the Week
(45:48) - Secret of the Handbook: declarationMap
(47:17) - Cool Link: MuJS for Embedding Scripting into C/C++
(48:57) - Cool Link: Cory Doctorow is Kickstarting a Book
(50:44) - Cool Watch: Learn Game Dev from a Nintendo Game Designer
(52:29) - The Minnesota Long Goodbye
Personal NewsKamran's new Qwik City Foundations course (requires subscription)Affected by the Verizon outage? Get some monies (or try visiting the Transfer Phone/PIN page in your account)Alternatively, switch to Mint and save some cheddar (that's Kamran's referral link :-)NewsTS 6.0 proposed deprecations and breaking changesNode 22.19.0 LTS notable changes include a new CA certificate API and unflagging WASM modules (see: source-phase imports)Rspack 1.5 release features type re-export analysisDeno's GoFundMe for #FreeJavaScriptPSA: Nx supply chain attack (write-ups from Socket.dev and TheHackerNews)From the CommunitySquiggleConf: September 18-19Calm.com: How we migrated our Rush.js monorepo to Node type strippingDr. AxelJavaScript’s trademark problem Learning web development: Web servers Learning web development: JavaScript exceptionsLearning web development: JSON and processing files in Node.js Learning web development: JavaScript MapsVitest 4 will be faster!Zod creator explains 4.1's new codecs featureUppy issue reveals a bug in JSX typing across ecosystemTypedRocks: Let’s Replace 100+ React Types with 3 Lines Of Code (Same Type Safety!) Possible sighting of neovim TSGo supportLibrary watch: doeixd/csv-utils: Helpful utils for working with csv files or arrays of objectsLibrary watch: ammuench/contrastrast: A library to determine text contrast based on WCAG Standards VoidZero: How PLAID Cut Build Times by 97% Migrating From Rollup To RolldownFramework watch: Runner V4 releasedFramework watch: trueadm/ripple: the elegant UI framework for the webThis week's TS JokeSecret of the HandbookThe declarationMap config option significantly speeds up Project References performance in IDEs. Cool StuffMuJS: Introduction Cory Doctorow’s KickstarterLegendary Nintendo game designer published 200+ videos on gamedev for free.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)

16 snips
Aug 26, 2025 • 51min
TypeScript Go Nightly Improvements, Rslint Announced, and Big Bun Updates | News | Ep 32
This week, dive into the major updates with TypeScript Go and the introduction of Rslint, a game-changing linter. Discover Bun's impressive speed boosts and memory reductions. Next.js 15.5 rolls out type-safe routing, while Angular goes zoneless! The community showcases an exciting Hangman project in TypeScript, alongside a discussion on safeguarding browser assets. Plus, get tips on efficient testing in CI and deploying code effectively with feature flags and observability. It's a jam-packed session of innovation and insights!

Aug 19, 2025 • 18min
Astro DB Gets Enum Support, Type-safe Data Flow in Next.js, and a Moose-y ORM | News | Ep 31
News of the week of August 11, 2025: there ain't much! Astro 5.13 minor release brings enums to Astro DB and improved meta environment variables. From the community: learning web dev, Result-typing Next.js server actions, and Clickhouse built an ORM.Chapters(00:00) - Welcome to the Show
(05:07) - News: Astro 5.13 Adds import.meta.env and Astro DB Enum Support
(06:47) - Community Highlight: Dr. Axel's Learning Web Dev Series
(07:47) - Community Highlight: Type-safe Data Flow Between Client and Server in Next.js by Nahuel Scotti
(08:45) - Community Highlight: Clickhouse Made an OLAP ORM with TS
(11:25) - Cool Link: nextra, a Next.js Static Site Generator
(11:50) - Cool Link: editly, Non-linear Video Editing in Node.js and ffmpeg
(12:33) - Cool Links: A Bunch of Excalibur Games!
(14:36) - The Minnesota Long Goodbye
NewsAstro 5.13 From the CommunityDr. Axel’s Blog Series on Learning Web DevNahuel Scotti: Type-Safe data flow between client & server in Next.js applicationsClickhouse: Does OLAP need an ORM? Plus, listen to our ORMed and Dangerous (Ep 7) deep dive episode! Cool StuffMore Excalibur Games!https://daviderisaliti.itch.io/spookytruth https://daviderisaliti.itch.io/quadrush https://mookie4242.itch.io/zombie-shooter-clone Nextra – a Next.js static site generator with some built-in gizmos editly – non-linear video editing with Node.js and ffmpegSponsored 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)

Aug 12, 2025 • 49min
WebStorm Supports TS Go, V8 Stringifies JSON 2X Faster, and a TypeScript AI Conference | News | Ep 30
News of the week of August 4, 2025: WebStorm 2025.2 adds support for TypeScript Go language server (preview), V8 made JSON.stringify supa-supa-fast, and there's a new TypeScript AI conference on the block. From the community: recommended tools and libraries for TS developers, how to prevent ReDOS attacks, and an interview discussing how the JavaScript language evolves.Chapters(00:00) - Welcome to the Show
(04:52) - News: Erik's High Performance JavaScript Talk is OUT!
(06:02) - News: WebStorm 2025.2 Features TypeScript Go Language Server Support
(06:57) - News: V8 Improved JSON Stringify Perf by More than 2X
(10:54) - News: Bun 1.2.20 Includes Type-level Assertions and TS 5.9 Support
(12:24) - News: Mastra is Hosting a TypeScript AI Conference
(19:58) - Community Highlight: How I Built CSS' light-dark() Function in TypeScript by Robert Hameetman
(21:32) - Community Highlight: Type-Aware Linting with Oxlint
(22:39) - Tool Watch: Prevent ReDOS Attacks with regolith
(24:20) - Tool Watch: Filter tsc Errors by File or Folder Using tsef
(25:57) - Community Highlight: Tools or Libraries That Make Your Life Easier With TypeScript
(30:16) - Community Highlight: A Fast-paced Lumberjack Game Built with Excalibur.js
(30:51) - Community Highlight: Daniel Ehrenberg on How JavaScript Evolves by Weekly DevBrew
(31:10) - Community Highlight: Joke Bailey
(31:51) - Secret of the Handbook: Indexed Types
(36:20) - Cool Link: Speeding Up the semver Package
(38:36) - Cool Link: Enhance.dev, an HTML-first Full Stack Web Framework
(39:37) - Cool Link: mitata, a Benchmarking Tool That Loves You
(40:44) - Cool Link: Why contenteditable on Android is the Absolute Worst
(41:56) - Cool Link: Creating Legal Documents with Markdown
(43:18) - The Minnesota Long Goodbye
NewsErik’s talk is live! JavaScript Blazingly FAST! Lessons from a Game EngineWebStorm 2025.2: TypeScript-Go Language Server SupportV8 engine: How we made JSON.stringify more than twice as fastBun v1.2.20 includes type-level assertions and @bun/types fixes for TS 5.9Mastra announces TypeScript AI conferenceFrom the CommunityRobert Hameetman: How I Built CSS's light-dark() in TypeScript Boshen: Oxlint working on type-aware linting with TSGo (experimental)JakeRoggenbuck/regolith: Safely write RegExp that are ReDOS-proofPS. Listen to the TypeScript Security episode with Liran Taliostreamer-X/tsef: CLI tool to filter tsc output and only show errors for specific files and directoriesCould be a good companion to ts-migrating by Jason YuReddit: What tools and libraries do you use with TypeScript to make your dev life easier?ts-patternZodLefthookEffect.ts and XstateneverthrowTimber Clone: An Excalibur game (written in TS!)Source code: jyoung4242/TimberEx Weekly Dev Brew with Daniel Ehrenberg (President of Ecma International & TC39 veteran)Joke Bailey on Why is TS is so slow?!Secret of the HandbookTypescript Indexed TypesExample 1Example 2 Cool StuffMarvinH: Speeding up the JavaScript ecosystem - Semver Plus a cool profiling viewer, cpuproEnhance, an HTML-first full stack web dev frameworkevanwashere/mitata: benchmark tooling that loves you ❤️ Contenteditable on Android is the Absolute Worst (But, ProseMirror looks really cool) petalo/legal-markdown-js: Write legal docs in Markdown and TSSupabase, hosted PostgresSponsored 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)

Aug 7, 2025 • 42min
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 GitHubSponsored 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)

Aug 5, 2025 • 42min
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

Jul 31, 2025 • 57min
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)


