@tanstack/create 0.49.1 → 0.49.2
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/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/dist/file-helpers.js +3 -1
- package/dist/special-steps/post-init-script.js +6 -6
- package/package.json +11 -12
- package/src/file-helpers.ts +4 -1
- package/src/special-steps/post-init-script.ts +6 -6
- package/tests/file-helper.test.ts +19 -0
- package/tests/special-steps.test.ts +12 -12
- package/dist/frameworks/react/add-ons/ai/assets/src/data/demo-guitars.js +0 -67
- package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useAudioRecorder.js +0 -70
- package/dist/frameworks/react/add-ons/ai/assets/src/hooks/demo-useTTS.js +0 -66
- package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.js +0 -11
- package/dist/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.js +0 -32
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.js +0 -87
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.image.js +0 -55
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.structured.js +0 -116
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.transcription.js +0 -73
- package/dist/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.tts.js +0 -58
- package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth-client.js +0 -2
- package/dist/frameworks/react/add-ons/better-auth/assets/src/lib/auth.js +0 -8
- package/dist/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.js +0 -10
- package/dist/frameworks/react/add-ons/convex/assets/convex/schema.js +0 -13
- package/dist/frameworks/react/add-ons/convex/assets/convex/todos.js +0 -39
- package/dist/frameworks/react/add-ons/db/assets/src/db-collections/index.js +0 -11
- package/dist/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.js +0 -47
- package/dist/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat-api.js +0 -68
- package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form-context.js +0 -2
- package/dist/frameworks/react/add-ons/form/assets/src/hooks/demo.form.js +0 -15
- package/dist/frameworks/react/add-ons/mcp/assets/src/mcp-todos.js +0 -40
- package/dist/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.js +0 -36
- package/dist/frameworks/react/add-ons/mcp/assets/src/routes/mcp.js +0 -43
- package/dist/frameworks/react/add-ons/mcp/assets/src/utils/mcp-handler.js +0 -41
- package/dist/frameworks/react/add-ons/neon/assets/neon-vite-plugin.js +0 -9
- package/dist/frameworks/react/add-ons/neon/assets/src/db.js +0 -11
- package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/client.js +0 -21
- package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/index.js +0 -5
- package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/router/todos.js +0 -17
- package/dist/frameworks/react/add-ons/oRPC/assets/src/orpc/schema.js +0 -5
- package/dist/frameworks/react/add-ons/oRPC/assets/src/polyfill.js +0 -18
- package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.js +0 -71
- package/dist/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.js +0 -24
- package/dist/frameworks/react/add-ons/shadcn/assets/src/lib/utils.js +0 -5
- package/dist/frameworks/react/add-ons/start/assets/src/data/demo.punk-songs.js +0 -12
- package/dist/frameworks/react/add-ons/start/assets/src/routes/demo/api.names.js +0 -9
- package/dist/frameworks/react/add-ons/store/assets/src/lib/demo-store.js +0 -10
- package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/main.js +0 -15
- package/dist/frameworks/react/add-ons/storybook/assets/_dot_storybook/preview.js +0 -12
- package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.js +0 -55
- package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/index.js +0 -5
- package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.js +0 -35
- package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/radio-group.stories.js +0 -45
- package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.js +0 -46
- package/dist/frameworks/react/add-ons/strapi/assets/src/lib/strapiClient.js +0 -5
- package/dist/frameworks/react/add-ons/t3env/assets/src/env.js +0 -34
- package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/init.js +0 -7
- package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.js +0 -2
- package/dist/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/router.js +0 -20
- package/dist/frameworks/react/add-ons/table/assets/src/data/demo-table-data.js +0 -35
- package/dist/frameworks/react/examples/events/assets/content-collections.js +0 -53
- package/dist/frameworks/react/examples/events/assets/src/lib/conference-ai-hook.js +0 -16
- package/dist/frameworks/react/examples/events/assets/src/lib/conference-tools.js +0 -177
- package/dist/frameworks/react/examples/events/assets/src/lib/utils.js +0 -5
- package/dist/frameworks/react/examples/events/assets/src/routes/api.remy-chat.js +0 -103
- package/dist/frameworks/react/examples/resume/assets/content-collections.js +0 -33
- package/dist/frameworks/react/examples/resume/assets/src/lib/resume-ai-hook.js +0 -11
- package/dist/frameworks/react/examples/resume/assets/src/lib/resume-tools.js +0 -135
- package/dist/frameworks/react/examples/resume/assets/src/lib/utils.js +0 -5
- package/dist/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.js +0 -92
- package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth-client.js +0 -2
- package/dist/frameworks/solid/add-ons/better-auth/assets/src/lib/auth.js +0 -8
- package/dist/frameworks/solid/add-ons/better-auth/assets/src/routes/api/auth/$.js +0 -10
- package/dist/frameworks/solid/add-ons/convex/assets/convex/schema.js +0 -13
- package/dist/frameworks/solid/add-ons/convex/assets/convex/todos.js +0 -39
- package/dist/frameworks/solid/add-ons/solid-ui/assets/src/lib/utils.js +0 -5
- package/dist/frameworks/solid/add-ons/store/assets/src/lib/demo-store.js +0 -10
- package/dist/frameworks/solid/add-ons/strapi/assets/src/lib/strapiClient.js +0 -5
- package/dist/frameworks/solid/add-ons/t3env/assets/src/env.js +0 -34
- package/dist/frameworks/solid/examples/tanchat/assets/ai-streaming-server/src/index.js +0 -73
- package/dist/frameworks/solid/examples/tanchat/assets/src/lib/demo-store.js +0 -10
- package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.hooks.js +0 -12
- package/dist/frameworks/solid/examples/tanchat/assets/src/store/demo.store.js +0 -92
- package/dist/types/frameworks/react/add-ons/ai/assets/src/data/demo-guitars.d.ts +0 -10
- package/dist/types/frameworks/react/add-ons/ai/assets/src/hooks/demo-useAudioRecorder.d.ts +0 -9
- package/dist/types/frameworks/react/add-ons/ai/assets/src/hooks/demo-useTTS.d.ts +0 -8
- package/dist/types/frameworks/react/add-ons/ai/assets/src/lib/demo-ai-hook.d.ts +0 -5
- package/dist/types/frameworks/react/add-ons/ai/assets/src/lib/demo-guitar-tools.d.ts +0 -3
- package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.chat.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.image.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.structured.d.ts +0 -83
- package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.transcription.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/ai/assets/src/routes/demo/api.ai.tts.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/better-auth/assets/src/lib/auth-client.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/better-auth/assets/src/lib/auth.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/better-auth/assets/src/routes/api/auth/$.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/convex/assets/convex/schema.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/convex/assets/convex/todos.d.ts +0 -4
- package/dist/types/frameworks/react/add-ons/db/assets/src/db-collections/index.d.ts +0 -17
- package/dist/types/frameworks/react/add-ons/db/assets/src/hooks/demo.useChat.d.ts +0 -5
- package/dist/types/frameworks/react/add-ons/db/assets/src/routes/demo/db-chat-api.d.ts +0 -19
- package/dist/types/frameworks/react/add-ons/form/assets/src/hooks/demo.form-context.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/form/assets/src/hooks/demo.form.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/mcp/assets/src/mcp-todos.d.ts +0 -7
- package/dist/types/frameworks/react/add-ons/mcp/assets/src/routes/demo/api.mcp-todos.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/mcp/assets/src/routes/mcp.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/mcp/assets/src/utils/mcp-handler.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/neon/assets/neon-vite-plugin.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/neon/assets/src/db.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/client.d.ts +0 -4
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/router/index.d.ts +0 -5
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/router/todos.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/orpc/schema.d.ts +0 -11
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/polyfill.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/routes/api.$.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/oRPC/assets/src/routes/api.rpc.$.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/shadcn/assets/src/lib/utils.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/start/assets/src/data/demo.punk-songs.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/start/assets/src/routes/demo/api.names.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/store/assets/src/lib/demo-store.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/storybook/assets/_dot_storybook/main.d.ts +0 -3
- package/dist/types/frameworks/react/add-ons/storybook/assets/_dot_storybook/preview.d.ts +0 -4
- package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.d.ts +0 -11
- package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/index.d.ts +0 -10
- package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.d.ts +0 -7
- package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/radio-group.stories.d.ts +0 -7
- package/dist/types/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.d.ts +0 -8
- package/dist/types/frameworks/react/add-ons/strapi/assets/src/lib/strapiClient.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/t3env/assets/src/env.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/init.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/react.d.ts +0 -1
- package/dist/types/frameworks/react/add-ons/tRPC/assets/src/integrations/trpc/router.d.ts +0 -2
- package/dist/types/frameworks/react/add-ons/table/assets/src/data/demo-table-data.d.ts +0 -11
- package/dist/types/frameworks/react/examples/events/assets/content-collections.d.ts +0 -2
- package/dist/types/frameworks/react/examples/events/assets/src/lib/conference-ai-hook.d.ts +0 -5
- package/dist/types/frameworks/react/examples/events/assets/src/lib/conference-tools.d.ts +0 -10
- package/dist/types/frameworks/react/examples/events/assets/src/lib/utils.d.ts +0 -2
- package/dist/types/frameworks/react/examples/events/assets/src/routes/api.remy-chat.d.ts +0 -1
- package/dist/types/frameworks/react/examples/resume/assets/content-collections.d.ts +0 -2
- package/dist/types/frameworks/react/examples/resume/assets/src/lib/resume-ai-hook.d.ts +0 -5
- package/dist/types/frameworks/react/examples/resume/assets/src/lib/resume-tools.d.ts +0 -8
- package/dist/types/frameworks/react/examples/resume/assets/src/lib/utils.d.ts +0 -2
- package/dist/types/frameworks/react/examples/resume/assets/src/routes/api.resume-chat.d.ts +0 -1
- package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/lib/auth-client.d.ts +0 -1
- package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/lib/auth.d.ts +0 -1
- package/dist/types/frameworks/solid/add-ons/better-auth/assets/src/routes/api/auth/$.d.ts +0 -1
- package/dist/types/frameworks/solid/add-ons/convex/assets/convex/schema.d.ts +0 -2
- package/dist/types/frameworks/solid/add-ons/convex/assets/convex/todos.d.ts +0 -4
- package/dist/types/frameworks/solid/add-ons/solid-ui/assets/src/lib/utils.d.ts +0 -2
- package/dist/types/frameworks/solid/add-ons/store/assets/src/lib/demo-store.d.ts +0 -2
- package/dist/types/frameworks/solid/add-ons/strapi/assets/src/lib/strapiClient.d.ts +0 -2
- package/dist/types/frameworks/solid/add-ons/t3env/assets/src/env.d.ts +0 -1
- package/dist/types/frameworks/solid/examples/tanchat/assets/ai-streaming-server/src/index.d.ts +0 -1
- package/dist/types/frameworks/solid/examples/tanchat/assets/src/lib/demo-store.d.ts +0 -2
- package/dist/types/frameworks/solid/examples/tanchat/assets/src/store/demo.hooks.d.ts +0 -23
- package/dist/types/frameworks/solid/examples/tanchat/assets/src/store/demo.store.d.ts +0 -40
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js';
|
|
2
|
-
export async function handleMcpRequest(request, server) {
|
|
3
|
-
try {
|
|
4
|
-
const jsonRpcRequest = (await request.json());
|
|
5
|
-
const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair();
|
|
6
|
-
let responseData = null;
|
|
7
|
-
clientTransport.onmessage = (message) => {
|
|
8
|
-
responseData = message;
|
|
9
|
-
};
|
|
10
|
-
await server.connect(serverTransport);
|
|
11
|
-
await clientTransport.start();
|
|
12
|
-
await serverTransport.start();
|
|
13
|
-
await clientTransport.send(jsonRpcRequest);
|
|
14
|
-
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
15
|
-
await clientTransport.close();
|
|
16
|
-
await serverTransport.close();
|
|
17
|
-
return Response.json(responseData, {
|
|
18
|
-
headers: {
|
|
19
|
-
'Content-Type': 'application/json',
|
|
20
|
-
},
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch (error) {
|
|
24
|
-
console.error('MCP handler error:', error);
|
|
25
|
-
// Return a JSON-RPC error response
|
|
26
|
-
return Response.json({
|
|
27
|
-
jsonrpc: '2.0',
|
|
28
|
-
error: {
|
|
29
|
-
code: -32603,
|
|
30
|
-
message: 'Internal server error',
|
|
31
|
-
data: error instanceof Error ? error.message : String(error),
|
|
32
|
-
},
|
|
33
|
-
id: null,
|
|
34
|
-
}, {
|
|
35
|
-
status: 500,
|
|
36
|
-
headers: {
|
|
37
|
-
'Content-Type': 'application/json',
|
|
38
|
-
},
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { neon } from '@neondatabase/serverless';
|
|
2
|
-
let client;
|
|
3
|
-
export async function getClient() {
|
|
4
|
-
if (!process.env.VITE_DATABASE_URL) {
|
|
5
|
-
return undefined;
|
|
6
|
-
}
|
|
7
|
-
if (!client) {
|
|
8
|
-
client = await neon(process.env.VITE_DATABASE_URL);
|
|
9
|
-
}
|
|
10
|
-
return client;
|
|
11
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { createRouterClient } from '@orpc/server';
|
|
2
|
-
import { createORPCClient } from '@orpc/client';
|
|
3
|
-
import { RPCLink } from '@orpc/client/fetch';
|
|
4
|
-
import { createTanstackQueryUtils } from '@orpc/tanstack-query';
|
|
5
|
-
import { getRequestHeaders } from '@tanstack/react-start/server';
|
|
6
|
-
import { createIsomorphicFn } from '@tanstack/react-start';
|
|
7
|
-
import router from '@/orpc/router';
|
|
8
|
-
const getORPCClient = createIsomorphicFn()
|
|
9
|
-
.server(() => createRouterClient(router, {
|
|
10
|
-
context: () => ({
|
|
11
|
-
headers: getRequestHeaders(),
|
|
12
|
-
}),
|
|
13
|
-
}))
|
|
14
|
-
.client(() => {
|
|
15
|
-
const link = new RPCLink({
|
|
16
|
-
url: `${window.location.origin}/api/rpc`,
|
|
17
|
-
});
|
|
18
|
-
return createORPCClient(link);
|
|
19
|
-
});
|
|
20
|
-
export const client = getORPCClient();
|
|
21
|
-
export const orpc = createTanstackQueryUtils(client);
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { os } from '@orpc/server';
|
|
2
|
-
import * as z from 'zod';
|
|
3
|
-
const todos = [
|
|
4
|
-
{ id: 1, name: 'Get groceries' },
|
|
5
|
-
{ id: 2, name: 'Buy a new phone' },
|
|
6
|
-
{ id: 3, name: 'Finish the project' },
|
|
7
|
-
];
|
|
8
|
-
export const listTodos = os.input(z.object({})).handler(() => {
|
|
9
|
-
return todos;
|
|
10
|
-
});
|
|
11
|
-
export const addTodo = os
|
|
12
|
-
.input(z.object({ name: z.string() }))
|
|
13
|
-
.handler(({ input }) => {
|
|
14
|
-
const newTodo = { id: todos.length + 1, name: input.name };
|
|
15
|
-
todos.push(newTodo);
|
|
16
|
-
return newTodo;
|
|
17
|
-
});
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { File } from "node:buffer";
|
|
2
|
-
/**
|
|
3
|
-
* This file aims to polyfill missing APIs in Node.js 18 that oRPC depends on.
|
|
4
|
-
*
|
|
5
|
-
* Since Stackblitz runs on Node.js 18, these polyfills ensure oRPC works in that environment.
|
|
6
|
-
* If you're running oRPC locally, please use Node.js 20 or later for full compatibility.
|
|
7
|
-
*/
|
|
8
|
-
/**
|
|
9
|
-
* Note: Stackblitz provides an emulated Node.js environment with inherent limitations.
|
|
10
|
-
* If you encounter issues, please test on a local setup with Node.js 20 or later before reporting them.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* The `oz.file()` schema depends on the `File` API.
|
|
14
|
-
* If you're not using `oz.file()`, you can safely remove this polyfill.
|
|
15
|
-
*/
|
|
16
|
-
if (typeof globalThis.File === "undefined") {
|
|
17
|
-
globalThis.File = File;
|
|
18
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import '@/polyfill';
|
|
2
|
-
import { OpenAPIHandler } from '@orpc/openapi/fetch';
|
|
3
|
-
import { ZodToJsonSchemaConverter } from '@orpc/zod/zod4';
|
|
4
|
-
import { SmartCoercionPlugin } from '@orpc/json-schema';
|
|
5
|
-
import { createFileRoute } from '@tanstack/react-router';
|
|
6
|
-
import { onError } from '@orpc/server';
|
|
7
|
-
import { OpenAPIReferencePlugin } from '@orpc/openapi/plugins';
|
|
8
|
-
import { TodoSchema } from '@/orpc/schema';
|
|
9
|
-
import router from '@/orpc/router';
|
|
10
|
-
const handler = new OpenAPIHandler(router, {
|
|
11
|
-
interceptors: [
|
|
12
|
-
onError((error) => {
|
|
13
|
-
console.error(error);
|
|
14
|
-
}),
|
|
15
|
-
],
|
|
16
|
-
plugins: [
|
|
17
|
-
new SmartCoercionPlugin({
|
|
18
|
-
schemaConverters: [new ZodToJsonSchemaConverter()],
|
|
19
|
-
}),
|
|
20
|
-
new OpenAPIReferencePlugin({
|
|
21
|
-
schemaConverters: [new ZodToJsonSchemaConverter()],
|
|
22
|
-
specGenerateOptions: {
|
|
23
|
-
info: {
|
|
24
|
-
title: 'TanStack ORPC Playground',
|
|
25
|
-
version: '1.0.0',
|
|
26
|
-
},
|
|
27
|
-
commonSchemas: {
|
|
28
|
-
Todo: { schema: TodoSchema },
|
|
29
|
-
UndefinedError: { error: 'UndefinedError' },
|
|
30
|
-
},
|
|
31
|
-
security: [{ bearerAuth: [] }],
|
|
32
|
-
components: {
|
|
33
|
-
securitySchemes: {
|
|
34
|
-
bearerAuth: {
|
|
35
|
-
type: 'http',
|
|
36
|
-
scheme: 'bearer',
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
docsConfig: {
|
|
42
|
-
authentication: {
|
|
43
|
-
securitySchemes: {
|
|
44
|
-
bearerAuth: {
|
|
45
|
-
token: 'default-token',
|
|
46
|
-
},
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
|
-
}),
|
|
51
|
-
],
|
|
52
|
-
});
|
|
53
|
-
async function handle({ request }) {
|
|
54
|
-
const { response } = await handler.handle(request, {
|
|
55
|
-
prefix: '/api',
|
|
56
|
-
context: {},
|
|
57
|
-
});
|
|
58
|
-
return response ?? new Response('Not Found', { status: 404 });
|
|
59
|
-
}
|
|
60
|
-
export const Route = createFileRoute('/api/$')({
|
|
61
|
-
server: {
|
|
62
|
-
handlers: {
|
|
63
|
-
HEAD: handle,
|
|
64
|
-
GET: handle,
|
|
65
|
-
POST: handle,
|
|
66
|
-
PUT: handle,
|
|
67
|
-
PATCH: handle,
|
|
68
|
-
DELETE: handle,
|
|
69
|
-
},
|
|
70
|
-
},
|
|
71
|
-
});
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import '@/polyfill';
|
|
2
|
-
import { RPCHandler } from '@orpc/server/fetch';
|
|
3
|
-
import { createFileRoute } from '@tanstack/react-router';
|
|
4
|
-
import router from '@/orpc/router';
|
|
5
|
-
const handler = new RPCHandler(router);
|
|
6
|
-
async function handle({ request }) {
|
|
7
|
-
const { response } = await handler.handle(request, {
|
|
8
|
-
prefix: '/api/rpc',
|
|
9
|
-
context: {},
|
|
10
|
-
});
|
|
11
|
-
return response ?? new Response('Not Found', { status: 404 });
|
|
12
|
-
}
|
|
13
|
-
export const Route = createFileRoute('/api/rpc/$')({
|
|
14
|
-
server: {
|
|
15
|
-
handlers: {
|
|
16
|
-
HEAD: handle,
|
|
17
|
-
GET: handle,
|
|
18
|
-
POST: handle,
|
|
19
|
-
PUT: handle,
|
|
20
|
-
PATCH: handle,
|
|
21
|
-
DELETE: handle,
|
|
22
|
-
},
|
|
23
|
-
},
|
|
24
|
-
});
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
export const getPunkSongs = createServerFn({
|
|
3
|
-
method: "GET",
|
|
4
|
-
}).handler(async () => [
|
|
5
|
-
{ id: 1, name: "Teenage Dirtbag", artist: "Wheatus" },
|
|
6
|
-
{ id: 2, name: "Smells Like Teen Spirit", artist: "Nirvana" },
|
|
7
|
-
{ id: 3, name: "The Middle", artist: "Jimmy Eat World" },
|
|
8
|
-
{ id: 4, name: "My Own Worst Enemy", artist: "Lit" },
|
|
9
|
-
{ id: 5, name: "Fat Lip", artist: "Sum 41" },
|
|
10
|
-
{ id: 6, name: "All the Small Things", artist: "blink-182" },
|
|
11
|
-
{ id: 7, name: "Beverly Hills", artist: "Weezer" },
|
|
12
|
-
]);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Derived, Store } from '@tanstack/store';
|
|
2
|
-
export const store = new Store({
|
|
3
|
-
firstName: 'Jane',
|
|
4
|
-
lastName: 'Smith',
|
|
5
|
-
});
|
|
6
|
-
export const fullName = new Derived({
|
|
7
|
-
fn: () => `${store.state.firstName} ${store.state.lastName}`,
|
|
8
|
-
deps: [store],
|
|
9
|
-
});
|
|
10
|
-
fullName.mount();
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
const config = {
|
|
2
|
-
stories: ["../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"],
|
|
3
|
-
addons: [],
|
|
4
|
-
framework: {
|
|
5
|
-
name: "@storybook/react-vite",
|
|
6
|
-
options: {},
|
|
7
|
-
},
|
|
8
|
-
async viteFinal(config) {
|
|
9
|
-
const { default: tailwindcss } = await import("@tailwindcss/vite");
|
|
10
|
-
config.plugins = config.plugins || [];
|
|
11
|
-
config.plugins.push(tailwindcss());
|
|
12
|
-
return config;
|
|
13
|
-
},
|
|
14
|
-
};
|
|
15
|
-
export default config;
|
package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/button.stories.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { fn } from "storybook/test";
|
|
2
|
-
import { Button } from "./button";
|
|
3
|
-
const meta = {
|
|
4
|
-
title: "Form/Button",
|
|
5
|
-
component: Button,
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: "centered",
|
|
8
|
-
},
|
|
9
|
-
tags: ["autodocs"],
|
|
10
|
-
args: { onClick: fn() },
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
export const Primary = {
|
|
14
|
-
args: {
|
|
15
|
-
variant: "primary",
|
|
16
|
-
children: "Primary Button",
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
export const Secondary = {
|
|
20
|
-
args: {
|
|
21
|
-
variant: "secondary",
|
|
22
|
-
children: "Secondary Button",
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
export const Danger = {
|
|
26
|
-
args: {
|
|
27
|
-
variant: "danger",
|
|
28
|
-
children: "Delete Account",
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
export const Small = {
|
|
32
|
-
args: {
|
|
33
|
-
size: "small",
|
|
34
|
-
children: "Small Button",
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
export const Medium = {
|
|
38
|
-
args: {
|
|
39
|
-
size: "medium",
|
|
40
|
-
children: "Medium Button",
|
|
41
|
-
},
|
|
42
|
-
};
|
|
43
|
-
export const Large = {
|
|
44
|
-
args: {
|
|
45
|
-
size: "large",
|
|
46
|
-
children: "Large Button",
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
export const Disabled = {
|
|
50
|
-
args: {
|
|
51
|
-
variant: "primary",
|
|
52
|
-
children: "Disabled Button",
|
|
53
|
-
disabled: true,
|
|
54
|
-
},
|
|
55
|
-
};
|
package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/input.stories.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { fn } from "storybook/test";
|
|
2
|
-
import { Input } from "./input";
|
|
3
|
-
const meta = {
|
|
4
|
-
title: "Form/Input",
|
|
5
|
-
component: Input,
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: "centered",
|
|
8
|
-
},
|
|
9
|
-
tags: ["autodocs"],
|
|
10
|
-
args: { onChange: fn() },
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
export const Default = {
|
|
14
|
-
args: {
|
|
15
|
-
label: "Email Address",
|
|
16
|
-
id: "email",
|
|
17
|
-
placeholder: "Enter your email",
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
export const Required = {
|
|
21
|
-
args: {
|
|
22
|
-
label: "First Name",
|
|
23
|
-
id: "firstName",
|
|
24
|
-
placeholder: "John",
|
|
25
|
-
required: true,
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
export const WithValue = {
|
|
29
|
-
args: {
|
|
30
|
-
label: "Last Name",
|
|
31
|
-
id: "lastName",
|
|
32
|
-
value: "Doe",
|
|
33
|
-
placeholder: "Enter last name",
|
|
34
|
-
},
|
|
35
|
-
};
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { fn } from "storybook/test";
|
|
2
|
-
import { RadioGroup } from "./radio-group";
|
|
3
|
-
const meta = {
|
|
4
|
-
title: "Form/RadioGroup",
|
|
5
|
-
component: RadioGroup,
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: "centered",
|
|
8
|
-
},
|
|
9
|
-
tags: ["autodocs"],
|
|
10
|
-
args: { onChange: fn() },
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
export const Default = {
|
|
14
|
-
args: {
|
|
15
|
-
label: "Employment Type",
|
|
16
|
-
name: "employmentType",
|
|
17
|
-
options: [
|
|
18
|
-
{ value: "full-time", label: "Full Time" },
|
|
19
|
-
{ value: "part-time", label: "Part Time" },
|
|
20
|
-
],
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
export const Selected = {
|
|
24
|
-
args: {
|
|
25
|
-
label: "Employment Type",
|
|
26
|
-
name: "employmentType",
|
|
27
|
-
options: [
|
|
28
|
-
{ value: "full-time", label: "Full Time" },
|
|
29
|
-
{ value: "part-time", label: "Part Time" },
|
|
30
|
-
],
|
|
31
|
-
value: "full-time",
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
export const MultipleOptions = {
|
|
35
|
-
args: {
|
|
36
|
-
label: "Subscription Plan",
|
|
37
|
-
name: "plan",
|
|
38
|
-
options: [
|
|
39
|
-
{ value: "basic", label: "Basic" },
|
|
40
|
-
{ value: "pro", label: "Pro" },
|
|
41
|
-
{ value: "enterprise", label: "Enterprise" },
|
|
42
|
-
],
|
|
43
|
-
value: "pro",
|
|
44
|
-
},
|
|
45
|
-
};
|
package/dist/frameworks/react/add-ons/storybook/assets/src/components/storybook/slider.stories.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import { fn } from "storybook/test";
|
|
2
|
-
import { Slider } from "./slider";
|
|
3
|
-
const meta = {
|
|
4
|
-
title: "Form/Slider",
|
|
5
|
-
component: Slider,
|
|
6
|
-
parameters: {
|
|
7
|
-
layout: "centered",
|
|
8
|
-
},
|
|
9
|
-
tags: ["autodocs"],
|
|
10
|
-
args: { onChange: fn() },
|
|
11
|
-
};
|
|
12
|
-
export default meta;
|
|
13
|
-
export const Default = {
|
|
14
|
-
args: {
|
|
15
|
-
label: "Volume",
|
|
16
|
-
id: "volume",
|
|
17
|
-
value: 50,
|
|
18
|
-
},
|
|
19
|
-
};
|
|
20
|
-
export const Skill = {
|
|
21
|
-
args: {
|
|
22
|
-
label: "Plays Guitar",
|
|
23
|
-
id: "guitar",
|
|
24
|
-
value: 75,
|
|
25
|
-
min: 0,
|
|
26
|
-
max: 100,
|
|
27
|
-
},
|
|
28
|
-
};
|
|
29
|
-
export const NoValue = {
|
|
30
|
-
args: {
|
|
31
|
-
label: "Experience Level",
|
|
32
|
-
id: "experience",
|
|
33
|
-
value: 30,
|
|
34
|
-
showValue: false,
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
export const CustomRange = {
|
|
38
|
-
args: {
|
|
39
|
-
label: "Custom Range",
|
|
40
|
-
id: "custom-range",
|
|
41
|
-
value: 5,
|
|
42
|
-
min: 1,
|
|
43
|
-
max: 20,
|
|
44
|
-
step: 1,
|
|
45
|
-
},
|
|
46
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { createEnv } from "@t3-oss/env-core";
|
|
2
|
-
import { z } from "zod";
|
|
3
|
-
export const env = createEnv({
|
|
4
|
-
server: {
|
|
5
|
-
SERVER_URL: z.string().url().optional(),
|
|
6
|
-
},
|
|
7
|
-
/**
|
|
8
|
-
* The prefix that client-side variables must have. This is enforced both at
|
|
9
|
-
* a type-level and at runtime.
|
|
10
|
-
*/
|
|
11
|
-
clientPrefix: "VITE_",
|
|
12
|
-
client: {
|
|
13
|
-
VITE_APP_TITLE: z.string().min(1).optional(),
|
|
14
|
-
},
|
|
15
|
-
/**
|
|
16
|
-
* What object holds the environment variables at runtime. This is usually
|
|
17
|
-
* `process.env` or `import.meta.env`.
|
|
18
|
-
*/
|
|
19
|
-
runtimeEnv: import.meta.env,
|
|
20
|
-
/**
|
|
21
|
-
* By default, this library will feed the environment variables directly to
|
|
22
|
-
* the Zod validator.
|
|
23
|
-
*
|
|
24
|
-
* This means that if you have an empty string for a value that is supposed
|
|
25
|
-
* to be a number (e.g. `PORT=` in a ".env" file), Zod will incorrectly flag
|
|
26
|
-
* it as a type mismatch violation. Additionally, if you have an empty string
|
|
27
|
-
* for a value that is supposed to be a string with a default value (e.g.
|
|
28
|
-
* `DOMAIN=` in an ".env" file), the default value will never be applied.
|
|
29
|
-
*
|
|
30
|
-
* In order to solve these issues, we recommend that all new projects
|
|
31
|
-
* explicitly specify this option as true.
|
|
32
|
-
*/
|
|
33
|
-
emptyStringAsUndefined: true,
|
|
34
|
-
});
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { createTRPCRouter, publicProcedure } from './init';
|
|
3
|
-
const todos = [
|
|
4
|
-
{ id: 1, name: 'Get groceries' },
|
|
5
|
-
{ id: 2, name: 'Buy a new phone' },
|
|
6
|
-
{ id: 3, name: 'Finish the project' },
|
|
7
|
-
];
|
|
8
|
-
const todosRouter = {
|
|
9
|
-
list: publicProcedure.query(() => todos),
|
|
10
|
-
add: publicProcedure
|
|
11
|
-
.input(z.object({ name: z.string() }))
|
|
12
|
-
.mutation(({ input }) => {
|
|
13
|
-
const newTodo = { id: todos.length + 1, name: input.name };
|
|
14
|
-
todos.push(newTodo);
|
|
15
|
-
return newTodo;
|
|
16
|
-
}),
|
|
17
|
-
};
|
|
18
|
-
export const trpcRouter = createTRPCRouter({
|
|
19
|
-
todos: todosRouter,
|
|
20
|
-
});
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { faker } from '@faker-js/faker';
|
|
2
|
-
const range = (len) => {
|
|
3
|
-
const arr = [];
|
|
4
|
-
for (let i = 0; i < len; i++) {
|
|
5
|
-
arr.push(i);
|
|
6
|
-
}
|
|
7
|
-
return arr;
|
|
8
|
-
};
|
|
9
|
-
const newPerson = (num) => {
|
|
10
|
-
return {
|
|
11
|
-
id: num,
|
|
12
|
-
firstName: faker.person.firstName(),
|
|
13
|
-
lastName: faker.person.lastName(),
|
|
14
|
-
age: faker.number.int(40),
|
|
15
|
-
visits: faker.number.int(1000),
|
|
16
|
-
progress: faker.number.int(100),
|
|
17
|
-
status: faker.helpers.shuffle([
|
|
18
|
-
'relationship',
|
|
19
|
-
'complicated',
|
|
20
|
-
'single',
|
|
21
|
-
])[0],
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
export function makeData(...lens) {
|
|
25
|
-
const makeDataLevel = (depth = 0) => {
|
|
26
|
-
const len = lens[depth];
|
|
27
|
-
return range(len).map((index) => {
|
|
28
|
-
return {
|
|
29
|
-
...newPerson(index),
|
|
30
|
-
subRows: lens[depth + 1] ? makeDataLevel(depth + 1) : undefined,
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
return makeDataLevel();
|
|
35
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import { defineCollection, defineConfig } from '@content-collections/core';
|
|
2
|
-
import { z } from 'zod';
|
|
3
|
-
const speakers = defineCollection({
|
|
4
|
-
name: 'speakers',
|
|
5
|
-
directory: 'content/speakers',
|
|
6
|
-
include: '**/*.md',
|
|
7
|
-
schema: z.object({
|
|
8
|
-
name: z.string(),
|
|
9
|
-
title: z.string(),
|
|
10
|
-
specialty: z.string(),
|
|
11
|
-
restaurant: z.string(),
|
|
12
|
-
location: z.string(),
|
|
13
|
-
headshot: z.string(),
|
|
14
|
-
awards: z.array(z.string()).optional(),
|
|
15
|
-
content: z.string(),
|
|
16
|
-
}),
|
|
17
|
-
transform: async (doc) => {
|
|
18
|
-
return {
|
|
19
|
-
...doc,
|
|
20
|
-
slug: doc.name
|
|
21
|
-
.toLowerCase()
|
|
22
|
-
.replace(/[^\w-]+/g, '-')
|
|
23
|
-
.replace(/-+/g, '-')
|
|
24
|
-
.replace(/^-|-$/g, ''),
|
|
25
|
-
};
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
const talks = defineCollection({
|
|
29
|
-
name: 'talks',
|
|
30
|
-
directory: 'content/talks',
|
|
31
|
-
include: '**/*.md',
|
|
32
|
-
schema: z.object({
|
|
33
|
-
title: z.string(),
|
|
34
|
-
speaker: z.string(),
|
|
35
|
-
duration: z.string(),
|
|
36
|
-
image: z.string(),
|
|
37
|
-
topics: z.array(z.string()),
|
|
38
|
-
content: z.string(),
|
|
39
|
-
}),
|
|
40
|
-
transform: async (doc) => {
|
|
41
|
-
return {
|
|
42
|
-
...doc,
|
|
43
|
-
slug: doc.title
|
|
44
|
-
.toLowerCase()
|
|
45
|
-
.replace(/[^\w-]+/g, '-')
|
|
46
|
-
.replace(/-+/g, '-')
|
|
47
|
-
.replace(/^-|-$/g, ''),
|
|
48
|
-
};
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
export default defineConfig({
|
|
52
|
-
collections: [speakers, talks],
|
|
53
|
-
});
|