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.
But we did have convos in the last couple of days on what we can do next on the pg world ;D
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 };
}
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";
or is this some extra compilation step to rewrite the code?
What happens if you saw a bug, or you want to update and change a workflow? Is there a way to discard / upgrade the existing in-memory workflows that are being executed (and correspond to the previous version) so they are now "updated"?
Etheryte•3h ago
javcasas•3h 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•3h ago
javcasas•3h ago
evilduck•2h ago
At least understand what you're looking at before getting the ick.
javcasas•2h ago
skrebbel•2h ago
oompydoompy74•2h ago
tom1337•3h ago
bn-l•15m ago
ajkjk•3h ago
MrJohz•2h 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•2h ago
Etheryte•2h ago
ngruhn•2h ago
Etheryte•50s ago
[0] https://ts-ast-viewer.com/#code/GYVwdgxgLglg9mABMOcAUBKRBvAU...