TypeScript 7 changed the Compiler API surface, but one thing surprised me:
a broad `ast.Node` still isn’t a closed discriminated union.
So `kind === CallExpression` doesn’t replace `isX` narrowing for that input.
Full write-up tomorrow. 🔧

TypeScript 7 changed the Compiler API surface, but one thing surprised me:
a broad `ast.Node` still isn’t a closed discriminated union.
So `kind === CallExpression` doesn’t replace `isX` narrowing for that input.
Full write-up tomorrow. 🔧
💎 Underrated pick
Peon — Open-source, self-hostable deployment platform. Deploy Git apps, Docker Compose, databases, and static sites to your own servers, the open alternative to Vercel/Heroku.
#indiedev #opensource #typescript #ai #coolify
⭐ give it a star
"Build a voice IVR with Sinch Functions" by Gunnar Grosch
TypeScript's `Partial` only goes one level deep, so your nested object types might still enforce required fields where you least expect them—here's why `DeepPartial` isn't always the answer.
What does #FunctionalProgramming and #Python have in common? A LOT apparently.
Come join us for an offline joint #meetup between #FPIndia and #BangPypers, and find out more.
All skill levels welcome!
What does #FunctionalProgramming and #Python have in common? A LOT apparently.
Come join us for an offline joint #meetup between #FPIndia and #BangPypers, and find out more.
All skill levels welcome!
This Aspire sample is BEAUTIFUL 🌦️
A live weather map on Node.js: Express + OpenTelemetry API, React 19 + Vite + Leaflet, animated radar, all orchestrated by a TypeScript AppHost.
Would you look at that. Hovering and picking up and shadows. hooay! #go #typescript #gamedev #phaser
`node.arguments[0]` looks harmless.
But a reusable guard has to prove two separate facts:
* index 0 exists
* the value is the node type you expect
The interesting part is preserving that fact on the parent type too.
What does `arguments[0]` actually prove?
Nothing, if the array is empty.
A reusable guard for the first argument needs to prove:
1. index 0 exists
2. the value matches
3. the parent type remembers both facts
Tiny runtime check, surprisingly interesting type problem.
Vercel Labs just introduced script - an experimental compiler that turns #TypeScript directly into small native executables without Node.js or V8.
Early tests show fast startup times and low memory usage, though execution is currently slower than Node.
A TypeScript Hook That Learned the Wrong Lesson
https://papoo.work/doc/2fc0d30359df5432
#claudenews #typescript #claude_code #agents
Most codebases rot from the inside out because we settle for soft types and sloppy habits. Lock down your architectures with TypeScript's mapped and conditional types. Build systems that don't break under pressure. 💻🔥 #TypeScript #SoftwareEngineering #CleanCode
🔭 Today's find
standard-log — A standard logging system for all platforms
#indiedev #opensource #typescript #logging #typescriptlibrary
🔗 check it out
New tale talesfrom.dev/blog/the-amb... in which we see parents dealing with sick kids. How does event sourcing relate to sick kids? Why do perspectives still matter in the stateful world?
#dddesign #dotnet #csharp #fsharp #java #typescript #softwaredevelopment #softwarearchitecture
TypeScript 6.0's `allowImportingTsExtensions` finally lets you import `.ts` files directly in monorepos without bundler hacks, cutting build complexity and eliminating the `.js` extension workaround that's plagued Node.js
TypeScriptで書かれたnpmレジストリ向けのパッケージマネージャ。
パッケージサイズが小さく、プログラムから実行できるAPIを持っている "unjs/upm: 📦 A fast, tiny package manager for the npm registry, written in TypeScript." https://github.com/unjs/upm #TypeScript #npm #Tools
A TypeScript Hook That Learned the Wrong Lesson
https://papoo.work/doc/2fc0d30359df5432
#claudenews #typescript #claude_code #agents
A TypeScript Hook That Learned the Wrong Lesson
https://papoo.work/doc/2fc0d30359df5432
#claudenews #typescript #claude_code #agents