import { defineConfig } from 'vite';
import { viteStaticCopy } from 'vite-plugin-static-copy'

export default defineConfig({
  plugins: [
    viteStaticCopy({
      targets: [
        {
          src: './static/[!.]*',
          dest: './',
        },
      ],
    })
  ],
  publicDir: false, // disable copy `public/` to outDir
  build: {
	  minify: 'terser', // Explicitly specify to use terser for minification
    terserOptions: {
      mangle: false, // Disable variable name mangling
      keep_classnames: false,
      keep_fnames: false,
    },
    rollupOptions: {
      input: {
        main: './main.ts',
        logbook: './logbook.ts',
        table: './table.ts',
        // Example for more entry points
        // test: './src/test.ts',
      },
      output: {
        entryFileNames: '[name].js',
        assetFileNames: '[name].css',
      },
    },
    manifest: true, // generate manifest.json in outDir
    outDir: '../static/',
  },
  css: {
    devSourcemap: true, // disabled by default because of performance reasons
  },
})