Uh oh!
There was an error while loading. Please reload this page.
feat: add tanstack support - #159
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: 4b9fdb5 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
4a2f2b3 to
20477c3CompareCo-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com>
There was a problem hiding this comment.
Additional Suggestion:
The SvelteKitBuilder constructor hardcodes the dirs array, overriding any custom dirs value passed in the configuration. This prevents users from specifying custom workflow directories through the config interface.
View Details
📝 Patch Details
diff --git a/packages/sveltekit/src/builder.ts b/packages/sveltekit/src/builder.ts
index 531c754..02a7f7c 100644
--- a/packages/sveltekit/src/builder.ts+++ b/packages/sveltekit/src/builder.ts@@ -20,7 +20,7 @@ export class SvelteKitBuilder extends BaseBuilder {
super({
...config,
- dirs: ['workflows', 'src/workflows', 'routes', 'src/routes'],+ dirs: config?.dirs ?? ['workflows', 'src/workflows', 'routes', 'src/routes'],
buildTarget: 'sveltekit' as const,
stepsBundlePath: '', // unused in base
workflowsBundlePath: '', // unused in base
Analysis
SvelteKitBuilder Constructor Ignores Custom dirs Configuration
What fails: The dirs option passed to SvelteKitBuilder constructor is silently ignored because the hardcoded dirs array assignment in the super() call overrides any custom value from the config parameter.
How to trigger: Create a SvelteKitBuilder instance with custom directories:
constbuilder=newSvelteKitBuilder({dirs: ['my-workflows','custom-dir']});// Expected: builder.config.dirs === ['my-workflows', 'custom-dir']// Actual: builder.config.dirs === ['workflows', 'src/workflows', 'routes', 'src/routes']What happens vs expected: When calling methods like getInputFiles() (inherited from BaseBuilder), only the hardcoded default directories are scanned, making the dirs configuration parameter non-functional. This prevents users from specifying custom workflow directories through the configuration interface.
Root cause: In packages/sveltekit/src/builder.ts line 23, the object property spread (...config) is immediately overridden by an explicit dirs assignment, since JavaScript property assignments that follow a spread operator override the spread's properties.
Fix: Use nullish coalescing to preserve custom dirs while providing defaults:
dirs: config?.dirs??['workflows','src/workflows','routes','src/routes']Deployment failed with the following error: |
andrewdoro
commented
Jan 18, 2026
Hey I am interested in this. What's the status for this one? |
alandotcom
commented
Jan 20, 2026
@andrewdoro I followed the nitro instructions, and it works just fine for me. The only issue I ran into is this #798 |
cravend
commented
Jan 23, 2026
Hey y'all! When I try to follow Nitro instructions for my TanStack Start app, I get the following error (the dev server hangs for 60sec and then spits this out): bundev$bun--bunvitedevDiscoveringworkflowdirectives4570msCreatedintermediateworkflowbundle155msCreatedstepsbundle24msCreatingwebhookrouteCreatingmanifest...
Createdmanifestwith9step(s)and1workflow(s)27ms10:58:08AM[vite](client)Re-optimizingdependenciesbecauselockfilehaschangedROLLDOWN-VITEv7.3.1readyin6731ms
➜ Local: http://localhost:3000/➜ Network: use--hosttoexpose➜pressh+entertoshowhelp2026-01-2310:58:09[sentry]Sentryinitializedonserver{}470|letid="",i=size|0;471|for(;i--;)id+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[Math.random()*64|0];472|returnid;473|};474|functionreviveInvokeError(e){475|leterror=Error(e.message||"Unknown invoke error");^
error: transportinvoketimedoutafter60000ms(data: {"type":"custom","event":"vite:invoke","data":{"name":"fetchModule","id":"send:w-829_oRXqv5OQVb6_n3V","data":["file:///Users/cravend/src/app/node_modules/.nitro/workflow/steps.mjs","\u0000virtual:",{"cached":false,"startOffset":2}]}})atreviveInvokeError(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:475:14)atinvoke(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:549:11)471|for(;i--;)id+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[Math.random()*64|0];472|returnid;473|};474|functionreviveInvokeError(e){475|leterror=Error(e.message||"Unknown invoke error");476|returnObject.assign(error,e,{runnerError: /* @__PURE__ */Error("RunnerError")}),error;^
error: RunnerErroratreviveInvokeError(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:476:64)atinvoke(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:549:11)470|letid="",i=size|0;471|for(;i--;)id+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[Math.random()*64|0];472|returnid;473|};474|functionreviveInvokeError(e){475|leterror=Error(e.message||"Unknown invoke error");^
error: transportinvoketimedoutafter60000ms(data: {"type":"custom","event":"vite:invoke","data":{"name":"fetchModule","id":"send:_-Nwpw0pTyO-lwNj5Wi3s","data":["/node_modules/.bun/@tanstack+start-server-core@1.154.12+cf7a91fbc0ade779/node_modules/@tanstack/start-server-core/dist/esm/constants.js","/Users/cravend/src/app/node_modules/.bun/@tanstack+start-server-core@1.154.12+cf7a91fbc0ade779/node_modules/@tanstack/start-server-core/dist/esm/index.js",{"cached":true,"startOffset":2}]}})atreviveInvokeError(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:475:14)atinvoke(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:549:11)471|for(;i--;)id+="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"[Math.random()*64|0];472|returnid;473|};474|functionreviveInvokeError(e){475|leterror=Error(e.message||"Unknown invoke error");476|returnObject.assign(error,e,{runnerError: /* @__PURE__ */Error("RunnerError")}),error;^
error: RunnerErroratreviveInvokeError(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:476:64)atinvoke(/Users/cravend/src/app/node_modules/.bun/rolldown-vite@7.3.1+909d114dfec580fe/node_modules/rolldown-vite/dist/node/module-runner.js:549:11)any ideas? What's weird is the first time I ran it, it worked, and then I've been getting this every time since (even on fresh installs, delete all folders, etc). I'm on |
Closed in favor of #877 |
adds tanstack support