terser-webpack-plugin
- Version 5.6.1
- Published
- 180 kB
- 4 dependencies
- MIT license
Install
npm i terser-webpack-pluginyarn add terser-webpack-pluginpnpm add terser-webpack-pluginOverview
Minimizer plugin for webpack
Index
Functions
Classes
Type Aliases
- Asset
- AssetInfo
- BasePluginOptions
- BasicMinimizerImplementation
- Compilation
- Compiler
- CustomOptions
- DefinedDefaultMinimizerAndOptions
- ErrorObject
- EXPECTED_ANY
- EXPECTED_OBJECT
- ExtractCommentsBanner
- ExtractCommentsCondition
- ExtractCommentsFilename
- ExtractCommentsFunction
- ExtractCommentsObject
- ExtractCommentsOptions
- InferDefaultType
- Input
- InternalOptions
- InternalPluginOptions
- JestWorker
- MinimizedResult
- MinimizeFunctionHelpers
- MinimizerImplementation
- MinimizerOptions
- MinimizerWorker
- Parallel
- RawSourceMap
- Rule
- Rules
- Schema
- TemplatePath
- TraceMap
Namespaces
Functions
function cleanCssMinify
cleanCssMinify: typeof cleanCssMinify;Minify CSS using
clean-css.Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function cssnanoMinify
cssnanoMinify: typeof cssnanoMinify;Minify CSS using
cssnano(viapostcss).Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function cssoMinify
cssoMinify: typeof cssoMinify;Minify CSS using
csso.Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function esbuildMinify
esbuildMinify: typeof esbuildMinify;Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function esbuildMinifyCss
esbuildMinifyCss: typeof esbuildMinifyCss;Minify CSS using
esbuild(with the CSS loader).Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function htmlMinifierTerser
htmlMinifierTerser: typeof htmlMinifierTerser;Minify HTML using
html-minifier-terser.Parameter input
input
Parameter sourceMap
source map (ignored for HTML)
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function jsonMinify
jsonMinify: typeof jsonMinify;Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function lightningCssMinify
lightningCssMinify: typeof lightningCssMinify;Minify CSS using
lightningcss.Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function minifyHtmlNode
minifyHtmlNode: typeof minifyHtmlNode;Minify HTML using
@minify-html/node.Parameter input
input
Parameter sourceMap
source map (ignored for HTML)
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function swcMinify
swcMinify: typeof swcMinify;Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Parameter extractComments
extract comments option
Returns
{Promise} minimized result
function swcMinifyCss
swcMinifyCss: typeof swcMinifyCss;Minify CSS using
@swc/css.Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function swcMinifyHtml
swcMinifyHtml: typeof swcMinifyHtml;Minify a complete HTML document using
@swc/html.Parameter input
input
Parameter sourceMap
source map (ignored for HTML)
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function swcMinifyHtmlFragment
swcMinifyHtmlFragment: typeof swcMinifyHtmlFragment;Minify an HTML fragment using
@swc/html.Use this for partial HTML (e.g. inside
<template></template>tags or HTML strings that are inserted into another document).Parameter input
input
Parameter sourceMap
source map (ignored for HTML)
Parameter minimizerOptions
options
Returns
{Promise} minimized result
function terserMinify
terserMinify: typeof terserMinify;Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Parameter extractComments
extract comments option
Returns
{Promise} minimized result
function uglifyJsMinify
uglifyJsMinify: typeof uglifyJsMinify;Parameter input
input
Parameter sourceMap
source map
Parameter minimizerOptions
options
Parameter extractComments
extract comments option
Returns
{Promise} minimized result
Classes
class TerserPlugin
class TerserPlugin<T = import('terser').MinifyOptions> {}[T=import("terser").MinifyOptions]
constructor
constructor( options?: BasePluginOptions & ( | { minify?: MinimizerImplementation<T>; minimizerOptions?: MinimizerOptions<T>; terserOptions?: MinimizerOptions<T>; } | { minify: MinimizerImplementation<T>; minimizerOptions?: MinimizerOptions<T>; terserOptions?: MinimizerOptions<T>; } ));Parameter options
options
method apply
apply: (compiler: any) => void;Parameter compiler
compiler
Returns
{void}
Type Aliases
type Asset
type Asset = import('webpack').Asset;type AssetInfo
type AssetInfo = import('webpack').AssetInfo;type BasePluginOptions
type BasePluginOptions = { /** * test rule */ test?: Rules | undefined; /** * include rile */ include?: Rules | undefined; /** * exclude rule */ exclude?: Rules | undefined; /** * extract comments options */ extractComments?: ExtractCommentsOptions | undefined; /** * parallel option */ parallel?: Parallel | undefined;};type BasicMinimizerImplementation
type BasicMinimizerImplementation<T> = ( input: Input, sourceMap: RawSourceMap | undefined, minifyOptions: MinimizerOptions<T>, extractComments: ExtractCommentsOptions | undefined) => Promise<MinimizedResult> | MinimizedResult;type Compilation
type Compilation = import('webpack').Compilation;type Compiler
type Compiler = import('webpack').Compiler;type CustomOptions
type CustomOptions = { [key: string]: EXPECTED_ANY;};type DefinedDefaultMinimizerAndOptions
type DefinedDefaultMinimizerAndOptions<T> = T extends import('terser').MinifyOptions ? { minify?: MinimizerImplementation<T> | undefined; minimizerOptions?: MinimizerOptions<T> | undefined; terserOptions?: MinimizerOptions<T> | undefined; } : { minify: MinimizerImplementation<T>; minimizerOptions?: MinimizerOptions<T> | undefined; terserOptions?: MinimizerOptions<T> | undefined; };type ErrorObject
type ErrorObject = { /** * message */ message: string; /** * line number */ line?: number | undefined; /** * column number */ column?: number | undefined; /** * error stack trace */ stack?: string | undefined;};type EXPECTED_ANY
type EXPECTED_ANY = any;type EXPECTED_OBJECT
type EXPECTED_OBJECT = object;type ExtractCommentsBanner
type ExtractCommentsBanner = boolean | string | ((commentsFile: string) => string);type ExtractCommentsCondition
type ExtractCommentsCondition = | boolean | 'all' | 'some' | RegExp | ExtractCommentsFunction;type ExtractCommentsFilename
type ExtractCommentsFilename = TemplatePath;type ExtractCommentsFunction
type ExtractCommentsFunction = ( astNode: EXPECTED_ANY, comment: { value: string; type: 'comment1' | 'comment2' | 'comment3' | 'comment4'; pos: number; line: number; col: number; }) => boolean;type ExtractCommentsObject
type ExtractCommentsObject = { /** * condition which comments need to be expected */ condition?: ExtractCommentsCondition | undefined; /** * filename for extracted comments */ filename?: ExtractCommentsFilename | undefined; /** * banner in filename for extracted comments */ banner?: ExtractCommentsBanner | undefined;};type ExtractCommentsOptions
type ExtractCommentsOptions = ExtractCommentsCondition | ExtractCommentsObject;type InferDefaultType
type InferDefaultType<T> = T extends infer U ? U : CustomOptions;type Input
type Input = { [file: string]: string;};type InternalOptions
type InternalOptions<T> = { /** * name */ name: string; /** * input */ input: string; /** * input source map */ inputSourceMap: RawSourceMap | undefined; /** * extract comments option */ extractComments: ExtractCommentsOptions | undefined; /** * minimizer */ minimizer: { implementation: MinimizerImplementation<T>; options: MinimizerOptions<T>; }; /** * true when code is a EC module, otherwise false */ module?: boolean | undefined; /** * ecma version */ ecma?: (number | string) | undefined;};type InternalPluginOptions
type InternalPluginOptions<T> = BasePluginOptions & { minimizer: { implementation: MinimizerImplementation<T>; options: MinimizerOptions<T>; };};type JestWorker
type JestWorker = import('jest-worker').Worker;type MinimizedResult
type MinimizedResult = { /** * code */ code?: string | undefined; /** * source map */ map?: RawSourceMap | undefined; /** * errors */ errors?: (Error | string)[] | undefined; /** * warnings */ warnings?: (Error | string)[] | undefined; /** * extracted comments */ extractedComments?: string[] | undefined;};type MinimizeFunctionHelpers
type MinimizeFunctionHelpers = { /** * function that returns version of minimizer */ getMinimizerVersion?: (() => string | undefined) | undefined; /** * true when minimizer support worker threads, otherwise false */ supportsWorkerThreads?: (() => boolean | undefined) | undefined; /** * true when minimizer support worker, otherwise false */ supportsWorker?: (() => boolean | undefined) | undefined; /** * return true when the minimizer supports the asset, otherwise false. When an array of minimizers is configured, each asset is dispatched only to the minimizers whose `filter` accepts it. Assets rejected by every minimizer in the array are skipped entirely. */ filter?: ((name: string, info?: AssetInfo) => boolean | undefined) | undefined;};type MinimizerImplementation
type MinimizerImplementation<T> = T extends EXPECTED_ANY[] ? { [P in keyof T]: BasicMinimizerImplementation<T[P]> & MinimizeFunctionHelpers; } : BasicMinimizerImplementation<T> & MinimizeFunctionHelpers;type MinimizerOptions
type MinimizerOptions<T> = T extends EXPECTED_ANY[] ? { [P in keyof T]?: T[P] & InferDefaultType<T[P]> } : T & InferDefaultType<T>;type MinimizerWorker
type MinimizerWorker<T> = JestWorker & { transform: (options: string) => Promise<MinimizedResult>; minify: (options: InternalOptions<T>) => Promise<MinimizedResult>;};type Parallel
type Parallel = undefined | boolean | number;type RawSourceMap
type RawSourceMap = import('@jridgewell/trace-mapping').EncodedSourceMap & { sources: string[]; sourcesContent?: string[]; file: string;};type Rule
type Rule = RegExp | string;type Rules
type Rules = Rule[] | Rule;type Schema
type Schema = import('schema-utils/declarations/validate').Schema;type TemplatePath
type TemplatePath = import('webpack').TemplatePath;type TraceMap
type TraceMap = import('@jridgewell/trace-mapping').TraceMap;Namespaces
namespace cleanCssMinify
namespace cleanCssMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker threads are supported
namespace cssnanoMinify
namespace cssnanoMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker threads are supported
namespace cssoMinify
namespace cssoMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker threads are supported
namespace esbuildMinify
namespace esbuildMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a JavaScript file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker thread is supported, false otherwise
namespace esbuildMinifyCss
namespace esbuildMinifyCss {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
esbuildis a native binding
namespace htmlMinifierTerser
namespace htmlMinifierTerser {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like an HTML file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker threads are supported
namespace jsonMinify
namespace jsonMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a JSON file
function getMinimizerVersion
getMinimizerVersion: () => string;function supportsWorker
supportsWorker: () => boolean;function supportsWorkerThreads
supportsWorkerThreads: () => boolean;namespace lightningCssMinify
namespace lightningCssMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
lightningcssis a native binding
namespace minifyHtmlNode
namespace minifyHtmlNode {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like an HTML file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
@minify-html/nodeis a native binding
namespace swcMinify
namespace swcMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a JavaScript file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker thread is supported, false otherwise
namespace swcMinifyCss
namespace swcMinifyCss {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a CSS file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
@swc/cssis a native binding
namespace swcMinifyHtml
namespace swcMinifyHtml {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like an HTML file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
@swc/htmlis a native binding
namespace swcMinifyHtmlFragment
namespace swcMinifyHtmlFragment {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like an HTML file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} false because
@swc/htmlis a native binding
namespace terserMinify
namespace terserMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a JavaScript file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker thread is supported, false otherwise
namespace uglifyJsMinify
namespace uglifyJsMinify {}function filter
filter: (name: string) => boolean;Parameter name
asset name
Returns
{boolean} true if
namelooks like a JavaScript file
function getMinimizerVersion
getMinimizerVersion: () => string | undefined;Returns
{string | undefined} the minimizer version
function supportsWorkerThreads
supportsWorkerThreads: () => boolean | undefined;Returns
{boolean | undefined} true if worker thread is supported, false otherwise
Package Files (2)
Dependencies (4)
Dev Dependencies (42)
- @babel/cli
- @babel/core
- @babel/preset-env
- @changesets/cli
- @changesets/get-github-info
- @minify-html/node
- @swc/core
- @swc/css
- @swc/html
- @types/clean-css
- @types/csso
- @types/html-minifier-terser
- @types/node
- @types/serialize-javascript
- @types/uglify-js
- clean-css
- copy-webpack-plugin
- cspell
- cssnano
- csso
- del
- del-cli
- esbuild
- eslint
- eslint-config-webpack
- file-loader
- html-minifier-terser
- husky
- jest
- lightningcss
- lint-staged
- memfs
- npm-run-all
- postcss
- prettier
- prettier-2
- serialize-javascript
- typescript
- uglify-js
- webpack
- webpack-cli
- worker-loader
Peer Dependencies (1)
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/terser-webpack-plugin.
- Markdown[](https://www.jsdocs.io/package/terser-webpack-plugin)
- HTML<a href="https://www.jsdocs.io/package/terser-webpack-plugin"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 4712 ms. - Missing or incorrect documentation? Open an issue for this package.
