colinhacks's profile picture. the Zod guy 🧙‍♀️ created zshy, co-created Standard Schema, tRPC  🦆 friendly neighborhood typescript nerd 💻 prev @ bun, edgedb 🏛️ mit

colinhacks/zod

@colinhacks

the Zod guy 🧙‍♀️ created zshy, co-created Standard Schema, tRPC 🦆 friendly neighborhood typescript nerd 💻 prev @ bun, edgedb 🏛️ mit

مثبتة

Introducing Zod 4.1 and its flagship feature: CODECS z.codec() is a new API for defining *bi-directional transformations* in Zod

colinhacks's tweet image. Introducing Zod 4.1 and its flagship feature: CODECS

z.codec() is a new API for defining *bi-directional transformations* in Zod

this guy must be stopped

📢Introducing ArkRegex📢 a drop in replacement for new RegExp() with types ⬇️



colinhacks/zod أعاد

▲ ~/𝚛𝚊𝚞𝚌𝚑𝚐/𝚘𝚜𝚜-𝚐𝚛𝚊𝚗𝚝𝚜/ 𝚕𝚜▐ I'm announcing 22 $1,000USD grants for foundational open source projects. I selected a set of amazing contributors who are working on diverse problems in the JS/TS ecosystem. Since I've mostly spent time on React (web) and Next,…

rauchg's tweet image. ▲ ~/𝚛𝚊𝚞𝚌𝚑𝚐/𝚘𝚜𝚜-𝚐𝚛𝚊𝚗𝚝𝚜/  𝚕𝚜▐

I'm announcing 22 $1,000USD grants for foundational open source projects.

I selected a set of amazing contributors who are working on diverse problems in the JS/TS ecosystem. 

Since I've mostly spent time on React (web) and Next,…

i'm not sure anything in this list is the same kind of thing as anything else in this list

colinhacks's tweet image. i'm not sure anything in this list is the same kind of thing as anything else in this list

colinhacks/zod أعاد

you can pass a ts enum to zod enum and it will make each value a nominal type

techsavvytravvy's tweet image. you can pass a ts enum to zod enum and it will make each value a nominal type

colinhacks/zod أعاد

✅Announcing Vitest 4.0 ✅ Our latest Vitest update brings Browser Mode to stable, allowing you to test your UI in real browsers like Chrome. Also new: - Visual Regression Testing to catch unintended UI changes - Playwright Trace support for easier debugging…


can't help but be angry that all it took was for one guy to come in and be like "okay but can we do it tho"

RE: Stacked Diffs on @GitHub After discussion w @ttaylorr_b, we can implement stacked PRs/PR groups already (in fact we kind of do with Copilot) but restacking (automatically fanning out changes from the bottom of the the stack upwards) would be wildly inefficient. To do it…



or my personal favorite... symlinking everything to README.md

colinhacks's tweet image. or my personal favorite...

symlinking everything to README.md

Hear me out: We should standardize rules files as... CONTRIBUTING.md Not CLAUDE.md, .cursorrules, copilot-instructions.md and all that BS



colinhacks/zod أعاد

In the latest beta of @vitest_dev v4, you can now use any standard schema library for your assertions I worked on a PR to integrate schema matching directly using `expect.schemaMatching(schema)` It's based on the standard schema spec, that means it works with Zod, Valibot,…

zirkelc_'s tweet image. In the latest beta of @vitest_dev v4, you can now use any standard schema library for your assertions 

I worked on a PR to integrate schema matching directly using `expect.schemaMatching(schema)` 

It's based on the standard schema spec, that means it works with Zod, Valibot,…

What if we can turn `expect(url).toMatch(/^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/)` into `expect(url).toMatchSchema(z.url())`? I created a custom matcher for @vitest_dev to validate data against any schema

zirkelc_'s tweet image. What if we can turn 

`expect(url).toMatch(/^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$/)` 

into

`expect(url).toMatchSchema(z.url())`?

I created a custom matcher for @vitest_dev to validate data against any schema


TIL the official MCP TypeScript SDK still doesn't support Zod 4. it's the most upvoted issue by a wide margin, and multiple high-quality PRs have already been submitted addressing this. if you work on the MCP SDK at @AnthropicAI DM me and let's get this figured out 🤙

colinhacks's tweet image. TIL the official MCP TypeScript SDK still doesn't support Zod 4. it's the most upvoted issue by a wide margin, and multiple high-quality PRs have already been submitted addressing this. 

if you work on the MCP SDK at @AnthropicAI DM me and let's get this figured out 🤙

forty thousand! 🫶


every so often I'm reminded that the whole typescript ecosystem is just gibberish I've memorized

colinhacks's tweet image. every so often I'm reminded that the whole typescript ecosystem is just gibberish I've memorized

hell is other language ecosystems


colinhacks/zod أعاد

Hey @ryanflorence and @mjackson, you guys have a great opportunity with @remix_run v3. One more thing to ruffle the feathers of `let` haters etc...

petition to switch the JS ecosystem to snake_case naming when



petition to switch the JS ecosystem to snake_case naming when

readable code is simple - you have primary functions that compose together a bunch of smaller functions when i wrote elixir this was natural to do i've realized after years in ts my habits eroded for the following reasons 1. extracting out logic into a function is more…



Loading...

Something went wrong.


Something went wrong.