chore: starter template

This commit is contained in:
e2e
2026-07-10 19:42:56 +02:00
commit e5c3377b6b
157 changed files with 6462 additions and 0 deletions

59
apps/app/vite.config.ts Normal file
View File

@@ -0,0 +1,59 @@
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import { tanstackStart } from '@tanstack/react-start/plugin/vite'
import { paraglideVitePlugin } from '@inlang/paraglide-js'
import { fileURLToPath, URL } from 'node:url'
// Plain TanStack Start config (Node target) — used for local sandbox dev. This
// template is deploy-provider agnostic: it ships NO @cloudflare/vite-plugin. At
// deploy, fabric CI injects the CF adapter (vite.config.cf.ts merges cloudflare()
// on top of this config) to emit the CF Workers SSR bundle. Do not add cloudflare
// here — that would double-apply it and couple the template to a provider.
export default defineConfig({
plugins: [
// Compile messages/*.json → src/paraglide so `m`/`mKey` resolve, with HMR
// on message edits. Must run first.
paraglideVitePlugin({ project: './project.inlang', outdir: './src/paraglide' }),
tanstackStart(),
react(),
],
resolve: {
alias: {
'@': fileURLToPath(new URL('./src', import.meta.url)),
},
},
server: {
host: '0.0.0.0',
allowedHosts: true,
// Local dev only — mirrors the sandbox edge (Caddy): /api/auth/* keeps its
// prefix (Better Auth mounts there), every other /api/* reaches the pikku
// dev server unprefixed (/rpc/...). In the sandbox Caddy handles /api
// before Vite, so this proxy never fires there.
// changeOrigin stays false so the backend sees Host = the app origin —
// Better Auth trusts the request origin only when it matches Host.
proxy: {
'/api/auth': {
target: process.env.VITE_API_PROXY ?? 'http://localhost:3000',
changeOrigin: false,
},
'/api': {
target: process.env.VITE_API_PROXY ?? 'http://localhost:3000',
changeOrigin: false,
rewrite: (path) => path.replace(/^\/api/, ''),
},
// File content: the pikku dev server serves uploads (PUT) and assets (GET)
// AT these prefixes (pikku.config.json content.uploadUrlPrefix/assetUrlPrefix),
// so proxy them through WITHOUT a rewrite. `/content` (not `/assets`) avoids
// colliding with Vite/TanStack's own built asset paths. In the sandbox Caddy
// handles these before Vite, so this proxy only fires in local dev.
'/upload': {
target: process.env.VITE_API_PROXY ?? 'http://localhost:3000',
changeOrigin: false,
},
'/content': {
target: process.env.VITE_API_PROXY ?? 'http://localhost:3000',
changeOrigin: false,
},
},
},
})