sdk/vite.config.ts

55 lines
1.5 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import scopeTailwind from "vite-plugin-scope-tailwind";
import { resolve } from "path";
import svgr from "vite-plugin-svgr";
import dts from "vite-plugin-dts";
import { nodePolyfills } from "vite-plugin-node-polyfills";
import optimizer from "vite-plugin-optimizer";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
svgr(),
react(),
scopeTailwind({ react: true }),
dts({
tsconfigPath: "tsconfig.build.json",
}),
optimizer({
"node-fetch":
"const e = undefined; export default e;export {e as Response, e as FormData, e as Blob};",
}),
nodePolyfills({
exclude: ["fs"],
globals: { Buffer: true, global: true, process: true },
}),
// css({ output: 'styles/globals.css' })
],
resolve: {
dedupe: ["@lumeweb/libportal", "@lumeweb/libweb", "@lumeweb/libkernel"],
// TODO: For some reason aliases are not working....
// alias: {
// '@styles/': resolve(__dirname, './styles'),
// '@components/': resolve(__dirname, './src/components'),
// '@assets/': resolve(__dirname, './src/assets'),
// '@': resolve(__dirname, './src'),
// },
},
build: {
manifest: false,
outDir: "lib",
emptyOutDir: true,
sourcemap: true,
minify: false,
lib: {
entry: resolve(__dirname, "src/index.ts"),
name: "sdk",
fileName: (format) => `lib.${format}.js`,
},
rollupOptions: {
external: ["react", "react-dom"],
},
},
});