import { defineConfig } from "vite"; import dts from "vite-plugin-dts"; export default defineConfig({ root: __dirname, cacheDir: "../../../node_modules/.vite/packages/db-sqlite", worker: { format: "es", }, plugins: [ dts({ entryRoot: "src", tsconfigPath: "./tsconfig.lib.json", insertTypesEntry: true, }), ], build: { outDir: "./dist", emptyOutDir: true, reportCompressedSize: true, sourcemap: true, lib: { entry: { index: "src/index.ts", "unsafe/index": "src/unsafe/index.ts", "adapter/adapter.bun": "src/adapter/adapter.bun.ts", "adapter/adapter.wasm": "src/adapter/adapter.wasm.ts", }, formats: ["es"], }, rollupOptions: { treeshake: true, output: { preserveModules: true, preserveModulesRoot: "src", entryFileNames: "[name].js", }, external: (id) => id.startsWith("@suaveplan/") || id.startsWith("node:") || id.startsWith("drizzle-orm") || [ "bun:sqlite", "@sqlite.org/sqlite-wasm", "@opentelemetry/api", "tslib", "zod", ].includes(id), }, }, });