/ vite.config.ts
vite.config.ts
 1  import { defineConfig } from 'vite'
 2  import react from '@vitejs/plugin-react'
 3  import { resolve } from 'path'
 4  
 5  // https://vitejs.dev/config/
 6  export default defineConfig({
 7    plugins: [react()],
 8    css: {
 9      modules: {
10        localsConvention: 'camelCase',
11        generateScopedName: '[name]__[local]___[hash:base64:5]'
12      }
13    },
14    build: {
15      lib: {
16        entry: resolve(__dirname, 'src/main.ts'),
17        name: 'InterBrain',
18        fileName: 'main',
19        formats: ['cjs']
20      },
21      rollupOptions: {
22        external: [
23          'obsidian',
24          'child_process',
25          'util',
26          'path',
27          'fs',
28          'url',
29          'buffer',
30          'crypto',
31          'stream',
32          'os'
33        ],
34        output: {
35          globals: {
36            obsidian: 'obsidian'
37          },
38          // Disable code splitting for Obsidian plugins
39          manualChunks: undefined,
40          inlineDynamicImports: true
41        }
42      },
43      outDir: 'dist',
44      emptyOutDir: false
45    },
46    define: {
47      global: 'globalThis'
48    }
49  })