export default defineConfig()

in vite.config.js [15:91]


export default defineConfig(({ mode }) => {
  return {
    resolve: {
      alias: {
        '$lib': path.resolve(__dirname, "src/lib"),
        '$assets': path.resolve(__dirname, "src/assets"),
      },
    },
    esbuild: {
      // remove console.log and debugger statements from production builds
      drop: ["debugger"],
      pure: ["console.log", "console.error", "console.warn", "console.debug", "console.trace"],
    },
    css: {
      postcss: {
        plugins: [autoprefixer()],
      },
      devSourcemap: true,
    },
    plugins: [
      replace({
        values: {
          __assetsPath__: assetsPath,
        },
        preventAssignment: true,
      }),

      svelte({
        configFile: path.resolve(__dirname, "svelte.config.js"),
      }),

      preact(),

      testHarness(),

      // generate prerendered HTML
      // NOTE: Only works when you don't reference 'document' or 'window' in Svelte components.
      // If you really need to use either of those, disable prerendering here.
      prerender(),

      viteStaticCopy({
        targets: [
          {
            src: path.resolve(__dirname, 'src/assets/**/*'),
            dest: path.resolve(__dirname, `build/assets`)
          }
        ]
      }),
      
      Inspect(),
    ],
    root: path.resolve(__dirname, "src/atoms"),
    publicDir: path.resolve(__dirname, "src/assets"),
    build: {
      copyPublicDir: false,
      sourcemap: true,
      target: "es2015",
      emptyOutDir: true,
      cssCodeSplit: false,
      rollupOptions: {
        input: path.resolve(__dirname, `src/atoms/${mode}/app.js`),
        output: {
          dir: path.resolve(__dirname, `build/${mode}`),
          entryFileNames: "[name].js",
          assetFileNames: "style.[ext]",
          format: 'iife',
        },
      },
    },
    ssr: {
      // Dependences are not run through Vite's transform module by default.
      // In some cases, you might want to uncomment this setting, e.g. when
      // you want a React module to work with preact/compat aliasing.
      // noExternal: true,
    }
  };
});