Set up the foundational build configuration for Mission Control: Frontend Build (Vite + TypeScript): - package.json: React 19, TanStack Query, Zustand, Framer Motion - tsconfig.json: Strict TypeScript with path aliases (@/) - vite.config.ts: Tailored for Tauri (port 1420, ignores src-tauri) Styling (Tailwind CSS): - tailwind.config.ts: Custom surface color palette (zinc-900/800/700) - postcss.config.js: Tailwind + autoprefixer pipeline - tailwind.config.js: Generated config (superseded by .ts) Code Quality: - eslint.config.js: ESLint 9 flat config with TypeScript + React hooks - .gitignore: Exclude node_modules, dist, coverage, test artifacts This establishes the monorepo structure where: - Frontend lives in src/ and builds to dist/ - Tauri backend lives in src-tauri/ with its own Cargo workspace
32 lines
689 B
JSON
32 lines
689 B
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2022",
|
|
"useDefineForClassFields": true,
|
|
"lib": ["ES2022", "DOM", "DOM.Iterable"],
|
|
"module": "ESNext",
|
|
"skipLibCheck": true,
|
|
|
|
/* Bundler mode */
|
|
"moduleResolution": "bundler",
|
|
"allowImportingTsExtensions": true,
|
|
"resolveJsonModule": true,
|
|
"isolatedModules": true,
|
|
"noEmit": true,
|
|
"jsx": "react-jsx",
|
|
|
|
/* Linting */
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
|
|
/* Paths */
|
|
"baseUrl": ".",
|
|
"paths": {
|
|
"@/*": ["./src/*"]
|
|
}
|
|
},
|
|
"include": ["src"],
|
|
"references": [{ "path": "./tsconfig.node.json" }]
|
|
}
|