import react from "@vitejs/plugin-react"; import { defineConfig } from "vite"; import dts from "vite-plugin-dts"; export default defineConfig({ root: __dirname, cacheDir: "../../../node_modules/.vite/packages/react-packer", plugins: [ react(), dts({ entryRoot: "src", tsconfigPath: "./tsconfig.lib.json", insertTypesEntry: true, }), ], build: { outDir: "./dist", emptyOutDir: true, reportCompressedSize: true, sourcemap: true, lib: { entry: { index: "src/index.ts", "hooks/use-packed-resource/use-packed-resource": "src/hooks/use-packed-resource/use-packed-resource.ts", "hooks/use-packed-image/use-packed-image": "src/hooks/use-packed-image/use-packed-image.ts", "hooks/use-packed-audio/use-packed-audio": "src/hooks/use-packed-audio/use-packed-audio.ts", "hooks/use-packed-video/use-packed-video": "src/hooks/use-packed-video/use-packed-video.ts", "hooks/use-packed-font/use-packed-font": "src/hooks/use-packed-font/use-packed-font.ts", "provider/packed-resource-provider/packed-resource-provider": "src/provider/packed-resource-provider/packed-resource-provider.tsx", }, formats: ["es"], }, rollupOptions: { treeshake: true, output: { preserveModules: true, preserveModulesRoot: "src", entryFileNames: "[name].js", }, external: [ "@suaveplan/error", "@suaveplan/packer-browser", "@suaveplan/packer-browser/singleton", "@suaveplan/types", "react", "react-dom", "react/jsx-runtime", "tslib", /^node:/, ], }, }, });