Gustav Hansen reposted
The Rust Style Guide used by Google has been open sourced! google.github.io/styleguide/r...
Gustav Hansen
@stav.dev
Engineering @sanity, living in Berlin. More questions than answers.
138 followers700 following76 posts
Gustav Hansen reposted
The Rust Style Guide used by Google has been open sourced! google.github.io/styleguide/r...
Gustav Hansen reposted
Gustav Hansen reposted
tsrs is a fast new TypeScript compiler port 🔥 This deep-dive blog post by the tsrs creator Max Schwenk explains how he created the compiler and what makes it so fast. Contains excellent infographic animations. building.owner.com/tsrs
Gustav Hansen reposted
🧪 We've expanded Core Web Vitals to include support for soft navigation (SPA)! Since SPAs are handled differently in implementation, they have required bespoke custom measurement, making it hard to compare directly across sites. Measuring performance is a little art, a little science. 1/2
Gustav Hansen reposted
I gave a talk at EMF titled "Men in Tech #YesAllMen", in which I told my experience of being a woman in tech. I was afraid to publish it in case it affected my current or future employment. With all the current news I would like to add my 2¢. So here is the recording: youtu.be/WXL6K1lhvt0?...
Gustav Hansen reposted
My thoughts on the current state of AI driven software development, why I'm no longer concerned about a runaway intelligence explosion, and what I think is a far worse outcome we could be walking into maevyn.codes/decoherence
Gustav Hansen reposted
TIL node has a built in way to strip typescript types 👀
Gustav Hansen reposted
TanStack Start 1.0 is officially stable! 🎉 A full-stack web framework for React and Solid, already used to build millions of apps, from Fortune 500 companies to your favorite tools and weekend projects. tanstack.com/blog/tanstac...
Gustav Hansen reposted
Being a big fan of the CSS Typed OM, I’ve wanted a proper polyfill for it for years. Just before my summer vacation back in July, with the help of Gemini/Antigravity, I finally built one: css-typed-om. → brm.us/css-typed-om...
Gustav Hansen reposted
Introducing 📦upm: 🪶A fast, tiny package manager for the npm registry. ✨Written in TypeScript, it installs at native-class speed and has a JS API, at a fraction of the size of native tools. 🤝Compatible with your existing .npmrc and lockfiles. 👉 Try at upm.sh
Gustav Hansen reposted
Gustav Hansen reposted
Gustav Hansen reposted
Gustav Hansen reposted
With MSW 3.0 released this week, I want to try something new to make the project financially sustainable. I wrote an open letter about the project, its history, and impact on the ecosystem. I ask for five minutes of your time to read it. Thank you. mswjs.io/sponsor
Gustav Hansen reposted
I'm excited to announce MSW v3.0! 🥳 - Leaner dependency graph and smaller size; - ESM-only; - Granular entrypoints; - GraphQL subscriptions; - Socket-based network interception in Node.js; - And much more! mswjs.io/blog/introd...
Gustav Hansen reposted
Gustav Hansen reposted
Just published github.com/unjs/oxbox 🐂 🛠️ A tiny, portable JS library for parsing and transforming JS/TS/JSX, powered by oxc. ⚡ Optimized wasm build in a single JS chunk 🪞 Same API as oxc-parser + oxc-transform 🤝 Works in browsers and Node.js 💾 Fits on a floppy disk
Gustav Hansen reposted
Responsive iframes in Chrome 154. Sebastian Benz and Bramus introduce frame-sizing, a CSS property that sizes an <iframe> to its content, with a <meta> element opt-in and window.requestResize() for later updates. #html #css developer.chrome.com...
Gustav Hansen reposted
For those who may be watching... you may have noticed all the new performance analysis work I've been doing lately. This is really all intended to make zero-dependency perf analysis possible / more useful in general. Consider this example for instance: github.com/jasnell/fast...
Several nice additions here. util.debounce(fn, ...) util.throttle(fn, ...) SlidingWindowHistogram More FFI, net, and vfs goodness nodejs.org/en/blog/rele...
Gustav Hansen reposted
After about a year, on and off, I am veeeery happy to release TWINKLEPLOP, a syntax highlighter of tremendous power! The speed of prism with the customisation of Shiki. twinkleplop.pngwn.at
Gustav Hansen reposted
Gustav Hansen reposted
🙋♂️ ever wanted to build something without needing to configure a db, auth, file storage or a cms? it turns out you already have all four if you have a bluesky account 👉 airspace is a typed client for it
Gustav Hansen reposted
Quick reminder, if you're working on a SaaS product that requires a login, please check if you've defined the well-known URL to change passwords. Password managers will check `/.well-known/change-password` to offer a quick way to change passwords. https://www.w3.org/TR/ch...
I’ve never heard of twoslash but it looks amazing to create self-documenting code samples: twoslash.netlify.app
In the new version of MSW docs, all code snippets will feature type definitions for all APIs thanks to Shiki's fantastic Twoslash. This will also allow us to drop redundant explanations as you can inspect the types yourself now.
Gustav Hansen reposted
Make your logo brighter than white. Chris Bennett built a tool that turns a logo into a gain-map JPEG, so the colors you pick shine up to 7.5 times brighter than plain white on HDR screens and stay a normal JPEG everywhere else. #color #image www.soverybright.com/
Gustav Hansen reposted
Every MCP callTool in TypeScript takes a string and returns unknown, mcp-tada reads the server once and ensures every tool-call has the proper names, input- and output types.
Introducing mcp-tada: typed MCP tool calls for TypeScript. Snapshot a server's tools/list and every call gets a narrowed tool name, args inferred from inputSchema, and structuredContent typed from outputSchema. github.com/JoviDeCroock...
Gustav Hansen reposted
I wrote about what I've been up to with my new programming language! Zena targets WebAssembly GC, with a TypeScript-like syntax, sound type system, and lots of cool features like pattern matching, async cancellation, borrow checking, WASI integration, and more! justinfagnani.com/2026/09/09/z...
Gustav Hansen reposted
🆕 pnpm-exclude-newer Update package.json ranges to the latest versions permitted by your age policy (minimumReleaseAge, minimumReleaseAgeExclude) including transitive dependencies. $ pnpm dlx @webpro/pnpm-exclude-newer → github.com/webpro/pnpm-... Using this for a while now, little QoL bumper
Gustav Hansen reposted
Introducing: 🛜 npm.report Want to start setting up trusted or staged publishing for your org but aren't sure where to start? 🤹 Trouble keeping track of your migration status? 🕵️ Curious how the ecosystem's migration is going? 📈 Want the satisfaction of a chart going up and to the right?
Gustav Hansen reposted
I dig this a lot! Edge now ships an experimental feature that warns you about and monitors network activity that isn't optimized, like uncompressed assets or large images. https://www.debugbear.co...
Gustav Hansen reposted
🚀 I made a smol ~2kb syntax highlighter that uses the CSS `::highlight()` API. davatron5000.github.io/microlighter/
Gustav Hansen reposted
What if we could remove the friction in the email → goo.gle/4fsFpjG The proposed Email Verification API would let your site validate the email address right in the browser! No email sent, no confirmation click needed.
Gustav Hansen reposted
accessibility arc just started 🥷🏻 interactive CLI prompts often don't play well with screen readers. we're working on making clack better at this github.com/bombshell-de...
Gustav Hansen reposted
Changesets v3 is here! 🦋 After months of chipping away at issues alongside @bluwy.me, @haglund.dev, and many other contributors, we’re excited to finally share it. changesets.dev/blog/announc...
Gustav Hansen reposted
This video on the HuggingFace-OpenAI incident, calmly presented by OpenAI researchers (Eric is great btw, hi Eric), is one of the best uses of your time all year in AI. I'll probably rewatch tomorrow to write about it more. www.youtube.com/watch?v=87Dy...
Gustav Hansen reposted
npm is now scanning packages for malware at publish time before they become available for consumption
“If you're feeling like your work is simultaneously more productive and less satisfying, you're not broken. The feedback loop is broken. And I think we need to start treating that as an engineering problem in its own right, not a personal failure.”
The Human-in-the-Loop is Tired by @summerscope.bsky.social pydantic.dev/articles/the...
Gustav Hansen reposted
⛰️ mountx :: mount JavaScript as a real filesystem! Write ~6 lines of JS, get a real directory any process can read & write: editors, CLIs, AI agents. Rootless on Linux (FUSE) and macOS (NFSv3 with no kernel extensions). ~Pure JS, zero deps. mountx.vercel.app
Gustav Hansen reposted
ECMAScript Excitement 🎉 This week, at its 115th meeting, TC39 advanced these proposals: 3️⃣ Await dictionary 2️⃣.7️⃣ Thenable curtailment 2️⃣ Error code property 2️⃣ Fused multiply-add 1️⃣ Intl.DateTimeFormat alignment with other standards 1️⃣ Linear matching 1️⃣ Map.take
Gustav Hansen reposted
Vue 3.6 is now entering RC phase! 🎉 Super excited for all these perf improvements and for Vapor to soon be available for everyone to use! github.com/vuejs/core/r...
Gustav Hansen reposted
FYI we have an @e18e.dev MCP server! you can use it remotely, or you can install it locally as a stdio server. this lets your agent check your codebase for redundant dependencies, polyfills, etc.
Gustav Hansen reposted
If you make websites for a living, stop what you're doing and read this research by @tammyeverts.com; it shows what many of us have been saying for a long time: even if there is such a thing as "fast enough", it's generally *much* faster than you are targeting: embrace.io/blog/research-co…
Gustav Hansen reposted
Replying to @simonwillison.net
I couldn't resist extracting that Rust Mermaid rendering code out and compiling it to WebAssembly so you can try it out directly in a browser tools.simonwillison.net/grok-mermaid
Gustav Hansen reposted
🎉 magic-string is now fully migrated to pure ESM and TypeScript, and its long-awaited v1.0 release is finally here! github.com/Rich-Harris/...
Gustav Hansen reposted
new @npmx.dev timeline chart 👀 this shows the segmented view of how much the install size changed between versions, split by package (deps + self). big thanks to @graphieros.npmx.social pairing with me on this one! npmx.dev/package-time...
Gustav Hansen reposted
Safari shipped `display: grid-lanes` and Chromium's working on it. But what does it mean for accessibility when grid items reorder themselves? Can an adjusted `flow-tolerance` help? Manuel cautiously proposes a very interesting solution. https://matuzo.at/blog/2...
Gustav Hansen reposted
Preact supports async hydration. Resumed hydration lets Suspense boundaries become interactive independently while code/data arrives. Why that helps the main thread, what Hydration 2.0 fixes, the remaining useId problem, and streaming: www.jovidecroock.com/blog/resumed...