62 lines
1.3 KiB
TypeScript
62 lines
1.3 KiB
TypeScript
import { defineConfig } from "tsup";
|
|
import { polyfillNode } from "esbuild-plugin-polyfill-node";
|
|
import { dependencies } from "./package.json";
|
|
|
|
export default async () => [
|
|
defineConfig({
|
|
name: "node-cjs",
|
|
entry: ["src/index.ts"],
|
|
platform: "node",
|
|
format: ["cjs"],
|
|
sourcemap: true,
|
|
clean: true,
|
|
}),
|
|
defineConfig({
|
|
name: "browser-iife",
|
|
entry: ["src/index.ts"],
|
|
platform: "browser",
|
|
format: ["iife"],
|
|
globalName: "Tabby",
|
|
minify: true,
|
|
sourcemap: true,
|
|
esbuildPlugins: [
|
|
polyfillNode({
|
|
polyfills: { fs: true },
|
|
}),
|
|
],
|
|
clean: true,
|
|
}),
|
|
defineConfig({
|
|
name: "browser-esm",
|
|
entry: ["src/index.ts"],
|
|
platform: "browser",
|
|
format: ["esm"],
|
|
// FIXME: bundle all dependencies to reduce module resolving problems, not a good solution
|
|
noExternal: Object.keys(dependencies),
|
|
sourcemap: true,
|
|
esbuildPlugins: [
|
|
polyfillNode({
|
|
polyfills: { fs: true },
|
|
}),
|
|
],
|
|
clean: true,
|
|
}),
|
|
defineConfig({
|
|
name: "type-defs",
|
|
entry: ["src/index.ts"],
|
|
dts: {
|
|
only: true,
|
|
},
|
|
clean: true,
|
|
}),
|
|
defineConfig({
|
|
name: "cli",
|
|
entry: ["src/cli.ts"],
|
|
platform: "node",
|
|
noExternal: Object.keys(dependencies),
|
|
minify: true,
|
|
sourcemap: true,
|
|
clean: true,
|
|
}),
|
|
];
|