Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/TrySound/rollup-plugin-uglify
Rollup plugin to minify generated bundle
https://github.com/TrySound/rollup-plugin-uglify
Last synced: 25 days ago
JSON representation
Rollup plugin to minify generated bundle
- Host: GitHub
- URL: https://github.com/TrySound/rollup-plugin-uglify
- Owner: TrySound
- License: mit
- Created: 2015-12-30T21:52:33.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2023-03-20T12:30:36.000Z (over 1 year ago)
- Last Synced: 2024-11-05T05:03:01.790Z (about 1 month ago)
- Language: JavaScript
- Homepage:
- Size: 283 KB
- Stars: 261
- Watchers: 4
- Forks: 42
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome - uglify - Minify a bundle with UglifyJS. (Plugins / Output)
README
# rollup-plugin-uglify [![Travis Build Status][travis-img]][travis]
[travis-img]: https://travis-ci.org/TrySound/rollup-plugin-uglify.svg
[travis]: https://travis-ci.org/TrySound/rollup-plugin-uglify[Rollup](https://github.com/rollup/rollup) plugin to minify generated bundle. Uses [UglifyJS](https://github.com/mishoo/UglifyJS2) under the hood. There are a few improvements over native uglify:
* uglify is run in worker for every chunk
* errors are displayed with [babel code frame](https://babeljs.io/docs/en/next/babel-code-frame.html)_Note: uglify-js is able to transpile only es5 syntax. If you want to transpile es6+ syntax use [terser](https://github.com/TrySound/rollup-plugin-terser) instead_
## Install
```sh
yarn add rollup-plugin-uglify --dev
```*Note: this package requires [email protected] and higher*
## Usage
```js
import { rollup } from "rollup";
import { uglify } from "rollup-plugin-uglify";rollup({
input: "main.js",
plugins: [uglify()]
});
```## Options
```js
uglify(options);
````options` - [uglifyJS API options](https://github.com/mishoo/UglifyJS2/blob/master/README.md#minify-options)
`options.sourcemap: boolean`
Generates source maps and passes them to rollup. Defaults to `true`.
`options.numWorkers: number`
Amount of workers to spawn. Defaults to the number of CPUs minus 1.
## Examples
### Comments
If you'd like to preserve comments (for licensing for example), then you can specify a function to do this like so:
```js
uglify({
output: {
comments: function(node, comment) {
if (comment.type === "comment2") {
// multiline comment
return /@preserve|@license|@cc_on/i.test(comment.value);
}
return false;
}
}
});
```Alternatively, you can also choose to keep all comments (e.g. if a licensing header has already been prepended by a previous rollup plugin):
```js
uglify({
output: {
comments: "all"
}
});
```See [UglifyJS documentation](https://github.com/mishoo/UglifyJS2/blob/master/README.md) for further reference.
# License
MIT © [Bogdan Chadkin](mailto:[email protected])