1- import { createTanStackServerFnPlugin } from "@tanstack/server-functions-plugin" ;
21import defu from "defu" ;
32import { existsSync } from "node:fs" ;
43import { join } from "node:path" ;
@@ -7,6 +6,7 @@ import { createApp, resolve } from "vinxi";
76import { normalize } from "vinxi/lib/path" ;
87import { config } from "vinxi/plugins/config" ;
98import solid from "vite-plugin-solid" ;
9+ import { serverFunctionsPlugin } from "../dist/directives/index.js" ;
1010import { SolidStartClientFileRouter , SolidStartServerFileRouter } from "./fs-router.js" ;
1111import { serverComponents } from "./server-components.js" ;
1212
@@ -37,36 +37,6 @@ function solidStartServerFsRouter(config) {
3737 ) ;
3838}
3939
40- const SolidStartServerFnsPlugin = createTanStackServerFnPlugin ( {
41- // This is the ID that will be available to look up and import
42- // our server function manifest and resolve its module
43- manifestVirtualImportId : "solidstart:server-fn-manifest" ,
44- client : {
45- getRuntimeCode : ( ) =>
46- `import { createServerReference } from "${ normalize (
47- fileURLToPath ( new URL ( "../dist/runtime/server-runtime.js" , import . meta. url ) )
48- ) } "`,
49- replacer : opts =>
50- `createServerReference(${ ( ) => { } } , '${ opts . functionId } ', '${ opts . extractedFilename } ')`
51- } ,
52- ssr : {
53- getRuntimeCode : ( ) =>
54- `import { createServerReference } from '${ normalize (
55- fileURLToPath ( new URL ( "../dist/runtime/server-fns-runtime.js" , import . meta. url ) )
56- ) } '`,
57- replacer : opts =>
58- `createServerReference(${ opts . fn } , '${ opts . functionId } ', '${ opts . extractedFilename } ')`
59- } ,
60- server : {
61- getRuntimeCode : ( ) =>
62- `import { createServerReference } from '${ normalize (
63- fileURLToPath ( new URL ( "../dist/runtime/server-fns-runtime.js" , import . meta. url ) )
64- ) } '`,
65- replacer : opts =>
66- `createServerReference(${ opts . fn } , '${ opts . functionId } ', '${ opts . extractedFilename } ')`
67- }
68- } ) ;
69-
7040export function defineConfig ( baseConfig = { } ) {
7141 let { vite = { } , ...start } = baseConfig ;
7242 const extensions = [ ...DEFAULT_EXTENSIONS , ...( start . extensions || [ ] ) ] ;
@@ -145,7 +115,9 @@ export function defineConfig(baseConfig = {}) {
145115 }
146116 } ) ,
147117 ...plugins ,
148- SolidStartServerFnsPlugin . ssr ,
118+ ...serverFunctionsPlugin ( {
119+ manifest : "solidstart:server-fn-manifest"
120+ } ) ,
149121 start . experimental . islands ? serverComponents . server ( ) : null ,
150122 solid ( { ...start . solid , ssr : true , extensions : extensions . map ( ext => `.${ ext } ` ) } ) ,
151123 config ( "app-server" , {
@@ -207,7 +179,9 @@ export function defineConfig(baseConfig = {}) {
207179 }
208180 } ) ,
209181 ...plugins ,
210- SolidStartServerFnsPlugin . client ,
182+ ...serverFunctionsPlugin ( {
183+ manifest : "solidstart:server-fn-manifest"
184+ } ) ,
211185 start . experimental . islands ? serverComponents . client ( ) : null ,
212186 solid ( { ...start . solid , ssr : start . ssr , extensions : extensions . map ( ext => `.${ ext } ` ) } ) ,
213187 config ( "app-client" , {
@@ -274,7 +248,9 @@ export function defineConfig(baseConfig = {}) {
274248 cacheDir : "node_modules/.vinxi/server-fns"
275249 } ) ,
276250 ...plugins ,
277- SolidStartServerFnsPlugin . server ,
251+ ...serverFunctionsPlugin ( {
252+ manifest : "solidstart:server-fn-manifest"
253+ } ) ,
278254 start . experimental . islands ? serverComponents . server ( ) : null ,
279255 solid ( { ...start . solid , ssr : true , extensions : extensions . map ( ext => `.${ ext } ` ) } ) ,
280256 config ( "app-server" , {
0 commit comments