Pinned Tweet
unknown type is unknown.
So, if you want to use correctly, you should do type narrowing.
Then, you can use is-kit.
github.com/nyaomaru/is-kit
🔐 Node.js security updates are now available!
New releases for Node.js 22.x, 24.x & 26.x address multiple vulnerabilities, including high-severity issues.
Review the details and update your systems to stay secure.
🔗 nodejs.org/en/blog/vulnerabi…
#NodeJS #Security
YAY! is-kit reached 100 GitHub stars ⭐🎉
Since 50 stars
🔑 new refinement APIs
🔍 exhaustive discriminated union
🤖 more real OSS usage
🐛 an is-kit guard even helped expose an Effect inference bug
I wrote about what changed 👇
dev.to/nyaomaru/is-kit-reach…
#TypeScript #OpenSource
nyaomaru retweeted
TypeScript 7.1 Beta is now available! Now with a preview API, content mapper support, new features, and some great optimizations. Give it a try and give us some feedback! devblogs.microsoft.com/types…
is-kit v1.16.0 is out 🎉
Added discriminatedUnionWithFallback for APIs, webhooks, and other boundaries where future discriminant may appear.
Unknown variants become one explicit fallback, malformed known variants still fail 😸
github.com/nyaomaru/is-kit/r…
#TypeScript #OpenSource
changelog-bot v0.9.2 is out 🎉
Fixed a race in the release workflow by pinning changelog generation to the release version.
Also welcomed a new contributor, Anantha-K, thanks for the great first contribution! 😸
github.com/nyaomaru/changelo…
#TypeScript #OpenSource
changelog-bot v0.9.0 is out 🚀
Every source change must now be accounted for: included in the release or recorded with an explicit exclusion reason.
No silently disappearing changes 😸
github.com/nyaomaru/changelo…
#TypeScript #OpenSource
filter(Boolean) and “remove nullish values” are not the same thing.
Boolean also removes 0, false, and ''.
Those can be perfectly valid values.
If you only mean null and undefined, say exactly that. 😸
is-kit.dev/guides/filter-nul…
#TypeScript #OpenSource
I’m so used to typing `code .` in the terminal from years of using VS Code.
But lately, when I want to use Codex, I keep typing `codex .` instead 😹
Please tell me I’m not the only one. 😹
unknown isn’t a problem to eliminate.
It’s an honest description of a value you haven’t verified yet. 🛡️
A practical guide to validating it without a schema library:
is-kit.dev/guides/validate-u…
#TypeScript #OpenSource
nyaomaru retweeted
DEV·TV Spotlight is looking for its next projects (plus new skins!)
Spotlight is the DEV·TV channel for things developers have built. The current rotation on channel 13:
🔭 Astratide
⚙️ CiCrew
🐱 is-kit
🧠 CogZ
🎨 Also dropped today: a batch of new skins. Give the TV a new look while you watch.
If you’ve shipped something (a CLI, a library, an agent skill, a weird side project), I’d love to see it. Each submission is hand-reviewed before it airs.
How to submit: open any Spotlight story on shouvik12.github.io/devtv and use the submit option.
Know a project that deserves airtime? Drop it in the comments. 🚀
@X @buildinpublic
nyaomaru retweeted
is-kit’s builder, trending on DEV·TV 📺
Flipped to channel 03 (DEV) and the trending article on air was “How Do You Validate unknown in TypeScript Without a Schema Library?” by @nyaomaru, the builder behind is-kit.
This one didn’t come through the Spotlight. It came straight from DEV’s trending feed, with 52 reactions and 8 comments. is-kit is already on the Spotlight ticker, and now its builder is on the DEV channel too, on the same screen.
That’s DEV·TV doing what it does best: bringing together what developers are reading and building in one place.
If you’re building something, submit it to the Spotlight. Your work might end up on the other channels too 😉
👉 shouvik12.github.io/devtv
unknown isn’t a bad type.
It honestly says: “I haven’t verified this value yet.”
as User only changes what TypeScript believes. It validates nothing at runtime.
That’s where type guards help. 🛡️
dev.to/nyaomaru/how-do-you-v…
#TypeScript #JavaScript
How do you validate `unknown` in TypeScript without reaching for a schema library every time?
I wrote about:
- why `as User` is not validation
- composing small type guards
- `safeParse` / JSON boundaries
dev.to/nyaomaru/how-do-you-v…
#TypeScript #OpenSource
`is-kit` just passed 100 GitHub stars ⭐🎉
Really happy to see this small TypeScript type guard library grow this far. 😸
Thanks to everyone who checked it out, shared feedback, opened issues, contributed, or dropped a star!!
github.com/nyaomaru/is-kit
#TypeScript #OpenSource
changelog-bot v0.8.0 is out 🚀
The big change: a complete changelog now exists before any AI call.
Deterministic code owns the structure. AI only enriches it.
Also added xAI / Grok support 😸
github.com/nyaomaru/changelo…
#TypeScript #OpenSource #AI
“0.8 feels safe” is not an evaluation strategy 😸
For changelog-bot’s WHY extraction, John and I expanded the benchmark from 14 to 50 cases and started sweeping thresholds with precision, recall, and F1.
Measure it instead.
dev.to/nyaomaru/how-do-we-ex…
#TypeScript #OpenSource
What if AI didn’t write the “Why” in a CHANGELOG at all?
I’m using Jev to select rationale already written in the PR or return nothing when the evidence is weak.
No invented WHY. 😸
dev.to/nyaomaru/how-do-we-ex…
#TypeScript #OpenSource
unknown isn’t missing type information.
It’s an honest description of a value we haven’t verified yet.
The interesting question is what comes next 👇
> Do we really need a full schema library for every runtime boundary? 👀
#TypeScript #WebDev
A library can build perfectly and still publish a broken package.
For my tsup → tsdown migration, I tested the packed npm tarball from a temporary consumer: ESM, CJS, and TypeScript.
Test what users actually install. 🔧
dev.to/nyaomaru/migrating-a-…
#TypeScript #OpenSource
is-kit: tsup → tsdown. 🔧
Tiny config change. Green build.
Wrong package contract. 🙀
I wrote what changed and how I verified the package users install.
dev.to/nyaomaru/migrating-a-…
#TypeScript #OpenSource





