Brad Zacher
banner
brad.zacher.com.au
Brad Zacher
@brad.zacher.com.au
Computer scientist. Cider drinker. Dungeon Master.
Maintainer of @typescript-eslint.io
Software Engineer @ Canva.

https://zacher.com.au
Reposted by Brad Zacher
Folks ask us in @typescript-eslint.io about typed linting perf optimizations often. There's a lot of work we *want* to do but can't - so we put our deep explainer in an issue.

github.com/typescript-e...

Enjoy!
Typed linting optimizations blocked by ESLint core · Issue #11677 · typescript-eslint/typescript-eslint
Suggestion tl;dr: We get asked pretty frequently about improving the state of cross-file linting, e.g. typed linting, in ESLint core. Most requests are around performance, with others around core E...
github.com
October 3, 2025 at 12:25 PM
Today I learned that git and github support emojis in branch names. Do with that information what you will.
September 11, 2025 at 4:05 AM
We've had a few people ask about type-aware linting, eslint's new concurrent linting mode, and why they don't play well together. So we (the ts-eslint team) wrote a short post breaking down why and the design limitations we're constrained by.

github.com/typescript-e...
Interaction with multithread linting · typescript-eslint typescript-eslint · Discussion #11568
Body ESlint v9.34.0 has added support for multithread linting: https://eslint.org/blog/2025/08/multithread-linting/ One word that isn't mentioned in that blog post is "TypeScript." If you use linti...
github.com
September 6, 2025 at 1:11 PM
TypeScript-ESLint v8.42.0 has been released!

This is our first release with npm provenance!
Shoutout to @jameshenry.bsky.social for the hard work securing our release pipeline.

github.com/typescript-e...
Release v8.42.0 · typescript-eslint/typescript-eslint
8.42.0 (2025-09-02) 🚀 Features deprecate tseslint.config() (#11531) 🩹 Fixes deps: update eslint monorepo to v9.33.0 (#11482) typescript-eslint: handle non-normalized windows paths produced by ji...
github.com
September 2, 2025 at 2:30 PM
Been seeing an uptick in what are clearly vibe-coded PRs. On the surface this seems great -- more contributors!

But in the reality it's often AI slop that the person hasn't reviewed and instead the burden of review is on us, the maintainers -- which is a horrible trade.
July 23, 2025 at 11:29 PM
I asked cursor's AI agent to try to create a small TUI form.
It went HORRIBLY. After a while it declared the task as done despite numerous compiler errors.

When I told it that it wasn't done. This was the agent's response:
February 12, 2025 at 8:44 PM
Without downloading any new pics what's your energy going into 2025
December 28, 2024 at 7:47 AM
I've been doing a bunch of work on a meta-linter of sorts and so I need to ingest results from many different linters.

A really painful problem I've discovered recently is that nobody is consistent about how to define a "location" in text. It's a surprisingly complex space to try and reconcile!
December 12, 2024 at 12:51 AM
I finally started using copilot a few weeks ago. As a skeptic I didn't think that I'd like it so I was surprised to find I actually have found value in it.

(Humble brag) I've met very few people who can pump out code as fast as I can. So I didn't think that copilot would really make me much faster.
November 26, 2024 at 10:04 PM
The most frustrating thing about providing support to someone is when they use words like "this / that / it".

I tried that, but it errored

Tried what? What error?
Show what you tried!
There's a good chance you did "it" wrong!
After all that's why you're asking for help.
November 25, 2024 at 10:17 PM
Reposted by Brad Zacher
TypeScript-ESLint v8.15.0 has been released!

This release includes:
- a fix for the recent crash introduced with ESLint v9.15.0
- support for arrays in `tseslint.config` (no more spreads necessary!)
- a new rule `no-unsafe-type-assertion`
- and more...!

github.com/typescript-e...
Release v8.15.0 · typescript-eslint/typescript-eslint
8.15.0 (2024-11-18) 🚀 Features eslint-plugin: added related-getter-setter-pairs rule (#10192) eslint-plugin: new rule no-unsafe-type-assertion (#10051) eslint-plugin: [prefer-nullish-coalescing] f...
github.com
November 18, 2024 at 5:44 PM
It's good to know that AI is still a long way off taking my job
November 14, 2024 at 4:07 AM
I made/maintained a lot of the lint rules people have a love hate relationship with.
November 10, 2024 at 7:47 AM
Reposted by Brad Zacher
"cast"?

Sir it's not a cast unless it's from the native region of programming languages.
Otherwise it's a sparkling assertion.
November 10, 2024 at 5:13 AM
Reposted by Brad Zacher
I want to CREATE something but all of my energy is being used to merely exist right now
November 7, 2024 at 8:15 PM
Reposted by Brad Zacher
Thanks for filing this issue. We generally look at bug reports in order of most-succinct repro to most-complex repro. We have currently scheduled this one for three weeks after the heat death of the universe.
November 7, 2024 at 11:38 PM
I made an eslint utility that allows finer control over no-restricted-syntax/globals/properties configurations.
In a nutshell it generates a plugin that has one rule per selector -- allowing granular disable comments and better auditing!
github.com/bradzacher/e...
GitHub - bradzacher/eslint-no-restricted: An eslint plugin for quickly and easily creating no-restricted-syntax rules
An eslint plugin for quickly and easily creating no-restricted-syntax rules - bradzacher/eslint-no-restricted
github.com
November 5, 2024 at 11:44 PM
Reposted by Brad Zacher
👋 Welcome to Bsky, everyone!

I'm jumping on the starter pack bandwagon and making one for the static analysis folks around JavaScript/TypeScript. Projects like ESLint, TypeScript, and new fancy versions of them all.

Who else should go on it?

go.bsky.app/5hwBPTK
November 5, 2024 at 2:29 PM
Reposted by Brad Zacher
@brad.zacher.com.au and I are going to hop onto a Twitch stream to talk about typescript-eslint intricacies. We'll deep dive into source parsing, ecosystem compatibility, and all sorts of great nuances. Fun!

4pm EST this Thursday the 7th / 7:30am AEST the 8th

www.twitch.tv/joshuakgoldb...
joshuakgoldberg Schedule - Twitch
Check out joshuakgoldberg stream schedule, and set reminders so you don’t miss out!
www.twitch.tv
March 6, 2024 at 1:08 PM