import { defineConfig } from "vite"; import dts from "vite-plugin-dts"; import { resolve } from "node:path"; import { fileURLToPath } from "node:url"; const __dirname = fileURLToPath(new URL(".", import.meta.url)); export default defineConfig({ build: { lib: { entry: { index: resolve(__dirname, "src/index.ts"), "bluetooth-utils/index": resolve( __dirname, "src/bluetooth-utils/index.ts", ), "nfc/index": resolve(__dirname, "src/nfc/index.js"), "printer/index": resolve(__dirname, "src/printer/index.ts"), "request/index": resolve(__dirname, "src/request/index.ts"), "uni-helper/index": resolve(__dirname, "src/uni-helper/index.ts"), "upload/index": resolve(__dirname, "src/upload/index.ts"), "vue3/index": resolve(__dirname, "src/vue3/index.ts"), }, formats: ["es", "cjs"], fileName: (format, entryName) => `${entryName}.${format === "es" ? "mjs" : "cjs"}`, }, rollupOptions: { external: ["vue", "lodash", /^@r-utils\/.*/], output: { chunkFileNames: "chunks/[name]-[hash].js", assetFileNames: "assets/[name]-[hash][extname]", }, }, sourcemap: true, }, resolve: { alias: { "@": resolve(__dirname, "src"), }, }, plugins: [ dts({ include: ["src", "types"], outDir: "dist", }), ], });