Registry / devops / terser-loader

terser-loader

JSON →
library2.0.3jsnpmunverified

terser-loader is a webpack loader that minifies JavaScript using Terser, a modern ES6+ capable minifier. Version 2.0.3 is the latest stable release, with peer dependency on webpack ^4 || ^5. It offers options like `terserOptions` passed directly to Terser API and `stripTrailingSemicolon`. Unlike the official `terser-webpack-plugin`, this is a loader (not a plugin) integrated in webpack's module rules pipeline, useful for selective minification alongside other loaders. Low release cadence but functional for specific use cases.

npm install terser-loader
INSTALL
IMPORT
SIG · TERSER-LOADER
T
terser-loader
devopsjavascriptv2.0.3
Install
Import
Disk
Pass rate
0/ 6
Env Coverage0 / 6
glibc
1822
musl
1822
Install & Compatibility
Where this runs
tested against v? · npm install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
node 18226 runs
build_error
glibc
node 18226 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

terser-loader
import TerserLoader from 'terser-loader';
const TerserLoader = require('terser-loader');
ESM default import; CommonJS require works but not recommended for modern webpack configs if using ESM.

Configures terser-loader to minify all .js files, removing console.log and trailing semicolons. Use in production builds.

// webpack.config.js const path = require('path'); module.exports = { entry: './src/index.js', output: { path: path.resolve(__dirname, 'dist'), filename: 'bundle.js', }, module: { rules: [ { test: /\.js$/, use: [ { loader: 'terser-loader', options: { terserOptions: { compress: { drop_console: true, }, }, stripTrailingSemicolon: true, }, }, ], }, ], }, mode: 'production', };
Debug
Known issues
gotchaLoader is not a plugin; it runs on each module individually, not on the final bundle. Use terser-webpack-plugin for bundle-level minification.
fix
If you need bundle-level minification, use terser-webpack-plugin instead.
affects: >=1.0.0
breakingVersion 2.0.0 dropped support for webpack <4.
fix
Upgrade webpack to ^4 || ^5, or stick to terser-loader@1 for webpack 3.
affects: >=2.0.0
deprecatedThe stripTrailingSemicolon option is non-standard and may be removed in future versions.
fix
Use terserOptions.output.semicolon = false instead.
affects: >=1.0.0
Errors
Common errors & fixes
Module not found: Error: Can't resolve 'terser'
Missing Terser peer dependency
fix
Install terser as a dev dependency: npm install --save-dev terser
ValidationError: Invalid options object. Terser Loader has been initialized using an options object that does not match the API schema.
Options passed are not recognized
fix
Check terserOptions for valid Terser options; do not use options like 'output' directly on the loader.
Error: webpack <4 is not supported
Using terser-loader@2 with webpack 3 or lower
fix
Upgrade webpack to version 4 or 5, or install terser-loader@1
Upgrade
Version history
2.0.3latest on npm
Audit
Dependencies
webpackrequiredPeer dependency – requires webpack 4 or 5 to function
Agent activity
10 hits · last 30 days
node
10
Resources
terser-loader — npm install terser-loader · libregistry