packages/core/tsup.config.ts
import { defineConfig } from "tsup";
import { lodashReplacePlugin } from "../shared/lodash-replace-plugin";
import { markAsExternalPlugin } from "../shared/mark-as-external-plugin";
import { replaceCoreVersionPlugin } from "../shared/replace-core-version-plugin";
export default defineConfig((options) => ({
entry: ["src/index.tsx"],
splitting: false,
sourcemap: true,
clean: false,
minify: true,
format: ["cjs", "esm"],
outExtension: ({ format }) => ({ js: format === "cjs" ? ".cjs" : ".mjs" }),
platform: "browser",
esbuildPlugins: [
replaceCoreVersionPlugin,
lodashReplacePlugin,
markAsExternalPlugin,
],
esbuildOptions(options) {
options.keepNames = true;
options.banner = {
js: '"use client"',
};
},
onSuccess: options.watch ? "pnpm types" : undefined,
}));