@better-t-stack/template-generator 3.25.3 → 3.25.5
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/index.d.mts +3 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +149 -41
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.d.mts
CHANGED
|
@@ -145,7 +145,7 @@ declare const dependencyVersionMap: {
|
|
|
145
145
|
readonly "@orpc/client": "^1.12.2";
|
|
146
146
|
readonly "@orpc/openapi": "^1.12.2";
|
|
147
147
|
readonly "@orpc/zod": "^1.12.2";
|
|
148
|
-
readonly "@orpc/tanstack-query": "^1.
|
|
148
|
+
readonly "@orpc/tanstack-query": "^1.13.6";
|
|
149
149
|
readonly "@trpc/tanstack-react-query": "^11.7.2";
|
|
150
150
|
readonly "@trpc/server": "^11.7.2";
|
|
151
151
|
readonly "@trpc/client": "^11.7.2";
|
|
@@ -159,8 +159,8 @@ declare const dependencyVersionMap: {
|
|
|
159
159
|
readonly "@convex-dev/better-auth": "^0.10.13";
|
|
160
160
|
readonly "@tanstack/svelte-query": "^5.85.3";
|
|
161
161
|
readonly "@tanstack/svelte-query-devtools": "^5.85.3";
|
|
162
|
-
readonly "@tanstack/vue-query-devtools": "^
|
|
163
|
-
readonly "@tanstack/vue-query": "^5.
|
|
162
|
+
readonly "@tanstack/vue-query-devtools": "^6.1.5";
|
|
163
|
+
readonly "@tanstack/vue-query": "^5.92.9";
|
|
164
164
|
readonly "@tanstack/react-query-devtools": "^5.91.1";
|
|
165
165
|
readonly "@tanstack/react-query": "^5.90.12";
|
|
166
166
|
readonly "@tanstack/react-form": "^1.28.0";
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/virtual-fs.ts","../src/core/template-processor.ts","../src/template-handlers/utils.ts","../src/template-handlers/addons.ts","../src/generator.ts","../src/processors/addons-deps.ts","../src/bts-config.ts","../src/templates.generated.ts","../src/utils/add-deps.ts","../src/utils/reproducible-command.ts"],"sourcesContent":[],"mappings":";;;;;;;cAOa,iBAAA;;;;;;EAAA,QAAA,CAAA,QAAA,EAAA,MAAiB,CAAA,EAAA,MAAA,GAAA,SAAA;EA6Ea,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAkCX,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAgB,eAcrC,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAA,KAGJ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;2CAnDoC;;EC1E3B,WAAA,CAAA,CAAA,EAAA,MAAA,EAAA;EAIA,iBAAY,CAAA,CAAA,EAAA,MAAA,EAAA;EAIZ,YAAA,CAAA,CAAA,EAAA,MAAiB;EAUjB,iBAAA,CAAA,CAAA,EAAkB,MAAA;6BD0FF;;eAAgB,MAAA,CAcrC;EE/HC,KAAA,CAAA,CAAA,EF+HD,MAAA,CAGJ,GElIoB;;;;ECAL,QAAA,aAAA;;;;iBFKN,qBAAA,2BAAgD;iBAIhD,YAAA;iBAIA,iBAAA;iBAUA,kBAAA,6CAGL;;;KC1BC,YAAA,GAAe;;;iBCAL,qBAAA,MACf,8BACM,sBACH,gBACP;;;;;AHFH;;;;;;;;;ACGA;AAIA;AAIgB,iBG+BM,QAAA,CH/BW,OAAA,EGgCtB,gBHhCsB,CAAA,EGiC9B,OHjC8B,CGiCtB,MHjCsB,CGiCf,eHjCe,EGiCE,cHjCF,CAAA,CAAA;;;iBIJjB,iBAAA,MAAuB,2BAA2B;;;;;;;iBCJlD,mBAAA,MACT,kCACU;;;cCTJ,oBAAoB;
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/virtual-fs.ts","../src/core/template-processor.ts","../src/template-handlers/utils.ts","../src/template-handlers/addons.ts","../src/generator.ts","../src/processors/addons-deps.ts","../src/bts-config.ts","../src/templates.generated.ts","../src/utils/add-deps.ts","../src/utils/reproducible-command.ts"],"sourcesContent":[],"mappings":";;;;;;;cAOa,iBAAA;;;;;;EAAA,QAAA,CAAA,QAAA,EAAA,MAAiB,CAAA,EAAA,MAAA,GAAA,SAAA;EA6Ea,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAkCX,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAgB,eAcrC,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,OAAA;EAAA,KAGJ,CAAA,OAAA,EAAA,MAAA,CAAA,EAAA,IAAA;EAAA,UAAA,CAAA,QAAA,EAAA,MAAA,CAAA,EAAA,OAAA;;2CAnDoC;;EC1E3B,WAAA,CAAA,CAAA,EAAA,MAAA,EAAA;EAIA,iBAAY,CAAA,CAAA,EAAA,MAAA,EAAA;EAIZ,YAAA,CAAA,CAAA,EAAA,MAAiB;EAUjB,iBAAA,CAAA,CAAA,EAAkB,MAAA;6BD0FF;;eAAgB,MAAA,CAcrC;EE/HC,KAAA,CAAA,CAAA,EF+HD,MAAA,CAGJ,GElIoB;;;;ECAL,QAAA,aAAA;;;;iBFKN,qBAAA,2BAAgD;iBAIhD,YAAA;iBAIA,iBAAA;iBAUA,kBAAA,6CAGL;;;KC1BC,YAAA,GAAe;;;iBCAL,qBAAA,MACf,8BACM,sBACH,gBACP;;;;;AHFH;;;;;;;;;ACGA;AAIA;AAIgB,iBG+BM,QAAA,CH/BW,OAAA,EGgCtB,gBHhCsB,CAAA,EGiC9B,OHjC8B,CGiCtB,MHjCsB,CGiCf,eHjCe,EGiCE,cHjCF,CAAA,CAAA;;;iBIJjB,iBAAA,MAAuB,2BAA2B;;;;;;;iBCJlD,mBAAA,MACT,kCACU;;;cCTJ,oBAAoB;cAiv0BpB,cAAA;;;cCvu0BA;;;ERNA,SAAA,mBAAiB,EAAA,OAAA;EA6Ea,SAAA,eAAA,EAAA,SAAA;EAkCX,SAAA,oBAAA,EAAA,SAAA;EAAgB,SAcrC,6BAAA,EAAA,SAAA;EAAA,SAGJ,mBAAA,EAAA,UAAA;EAAA,SAAA,aAAA,EAAA,SAAA;;;;EC7HS,SAAA,MAAA,EAAA,QAAqB;EAIrB,SAAA,0BAAY,EAAA,QAAA;EAIZ,SAAA,EAAA,EAAA,SAAiB;EAUjB,SAAA,WAAA,EAAkB,SAAA;;;;ECvBtB,SAAA,gBAAY,EAAG,QAAG;;;;ECAR,SAAA,yBAAqB,EAAA,QAAA;EACpC,SAAA,wBAAA,EAAA,QAAA;EACM,SAAA,gCAAA,EAAA,QAAA;EACH,SAAA,oBAAA,EAAA,QAAA;EACP,SAAA,6BAAA,EAAA,QAAA;EAAO,SAAA,QAAA,EAAA,SAAA;;;;ECwCY,SAAA,gBAAQ,EAAA,QAAA;EACnB,SAAA,MAAA,EAAA,SAAA;EACO,SAAA,KAAA,EAAA,SAAA;EAAiB,SAAA,KAAA,EAAA,QAAA;EAAxB,SAAA,QAAA,EAAA,SAAA;EAAR,SAAA,aAAA,EAAA,SAAA;EAAO,SAAA,GAAA,EAAA,SAAA;;;;ECrCM,SAAA,gBAAiB,EAAA,QAAM;;;;ECJvB,SAAA,mBAAmB,EAAA,QAC5B;;;;ECRM,SAAA,gBA+u0BX,EAAA,QA/u0B+B;EAiv0BpB,SAAA,aAAc,EAAA,SAAA;;;;ECvu0Bd,SAAA,EAAA,EAAA,SAAA;EAkJD,SAAA,EAAA,EAAA,QAAA;;;;ECpII,SAAA,eAAA,EAAA,QAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KDoI/B,qBAAA,gBAAqC;;;iBCpIjC,2BAAA,SAAoC"}
|
package/dist/index.mjs
CHANGED
|
@@ -496,6 +496,10 @@ function updateRootPackageJson(vfs, config) {
|
|
|
496
496
|
scripts.destroy = pmConfig.filter(infraPackageName, "destroy");
|
|
497
497
|
}
|
|
498
498
|
pkgJson.packageManager = `${packageManager}@latest`;
|
|
499
|
+
if (config.api === "orpc" && config.frontend.includes("nuxt")) pkgJson.overrides = {
|
|
500
|
+
...pkgJson.overrides || {},
|
|
501
|
+
"@vue/devtools-api": "^8.0.7"
|
|
502
|
+
};
|
|
499
503
|
if (backend === "convex") {
|
|
500
504
|
if (!workspaces.includes("packages/*")) workspaces.push("packages/*");
|
|
501
505
|
if ((config.frontend.length > 0 || addons.includes("starlight")) && !workspaces.includes("apps/*")) workspaces.push("apps/*");
|
|
@@ -767,7 +771,7 @@ const dependencyVersionMap = {
|
|
|
767
771
|
"@orpc/client": "^1.12.2",
|
|
768
772
|
"@orpc/openapi": "^1.12.2",
|
|
769
773
|
"@orpc/zod": "^1.12.2",
|
|
770
|
-
"@orpc/tanstack-query": "^1.
|
|
774
|
+
"@orpc/tanstack-query": "^1.13.6",
|
|
771
775
|
"@trpc/tanstack-react-query": "^11.7.2",
|
|
772
776
|
"@trpc/server": "^11.7.2",
|
|
773
777
|
"@trpc/client": "^11.7.2",
|
|
@@ -781,8 +785,8 @@ const dependencyVersionMap = {
|
|
|
781
785
|
"@convex-dev/better-auth": "^0.10.13",
|
|
782
786
|
"@tanstack/svelte-query": "^5.85.3",
|
|
783
787
|
"@tanstack/svelte-query-devtools": "^5.85.3",
|
|
784
|
-
"@tanstack/vue-query-devtools": "^
|
|
785
|
-
"@tanstack/vue-query": "^5.
|
|
788
|
+
"@tanstack/vue-query-devtools": "^6.1.5",
|
|
789
|
+
"@tanstack/vue-query": "^5.92.9",
|
|
786
790
|
"@tanstack/react-query-devtools": "^5.91.1",
|
|
787
791
|
"@tanstack/react-query": "^5.90.12",
|
|
788
792
|
"@tanstack/react-form": "^1.28.0",
|
|
@@ -4667,6 +4671,11 @@ export default defineNuxtPlugin((nuxt) => {
|
|
|
4667
4671
|
const toast = useToast()
|
|
4668
4672
|
|
|
4669
4673
|
const queryClient = new QueryClient({
|
|
4674
|
+
defaultOptions: {
|
|
4675
|
+
queries: {
|
|
4676
|
+
staleTime: 5_000,
|
|
4677
|
+
},
|
|
4678
|
+
},
|
|
4670
4679
|
queryCache: new QueryCache({
|
|
4671
4680
|
onError: (error) => {
|
|
4672
4681
|
console.log(error)
|
|
@@ -18192,22 +18201,48 @@ import { Chat } from '@ai-sdk/vue'
|
|
|
18192
18201
|
import type { UIMessage } from 'ai'
|
|
18193
18202
|
import { getTextFromMessage } from '@nuxt/ui/utils/ai'
|
|
18194
18203
|
import { DefaultChatTransport } from 'ai'
|
|
18195
|
-
import { ref } from 'vue'
|
|
18204
|
+
import { computed, ref } from 'vue'
|
|
18205
|
+
|
|
18206
|
+
const SUGGESTIONS = [
|
|
18207
|
+
{
|
|
18208
|
+
title: 'Plan a feature',
|
|
18209
|
+
prompt: 'Help me break down a small product feature into implementation steps.'
|
|
18210
|
+
},
|
|
18211
|
+
{
|
|
18212
|
+
title: 'Design the schema',
|
|
18213
|
+
prompt: 'Suggest a database schema for a collaborative notes app.'
|
|
18214
|
+
},
|
|
18215
|
+
{
|
|
18216
|
+
title: 'Add auth flow',
|
|
18217
|
+
prompt: 'What is the cleanest way to add login, signup, and protected routes here?'
|
|
18218
|
+
},
|
|
18219
|
+
{
|
|
18220
|
+
title: 'Deploy checklist',
|
|
18221
|
+
prompt: 'Give me a production deployment checklist for this stack.'
|
|
18222
|
+
}
|
|
18223
|
+
] as const
|
|
18196
18224
|
|
|
18197
|
-
const config = useRuntimeConfig()
|
|
18198
18225
|
const messages: UIMessage[] = []
|
|
18199
18226
|
const input = ref('')
|
|
18227
|
+
const aiApiUrl = {{#if (eq backend "self")}}'/api/ai'{{else}}\`\${useRuntimeConfig().public.serverUrl}/ai\`{{/if}}
|
|
18200
18228
|
|
|
18201
18229
|
const chat = new Chat({
|
|
18202
18230
|
messages,
|
|
18203
18231
|
transport: new DefaultChatTransport({
|
|
18204
|
-
api:
|
|
18232
|
+
api: aiApiUrl,
|
|
18205
18233
|
}),
|
|
18206
18234
|
onError(error) {
|
|
18207
18235
|
console.error('Chat error:', error)
|
|
18208
18236
|
}
|
|
18209
18237
|
})
|
|
18210
18238
|
|
|
18239
|
+
const hasMessages = computed(() => chat.messages.length > 0)
|
|
18240
|
+
const isLoading = computed(() => chat.status === 'submitted' || chat.status === 'streaming')
|
|
18241
|
+
|
|
18242
|
+
function applySuggestion(prompt: string) {
|
|
18243
|
+
input.value = prompt
|
|
18244
|
+
}
|
|
18245
|
+
|
|
18211
18246
|
async function handleSubmit(e: Event) {
|
|
18212
18247
|
e.preventDefault()
|
|
18213
18248
|
const userInput = input.value
|
|
@@ -18220,27 +18255,95 @@ async function handleSubmit(e: Event) {
|
|
|
18220
18255
|
<\/script>
|
|
18221
18256
|
|
|
18222
18257
|
<template>
|
|
18223
|
-
<UContainer class="h-
|
|
18224
|
-
<div class="
|
|
18225
|
-
<
|
|
18226
|
-
<
|
|
18227
|
-
<div class="
|
|
18228
|
-
|
|
18229
|
-
|
|
18258
|
+
<UContainer class="flex min-h-[calc(100vh-var(--ui-header-height)-2rem)] max-w-5xl flex-col py-4 sm:py-6">
|
|
18259
|
+
<div class="min-h-0 flex-1">
|
|
18260
|
+
<div v-if="!hasMessages" class="flex h-full items-center">
|
|
18261
|
+
<div class="mx-auto flex w-full max-w-3xl flex-col gap-8">
|
|
18262
|
+
<div class="space-y-3 text-center">
|
|
18263
|
+
<UBadge label="AI Chat" color="primary" variant="subtle" class="rounded-full" />
|
|
18264
|
+
<div class="space-y-2">
|
|
18265
|
+
<h1 class="text-3xl font-semibold tracking-tight text-highlighted sm:text-4xl">
|
|
18266
|
+
Ask the starter for your next move.
|
|
18267
|
+
</h1>
|
|
18268
|
+
<p class="mx-auto max-w-2xl text-sm leading-6 text-muted sm:text-base">
|
|
18269
|
+
Use the built-in chat to plan features, sketch schemas, or unblock implementation work without leaving the app.
|
|
18270
|
+
</p>
|
|
18271
|
+
</div>
|
|
18272
|
+
</div>
|
|
18273
|
+
|
|
18274
|
+
<div class="grid gap-3 sm:grid-cols-2">
|
|
18275
|
+
<UButton
|
|
18276
|
+
v-for="suggestion in SUGGESTIONS"
|
|
18277
|
+
:key="suggestion.title"
|
|
18278
|
+
color="neutral"
|
|
18279
|
+
variant="soft"
|
|
18280
|
+
class="h-auto justify-start rounded-2xl px-4 py-4 text-left"
|
|
18281
|
+
@click="applySuggestion(suggestion.prompt)"
|
|
18282
|
+
>
|
|
18283
|
+
<div class="space-y-1">
|
|
18284
|
+
<div class="text-sm font-medium text-highlighted">\\{{ suggestion.title }}</div>
|
|
18285
|
+
<div class="text-sm leading-6 text-muted">\\{{ suggestion.prompt }}</div>
|
|
18286
|
+
</div>
|
|
18287
|
+
</UButton>
|
|
18288
|
+
</div>
|
|
18289
|
+
</div>
|
|
18290
|
+
</div>
|
|
18291
|
+
|
|
18292
|
+
<div v-else class="mx-auto flex h-full w-full max-w-3xl min-h-0 flex-col">
|
|
18293
|
+
<UChatMessages
|
|
18294
|
+
:messages="chat.messages"
|
|
18295
|
+
:status="chat.status"
|
|
18296
|
+
:assistant="{
|
|
18297
|
+
variant: 'outline',
|
|
18298
|
+
avatar: {
|
|
18299
|
+
icon: 'i-lucide-bot'
|
|
18300
|
+
}
|
|
18301
|
+
}"
|
|
18302
|
+
:user="{
|
|
18303
|
+
variant: 'soft',
|
|
18304
|
+
avatar: {
|
|
18305
|
+
icon: 'i-lucide-user'
|
|
18306
|
+
}
|
|
18307
|
+
}"
|
|
18308
|
+
class="min-h-0 flex-1 px-1"
|
|
18309
|
+
>
|
|
18310
|
+
<template #content="{ message }">
|
|
18311
|
+
<div class="whitespace-pre-wrap text-sm leading-6">\\{{ getTextFromMessage(message) }}</div>
|
|
18312
|
+
</template>
|
|
18313
|
+
</UChatMessages>
|
|
18314
|
+
</div>
|
|
18230
18315
|
</div>
|
|
18231
18316
|
|
|
18232
|
-
<div class="
|
|
18233
|
-
<
|
|
18234
|
-
|
|
18235
|
-
|
|
18236
|
-
|
|
18237
|
-
|
|
18238
|
-
|
|
18239
|
-
|
|
18240
|
-
|
|
18317
|
+
<div class="sticky bottom-0 mt-4 border-t border-default bg-default pt-4">
|
|
18318
|
+
<div class="mx-auto w-full max-w-3xl">
|
|
18319
|
+
<UChatPrompt
|
|
18320
|
+
v-model="input"
|
|
18321
|
+
icon="i-lucide-sparkles"
|
|
18322
|
+
variant="soft"
|
|
18323
|
+
:rows="1"
|
|
18324
|
+
:maxrows="8"
|
|
18325
|
+
:loading="isLoading"
|
|
18326
|
+
:error="chat.error"
|
|
18327
|
+
:placeholder="hasMessages ? 'Keep the conversation going...' : 'Ask about your app, schema, auth, or deployment...'"
|
|
18328
|
+
@submit="handleSubmit"
|
|
18329
|
+
>
|
|
18330
|
+
<UChatPromptSubmit
|
|
18331
|
+
class="ms-auto"
|
|
18332
|
+
:status="chat.status"
|
|
18333
|
+
@stop="() => chat.stop()"
|
|
18334
|
+
@reload="() => chat.regenerate()"
|
|
18335
|
+
/>
|
|
18336
|
+
</UChatPrompt>
|
|
18337
|
+
|
|
18338
|
+
<div class="mt-2 flex items-center justify-between gap-3 px-1 text-xs text-muted">
|
|
18339
|
+
<span>Press Enter to send and Shift+Enter for a new line.</span>
|
|
18340
|
+
<span>\\{{ hasMessages ? \`\${chat.messages.length} messages\` : 'Ready when you are.' }}</span>
|
|
18341
|
+
</div>
|
|
18342
|
+
</div>
|
|
18241
18343
|
</div>
|
|
18242
18344
|
</UContainer>
|
|
18243
|
-
</template
|
|
18345
|
+
</template>
|
|
18346
|
+
`],
|
|
18244
18347
|
["examples/ai/web/react/next/src/app/ai/page.tsx.hbs", `{{#if (eq backend "convex")}}
|
|
18245
18348
|
"use client";
|
|
18246
18349
|
|
|
@@ -21073,6 +21176,12 @@ const queryClient = useQueryClient()
|
|
|
21073
21176
|
|
|
21074
21177
|
const todos = useQuery($orpc.todo.getAll.queryOptions())
|
|
21075
21178
|
|
|
21179
|
+
onServerPrefetch(async () => {
|
|
21180
|
+
try {
|
|
21181
|
+
await todos.suspense()
|
|
21182
|
+
} catch {}
|
|
21183
|
+
})
|
|
21184
|
+
|
|
21076
21185
|
const createMutation = useMutation($orpc.todo.create.mutationOptions({
|
|
21077
21186
|
onSuccess: () => {
|
|
21078
21187
|
queryClient.invalidateQueries()
|
|
@@ -26062,18 +26171,11 @@ logs
|
|
|
26062
26171
|
|
|
26063
26172
|
`],
|
|
26064
26173
|
["frontend/nuxt/app/app.config.ts.hbs", `export default defineAppConfig({
|
|
26065
|
-
// https://ui.nuxt.com/getting-started/theme#design-system
|
|
26066
26174
|
ui: {
|
|
26067
26175
|
colors: {
|
|
26068
26176
|
primary: 'emerald',
|
|
26069
26177
|
neutral: 'neutral',
|
|
26070
26178
|
},
|
|
26071
|
-
button: {
|
|
26072
|
-
defaultVariants: {
|
|
26073
|
-
// Set default button color to neutral
|
|
26074
|
-
// color: 'neutral'
|
|
26075
|
-
}
|
|
26076
|
-
}
|
|
26077
26179
|
}
|
|
26078
26180
|
})
|
|
26079
26181
|
`],
|
|
@@ -26084,6 +26186,8 @@ import { VueQueryDevtools } from '@tanstack/vue-query-devtools'
|
|
|
26084
26186
|
<\/script>
|
|
26085
26187
|
|
|
26086
26188
|
<template>
|
|
26189
|
+
<NuxtAnnouncer />
|
|
26190
|
+
<NuxtRouteAnnouncer />
|
|
26087
26191
|
<NuxtLoadingIndicator />
|
|
26088
26192
|
<UApp>
|
|
26089
26193
|
<NuxtLayout>
|
|
@@ -26142,7 +26246,7 @@ const items = computed<NavigationMenuItem[]>(() => [
|
|
|
26142
26246
|
["frontend/nuxt/app/layouts/default.vue.hbs", `<script setup><\/script>
|
|
26143
26247
|
|
|
26144
26248
|
<template>
|
|
26145
|
-
<div
|
|
26249
|
+
<div>
|
|
26146
26250
|
<Header />
|
|
26147
26251
|
<UMain>
|
|
26148
26252
|
<slot />
|
|
@@ -26182,6 +26286,12 @@ const healthCheck = useConvexQuery(api.healthCheck.get, {});
|
|
|
26182
26286
|
{{else}}
|
|
26183
26287
|
{{#unless (eq api "none")}}
|
|
26184
26288
|
const healthCheck = useQuery($orpc.healthCheck.queryOptions())
|
|
26289
|
+
|
|
26290
|
+
onServerPrefetch(async () => {
|
|
26291
|
+
try {
|
|
26292
|
+
await healthCheck.suspense()
|
|
26293
|
+
} catch {}
|
|
26294
|
+
})
|
|
26185
26295
|
{{/unless}}
|
|
26186
26296
|
{{/if}}
|
|
26187
26297
|
<\/script>
|
|
@@ -26254,6 +26364,9 @@ const healthCheck = useQuery($orpc.healthCheck.queryOptions())
|
|
|
26254
26364
|
export default defineNuxtConfig({
|
|
26255
26365
|
compatibilityDate: 'latest',
|
|
26256
26366
|
devtools: { enabled: true },
|
|
26367
|
+
experimental: {
|
|
26368
|
+
payloadExtraction: 'client',
|
|
26369
|
+
},
|
|
26257
26370
|
modules: [
|
|
26258
26371
|
'@nuxt/ui'
|
|
26259
26372
|
{{#if (eq backend "convex")}},
|
|
@@ -26268,7 +26381,7 @@ export default defineNuxtConfig({
|
|
|
26268
26381
|
convex: {
|
|
26269
26382
|
url: process.env.NUXT_PUBLIC_CONVEX_URL,
|
|
26270
26383
|
},
|
|
26271
|
-
{{else if (ne backend "self")}}
|
|
26384
|
+
{{else if (and (ne backend "self") (ne backend "none"))}}
|
|
26272
26385
|
runtimeConfig: {
|
|
26273
26386
|
public: {
|
|
26274
26387
|
serverUrl: process.env.NUXT_PUBLIC_SERVER_URL,
|
|
@@ -26289,17 +26402,12 @@ export default defineNuxtConfig({
|
|
|
26289
26402
|
"postinstall": "nuxt prepare"
|
|
26290
26403
|
},
|
|
26291
26404
|
"dependencies": {
|
|
26292
|
-
"@nuxt/ui": "4.
|
|
26293
|
-
"
|
|
26294
|
-
"@nuxtjs/mdc": "^0.17.4",
|
|
26295
|
-
"nuxt": "^4.1.2",
|
|
26296
|
-
"vue": "^3.5.21",
|
|
26297
|
-
"vue-router": "^4.5.1",
|
|
26298
|
-
"@vue/devtools-api": "^8.0.5"
|
|
26405
|
+
"@nuxt/ui": "^4.5.1",
|
|
26406
|
+
"nuxt": "^4.4.2"
|
|
26299
26407
|
},
|
|
26300
26408
|
"devDependencies": {
|
|
26301
|
-
"tailwindcss": "^4.1
|
|
26302
|
-
"@iconify-json/lucide": "^1.2.
|
|
26409
|
+
"tailwindcss": "^4.2.1",
|
|
26410
|
+
"@iconify-json/lucide": "^1.2.96"
|
|
26303
26411
|
}
|
|
26304
26412
|
}
|
|
26305
26413
|
`],
|