import { defineConfig } from "tsup";

export default defineConfig({
  entry: ["src/index.ts"],
  splitting: false,
  sourcemap: false,
  terserOptions: {
    compress: true,
    mangle: false,
    ecma: 5,
    format: {
      ecma: 5,
      semicolons: true,
    },
  },
  clean: true,
  outDir: "dist",
  target: "es6",
  format: ["cjs", "esm", "iife"],
  outExtension(ctx) {
    switch (ctx.format) {
      case "cjs":
        return { js: ".cjs", dts: ".cts" };
      case "esm":
        return { js: ".js", dts: ".ts" };
      default:
        return { js: ".iife.js" };
    }
  },
  minify: "terser",
  dts: true,
});