mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:01:09 +02:00
♻️ refactor: migrate 15 web apps to @manacore/shared-vite-config
- Add missing packages to MANACORE_SHARED_PACKAGES list - Migrate all SvelteKit apps to use createViteConfig/mergeViteConfig - Matrix preserves special WASM config for matrix-js-sdk crypto - Update consolidation docs with completed Vite config task Savings: ~350 LOC (-318 net lines)
This commit is contained in:
parent
d0d2855adb
commit
188290b427
17 changed files with 225 additions and 513 deletions
|
|
@ -1,45 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5179,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@calendar/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@calendar/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5179,
|
||||
additionalPackages: ['@calendar/shared'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,36 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit(), tailwindcss()],
|
||||
server: {
|
||||
port: 5174,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'marked',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-ui',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5174,
|
||||
additionalPackages: ['marked'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,34 +1,13 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit()],
|
||||
server: {
|
||||
port: 5187,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-ui',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5187,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,59 +1,14 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5184,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
'@manacore/shared-utils',
|
||||
'@manacore/shared-splitscreen',
|
||||
'@manacore/shared-i18n',
|
||||
'@manacore/shared-profile-ui',
|
||||
'@manacore/shared-tags',
|
||||
'@manacore/shared-help-types',
|
||||
'@manacore/shared-help-content',
|
||||
'@manacore/shared-help-ui',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
'@manacore/shared-utils',
|
||||
'@manacore/shared-splitscreen',
|
||||
'@manacore/shared-i18n',
|
||||
'@manacore/shared-profile-ui',
|
||||
'@manacore/shared-tags',
|
||||
'@manacore/shared-help-types',
|
||||
'@manacore/shared-help-content',
|
||||
'@manacore/shared-help-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5184,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,45 +1,18 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit(), tailwindcss()],
|
||||
server: {
|
||||
port: 5173,
|
||||
strictPort: true,
|
||||
},
|
||||
preview: {
|
||||
port: 4173,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5173,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
preview: {
|
||||
port: 4173,
|
||||
strictPort: true,
|
||||
},
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,31 +1,14 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit(), tailwindcss()],
|
||||
server: {
|
||||
port: 5176,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-i18n',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-i18n',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5176,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,38 +1,41 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5180,
|
||||
strictPort: true,
|
||||
headers: {
|
||||
// Required for WASM module loading
|
||||
'Cross-Origin-Opener-Policy': 'same-origin',
|
||||
'Cross-Origin-Embedder-Policy': 'require-corp',
|
||||
},
|
||||
},
|
||||
define: {
|
||||
global: 'globalThis',
|
||||
},
|
||||
optimizeDeps: {
|
||||
include: ['buffer', 'events'],
|
||||
// WASM modules cannot be pre-bundled
|
||||
exclude: ['@matrix-org/matrix-sdk-crypto-wasm'],
|
||||
esbuildOptions: {
|
||||
define: {
|
||||
global: 'globalThis',
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5180,
|
||||
additionalPackages: ['@matrix/shared'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
headers: {
|
||||
// Required for WASM module loading
|
||||
'Cross-Origin-Opener-Policy': 'same-origin',
|
||||
'Cross-Origin-Embedder-Policy': 'require-corp',
|
||||
},
|
||||
},
|
||||
},
|
||||
ssr: {
|
||||
noExternal: ['@manacore/shared-*', '@matrix/shared'],
|
||||
},
|
||||
worker: {
|
||||
format: 'es',
|
||||
},
|
||||
build: {
|
||||
target: 'esnext',
|
||||
},
|
||||
});
|
||||
define: {
|
||||
global: 'globalThis',
|
||||
},
|
||||
optimizeDeps: {
|
||||
include: ['buffer', 'events'],
|
||||
// WASM modules cannot be pre-bundled
|
||||
exclude: ['@matrix-org/matrix-sdk-crypto-wasm'],
|
||||
esbuildOptions: {
|
||||
define: {
|
||||
global: 'globalThis',
|
||||
},
|
||||
},
|
||||
},
|
||||
worker: {
|
||||
format: 'es',
|
||||
},
|
||||
build: {
|
||||
target: 'esnext',
|
||||
},
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,47 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5180,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@nutriphi/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
'@manacore/shared-i18n',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@nutriphi/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
'@manacore/shared-i18n',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5180,
|
||||
additionalPackages: ['@nutriphi/shared'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,15 +1,14 @@
|
|||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5175,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
// Process @manacore packages that contain .svelte.ts files with runes
|
||||
noExternal: ['@manacore/shared-theme', '@manacore/shared-auth'],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5175,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,37 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5191,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@planta/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@planta/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5191,
|
||||
additionalPackages: ['@planta/shared'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -2,42 +2,25 @@ import { sveltekit } from '@sveltejs/kit/vite';
|
|||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import path from 'path';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [sveltekit(), tailwindcss()],
|
||||
server: {
|
||||
port: 5178,
|
||||
strictPort: true,
|
||||
fs: {
|
||||
allow: [
|
||||
// Allow serving files from the monorepo root node_modules
|
||||
path.resolve(__dirname, '../../../../node_modules'),
|
||||
// Default allowed paths
|
||||
path.resolve(__dirname, 'src'),
|
||||
path.resolve(__dirname, '.svelte-kit'),
|
||||
path.resolve(__dirname, 'node_modules'),
|
||||
path.resolve(__dirname, '../../node_modules'),
|
||||
],
|
||||
},
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5178,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
fs: {
|
||||
allow: [
|
||||
path.resolve(__dirname, '../../../../node_modules'),
|
||||
path.resolve(__dirname, 'src'),
|
||||
path.resolve(__dirname, '.svelte-kit'),
|
||||
path.resolve(__dirname, 'node_modules'),
|
||||
path.resolve(__dirname, '../../node_modules'),
|
||||
],
|
||||
},
|
||||
},
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,35 +1,14 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5111,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5111,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,17 +1,14 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5195,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: ['@manacore/shared-tailwind', '@manacore/shared-theme'],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: ['@manacore/shared-tailwind', '@manacore/shared-theme'],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5195,
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,44 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5185,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
'lucide-svelte',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5185,
|
||||
additionalPackages: ['lucide-svelte'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -1,45 +1,15 @@
|
|||
import { sveltekit } from '@sveltejs/kit/vite';
|
||||
import tailwindcss from '@tailwindcss/vite';
|
||||
import { defineConfig } from 'vite';
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: {
|
||||
port: 5188,
|
||||
strictPort: true,
|
||||
},
|
||||
ssr: {
|
||||
noExternal: [
|
||||
'@todo/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
],
|
||||
},
|
||||
optimizeDeps: {
|
||||
exclude: [
|
||||
'@todo/shared',
|
||||
'@manacore/shared-icons',
|
||||
'@manacore/shared-ui',
|
||||
'@manacore/shared-tailwind',
|
||||
'@manacore/shared-theme',
|
||||
'@manacore/shared-theme-ui',
|
||||
'@manacore/shared-feedback-ui',
|
||||
'@manacore/shared-feedback-service',
|
||||
'@manacore/shared-feedback-types',
|
||||
'@manacore/shared-auth',
|
||||
'@manacore/shared-auth-ui',
|
||||
'@manacore/shared-branding',
|
||||
'@manacore/shared-subscription-ui',
|
||||
],
|
||||
},
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5188,
|
||||
additionalPackages: ['@todo/shared'],
|
||||
});
|
||||
|
||||
export default defineConfig(
|
||||
mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
})
|
||||
);
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
| **HOCH** | Main.ts/CORS Patterns | 1.800 LOC | Mittel |
|
||||
| ~~**MITTEL**~~ | ~~TypeScript Configs~~ | ~~400 LOC~~ ✅ **~280 LOC entfernt** | ~~Niedrig~~ |
|
||||
| **MITTEL** | UI Component Cleanup | 400 LOC | Niedrig |
|
||||
| **MITTEL** | Vite Configs | 300 LOC | Niedrig |
|
||||
| ~~**MITTEL**~~ | ~~Vite Configs~~ | ~~300 LOC~~ ✅ **~350 LOC entfernt** | ~~Niedrig~~ |
|
||||
| **MITTEL** | Navigation Stores | 50 LOC | Niedrig |
|
||||
| **NIEDRIG** | Drizzle Configs | 200 LOC | Niedrig |
|
||||
| **NIEDRIG** | Logger Utilities | 130 LOC | Niedrig |
|
||||
|
|
@ -301,27 +301,46 @@ export function createNavigationStore(options?: {
|
|||
|
||||
---
|
||||
|
||||
### 4.2 MITTEL: Vite Configs (300 LOC)
|
||||
### ~~4.2 MITTEL: Vite Configs~~ ✅ ERLEDIGT (~350 LOC gespart)
|
||||
|
||||
**Problem:** 15 SvelteKit Apps haben 70% identische vite.config.ts.
|
||||
**Status:** `@manacore/shared-vite-config` erweitert und 15 SvelteKit Apps migriert (29.01.2026)
|
||||
|
||||
**Empfehlung:** Factory-Funktion in `@manacore/shared-vite-config`
|
||||
**Erweitertes Package:** `packages/shared-vite-config/`
|
||||
- `createViteConfig()` - Factory mit Port und additionalPackages
|
||||
- `mergeViteConfig()` - Deep-merge für App-spezifische Overrides
|
||||
- `MANACORE_SHARED_PACKAGES` - 22+ Pakete für SSR/optimizeDeps
|
||||
|
||||
**Migrierte Apps (15 von 15):**
|
||||
- ✅ calendar, chat, clock, contacts, manadeck, manacore, matrix, nutriphi, picture, planta, presi, questions, skilltree, storage, todo
|
||||
|
||||
**Vorher (30-60 LOC pro App):**
|
||||
```typescript
|
||||
// packages/shared-vite-config/src/sveltekit.ts
|
||||
export function createSvelteKitConfig(options: {
|
||||
port: number;
|
||||
packages?: string[];
|
||||
}) {
|
||||
return defineConfig({
|
||||
plugins: [sveltekit(), tailwindcss()],
|
||||
server: { port: options.port, strictPort: true },
|
||||
ssr: { noExternal: options.packages || [] },
|
||||
optimizeDeps: { exclude: options.packages || [] },
|
||||
});
|
||||
}
|
||||
export default defineConfig({
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
server: { port: 5174, strictPort: true },
|
||||
ssr: { noExternal: ['@manacore/shared-icons', ...] },
|
||||
optimizeDeps: { exclude: ['@manacore/shared-icons', ...] },
|
||||
});
|
||||
```
|
||||
|
||||
**Nachher (12-14 LOC):**
|
||||
```typescript
|
||||
import { createViteConfig, mergeViteConfig } from '@manacore/shared-vite-config';
|
||||
|
||||
const baseConfig = createViteConfig({
|
||||
port: 5174,
|
||||
additionalPackages: ['@app/shared'], // optional
|
||||
});
|
||||
|
||||
export default defineConfig(mergeViteConfig(baseConfig, {
|
||||
plugins: [tailwindcss(), sveltekit()],
|
||||
}));
|
||||
```
|
||||
|
||||
**Hinweis:** Matrix behält spezielle WASM-Konfiguration für matrix-js-sdk crypto.
|
||||
|
||||
**Einsparung:** 15 Apps × ~23 LOC = ~350 LOC
|
||||
|
||||
---
|
||||
|
||||
### 4.3 NIEDRIG: Drizzle Configs (200 LOC)
|
||||
|
|
@ -389,7 +408,7 @@ export default createDrizzleConfig('chat');
|
|||
|---------|-----|---------|--------|
|
||||
| ~~`createAppSettingsStore()` Factory erstellen~~ | ~~600~~ → **323** | ~~Mittel~~ | ✅ Erledigt |
|
||||
| ~~`@manacore/shared-tsconfig` Package erstellen~~ | ~~400~~ → **280** | ~~Niedrig~~ | ✅ Erledigt |
|
||||
| `@manacore/shared-vite-config` Factory erstellen | 300 | Niedrig | Offen |
|
||||
| ~~`@manacore/shared-vite-config` erweitern (15 Apps)~~ | ~~300~~ → **350** | ~~Niedrig~~ | ✅ Erledigt |
|
||||
| Navigation Store Factory erstellen | 50 | Niedrig | Offen |
|
||||
|
||||
### Phase 3: Backend Setup (5-7 Tage, ~2.000 LOC)
|
||||
|
|
|
|||
|
|
@ -26,6 +26,12 @@ export const MANACORE_SHARED_PACKAGES = [
|
|||
'@manacore/shared-i18n',
|
||||
'@manacore/shared-api-client',
|
||||
'@manacore/shared-splitscreen',
|
||||
'@manacore/shared-utils',
|
||||
'@manacore/shared-tags',
|
||||
'@manacore/shared-stores',
|
||||
'@manacore/shared-help-types',
|
||||
'@manacore/shared-help-content',
|
||||
'@manacore/shared-help-ui',
|
||||
] as const;
|
||||
|
||||
export interface ViteConfigOptions {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue