| import path from 'path'; |
| import { defineConfig, loadEnv } from 'vite'; |
| import react from '@vitejs/plugin-react'; |
| import { VitePWA } from 'vite-plugin-pwa'; |
|
|
| export default defineConfig(({ mode }) => { |
| const env = loadEnv(mode, '.', ''); |
| return { |
| server: { |
| port: 3000, |
| host: '0.0.0.0', |
| }, |
| plugins: [ |
| react(), |
| VitePWA({ |
| registerType: 'autoUpdate', |
| includeAssets: ['favicon.ico', 'apple-touch-icon.png', 'mask-icon.svg'], |
| workbox: { |
| maximumFileSizeToCacheInBytes: 5 * 1024 * 1024, |
| }, |
| manifest: { |
| name: 'MindSpark', |
| short_name: 'MindSpark', |
| description: 'AI-powered smart notebook', |
| theme_color: '#0B0F19', |
| icons: [ |
| { |
| src: 'pwa-192x192.png', |
| sizes: '192x192', |
| type: 'image/png' |
| }, |
| { |
| src: 'pwa-512x512.png', |
| sizes: '512x512', |
| type: 'image/png' |
| } |
| ] |
| } |
| }) |
| ], |
| define: { |
| 'process.env.API_KEY': JSON.stringify(env.GEMINI_API_KEY), |
| 'process.env.GEMINI_API_KEY': JSON.stringify(env.GEMINI_API_KEY) |
| }, |
| resolve: { |
| alias: { |
| '@': path.resolve(__dirname, '.'), |
| } |
| } |
| }; |
| }); |
|
|