mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 22:01:09 +02:00
- Add uload project with apps/web structure
- Reorganize from flat to monorepo structure
- Remove PocketBase binary and local data
- Update to pnpm and @uload/web namespace
- Add picture project to monorepo
- Remove embedded git repository
- Unify all package names to @{project}/{app} schema:
- @maerchenzauber/* (was @storyteller/*)
- @manacore/* (was manacore-*, manacore)
- @manadeck/* (was web, backend, manadeck)
- @memoro/* (was memoro-web, landing, memoro)
- @picture/* (already unified)
- @uload/web
- Add convenient dev scripts for all apps:
- pnpm dev:{project}:web
- pnpm dev:{project}:landing
- pnpm dev:{project}:mobile
- pnpm dev:{project}:backend
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
87 lines
2 KiB
TypeScript
87 lines
2 KiB
TypeScript
import tailwindcss from '@tailwindcss/vite';
|
|
import { sveltekit } from '@sveltejs/kit/vite';
|
|
import { defineConfig } from 'vite';
|
|
import path from 'path';
|
|
|
|
export default defineConfig({
|
|
plugins: [tailwindcss(), sveltekit()],
|
|
resolve: {
|
|
alias: {
|
|
$tests: path.resolve('./src/tests')
|
|
}
|
|
},
|
|
build: {
|
|
target: 'esnext',
|
|
rollupOptions: {
|
|
output: {
|
|
manualChunks: (id) => {
|
|
// Vendor chunk für große Bibliotheken
|
|
if (id.includes('node_modules')) {
|
|
if (id.includes('pocketbase')) return 'pocketbase';
|
|
if (id.includes('stripe')) return 'stripe';
|
|
if (id.includes('lucide-svelte')) return 'icons';
|
|
if (id.includes('svelte-sonner')) return 'ui';
|
|
return 'vendor';
|
|
}
|
|
// Component chunks für große Komponenten
|
|
if (id.includes('src/lib/components/cards')) return 'cards';
|
|
if (id.includes('src/lib/components/links')) return 'links';
|
|
if (id.includes('src/paraglide')) return 'i18n';
|
|
}
|
|
}
|
|
}
|
|
},
|
|
test: {
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
setupFiles: ['./src/tests/setup.ts'],
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text', 'json', 'html'],
|
|
exclude: [
|
|
'node_modules/**',
|
|
'src/tests/**',
|
|
'**/*.d.ts',
|
|
'build/**',
|
|
'.svelte-kit/**',
|
|
'src/paraglide/**',
|
|
'src/app.html'
|
|
],
|
|
thresholds: {
|
|
global: {
|
|
branches: 70,
|
|
functions: 70,
|
|
lines: 70,
|
|
statements: 70
|
|
}
|
|
}
|
|
},
|
|
projects: [
|
|
{
|
|
extends: './vite.config.ts',
|
|
test: {
|
|
name: 'client',
|
|
environment: 'browser',
|
|
browser: {
|
|
enabled: true,
|
|
provider: 'playwright',
|
|
instances: [{ browser: 'chromium' }]
|
|
},
|
|
include: ['src/**/*.svelte.{test,spec}.{js,ts}'],
|
|
exclude: ['src/lib/server/**'],
|
|
setupFiles: ['./vitest-setup-client.ts', './src/tests/setup.ts']
|
|
}
|
|
},
|
|
{
|
|
extends: './vite.config.ts',
|
|
test: {
|
|
name: 'server',
|
|
environment: 'node',
|
|
include: ['src/**/*.{test,spec}.{js,ts}'],
|
|
exclude: ['src/**/*.svelte.{test,spec}.{js,ts}'],
|
|
setupFiles: ['./src/tests/setup.ts']
|
|
}
|
|
}
|
|
]
|
|
}
|
|
});
|