diff --git a/app/components/chat/ToolCall.tsx b/app/components/chat/ToolCall.tsx index 711f5edff..0cf9a7537 100644 --- a/app/components/chat/ToolCall.tsx +++ b/app/components/chat/ToolCall.tsx @@ -416,8 +416,12 @@ function toolTitle(invocation: ConvexToolInvocation): React.ReactNode { ); } else if (invocation.result?.startsWith('Error:')) { - // This is a hack, but `npx convex dev` prints this out when the typecheck fails - if (invocation.result.includes('To ignore failing typecheck')) { + if ( + // This is a hack, but `npx convex dev` prints this out when the typecheck fails + invocation.result.includes('To ignore failing typecheck') || + // this is a bigger hack! TypeScript fails with error codes like TS + invocation.result.includes('Error TS') + ) { return (
TypeScript diff --git a/app/lib/runtime/action-runner.ts b/app/lib/runtime/action-runner.ts index c6dff0ab4..2351bf6ae 100644 --- a/app/lib/runtime/action-runner.ts +++ b/app/lib/runtime/action-runner.ts @@ -372,7 +372,10 @@ export class ActionRunner { case 'deploy': { const container = await this.#webcontainer; await waitForContainerBootState(ContainerBootState.READY); - const convexProc = await container.spawn('npx', ['convex', 'dev', '--once']); + const convexProc = await container.spawn('sh', [ + '-c', + 'convex dev --once && tsc --noEmit -p tsconfig.app.json', + ]); action.abortSignal.addEventListener('abort', () => { convexProc.kill(); }); diff --git a/app/lib/stores/startup/useContainerSetup.ts b/app/lib/stores/startup/useContainerSetup.ts index 68fca51ab..1b963cd89 100644 --- a/app/lib/stores/startup/useContainerSetup.ts +++ b/app/lib/stores/startup/useContainerSetup.ts @@ -12,7 +12,7 @@ import { toast } from 'sonner'; import { waitForConvexProjectConnection, type ConvexProject } from '~/lib/stores/convexProject'; import type { WebContainer } from '@webcontainer/api'; -const TEMPLATE_URL = '/template-snapshot-ba3672ee.bin'; +const TEMPLATE_URL = '/template-snapshot-cb4ccf96.bin'; export function useNewChatContainerSetup() { useEffect(() => { diff --git a/public/template-snapshot-cb4ccf96.bin b/public/template-snapshot-cb4ccf96.bin new file mode 100644 index 000000000..d031fc442 Binary files /dev/null and b/public/template-snapshot-cb4ccf96.bin differ diff --git a/template/tsconfig.app.json b/template/tsconfig.app.json index 8267e1fb8..1055250d5 100644 --- a/template/tsconfig.app.json +++ b/template/tsconfig.app.json @@ -17,8 +17,6 @@ /* Linting */ "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true, diff --git a/template/tsconfig.node.json b/template/tsconfig.node.json index db0becc8b..85b71dc03 100644 --- a/template/tsconfig.node.json +++ b/template/tsconfig.node.json @@ -15,8 +15,6 @@ /* Linting */ "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, "noFallthroughCasesInSwitch": true, "noUncheckedSideEffectImports": true },