first commit

This commit is contained in:
Tomas Dvorak
2026-04-10 12:04:09 +02:00
commit 3cb40adb23
203 changed files with 40226 additions and 0 deletions
+74
View File
@@ -0,0 +1,74 @@
# SolidStart → SolidJS + Vite Migration
## What Changed
### Removed
- `@solidjs/start` - Full-stack framework
- `vinxi` - Build tool
- `.vinxi/` and `.output/` build directories
- `entry-client.tsx` and `entry-server.tsx` - SSR entry points
- `app.config.ts` - SolidStart config
### Added
- `vite` - Fast build tool
- `vite-plugin-solid` - SolidJS plugin for Vite
- `index.html` - Standard HTML entry point
- `src/index.tsx` - Client-side entry point
- `vite.config.ts` - Vite configuration
- `nginx.conf` - Static file serving config
### Updated
- `package.json` - New scripts and dependencies
- `app.tsx` - Manual routing instead of FileRoutes
- `tsconfig.json` - Vite types instead of Vinxi
- `Dockerfile` - Static build with nginx instead of Node server
- `.gitignore` - Removed SolidStart artifacts
## Benefits
1. **Simpler**: No SSR complexity, just a clean SPA
2. **Faster**: Vite's dev server is lightning fast
3. **Cleaner**: Standard Vite setup everyone knows
4. **Smaller**: Static files served by nginx (much lighter than Node)
5. **Easier to debug**: No framework magic, just Vite + SolidJS
## How to Run
```bash
# Install dependencies
npm install
# Development
npm run dev
# Build
npm run build
# Preview production build
npm run preview
```
## Routing
Routes are now explicitly defined in `src/app.tsx` instead of file-based routing:
```tsx
<Route path="/app/:workspaceSlug">
<Route path="/today" component={TodayRoute} />
<Route path="/calendar" component={CalendarRoute} />
// ... etc
</Route>
```
All route components are lazy-loaded for optimal performance.
## Docker
The Dockerfile now builds static files and serves them with nginx on port 80 (instead of Node on port 3000).
## Notes
- Service worker registration still works
- All auth flows remain unchanged
- API proxy configured in vite.config.ts for `/api/auth`
- All existing components and pages work as-is