POV: you ask Claude Code for only one big task 🥲
I never said it was difficult to understand, it is difficult to produce when working on something. For me, and presumably many, it's more likely to write older, less elegant syntax (hardcoded values, more classes, more media queries, etc)
dunno if it's because I've been using too much Tailwind or I'm getting old but my mind can't produce this kind of CSS. Like, you like at the page and you think 'right, this calls for the 'ol :is + clamp + cqi unit'
One thing I cannot stand when using Cursor/VS Code is having lots of panes open at the same time. I basically want to only do one thing at a time, whether that's code, agent view, file tree, or the terminal.
To make the terminal always use full screen, you can override the default cmd+j of Cursor:
While I initially ran into the problem, the deep dive was performed by @remcohaszing.nl, who also already made a PR for Next.js, an issue to Preact, and clarifications to TS docs 💯
github.com/preactjs/pr...
github.com/vercel/next...
First of all Uppy is removing preact/compat from its usage, as it can easily just rely on preact, to immediately resolve problems
Next.js should change from "preserve" to "react-jsx", as it actually compiles to automatic
preact/compat should not declare the React UMD namespace
Because the classic runtime (which Next.js uses) looks at the global UMD JSX type, and preact/compat also ships a global type, the two start conflicting. Even if preact/compat is a transient dependency
So who should change what?
Uppy uses Preact for it's UI components, with wrappers for all major frameworks for first-class support
We shipped some new components which import from preact/compat and suddenly Next.js apps, which use "jsx": "preserve", have thousands of JSX errors
Why this transition to automatic?
No more `import React` in every file, smaller/tree-shakable output via jsx/jsxs helpers, dev vs prod helpers (better warnings), and enables faster/leaner runtime + alternative JSX runtimes — simpler DX and better optimizations
"jsx" controls how JSX is emitted in JavaScript files
TypeScript understands 2 types of JSX runtimes. The classic runtime looks at the React.JSX namespace in the file. The automatic runtime looks at the JSX namespace exported from react/jsx-runtime or react/jsx-dev-runtime
A new release of Uppy uncovered a rabbit hole of JSX type issues in the ecosystem between @preactjs.com, @nextjs.org, and @typescriptlang.org
A refresher on the TS "jsx" option, what Next.js and Preact are doing wrong, and what's next 👇
I just need to add one more badge to the readme bro, trust me one more badge and it will all make sense
GitHub is finally tackling the PR review UX, including large PRs 😍
github.com/orgs/commun...
Had to deploy an SSR @astro.build site to @vercel.com because I simply couldn't get it to work on @cloudflare.social workers. Mysterious WASM errors even though I configured Astro to only do image optimization at build time 🤔
What's the panic about Radix UI being in a poor state and/or unmaintained? What did I miss?
Sonnet 4 passes the vibe check
If Zed is as good as Cursor at agents I would much prefer it over a VS Code experience.
But hard to imagine it can be as good seeing the difference in funding and AI-focussed hiring at Cursor/Windsurf 🤔
zed.dev/blog/fastest...
📢 tus Node.js server 2.0.0 is out!
You can now get resumable uploads in all meta-frameworks and Node.js compatible JS runtimes ⚡
I wrote about it in a new blog post 👇
tus.io/blog/2025/03...
Very nice! I recently rewrote a tus.io server work in multiple runtimes. Will take a look if there is anything useful I can steal 👀
bsky.app/profile/merl...
I recently came to acceptance that I must mostly switch to Cursor from @neovim.io to stay relevant. But if Claude Code CLI will be any good, neovim is back baby. Can just pop it open in a floating terminal.
youtu.be/AJpK3YTTKZ4
Releasing this soon under a new major version together with bumping the required Node.js version up from 16
In short, it means rewriting all request handlers to work with Request/Response (web API) instead of http IncomingMessage / http ServerResponse (Node.js specific) as we can turn the req/res from Node.js into the web APIs but not the other way around.
I refactored the tus.io (resumable uploads) Node.js server to work in all meta frameworks (such as Next.js, Nuxt, SvelteKit, etc) and other JS runtimes with a new `handleWeb()` method
Not a trivial change, but very happy the server can run (almost) everywhere now.
github.com/tus/tus-node...
Unfortunately it's not what I mean. I don't want to manually add every node_modules folder across 25+ projects. In general I want to ignore a bunch of file extensions and folder patterns.
Oh I didn’t know. Thanks!
The feature I really wish @raycast.com would have is the ability to ignore files/folder for file search. Half of the time I only get results from my node_modules because there's always some file that matches in there
At this point it's better to ask, what can't you do with Postgres?
Here's an example from @pontusab.bsky.social of doing network requests.
Moving back to Homebrew from Nix home-manager after a year. Nothing about it is worth it for personal computers. All that effort for a reproducible machine you replace, what, once every 6 years?
Back to simple.
✨Redid the authentication system
It's now using openauth.js.org for universal, standards-based authentication. Self-hosted with sst.dev.
Live on the demo environment too
stack.merlijn.site