`@nuxt/test-utils` v4.3.3 is out! π
β¦ and it drops one or two dependencies π₯
π full details in the release notes: github.com/nuxt/test-ut...
π and as usual thank you to @yamachi4416.bsky.social for amazing work β€οΈ
`@nuxt/test-utils` v4.3.3 is out! π
β¦ and it drops one or two dependencies π₯
π full details in the release notes: github.com/nuxt/test-ut...
π and as usual thank you to @yamachi4416.bsky.social for amazing work β€οΈ
I have never had so many 'personalised' cold intro emails that have clearly never been touched by human hands
looking forward to finding out why i should use nuxt from @alois-seckar.cz at @pragvue.com π
I'm honoured to be asked to talk tomorrow at @pragvue.com on collaboration. β€οΈ
... so, help me out π
what are your top tips?
I periodically get emails from KLM titled:
"Your travel companion awaits"
β¦ and I misunderstand what that means Every. Single. Time.
for the record, @patak.cat makes a very good travel companion. π
thank you for the compliment - I'll frame it β€οΈ
I would love to give a talk titled: "how to succeed as an impostor in open source"
I feel I've been the recipient of a lot of privilege, kindness and grace from others, not just in the open source world but from my family too.

1οΈβ£ the best authors of libraries have 'felt the pain' and are making it better
2οΈβ£ the 'curse of knowledge' means authors (can) become less insightful over time
3οΈβ£ a lack of domain expertise IS something you have to offer
... so, contribute to address a pain you have π

βͺ have coffee with me!
βͺ walk up arthur's seat
βͺ order a golden drop at the canny man's
βͺ eat some haggis hash browns at mclaren's

anyone feeling ... super intelligent today?
I'm really delighted to announce that
π `unifont` has turned 1.0
β¦ and it finally has a home! β¨
`unifont` is an abstraction over google, adobe, bunny, fontshare, fontsource, npm + more - you can even build your own providers
you:
β ask for a family (with optional constraints)
β receive weights, styles, subsets, unicode ranges and `@font-face` data you can use
everything is typed + cached
https://unifont.dev is meant to be both useful - as well as a showcase of what unifont can do.
everything happens at runtime in your browser, from listing the catalogue to showing detail pages for each font, and rendering text in it
π it also has a small atproto integration using https://getair.space π
`fontaine` + `fontless` hit v1 this week too, and they are all designed to work together!
βͺ `unifont` reads the metadata
βͺ `fontaine` uses it to cut layout shift
βͺ `fontless` does the whole thing in vite w/ zero config
... plus, `@nuxt/fonts` v1 is coming out next, which wraps all three! π₯
v1 also brings arbitrary variable axes, font metrics from providers - and it works in the browser too!
thank you https://github.com/qwerzl, https://github.com/florian-lefebvre, and many others who have made this release possible β€οΈ
let me know what you think! π
did everyone already know what 'duck-typed' meant and you just chose not to tell me?
ephemeral β insignificant
this is a relief.
I was worried I was too anodyne or that I hadn't made myself clear enough.
I'm a big fan of workmux (https://workmux.raine.dev/) and its built-in sandboxing. I want to make sure that that there's a level of containment when I'm running code I've not written.
the same is true for any agent I run. it gets a read-only gh token + a network-enforced domain allow-list.
... and, just to be clear, agents don't have access to my git signing keys either.
this is about trust and accountability. if I use a tool to help me reproduce an issue or write tests, or implement a fix, I don't want to switch off my brain or abdicate the responsibility I bear.

I'm a big fan of workmux and its built-in sandboxing. I want to make sure that that there's a level of containment when I'm running code I've not written.
the same is true for any agent I run. it gets a read-only gh token + a network-enforced domain allow-list.
a tweak: open source is ABOUT people
β¦ with quality as a means to that end
we have the rare freedom to practise the craft + the joy of building with friends, for its own sake.
I hope open source communities flourish β we must look after our mental health more than ever.
but a cautionary note π
I am seeing at least two leaders of open source projects crashing out right now b/c:
π© they DO feel they have to compete β w/ vibe-coded alternatives
π© they feel alone + outgunned
π© (my guess) their unchecked use of LLMs means they are 'butter stretched over too much bread'

a tweak: open source is ABOUT people
β¦ with quality as a means to that end
we have the rare freedom to practise the craft + the joy of building with friends, for its own sake.
I hope open source communities flourish β we must look after our mental health more than ever.
but a cautionary note π
don't be nice
https://roe.dev/blog/dont-be-nice
someone at @zurichjs.com didn't know that @philippeserhal.com and I talk to each other π
delighted to announce that we've done a brand awareness deal for nuxt
we want to be associated with SPEED and PERFORMANCE and RELIABILITY
... and that's why we power verkehrslage.bahnhof.de
πββοΈ 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 or atmosphere account
π airspace is a typed client for it: https://getair.space
back in june I migrated my own site to use an 'atproto cms', and I've been thinking how to make this usable for everyone, without requiring special atproto knowledge
π this hopefully fixes the rough edges + bugs
it also adds support for private data + drafts via the experimental 'spaces' proposal
using `airspace`, you define your schema once, and
Β» records
Β» record keys
Β» relations
Β» validation
Β» oauth scopes
are all typed from it πͺ
a few more details:
βͺ airspace core is 9.2 kB in production
βͺ includes automatic validators + migration utils
βͺ no need for typegen
βͺ ships with a minimal read-only live client
βͺ runs on workers and deno
... and the name is credit to Misha (https://github.com/mkrl), who made an amazing brainstorming partner π
as of today, https://roe.dev runs on airspace
I'd already moved my cms onto my pds, which was 20k lines lighter π°
swapping that for airspace dropped another 2,000
https://github.com/danielroe/roe.dev/pull/1962
you can demo it live at https://getair.space/demo, or check out the repo at https://github.com/danielroe/airspace
it's still very early days, but I would love your feedback π
just released `@nuxtjs/hanko` v2 for https://hanko.io β¨
βͺ works on nuxt 4 *and* nuxt 5
βͺ `globalMiddleware` to guard every page by default, thanks to
https://github.com/felix-dolderer
βͺ hanko-elements v3, thanks to https://github.com/Harm-Nullix
π read more at https://github.com/nuxt-modules/hanko/releases/tag/v2.0.0
trying to decide something ...
which one is more interesting?
π
°οΈ optimising fonts
π
±οΈ building on the atmosphere
quite! you will never go wrong by training yourself to think more clearly
β¦ and I would strongly advise against ever using LLMs - or anything else! - as a substitute for thinking.

aside from fixing bugs or adding features:
1οΈβ£ write docs you wish had existed when you were learning
2οΈβ£ build something cool and share it with others
3οΈβ£ make a video or give a talk about nuxt
4οΈβ£ help other people out on discord or github
5οΈβ£ invite someone else 'in'
β€οΈβ€οΈβ€οΈ

hello from ZurichJS π¨π
... I think it's going ok
I'll have you know I use only good old-fashioned _artisan_ automation, hand crafted in the forges of bash, none of your modern nonsense.
him: Hello do you want to acquire the domain name `nuxt.*`?
me: [β¦] What are you looking for? Bear in mind, Nuxt is an open source project and my budget is limited.
him: Judging by your reply I am sure this domain is too expensive for you. Thanks
me: Judging by your reply, I am sure it is! Thanks
RE: https://hachyderm.io/@sustainoss/117132679585836776
this was such a fun conversation!
what a beautiful word.
more things are possible than you think. you might as well try to make it so. β€οΈ

not sure how many years of my life this interaction took off π
to be clear, if you bully _anyone_, whether a maintainer or a user, in a repo I maintain, you will be banned from interacting with all orgs I administer on github.
and if you see bullying behaviour anywhere, please report it π
![[danielroe]
so, just to be clear, you won't bully maintainers in future, but will provide genuine reproductions when you open issues?
I don't want you to leave with the idea that bullying will work. it won't.
[screenshot of previous post from user]
no they also closed it because in nuxt is a bottleneck as they said
is very comfortable to omit principal part
I remember how in mikro-orm i found bug. I write to b4nan, he began to cry like now people cry, after many bullying from me to him he found that is a bug in node as i remember and wrote to node maintainers. Node
maintainer confirmed bug and pached... That is how here all work
[response from user, name obfuscated]
Only if devs will stop create buggy soft and write every where use our soft it is the best π
Bullying is when someone repeatedly and on purpose uses words or actions to hurt, scare, or control another person who has less power.
You think I have more power than author of some lib. Stop they are bulling me and I don't known!
Please say to all to stop bulling me and make things to just work](/_vercel/image?url=https:%2F%2Fs3.nl-ams.scw.cloud%2Fodysseus%2Fmedia_attachments%2Ffiles%2F117%2F093%2F502%2F767%2F281%2F239%2Foriginal%2Faf10208fdfca3366.png&w=1536&q=80)
that's 44 now π°
and I guarantee that you don't want to see my answers to ALL of them.

believe it or not, it's somewhat public! 41, as of right now
π check out https://pdsls.dev/at://danielroe.dev/dev.roe.ama and you can browse them. (unanswered questions aren't world-readable, but you can see their metadata)

thank you for sharing β€οΈ
I hadn't! - but I listened to it this morning when you sent this ... πͺΏπͺΏπͺΏ

synchub currently doesn't handle lfs objects, only the pointers
the main tricky thing is the bandwidth this would entail (and the fact that I likely couldn't just stream it ....)
but you're right, this is a pain. I'll go ahead and warn on the dashboard....
