Files
vite-shopify-storefront/vite.config.ts
T
Rami BitarandClaude Opus 5.5 160e65f0ed Migrate to TanStack Start and pin the Vercel preset
Vercel auto-detected the Hydrogen preset from the @shopify/hydrogen
dependency and failed building a 'hydrogen' Edge Function. The app is now
TanStack Start (SSR via Nitro), and vercel.json pins the tanstack-start
preset and installs with Corepack so Yarn 4 is used.

- Router factory with per-request QueryClient and SSR query dehydration
- Hono API mounted as a Start server route at /api/*
- Account reads in loaders go through server functions (cookies on SSR)
- Loaders prefetch listing pages so products are in the server HTML
- Add graphql peer dependency for gql.tada

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-03 11:35:35 -04:00

37 lines
1.2 KiB
TypeScript

import { defineConfig } from 'vite';
import { tanstackStart } from '@tanstack/react-start/plugin/vite';
import { nitro } from 'nitro/vite';
import react from '@vitejs/plugin-react';
import tailwindcss from '@tailwindcss/vite';
import { fileURLToPath, URL } from 'node:url';
// Absolute origin for canonical and Open Graph URLs. Inlined at build time so
// the server render and the client agree on it. Vercel provides the production
// domain; set VITE_SITE_URL to override it anywhere.
const siteUrl =
process.env.VITE_SITE_URL ??
(process.env.VERCEL_PROJECT_PRODUCTION_URL
? `https://${process.env.VERCEL_PROJECT_PRODUCTION_URL}`
: 'http://localhost:3000');
export default defineConfig({
server: { port: 3000 },
plugins: [
// Start must come before the React plugin.
tanstackStart(),
// Builds the server for the host: Vercel's Build Output when deployed
// there, a standalone Node server (.output/) everywhere else.
nitro(),
react(),
tailwindcss(),
],
define: {
'import.meta.env.VITE_SITE_URL': JSON.stringify(siteUrl),
},
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
});