Espen Hovlandsdal
banner
espen.codes
Espen Hovlandsdal
@espen.codes
Principal engineer @ Sanity.io. he/him.
I code open source software and pet dogs.
https://espen.codes/
@lukas.taegert-atkinson.net Latest rollup release seems to have broken stuff - any chance you can have a look at github.com/rollup/rollu... (there are multiple PRs up). Sorry to ping on a Friday :/
4.53.0 fails to install due to postinstall patch-package · Issue #6168 · rollup/rollup
Rollup Version 4.53.0 Operating System (or Browser) mac Node Version (if applicable) 24 Link To Reproduction npm install rollup Expected Behaviour It should install Actual Behaviour it does not pre...
github.com
November 7, 2025 at 6:10 PM
Reposted by Espen Hovlandsdal
📣 Huge news: MSW ships a first-class support for Server-Sent Events! Develop, test, and debug your apps with the new `sse()` API.

Learn more: mswjs.io/blog/server...
Server-Sent Events Are Here!
First-class support for mocking Server-Sent Events lands in MSW.
mswjs.io
November 5, 2025 at 3:17 PM
React Native:

- `fetch` does not have streaming support
- No `TextDecoder`
- No `Event`, `EventTarget`, `MessageEvent`
- `URLSearchParams` only has `append` method

Wish it had a similar push for supporting web APIs as Node.js did recently. Making cross-env libraries that support RN is not easy.
October 1, 2025 at 9:22 PM
Reposted by Espen Hovlandsdal
Yesterday, @opensourcepledge.com was on Nasdaq Tower in Times Square. I got to be there for it! Thank you to Nasdaq and congratulations to all of the featured companies who #paythemaintainers! 👏 What a great way to keep celebrating #maintainermonth! 💃
May 7, 2025 at 1:10 PM
I would never say that I _miss_ pandemic times, but I did spend 3-4 weeks making a scenario based on A Song of Ice and Fire for a 30 year old isometric 2D game, with zero regrets or shame 🤔
April 16, 2025 at 2:03 AM
Reposted by Espen Hovlandsdal
icing without cake is just icing
April 9, 2025 at 1:49 PM
C++ is wild and I don’t mean that in a good way.
March 22, 2025 at 1:53 AM
Firefox was actually fast and easy! ✅
Next up: WebKit
Alright, that's Chromium done ✅
Next up: Firefox!
Have forgotten how it feels like to wait for stuff to compile… Currently building Chromium from source 😴
March 9, 2025 at 4:10 PM
Alright, that's Chromium done ✅
Next up: Firefox!
Have forgotten how it feels like to wait for stuff to compile… Currently building Chromium from source 😴
March 9, 2025 at 6:05 AM
Have forgotten how it feels like to wait for stuff to compile… Currently building Chromium from source 😴
March 8, 2025 at 6:53 PM
Sometimes I wish there was a way to message people on GitHub.

Someone leaves an issue or a comment on one of my repos and I'm curious how they are using it, but don't want the interaction to be in public (noise/irrelevant to the thread).

Of course, I understand what a slippery slope that could be.
January 28, 2025 at 7:27 PM
Reposted by Espen Hovlandsdal
BIG DAY 😇

Introducing Standard Schema! It’s a specification for a standard interface to be implemented by TypeScript schema libraries. The goal is to make it easier for frameworks and tools to accept user-defined schemas, without writing separate adapters for different libraries.
standardschema.dev
Standard Schema
A common interface for TypeScript validation libraries
standardschema.dev
January 27, 2025 at 4:24 PM
Is there a way to test a module in React Native's JavaScript environment, without running a full emulator? Does the jest environment catch things like the broken URL and Intl implementation etc?

This is a for a generic JS module that should _preferably_ work in React Native.
December 7, 2024 at 10:52 PM
Y'all, it's happening!

React 19 is now `latest` on npm!

@react.dev
December 5, 2024 at 6:43 PM
Reposted by Espen Hovlandsdal
Today, I released the library we use to drive >200 tests using Gherkin to make sure @sanity.io's Portable Text Editor behaves correctly.

Pkg: www.npmjs.com/package/race...
Src: github.com/portabletext...
PTE Gherkin spec: github.com/portabletext...
PTE Gherkin test suite: github.com/portabletext...
racejar
A testing framework agnostic Gherkin driver. Latest version: 1.0.1, last published: 4 hours ago. Start using racejar in your project by running `npm i racejar`. There are no other projects in the npm ...
www.npmjs.com
November 26, 2024 at 3:01 PM
Big thanks to libvips team (@jcupitt.bsky.social @lovell.info @kleisauke.nl) for creating a lightning-fast, incredibly reliable image processing library.

Some of the nicest open-source maintainers you'll ever meet - polite, helpful and responsive.

Happy that @sanity.io sponsored them with $4000 ✨
November 20, 2024 at 10:40 PM
This release is anything but boring.

Mapping "free-form" content into the structured schemas defined in Sanity? Really cool. Can't wait to continue building on this and get closer to realizing the full "content operating system" vision we have in mind - you're going to love it.
November 20, 2024 at 6:15 AM
Started a start pack (heh) for Norwegian developers: go.bsky.app/N4YoK7s - shoot me some usernames that should be on there (would love to get some more diversity)!
November 20, 2024 at 6:07 AM
How often do you check your spam folder?
November 16, 2024 at 4:26 PM
Looking for some help in testing a new version of the EventSource module, now using native fetch and webstreams:

github.com/EventSource/...
eventsource@v3: looking for testers · Issue #329 · EventSource/eventsource
eventsource v3 TL;DR I want to modernize this module, making it both easier to maintain and more cross-platform friendly. You can help test the next version of this module by installing eventsource...
github.com
November 14, 2024 at 12:20 AM
Fiiiiiiinally shipped AVIF (output) support in Sanity 😅

More to come!
November 13, 2024 at 7:12 PM
Reposted by Espen Hovlandsdal
Huge thanks to @sanity.io for sponsoring Rollup with a whopping $3000! This really gives me confidence to keep making Rollup a great tool to use!

opencollective.com/rollup/contr...
Financial contribution to Rollup · Contribution #806066 - Open Collective
The JavaScript module bundler
opencollective.com
November 13, 2024 at 6:07 AM
While we're on the subject of open-source sustainability; giving thanks to open-source maintainers (beyond $$ support) is not something I do often enough. Going forward, I am going to start posting more about the awesome projects, apps, modules and tools that I use.
November 12, 2024 at 7:16 PM
Proud to be working at a company that recognizes the value of giving back to open-source maintainers and to push towards a more sustainable open-source culture.
sanity.io Sanity @sanity.io · Nov 12
Open source software is crucial to the success of Sanity, so it makes sense to give back to great projects that we and our community use every day.

That's why we joined the @opensourcepledge.com with a $112k donation to great projects and maintainers. 🫶

www.sanity.io/blog/sanity-...
Sanity joins the Open Source Pledge
We are joining the Open Source Pledge, committing to pay $2,000 per year per full-time developer directly to open source maintainers and foundations.
www.sanity.io
November 12, 2024 at 5:27 PM
Is there a way to track upload progress when using `fetch()` yet? Should be possible using a custom read stream, but unsure if backpressure will work correctly or if you would end up with "read"-progress instead of "send"-progress
November 12, 2024 at 4:15 PM