From f535282c8d8792267e2e13763f614560bbb5ffe9 Mon Sep 17 00:00:00 2001 From: Manuel Schiller Date: Sat, 18 Oct 2025 00:02:51 +0200 Subject: [PATCH] fix: dev serverfn resolution on windows --- packages/server-functions-plugin/src/index.ts | 17 ++++++++++++++++- .../src/fake-start-server-fn-manifest.ts | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/packages/server-functions-plugin/src/index.ts b/packages/server-functions-plugin/src/index.ts index 97ba71a0bdd..e2d29b7822c 100644 --- a/packages/server-functions-plugin/src/index.ts +++ b/packages/server-functions-plugin/src/index.ts @@ -68,17 +68,32 @@ export function TanStackServerFnPlugin( const entryIdToFunctionId = new Map() const functionIds = new Set() + function withTrailingSlash(path: string): string { + if (path[path.length - 1] !== '/') { + return `${path}/` + } + return path + } + const generateFunctionId: GenerateFunctionIdFn = ({ extractedFilename, functionName, filename, }) => { if (serverDevEnv) { + const root = serverDevEnv.config.root + + let file = extractedFilename + if (extractedFilename.startsWith(withTrailingSlash(root))) { + file = extractedFilename.slice(root.length) + } + file = `/@id${file[0] === '/' ? '' : '/'}${file}` + const serverFn: { file: string export: string } = { - file: extractedFilename, + file, export: functionName, } const base64 = Buffer.from(JSON.stringify(serverFn), 'utf8').toString( diff --git a/packages/start-server-core/src/fake-start-server-fn-manifest.ts b/packages/start-server-core/src/fake-start-server-fn-manifest.ts index 9250d5dbf13..d1b5a0aeaf8 100644 --- a/packages/start-server-core/src/fake-start-server-fn-manifest.ts +++ b/packages/start-server-core/src/fake-start-server-fn-manifest.ts @@ -1 +1 @@ -export function getServerFnById() {} +export async function getServerFnById(): Promise {}