@getkist/action-terser
v1.0.6
Published
JavaScript minification actions for kist using Terser
Maintainers
Readme
@getkist/action-terser
JavaScript minification actions for kist using Terser.
Installation
npm install @getkist/action-terserUsage
As a kist plugin
# kist.yml
plugins:
- "@getkist/action-terser"
pipeline:
- action: JavaScriptMinifyAction
options:
inputPath: "src/app.js"
outputPath: "dist/app.min.js"Standalone usage
import { JavaScriptMinifyAction } from "@getkist/action-terser";
const action = new JavaScriptMinifyAction();
await action.execute({
inputPath: "src/app.js",
outputPath: "dist/app.min.js",
customConfig: {
compress: {
drop_console: false
}
}
});Actions
JavaScriptMinifyAction
Minifies JavaScript files using Terser to reduce file size and optimize performance.
Options
| Option | Type | Required | Description |
|--------|------|----------|-------------|
| inputPath | string | Yes | Path to the input JavaScript file |
| outputPath | string | Yes | Path where the minified file will be saved |
| customConfig | object | No | Custom Terser configuration to merge with defaults |
Default Terser Configuration
The action uses sensible defaults optimized for production:
- Compression: Drops console statements, removes debugger, dead code elimination
- Mangling: Minifies variable and function names
- Output: Removes comments, no beautification
- ECMAScript: Targets ES5 for broad compatibility
You can override any Terser option via customConfig.
Configuration Examples
Preserve console.log statements
- action: JavaScriptMinifyAction
options:
inputPath: "src/app.js"
outputPath: "dist/app.min.js"
customConfig:
compress:
drop_console: falseGenerate source maps
- action: JavaScriptMinifyAction
options:
inputPath: "src/app.js"
outputPath: "dist/app.min.js"
customConfig:
sourceMap:
filename: "app.min.js.map"
url: "app.min.js.map"Target modern browsers (ES2020)
- action: JavaScriptMinifyAction
options:
inputPath: "src/app.js"
outputPath: "dist/app.min.js"
customConfig:
ecma: 2020
module: trueLicense
MIT
