Advertisement Β· 728 Γ— 90

Posts by Kamran Ayub

Preview
Designing an Ideal Linting Developer Experience with Flint | Josh Goldberg | Ep 62B | TypeScript.fm - The Friendly Show for TypeScript Developers | Episode 62 In this episode with Josh Goldberg, maintainer of TypeScript ESLint, we dive into his latest research project, Flint. The goal of Flint is to test different hypothesis on how to architect a modern, hybrid-native...

Today on the pod, @joshuakgoldberg.com shares how Flint reimagines linting with type-aware rules, improved error messages, and better DX for TypeScript developers. share.transistor.fm/s/529ec1ef #typescript

15 hours ago 12 6 0 1
Preview
Storybook 10.3: MCP, a11y improvements, & workflow upgrades Component-driven development for humans and agents

Storybook 10.3 is out!

✨ Storybook MCP for React
β™Ώ A11y overhaul fixes 100s of issues
πŸ§‘β€πŸ’» CLI overhaul for faster, more reliable install
πŸ’…Β New Viewports and Zoom UI
βœ… New onboarding guide
🏭 Type-safe CSF factories for Vue, Angular, and Web Components

Take a look ‡️

1 day ago 42 11 1 2
Preview
Spearphishing OSS Maintainers, EmDash is a Wordpress Replacement, and ECMA Fools Day | News | Ep 62 | TypeScript.fm - The Friendly Show for TypeScript Developers | Episode 62 News for the week of March 30, 2026: fun with UUIDs, Cloudflare gunning for Wordpress, and how OSS maintainers can defend against spearphishing attacks. From the community: a very Solid 6 hours, compiling...

Today on the pod: UUID fun, Cloudflare's EmDash WordPress replacement, OSS maintainer security, PerryTS native UI compilation, and Solid 2.0 deep dive. Plus Turborepo speedups & more! share.transistor.fm/s/026d8f55 #typescript

2 days ago 7 5 1 1
Preview
GitHub - dsherret/gagen: Generate complex GitHub Actions YAML files using a declarative API. Generate complex GitHub Actions YAML files using a declarative API. - dsherret/gagen

I've published a library here that also has tooling around this github.com/dsherret/gagen

1 week ago 17 2 1 1
Code snippet: interface User { name: string; } function assertIsUser(value: unknown): asserts value is User { if (typeof value !== "object" || value === null || !("name" in value)) { throw new Error("Expected a User"); } } const data = JSON.parse('{"name": "Stefan"}'); assertIsUser(data); // throws if not a User data.name.toUpperCase(); // narrowed to User after assertion

Code snippet: interface User { name: string; } function assertIsUser(value: unknown): asserts value is User { if (typeof value !== "object" || value === null || !("name" in value)) { throw new Error("Expected a User"); } } const data = JSON.parse('{"name": "Stefan"}'); assertIsUser(data); // throws if not a User data.name.toUpperCase(); // narrowed to User after assertion


New on the blog: TIL about TypeScript assertion functions (`asserts data is Something`). Usually I use type guards but with assertion functions you can apply a type to the current scope. Good stuff!

https://www.stefanjudis

3 days ago 40 2 2 0

Yeah it's already on the list 😁 recording tonight! 🀞

3 days ago 0 0 0 0

Other learnings:

- Don't join random Slack workspaces
- Don't download software for web-based meetings
- Own your own meeting scheduling
- It's not your fault, these campaigns are engineered to take advantage of weak points in the system

3 days ago 0 0 0 0
Preview
Attackers Are Hunting High-Impact Node.js Maintainers in a C... Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Unreal. Tip for maintainers: use cal.com (free/oss) and make yourself a booking link. If people want to "have a chat" with me, they go through my booking link, not theirs.

socket.dev/blog/attacke...

3 days ago 1 0 2 0
Video

Pretext

Pure JavaScript/TypeScript library for multiline text measurement & layout. Fast, accurate & supports all the languages you didn't even know about. Allows rendering to DOM, Canvas, SVG and soon, server-side.

github.com/chenglou/pre...

1 week ago 52 5 3 3

I'll be doing a podcast with Anders Hejlsberg, the creator of Turbo Pascal, C#, and TypeScript.

What would you like to know?

1 week ago 86 4 30 0
Advertisement

Are these the numbers they are using to measure growth internally, though? I feel like there's only so much you can draw on public numbers without knowing the full picture. We are not even sure how much it costs to run, as that's not included here either. It's still a good question though.

4 days ago 1 0 0 0
Preview
Attackers Are Hunting High-Impact Node.js Maintainers in a C... Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

πŸ“– This article by @sarahgooding.bsky.social at @socket.dev highlights a concerning trend (ref. socket.dev/blog/attacke...)

πŸ“• Story time: this kind of supply chain targeting isn't unique. I myself & everyone on our team @vlt.sh have been the targets of consistent, concerted efforts.

4 days ago 17 9 1 0
Let's Talk: SolidStart 2.0
Let's Talk: SolidStart 2.0 YouTube video by Ryan Carniato

great stream to learn about how vite environment api come to be (among other frontend framework stories. it is a six hours @ryansolid.bsky.social stream, so start a fire, prepare some tea, and make yourself comfortable)

5 days ago 26 2 2 1
The Axios supply chain attack used individually targeted social engineering The Axios team have published a full postmortem on the supply chain attack which resulted in a malware dependency going out in a release the other day, and it involved …

Warning to open source maintainers: the Axios supply chain attack started with some
very sophisticated social engineering targeted at one of their developers simonwillison.net/2026/Apr/3/s...

6 days ago 262 65 12 17
Video

I've been playing around with Chrome's experimental HTML-in-Canvas API (I use it to create my videos), and I wanted to see if I could make text-selection work on a curved surface by moving the underlying element around on pointermove. It works pretty well!

1 week ago 402 43 19 5
Preview
Aspire 13.2, Hybrid Type-aware Linting, and Claude Wrote a JS Engine | News | Ep 61 | TypeScript.fm - The Friendly Show for TypeScript Developers | Episode 61 News for the week of March 23, 2026: Aspire 13.2 now supports TypeScript app hosts, Node.js security releases, and axios got got. From the community: Auvred's hybrid linting research, refactoring with...

Today on the pod: Aspire 13.2 TypeScript support, Node.js security fixes, hybrid type-aware linting, and Claude building a JS engine from scratch! share.transistor.fm/s/ed97218f #typescript

1 week ago 9 5 1 0
Video

Claude Code source was just leaked 🫒

1 week ago 125 11 3 5
Advertisement

This will speed up reporting on TC39 news by at least 3.4% according to my calculations.

1 week ago 2 0 0 0

Anyway: the point is that maybe a Rust port of the React Compiler was a Maybe Someday task and now agents enable you to take those Maybe Somedays and get them done today to see if they're viable or not. In a week a Rust port could be proved out and spec'd against the original bit for bit.

1 week ago 1 0 0 0

This refactor is now enabling me in the future to support a new feature (persisted, filtered views) once I get to it. But it immediately adds support for several filters I couldn't do before (date range filters) and cleans up the UX.

1 week ago 0 0 1 0

At this point, 3 days later I have a brand new flexible facet/filtering system that replaced my old one and it has more test coverage than I originally had. The UX is almost the same but better in specific ways that I wanted that were unsupported before. And now it's extensible.

1 week ago 0 0 1 0

The cost of rework is less too with phases. For example, I caught it over engineering for a case I didn't have. Told it to undo that and keep it simple. Now I'm at the end and doing manual spot testing. Here's an issue, there's an issue. Okay, now address those and update tests.

1 week ago 0 0 1 0

Inevitably what happens is that I thought it would be decently straightforward but reality is messier and more design considerations pop up. By phasing the work, it allows me to stop, think, and do design just in time, before moving on. One-shotting is not the goal, iteration is.

1 week ago 1 0 1 0

By creating phases up front, each phase can be expanded and spec'd out after each one. Asking it to maintain the tests after each phase is also key. I check it's work briefly, make sure it's directionally accurate, give it some design guidance. Then proceed to the next phase. I use git to checkpoint

1 week ago 1 0 1 0
Advertisement

Where before, I might have thought well, that refactoring would be good to do but I'd rather build a new feature and tackle it later. I can, over the course of a weekend, popping in here and there, have the agent do the refactor for me and get me 90% there so I can take it the last mile.

1 week ago 0 0 1 0

Couple observations here, one that is reflected in my experience is that agents lower the cost of ports and refactoring, given a robust acceptance criteria (usually tests). Second is that having a plan (and iterating on it) is a key ingredient in getting them to stay on track.

1 week ago 1 0 1 0

We’re pretty close to having an initial Rust port of React Compiler. My approach was to iterate on the plan document (write it manually, have the agent expand, edit, repeat). Then try to run it, see what goes wrong, revert back to the plan, tweak the plan, repeat.

4 weeks ago 98 12 4 7
Preview
GitHub - Vladimir-Urik/OxMgr: Oxmgr is a modern, lightweight process manager written in Rust, a fast, deterministic alternative to PM2 for managing any executable across platforms. Oxmgr is a modern, lightweight process manager written in Rust, a fast, deterministic alternative to PM2 for managing any executable across platforms. - Vladimir-Urik/OxMgr

69 ⭐ on OxMgr.
One star away from 70.

A Rust-based PM2 alternative. No Node.js overhead. No bloat.
If managing processes shouldn't require a JavaScript runtime β€” OxMgr is for you.

β†’ github.com/Vladimir-Urik/OxMgr

#rust #opensource #devtools

1 week ago 5 1 0 0

Props to @t3.gg for contributing $5K to @e18e.dev!

Looking forward to seeing all the creative ways @npmx.dev can collaborate with @e18e.dev to make the web faster, leaner, and simpler.

We already have a bunch of things in the works πŸ‘€.

1 week ago 63 7 0 0
Preview
Building An Extraordinary Life Through FI | Ep 590

This was a good one.

"Success is not taking action in the absence of fear, success is taking action in spite of fear."

"Everything you want is outside your comfort zone, otherwise you'd already have it."

open.spotify.com/episode/3Wfn...

1 week ago 2 0 0 0