| import { defineConfig } from 'vite';
|
| import react from '@vitejs/plugin-react';
|
| import { VitePWA } from 'vite-plugin-pwa';
|
| import path from 'path';
|
|
|
| export default defineConfig({
|
| plugins: [
|
| react(),
|
| VitePWA({
|
| registerType: 'autoUpdate',
|
| manifest: {
|
| name: 'BOB IDE',
|
| short_name: 'BOB',
|
| description: 'Sovereign Coding Environment',
|
| theme_color: '#0A6CFF',
|
| icons: [
|
| {
|
| src: '/assets/icons/icon-192.png',
|
| sizes: '192x192',
|
| type: 'image/png'
|
| },
|
| {
|
| src: '/assets/icons/icon-512.png',
|
| sizes: '512x512',
|
| type: 'image/png'
|
| }
|
| ]
|
| }
|
| })
|
| ],
|
| resolve: {
|
| alias: {
|
| '@': path.resolve(__dirname, './src'),
|
| '@components': path.resolve(__dirname, './src/components'),
|
| '@stores': path.resolve(__dirname, './src/stores'),
|
| '@lib': path.resolve(__dirname, './src/lib'),
|
| '@types': path.resolve(__dirname, './src/types')
|
| }
|
| },
|
| build: {
|
| target: 'esnext',
|
| rollupOptions: {
|
| output: {
|
| manualChunks: {
|
| 'monaco': ['monaco-editor', '@monaco-editor/react'],
|
| 'xterm': ['xterm', 'xterm-addon-fit', 'xterm-addon-web-links'],
|
| 'webllm': ['@mlc-ai/web-llm']
|
| }
|
| }
|
| }
|
| },
|
| worker: {
|
| format: 'es'
|
| },
|
| optimizeDeps: {
|
| exclude: ['@mlc-ai/web-llm']
|
| }
|
| });
|
|
|
|
|
|
|