Skip to content

Commit 19422b1

Browse files
schiller-manueltannerlinsley
authored andcommitted
move client server function handling into start-client-core
1 parent 9b5c683 commit 19422b1

File tree

25 files changed

+48
-429
lines changed

25 files changed

+48
-429
lines changed

labeler-config.yml

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,12 +82,6 @@
8282
'package: start-server-core':
8383
- changed-files:
8484
- any-glob-to-any-file: 'packages/start-server-core/**/*'
85-
'package: start-server-functions-client':
86-
- changed-files:
87-
- any-glob-to-any-file: 'packages/start-server-functions-client/**/*'
88-
'package: start-server-functions-fetcher':
89-
- changed-files:
90-
- any-glob-to-any-file: 'packages/start-server-functions-fetcher/**/*'
9185
'package: start-server-functions-server':
9286
- changed-files:
9387
- any-glob-to-any-file: 'packages/start-server-functions-server/**/*'

package.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,6 @@
103103
"@tanstack/solid-start": "workspace:*",
104104
"@tanstack/solid-start-client": "workspace:*",
105105
"@tanstack/solid-start-server": "workspace:*",
106-
"@tanstack/start-server-functions-fetcher": "workspace:*",
107-
"@tanstack/start-server-functions-client": "workspace:*",
108106
"@tanstack/start-server-functions-server": "workspace:*",
109107
"@tanstack/start-plugin-core": "workspace:*",
110108
"@tanstack/start-client-core": "workspace:*",

packages/react-start/package.json

Lines changed: 8 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tanstack/react-start",
3-
"version": "1.131.21",
3+
"version": "1.132.0-alpha.1",
44
"description": "Modern and scalable routing for React applications",
55
"author": "Tanner Linsley",
66
"license": "MIT",
@@ -36,60 +36,30 @@
3636
"import": {
3737
"types": "./dist/esm/client.d.ts",
3838
"default": "./dist/esm/client.js"
39-
},
40-
"require": {
41-
"types": "./dist/cjs/client.d.cts",
42-
"default": "./dist/cjs/client.cjs"
4339
}
4440
},
4541
"./client": {
4642
"import": {
4743
"types": "./dist/esm/client.d.ts",
4844
"default": "./dist/esm/client.js"
49-
},
50-
"require": {
51-
"types": "./dist/cjs/client.d.cts",
52-
"default": "./dist/cjs/client.cjs"
5345
}
5446
},
5547
"./server": {
5648
"import": {
5749
"types": "./dist/esm/server.d.ts",
5850
"default": "./dist/esm/server.js"
59-
},
60-
"require": {
61-
"types": "./dist/cjs/server.d.cts",
62-
"default": "./dist/cjs/server.cjs"
6351
}
6452
},
6553
"./plugin/vite": {
6654
"import": {
67-
"types": "./dist/esm/plugin-vite.d.ts",
68-
"default": "./dist/esm/plugin-vite.js"
69-
},
70-
"require": {
71-
"types": "./dist/cjs/plugin-vite.d.cts",
72-
"default": "./dist/cjs/plugin-vite.cjs"
73-
}
74-
},
75-
"./server-functions-client": {
76-
"import": {
77-
"types": "./dist/esm/server-functions-client.d.ts",
78-
"default": "./dist/esm/server-functions-client.js"
79-
},
80-
"require": {
81-
"types": "./dist/cjs/server-functions-client.d.cts",
82-
"default": "./dist/cjs/server-functions-client.cjs"
55+
"types": "./dist/esm/plugin/vite.d.ts",
56+
"default": "./dist/esm/plugin/vite.js"
8357
}
8458
},
8559
"./server-functions-server": {
8660
"import": {
8761
"types": "./dist/esm/server-functions-server.d.ts",
8862
"default": "./dist/esm/server-functions-server.js"
89-
},
90-
"require": {
91-
"types": "./dist/cjs/server-functions-server.d.cts",
92-
"default": "./dist/cjs/server-functions-server.cjs"
9363
}
9464
},
9565
"./package.json": "./package.json"
@@ -105,17 +75,14 @@
10575
"dependencies": {
10676
"@tanstack/react-start-client": "workspace:*",
10777
"@tanstack/react-start-server": "workspace:*",
108-
"@tanstack/react-start-plugin": "workspace:*",
109-
"@tanstack/start-server-functions-client": "workspace:*",
110-
"@tanstack/start-server-functions-server": "workspace:*"
78+
"@tanstack/start-server-functions-server": "workspace:*",
79+
"@tanstack/router-utils": "workspace:^",
80+
"@tanstack/start-plugin-core": "workspace:*",
81+
"pathe": "^2.0.3"
11182
},
11283
"peerDependencies": {
113-
"@vitejs/plugin-react": ">=4.3.4",
11484
"react": ">=18.0.0 || >=19.0.0",
11585
"react-dom": ">=18.0.0 || >=19.0.0",
116-
"vite": ">=6.0.0"
117-
},
118-
"devDependencies": {
119-
"esbuild": "^0.25.0"
86+
"vite": ">=7.0.0"
12087
}
12188
}

packages/react-start/src/server-functions-client.tsx

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/react-start/vite.config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@ export default mergeConfig(
2626
'./src/client.tsx',
2727
'./src/server.tsx',
2828
'./src/plugin/vite.ts',
29-
'./src/server-functions-client.tsx',
3029
'./src/server-functions-server.tsx',
3130
],
3231
externalDeps: [
3332
'@tanstack/react-start-client',
3433
'@tanstack/react-start-server',
35-
'@tanstack/start-server-functions-client',
3634
'@tanstack/start-server-functions-server',
3735
],
3836
exclude: ['./src/plugin/default-entry'],

packages/solid-start/package.json

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@tanstack/solid-start",
3-
"version": "1.131.21",
3+
"version": "1.132.0-alpha.1",
44
"description": "Modern and scalable routing for Solid applications",
55
"author": "Tanner Linsley",
66
"license": "MIT",
@@ -36,60 +36,30 @@
3636
"import": {
3737
"types": "./dist/esm/client.d.ts",
3838
"default": "./dist/esm/client.js"
39-
},
40-
"require": {
41-
"types": "./dist/cjs/client.d.cts",
42-
"default": "./dist/cjs/client.cjs"
4339
}
4440
},
4541
"./client": {
4642
"import": {
4743
"types": "./dist/esm/client.d.ts",
4844
"default": "./dist/esm/client.js"
49-
},
50-
"require": {
51-
"types": "./dist/cjs/client.d.cts",
52-
"default": "./dist/cjs/client.cjs"
5345
}
5446
},
5547
"./server": {
5648
"import": {
5749
"types": "./dist/esm/server.d.ts",
5850
"default": "./dist/esm/server.js"
59-
},
60-
"require": {
61-
"types": "./dist/cjs/server.d.cts",
62-
"default": "./dist/cjs/server.cjs"
6351
}
6452
},
6553
"./plugin/vite": {
6654
"import": {
67-
"types": "./dist/esm/plugin-vite.d.ts",
68-
"default": "./dist/esm/plugin-vite.js"
69-
},
70-
"require": {
71-
"types": "./dist/cjs/plugin-vite.d.cts",
72-
"default": "./dist/cjs/plugin-vite.cjs"
73-
}
74-
},
75-
"./server-functions-client": {
76-
"import": {
77-
"types": "./dist/esm/server-functions-client.d.ts",
78-
"default": "./dist/esm/server-functions-client.js"
79-
},
80-
"require": {
81-
"types": "./dist/cjs/server-functions-client.d.cts",
82-
"default": "./dist/cjs/server-functions-client.cjs"
55+
"types": "./dist/esm/plugin/vite.d.ts",
56+
"default": "./dist/esm/plugin/vite.js"
8357
}
8458
},
8559
"./server-functions-server": {
8660
"import": {
8761
"types": "./dist/esm/server-functions-server.d.ts",
8862
"default": "./dist/esm/server-functions-server.js"
89-
},
90-
"require": {
91-
"types": "./dist/cjs/server-functions-server.d.cts",
92-
"default": "./dist/cjs/server-functions-server.cjs"
9363
}
9464
},
9565
"./package.json": "./package.json"
@@ -105,16 +75,16 @@
10575
"dependencies": {
10676
"@tanstack/solid-start-client": "workspace:*",
10777
"@tanstack/solid-start-server": "workspace:*",
108-
"@tanstack/solid-start-plugin": "workspace:*",
109-
"@tanstack/start-server-functions-client": "workspace:*",
110-
"@tanstack/start-server-functions-server": "workspace:*"
78+
"@tanstack/start-server-functions-server": "workspace:*",
79+
"@tanstack/start-plugin-core": "workspace:*",
80+
"pathe": "^2.0.3"
81+
},
82+
"devDependencies": {
83+
"@tanstack/router-utils": "workspace:*",
84+
"vite": "^7.1.1"
11185
},
11286
"peerDependencies": {
11387
"solid-js": ">=1.0.0",
114-
"vite": ">=6.0.0",
115-
"vite-plugin-solid": ">=2.11.6"
116-
},
117-
"devDependencies": {
118-
"esbuild": "^0.25.0"
88+
"vite": ">=7.0.0"
11989
}
12090
}

packages/solid-start/src/server-functions-client.tsx

Lines changed: 0 additions & 1 deletion
This file was deleted.

packages/solid-start/vite.config.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,11 @@ export default mergeConfig(
2626
'./src/client.tsx',
2727
'./src/server.tsx',
2828
'./src/plugin/vite.ts',
29-
'./src/server-functions-client.tsx',
3029
'./src/server-functions-server.tsx',
3130
],
3231
externalDeps: [
3332
'@tanstack/solid-start-client',
3433
'@tanstack/solid-start-server',
35-
'@tanstack/start-server-functions-client',
3634
'@tanstack/start-server-functions-server',
3735
],
3836
cjs: false,
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { serverFnFetcher } from './serverFnFetcher'
2+
3+
let baseUrl: string
4+
function sanitizeBase(base: string) {
5+
return base.replace(/^\/|\/$/g, '')
6+
}
7+
8+
export const createClientRpc = (functionId: string) => {
9+
if (!baseUrl) {
10+
const sanitizedAppBase = sanitizeBase(process.env.TSS_APP_BASE || '/')
11+
const sanitizedServerBase = sanitizeBase(process.env.TSS_SERVER_FN_BASE!)
12+
baseUrl = `${sanitizedAppBase ? `/${sanitizedAppBase}` : ''}/${sanitizedServerBase}/`
13+
}
14+
const url = baseUrl + functionId
15+
16+
const clientFn = (...args: Array<any>) => {
17+
return serverFnFetcher(url, args, fetch)
18+
}
19+
20+
return Object.assign(clientFn, {
21+
url,
22+
functionId,
23+
})
24+
}

packages/start-client-core/src/index.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,5 @@ export {
8787
flattenMiddlewares,
8888
executeMiddleware,
8989
} from './createServerFn'
90+
91+
export { createClientRpc } from './createClientRpc'

0 commit comments

Comments
 (0)