I don’t like having custom bundler logic for my code.
"don't use react"
I guess in the end it's another abstraction layer for queues or state machines and another way to lock you into Vercel.
Starting to scatter magic strings throughout a code base feels like a real step back.
I think "use client" is the only one that has to go at the top of a file.
At least in any other framework library I can just command click and see why things are not working, place breakpoints and even modify code.
I do wish that there was some kind of self-hostable World implementation at launch. If other PAAS providers jump onto this, I could see this sticking around.
just build state machines folks
export async function welcome(userId: string) {
const user = await retry(() => getUser(userId));
const { subject, body } = await retry(() => generateEmail({
name: user.name, plan: user.plan
}));
const { status } = await retry(() => sendEmail({
to: user.email,
subject,
body,
}), 2);
return { status, subject, body };
}
The above code still wouldn't be production-ready unless it's wrapped with something that correctly handles errors with external API calls -- like "out of credits" or "service is temporarily offline".looking at the docs and examples, I see Workflows and Steps and Retries, but I don't see any Durable yet. none of the examples really make it clear how or where anything gets stored
"use blackBoxWrapperForEverything";
Etheryte•2h ago
javcasas•1h ago
> I'm trying to find how they implemented the "use workflow" thing, and before I could find it I already found https://github.com/vercel/workflow/blob/main/packages/core/s...
> Telemetry is part of the core.
> Yuck.
nakovet•1h ago
javcasas•1h ago
evilduck•1h ago
At least understand what you're looking at before getting the ick.
javcasas•54m ago
skrebbel•1h ago
oompydoompy74•52m ago
tom1337•1h ago
ajkjk•1h ago
MrJohz•1h ago
JavaScript didn't have a lot of great options for this kind of statically-declared metaprogramming, which is why the "use X"; syntax has become so popular in various spaces. It's definitely not my favourite approach, but I don't think there's any clear "best" solution here.
halflife•1h ago
Etheryte•52m ago
ngruhn•33m ago