@tanstack/solid-start 1.132.0-alpha.9 → 1.132.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/default-entry/esm/server.d.ts +6 -0
- package/dist/default-entry/esm/server.js +10 -0
- package/dist/default-entry/esm/server.js.map +1 -0
- package/dist/default-entry/esm/start.d.ts +2 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +6 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/plugin/vite.js +2 -1
- package/dist/esm/plugin/vite.js.map +1 -1
- package/dist/esm/useServerFn.d.ts +1 -0
- package/dist/esm/useServerFn.js +23 -0
- package/dist/esm/useServerFn.js.map +1 -0
- package/dist/plugin/default-entry/client.tsx +2 -5
- package/dist/plugin/default-entry/server.ts +6 -6
- package/dist/plugin/default-entry/start.ts +1 -0
- package/package.json +17 -9
- package/src/default-entry/client.tsx +4 -0
- package/src/default-entry/server.ts +14 -0
- package/src/default-entry/start.ts +1 -0
- package/src/index.ts +2 -0
- package/src/plugin/vite.ts +1 -0
- package/src/useServerFn.ts +26 -0
- package/src/plugin/default-entry/client.tsx +0 -7
- package/src/plugin/default-entry/router-entry.d.ts +0 -4
- package/src/plugin/default-entry/server.ts +0 -14
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createStartHandler, defaultStreamHandler } from "@tanstack/solid-start/server";
|
|
2
|
+
const fetch = createStartHandler(defaultStreamHandler);
|
|
3
|
+
const server = {
|
|
4
|
+
// Providing `RequestHandler` from `@tanstack/solid-start/server` is required so that the output types don't import it from `@tanstack/start-server-core`
|
|
5
|
+
fetch
|
|
6
|
+
};
|
|
7
|
+
export {
|
|
8
|
+
server as default
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sources":["../../../src/default-entry/server.ts"],"sourcesContent":["import {\n createStartHandler,\n defaultStreamHandler,\n} from '@tanstack/solid-start/server'\nimport type { Register } from '@tanstack/solid-router'\nimport type { RequestHandler } from '@tanstack/solid-start/server'\n\nconst fetch = createStartHandler(defaultStreamHandler)\n\nexport default {\n // Providing `RequestHandler` from `@tanstack/solid-start/server` is required so that the output types don't import it from `@tanstack/start-server-core`\n\n fetch: fetch as RequestHandler<Register>,\n}\n"],"names":[],"mappings":";AAOA,MAAM,QAAQ,mBAAmB,oBAAoB;AAErD,MAAA,SAAe;AAAA;AAAA,EAGb;AACF;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;"}
|
package/dist/esm/plugin/vite.js
CHANGED
|
@@ -11,7 +11,8 @@ const defaultEntryDir = path.resolve(
|
|
|
11
11
|
);
|
|
12
12
|
const defaultEntryPaths = {
|
|
13
13
|
client: path.resolve(defaultEntryDir, "client"),
|
|
14
|
-
server: path.resolve(defaultEntryDir, "server")
|
|
14
|
+
server: path.resolve(defaultEntryDir, "server"),
|
|
15
|
+
start: path.resolve(defaultEntryDir, "start")
|
|
15
16
|
};
|
|
16
17
|
function tanstackStart(options) {
|
|
17
18
|
return [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.js","sources":["../../../src/plugin/vite.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url'\nimport { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core'\nimport path from 'pathe'\nimport type { TanStackStartInputConfig } from '@tanstack/start-plugin-core'\nimport type { PluginOption } from 'vite'\n\nconst currentDir = path.dirname(fileURLToPath(import.meta.url))\nconst defaultEntryDir = path.resolve(\n currentDir,\n '..',\n '..',\n 'plugin',\n 'default-entry',\n)\nconst defaultEntryPaths = {\n client: path.resolve(defaultEntryDir, 'client'),\n server: path.resolve(defaultEntryDir, 'server'),\n}\n\nexport function tanstackStart(\n options?: TanStackStartInputConfig,\n): Array<PluginOption> {\n return [\n TanStackStartVitePluginCore(\n {\n framework: 'solid',\n defaultEntryPaths,\n },\n options,\n ),\n ]\n}\n"],"names":[],"mappings":";;;AAMA,MAAM,aAAa,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AAC9D,MAAM,kBAAkB,KAAK;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,oBAAoB;AAAA,EACxB,QAAQ,KAAK,QAAQ,iBAAiB,QAAQ;AAAA,EAC9C,QAAQ,KAAK,QAAQ,iBAAiB,QAAQ;
|
|
1
|
+
{"version":3,"file":"vite.js","sources":["../../../src/plugin/vite.ts"],"sourcesContent":["import { fileURLToPath } from 'node:url'\nimport { TanStackStartVitePluginCore } from '@tanstack/start-plugin-core'\nimport path from 'pathe'\nimport type { TanStackStartInputConfig } from '@tanstack/start-plugin-core'\nimport type { PluginOption } from 'vite'\n\nconst currentDir = path.dirname(fileURLToPath(import.meta.url))\nconst defaultEntryDir = path.resolve(\n currentDir,\n '..',\n '..',\n 'plugin',\n 'default-entry',\n)\nconst defaultEntryPaths = {\n client: path.resolve(defaultEntryDir, 'client'),\n server: path.resolve(defaultEntryDir, 'server'),\n start: path.resolve(defaultEntryDir, 'start'),\n}\n\nexport function tanstackStart(\n options?: TanStackStartInputConfig,\n): Array<PluginOption> {\n return [\n TanStackStartVitePluginCore(\n {\n framework: 'solid',\n defaultEntryPaths,\n },\n options,\n ),\n ]\n}\n"],"names":[],"mappings":";;;AAMA,MAAM,aAAa,KAAK,QAAQ,cAAc,YAAY,GAAG,CAAC;AAC9D,MAAM,kBAAkB,KAAK;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AACA,MAAM,oBAAoB;AAAA,EACxB,QAAQ,KAAK,QAAQ,iBAAiB,QAAQ;AAAA,EAC9C,QAAQ,KAAK,QAAQ,iBAAiB,QAAQ;AAAA,EAC9C,OAAO,KAAK,QAAQ,iBAAiB,OAAO;AAC9C;AAEO,SAAS,cACd,SACqB;AACrB,SAAO;AAAA,IACL;AAAA,MACE;AAAA,QACE,WAAW;AAAA,QACX;AAAA,MAAA;AAAA,MAEF;AAAA,IAAA;AAAA,EACF;AAEJ;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(serverFn: T): (...args: Parameters<T>) => ReturnType<T>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useRouter, isRedirect } from "@tanstack/solid-router";
|
|
2
|
+
function useServerFn(serverFn) {
|
|
3
|
+
const router = useRouter();
|
|
4
|
+
return async (...args) => {
|
|
5
|
+
try {
|
|
6
|
+
const res = await serverFn(...args);
|
|
7
|
+
if (isRedirect(res)) {
|
|
8
|
+
throw res;
|
|
9
|
+
}
|
|
10
|
+
return res;
|
|
11
|
+
} catch (err) {
|
|
12
|
+
if (isRedirect(err)) {
|
|
13
|
+
err.options._fromLocation = router.state.location;
|
|
14
|
+
return router.navigate(router.resolveRedirect(err).options);
|
|
15
|
+
}
|
|
16
|
+
throw err;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export {
|
|
21
|
+
useServerFn
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useServerFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useServerFn.js","sources":["../../src/useServerFn.ts"],"sourcesContent":["import { isRedirect, useRouter } from '@tanstack/solid-router'\n\nexport function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(\n serverFn: T,\n): (...args: Parameters<T>) => ReturnType<T> {\n const router = useRouter()\n\n return (async (...args: Array<any>) => {\n try {\n const res = await serverFn(...args)\n\n if (isRedirect(res)) {\n throw res\n }\n\n return res\n } catch (err) {\n if (isRedirect(err)) {\n err.options._fromLocation = router.state.location\n return router.navigate(router.resolveRedirect(err).options)\n }\n\n throw err\n }\n }) as any\n}\n"],"names":[],"mappings":";AAEO,SAAS,YACd,UAC2C;AAC3C,QAAM,SAAS,UAAA;AAEf,SAAQ,UAAU,SAAqB;AACrC,QAAI;AACF,YAAM,MAAM,MAAM,SAAS,GAAG,IAAI;AAElC,UAAI,WAAW,GAAG,GAAG;AACnB,cAAM;AAAA,MACR;AAEA,aAAO;AAAA,IACT,SAAS,KAAK;AACZ,UAAI,WAAW,GAAG,GAAG;AACnB,YAAI,QAAQ,gBAAgB,OAAO,MAAM;AACzC,eAAO,OAAO,SAAS,OAAO,gBAAgB,GAAG,EAAE,OAAO;AAAA,MAC5D;AAEA,YAAM;AAAA,IACR;AAAA,EACF;AACF;"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
import { hydrate } from 'solid-js/web'
|
|
2
|
-
import { StartClient } from '@tanstack/solid-start'
|
|
3
|
-
import { createRouter } from '#tanstack-start-router-entry'
|
|
2
|
+
import { StartClient } from '@tanstack/solid-start/client'
|
|
4
3
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
hydrate(() => <StartClient router={router} />, document.body)
|
|
4
|
+
hydrate(() => <StartClient />, document.body)
|
|
@@ -2,13 +2,13 @@ import {
|
|
|
2
2
|
createStartHandler,
|
|
3
3
|
defaultStreamHandler,
|
|
4
4
|
} from '@tanstack/solid-start/server'
|
|
5
|
+
import type { Register } from '@tanstack/solid-router'
|
|
6
|
+
import type { RequestHandler } from '@tanstack/solid-start/server'
|
|
5
7
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const fetch = createStartHandler({
|
|
9
|
-
createRouter,
|
|
10
|
-
})(defaultStreamHandler)
|
|
8
|
+
const fetch = createStartHandler(defaultStreamHandler)
|
|
11
9
|
|
|
12
10
|
export default {
|
|
13
|
-
|
|
11
|
+
// Providing `RequestHandler` from `@tanstack/solid-start/server` is required so that the output types don't import it from `@tanstack/start-server-core`
|
|
12
|
+
|
|
13
|
+
fetch: fetch as RequestHandler<Register>,
|
|
14
14
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/solid-start",
|
|
3
|
-
"version": "1.132.
|
|
3
|
+
"version": "1.132.1",
|
|
4
4
|
"description": "Modern and scalable routing for Solid applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -24,12 +24,12 @@
|
|
|
24
24
|
"typescript"
|
|
25
25
|
],
|
|
26
26
|
"type": "module",
|
|
27
|
-
"types": "dist/esm/
|
|
27
|
+
"types": "dist/esm/index.d.ts",
|
|
28
28
|
"exports": {
|
|
29
29
|
".": {
|
|
30
30
|
"import": {
|
|
31
|
-
"types": "./dist/esm/
|
|
32
|
-
"default": "./dist/esm/
|
|
31
|
+
"types": "./dist/esm/index.d.ts",
|
|
32
|
+
"default": "./dist/esm/index.js"
|
|
33
33
|
}
|
|
34
34
|
},
|
|
35
35
|
"./client": {
|
|
@@ -50,6 +50,12 @@
|
|
|
50
50
|
"default": "./dist/esm/plugin/vite.js"
|
|
51
51
|
}
|
|
52
52
|
},
|
|
53
|
+
"./server-entry": {
|
|
54
|
+
"import": {
|
|
55
|
+
"types": "./dist/default-entry/esm/server.d.ts",
|
|
56
|
+
"default": "./dist/default-entry/esm/server.js"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
53
59
|
"./package.json": "./package.json"
|
|
54
60
|
},
|
|
55
61
|
"sideEffects": false,
|
|
@@ -58,17 +64,19 @@
|
|
|
58
64
|
"src"
|
|
59
65
|
],
|
|
60
66
|
"engines": {
|
|
61
|
-
"node": ">=12"
|
|
67
|
+
"node": ">=22.12.0"
|
|
62
68
|
},
|
|
63
69
|
"dependencies": {
|
|
64
70
|
"pathe": "^2.0.3",
|
|
65
|
-
"@tanstack/solid-start-client": "1.132.
|
|
66
|
-
"@tanstack/start-plugin-core": "1.132.
|
|
67
|
-
"@tanstack/solid-
|
|
71
|
+
"@tanstack/solid-start-client": "1.132.1",
|
|
72
|
+
"@tanstack/start-plugin-core": "1.132.1",
|
|
73
|
+
"@tanstack/solid-router": "1.132.0",
|
|
74
|
+
"@tanstack/start-client-core": "1.132.1",
|
|
75
|
+
"@tanstack/solid-start-server": "1.132.1"
|
|
68
76
|
},
|
|
69
77
|
"devDependencies": {
|
|
70
78
|
"vite": "^7.1.1",
|
|
71
|
-
"@tanstack/router-utils": "1.132.0
|
|
79
|
+
"@tanstack/router-utils": "1.132.0"
|
|
72
80
|
},
|
|
73
81
|
"peerDependencies": {
|
|
74
82
|
"solid-js": ">=1.0.0",
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
createStartHandler,
|
|
3
|
+
defaultStreamHandler,
|
|
4
|
+
} from '@tanstack/solid-start/server'
|
|
5
|
+
import type { Register } from '@tanstack/solid-router'
|
|
6
|
+
import type { RequestHandler } from '@tanstack/solid-start/server'
|
|
7
|
+
|
|
8
|
+
const fetch = createStartHandler(defaultStreamHandler)
|
|
9
|
+
|
|
10
|
+
export default {
|
|
11
|
+
// Providing `RequestHandler` from `@tanstack/solid-start/server` is required so that the output types don't import it from `@tanstack/start-server-core`
|
|
12
|
+
|
|
13
|
+
fetch: fetch as RequestHandler<Register>,
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default {}
|
package/src/index.ts
ADDED
package/src/plugin/vite.ts
CHANGED
|
@@ -15,6 +15,7 @@ const defaultEntryDir = path.resolve(
|
|
|
15
15
|
const defaultEntryPaths = {
|
|
16
16
|
client: path.resolve(defaultEntryDir, 'client'),
|
|
17
17
|
server: path.resolve(defaultEntryDir, 'server'),
|
|
18
|
+
start: path.resolve(defaultEntryDir, 'start'),
|
|
18
19
|
}
|
|
19
20
|
|
|
20
21
|
export function tanstackStart(
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isRedirect, useRouter } from '@tanstack/solid-router'
|
|
2
|
+
|
|
3
|
+
export function useServerFn<T extends (...deps: Array<any>) => Promise<any>>(
|
|
4
|
+
serverFn: T,
|
|
5
|
+
): (...args: Parameters<T>) => ReturnType<T> {
|
|
6
|
+
const router = useRouter()
|
|
7
|
+
|
|
8
|
+
return (async (...args: Array<any>) => {
|
|
9
|
+
try {
|
|
10
|
+
const res = await serverFn(...args)
|
|
11
|
+
|
|
12
|
+
if (isRedirect(res)) {
|
|
13
|
+
throw res
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
return res
|
|
17
|
+
} catch (err) {
|
|
18
|
+
if (isRedirect(err)) {
|
|
19
|
+
err.options._fromLocation = router.state.location
|
|
20
|
+
return router.navigate(router.resolveRedirect(err).options)
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
throw err
|
|
24
|
+
}
|
|
25
|
+
}) as any
|
|
26
|
+
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createStartHandler,
|
|
3
|
-
defaultStreamHandler,
|
|
4
|
-
} from '@tanstack/solid-start/server'
|
|
5
|
-
|
|
6
|
-
import { createRouter } from '#tanstack-start-router-entry'
|
|
7
|
-
|
|
8
|
-
const fetch = createStartHandler({
|
|
9
|
-
createRouter,
|
|
10
|
-
})(defaultStreamHandler)
|
|
11
|
-
|
|
12
|
-
export default {
|
|
13
|
-
fetch,
|
|
14
|
-
}
|