@getkist/action-tsup
v1.0.7
Published
TypeScript bundling actions for kist using tsup
Maintainers
Readme
@getkist/action-tsup
TypeScript bundling actions for kist using tsup (powered by esbuild).
Installation
npm install @getkist/action-tsupUsage
As a kist plugin
# kist.yml
plugins:
- "@getkist/action-tsup"
pipeline:
- action: BundleAction
options:
entry: "src/index.ts"
outDir: "dist"
format: ["esm", "cjs"]
dts: trueStandalone usage
import { BundleAction } from "@getkist/action-tsup";
const action = new BundleAction();
await action.execute({
entry: "src/index.ts",
outDir: "dist",
format: ["esm", "cjs"],
dts: true,
minify: true,
sourcemap: true
});Actions
BundleAction
Bundles TypeScript/JavaScript files using tsup (powered by esbuild).
Options
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| entry | string \| string[] \| Record<string, string> | required | Entry point(s) for the bundle |
| outDir | string | "dist" | Output directory |
| format | "esm" \| "cjs" \| "iife" \| Array | "esm" | Output format(s) |
| dts | boolean | true | Generate TypeScript declaration files |
| sourcemap | boolean | false | Generate sourcemaps |
| minify | boolean | false | Minify output |
| clean | boolean | true | Clean output directory before build |
| splitting | boolean | false | Split code into chunks |
| target | string | "node20" | Target environment |
| external | string[] | [] | External packages to exclude |
| configPath | string | - | Path to tsup config file |
| tsupOptions | object | {} | Additional tsup options |
Configuration Examples
Multiple entry points
- action: BundleAction
options:
entry:
main: "src/index.ts"
cli: "src/cli.ts"
outDir: "dist"
format: ["esm", "cjs"]Browser bundle (IIFE)
- action: BundleAction
options:
entry: "src/browser.ts"
outDir: "dist"
format: "iife"
minify: true
target: "es2020"Library with sourcemaps
- action: BundleAction
options:
entry: "src/index.ts"
format: ["esm", "cjs"]
dts: true
sourcemap: true
external:
- "react"
- "react-dom"Code splitting for ESM
- action: BundleAction
options:
entry:
- "src/index.ts"
- "src/utils.ts"
format: "esm"
splitting: trueLicense
MIT
