@tanstack/cta-ui 0.10.0-alpha.24 → 0.10.0-alpha.26

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.
Files changed (60) hide show
  1. package/dist/assets/index-D0-fpgzI.js +223 -0
  2. package/dist/assets/index-D0-fpgzI.js.map +1 -0
  3. package/dist/assets/index-D5brMzJg.css +1 -0
  4. package/dist/favicon.ico +0 -0
  5. package/dist/index.html +13 -0
  6. package/dist/logo192.png +0 -0
  7. package/dist/logo512.png +0 -0
  8. package/dist/manifest.json +25 -0
  9. package/dist/robots.txt +3 -0
  10. package/dist/tailwind.svg +1 -0
  11. package/dist/tanstack.png +0 -0
  12. package/dist/typescript.svg +1 -0
  13. package/index.html +12 -0
  14. package/{src → lib}/engine-handling/add-to-app-wrapper.ts +37 -41
  15. package/{src → lib}/engine-handling/create-app-wrapper.ts +35 -37
  16. package/{src → lib}/engine-handling/generate-initial-payload.ts +2 -2
  17. package/lib/engine-handling/server-environment.ts +37 -0
  18. package/lib/index.ts +140 -34
  19. package/lib/types.d.ts +13 -0
  20. package/lib-dist/engine-handling/add-to-app-wrapper.d.ts +12 -0
  21. package/lib-dist/engine-handling/add-to-app-wrapper.js +73 -0
  22. package/lib-dist/engine-handling/create-app-wrapper.d.ts +13 -0
  23. package/lib-dist/engine-handling/create-app-wrapper.js +68 -0
  24. package/lib-dist/engine-handling/file-helpers.d.ts +2 -0
  25. package/lib-dist/engine-handling/file-helpers.js +20 -0
  26. package/lib-dist/engine-handling/framework-registration.d.ts +1 -0
  27. package/lib-dist/engine-handling/framework-registration.js +10 -0
  28. package/lib-dist/engine-handling/generate-initial-payload.d.ts +40 -0
  29. package/lib-dist/engine-handling/generate-initial-payload.js +93 -0
  30. package/lib-dist/engine-handling/server-environment.d.ts +17 -0
  31. package/lib-dist/engine-handling/server-environment.js +18 -0
  32. package/lib-dist/index.d.ts +3 -7
  33. package/lib-dist/index.js +119 -18
  34. package/package.json +10 -12
  35. package/src/index.tsx +44 -0
  36. package/src/lib/api.ts +10 -8
  37. package/src/main.tsx +12 -0
  38. package/vite.config.ts +16 -0
  39. package/app.config.js +0 -22
  40. package/src/api.ts +0 -6
  41. package/src/client.tsx +0 -8
  42. package/src/engine-handling/server-environment.ts +0 -30
  43. package/src/integrations/tanstack-query/layout.tsx +0 -5
  44. package/src/integrations/tanstack-query/root-provider.tsx +0 -15
  45. package/src/logo.svg +0 -44
  46. package/src/routeTree.gen.ts +0 -88
  47. package/src/router.tsx +0 -32
  48. package/src/routes/__root.tsx +0 -86
  49. package/src/routes/api/add-to-app.ts +0 -21
  50. package/src/routes/api/create-app.ts +0 -21
  51. package/src/routes/api/dry-run-add-to-app.ts +0 -16
  52. package/src/routes/api/dry-run-create-app.ts +0 -16
  53. package/src/routes/api/initial-payload.ts +0 -10
  54. package/src/routes/api/load-remote-add-on.ts +0 -42
  55. package/src/routes/api/load-starter.ts +0 -47
  56. package/src/routes/api/shutdown.ts +0 -11
  57. package/src/routes/index.tsx +0 -17
  58. package/src/ssr.tsx +0 -12
  59. /package/{src → lib}/engine-handling/file-helpers.ts +0 -0
  60. /package/{src → lib}/engine-handling/framework-registration.ts +0 -0
@@ -1,86 +0,0 @@
1
- import {
2
- HeadContent,
3
- Outlet,
4
- Scripts,
5
- createRootRouteWithContext,
6
- } from '@tanstack/react-router'
7
-
8
- import appCss from '../styles.css?url'
9
-
10
- import type { QueryClient } from '@tanstack/react-query'
11
-
12
- import {
13
- SidebarProvider,
14
- SidebarTrigger,
15
- useSidebar,
16
- } from '@/components/ui/sidebar'
17
- import { Toaster } from '@/components/toaster'
18
-
19
- import { AppSidebar } from '@/components/cta-sidebar'
20
-
21
- interface MyRouterContext {
22
- queryClient: QueryClient
23
- }
24
-
25
- function Content() {
26
- const { open } = useSidebar()
27
-
28
- return (
29
- <main
30
- className={
31
- open ? 'w-full max-w-[calc(100%-370px)]' : 'w-full max-w-[100%]'
32
- }
33
- >
34
- <SidebarTrigger className="m-2" />
35
- <Outlet />
36
- </main>
37
- )
38
- }
39
- export const Route = createRootRouteWithContext<MyRouterContext>()({
40
- head: () => ({
41
- meta: [
42
- {
43
- charSet: 'utf-8',
44
- },
45
- {
46
- name: 'viewport',
47
- content: 'width=device-width, initial-scale=1',
48
- },
49
- {
50
- title: 'TanStack CTA',
51
- },
52
- ],
53
- links: [
54
- {
55
- rel: 'stylesheet',
56
- href: appCss,
57
- },
58
- ],
59
- }),
60
-
61
- component: () => {
62
- return (
63
- <RootDocument>
64
- <SidebarProvider>
65
- <AppSidebar />
66
- <Content />
67
- <Toaster />
68
- </SidebarProvider>
69
- </RootDocument>
70
- )
71
- },
72
- })
73
-
74
- function RootDocument({ children }: { children: React.ReactNode }) {
75
- return (
76
- <html lang="en">
77
- <head>
78
- <HeadContent />
79
- </head>
80
- <body className="dark">
81
- {children}
82
- <Scripts />
83
- </body>
84
- </html>
85
- )
86
- }
@@ -1,21 +0,0 @@
1
- import { createAPIFileRoute } from '@tanstack/react-start/api'
2
-
3
- import { addToAppWrapper } from '@/engine-handling/add-to-app-wrapper'
4
-
5
- export const APIRoute = createAPIFileRoute('/api/add-to-app')({
6
- POST: async ({ request }) => {
7
- const { addOns } = await request.json()
8
-
9
- const stream = await addToAppWrapper(addOns, {
10
- stream: true,
11
- })
12
-
13
- return new Response(stream as ReadableStream, {
14
- headers: {
15
- 'Content-Type': 'text/event-stream',
16
- 'Cache-Control': 'no-cache',
17
- Connection: 'keep-alive',
18
- },
19
- })
20
- },
21
- })
@@ -1,21 +0,0 @@
1
- import { createAPIFileRoute } from '@tanstack/react-start/api'
2
-
3
- import { createAppWrapper } from '@/engine-handling/create-app-wrapper'
4
-
5
- export const APIRoute = createAPIFileRoute('/api/create-app')({
6
- POST: async ({ request }) => {
7
- const { options: serializedOptions } = await request.json()
8
-
9
- const stream = await createAppWrapper(serializedOptions, {
10
- stream: true,
11
- })
12
-
13
- return new Response(stream as ReadableStream, {
14
- headers: {
15
- 'Content-Type': 'text/event-stream',
16
- 'Cache-Control': 'no-cache',
17
- Connection: 'keep-alive',
18
- },
19
- })
20
- },
21
- })
@@ -1,16 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- import { addToAppWrapper } from '@/engine-handling/add-to-app-wrapper'
5
-
6
- export const APIRoute = createAPIFileRoute('/api/dry-run-add-to-app')({
7
- POST: async ({ request }) => {
8
- const { addOns } = await request.json()
9
-
10
- return json(
11
- await addToAppWrapper(addOns, {
12
- dryRun: true,
13
- }),
14
- )
15
- },
16
- })
@@ -1,16 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- import { createAppWrapper } from '@/engine-handling/create-app-wrapper'
5
-
6
- export const APIRoute = createAPIFileRoute('/api/dry-run-create-app')({
7
- POST: async ({ request }) => {
8
- const { options: serializedOptions } = await request.json()
9
-
10
- return json(
11
- await createAppWrapper(serializedOptions, {
12
- dryRun: true,
13
- }),
14
- )
15
- },
16
- })
@@ -1,10 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- import { generateInitialPayload } from '@/engine-handling/generate-initial-payload'
5
-
6
- export const APIRoute = createAPIFileRoute('/api/initial-payload')({
7
- GET: async () => {
8
- return json(await generateInitialPayload())
9
- },
10
- })
@@ -1,42 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- import { AddOnCompiledSchema } from '@tanstack/cta-engine'
5
-
6
- export const APIRoute = createAPIFileRoute('/api/load-remote-add-on')({
7
- GET: async ({ request }) => {
8
- const incomingUrl = new URL(request.url)
9
- const url = incomingUrl.searchParams.get('url')
10
-
11
- if (!url) {
12
- return json({ error: 'url is required' }, { status: 400 })
13
- }
14
-
15
- try {
16
- const response = await fetch(url)
17
- const data = await response.json()
18
-
19
- const parsed = AddOnCompiledSchema.safeParse(data)
20
-
21
- if (!parsed.success) {
22
- return json({ error: 'Invalid add-on data' }, { status: 400 })
23
- }
24
-
25
- return json({
26
- id: url,
27
- name: parsed.data.name,
28
- description: parsed.data.description,
29
- version: parsed.data.version,
30
- author: parsed.data.author,
31
- license: parsed.data.license,
32
- link: parsed.data.link,
33
- smallLogo: parsed.data.smallLogo,
34
- logo: parsed.data.logo,
35
- type: parsed.data.type,
36
- modes: parsed.data.modes,
37
- })
38
- } catch {
39
- return json({ error: 'Failed to load add-on' }, { status: 500 })
40
- }
41
- },
42
- })
@@ -1,47 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- import { StarterCompiledSchema } from '@tanstack/cta-engine'
5
-
6
- export const APIRoute = createAPIFileRoute('/api/load-starter')({
7
- GET: async ({ request }) => {
8
- const incomingUrl = new URL(request.url)
9
- const url = incomingUrl.searchParams.get('url')
10
-
11
- if (!url) {
12
- return json({ error: 'url is required' }, { status: 400 })
13
- }
14
-
15
- try {
16
- const response = await fetch(url)
17
- const data = await response.json()
18
-
19
- const parsed = StarterCompiledSchema.safeParse(data)
20
-
21
- if (!parsed.success) {
22
- return json({ error: 'Invalid starter data' }, { status: 400 })
23
- }
24
-
25
- return json({
26
- url,
27
-
28
- id: parsed.data.id,
29
- name: parsed.data.name,
30
- description: parsed.data.description,
31
- version: parsed.data.version,
32
- author: parsed.data.author,
33
- license: parsed.data.license,
34
- dependsOn: parsed.data.dependsOn,
35
-
36
- mode: parsed.data.mode,
37
- typescript: parsed.data.typescript,
38
- tailwind: parsed.data.tailwind,
39
- banner: parsed.data.banner
40
- ? url.replace('starter.json', parsed.data.banner)
41
- : undefined,
42
- })
43
- } catch {
44
- return json({ error: 'Failed to load starter' }, { status: 500 })
45
- }
46
- },
47
- })
@@ -1,11 +0,0 @@
1
- import { json } from '@tanstack/react-start'
2
- import { createAPIFileRoute } from '@tanstack/react-start/api'
3
-
4
- export const APIRoute = createAPIFileRoute('/api/shutdown')({
5
- POST: () => {
6
- setTimeout(() => {
7
- process.exit(0)
8
- }, 50)
9
- return json({ shutdown: true })
10
- },
11
- })
@@ -1,17 +0,0 @@
1
- import { createFileRoute } from '@tanstack/react-router'
2
-
3
- import FileNavigator from '@/components/file-navigator'
4
- import StartupDialog from '@/components/startup-dialog'
5
-
6
- export const Route = createFileRoute('/')({
7
- component: App,
8
- })
9
-
10
- function App() {
11
- return (
12
- <div className="pl-3">
13
- <FileNavigator />
14
- <StartupDialog />
15
- </div>
16
- )
17
- }
package/src/ssr.tsx DELETED
@@ -1,12 +0,0 @@
1
- import {
2
- createStartHandler,
3
- defaultStreamHandler,
4
- } from '@tanstack/react-start/server'
5
- import { getRouterManifest } from '@tanstack/react-start/router-manifest'
6
-
7
- import { createRouter } from './router'
8
-
9
- export default createStartHandler({
10
- createRouter,
11
- getRouterManifest,
12
- })(defaultStreamHandler)
File without changes