youzan/fast-uglifyjs-plugin

Name: fast-uglifyjs-plugin

Owner: ??

Description: hight performance uglify plugin for webpack

Created: 2017-02-10 04:02:47.0

Updated: 2018-05-23 04:54:39.0

Pushed: 2017-07-23 05:16:30.0

Homepage:

Size: 49

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

??logo

FastUglifyJsPlugin

Introduction

????

compatible with webpack 2

The uglify process of building project in production environment is very time consuming. It could take up to 70% of the build time. FastUglifyJsPlugin have multi-process and cache feature comparing to webpack's UglifyJsPlugin. Multi-process can utilize multicore cpu's caculation capability. Cache can minimize the need to complie code. Below is a set of performance testing data. FastUglifyJsPlugin has a way better performace.

|plugin|time| |——|———| |webpack.optimize.UglifyJsPlugin|7.4 min| |FastUglifyJsPlugin without cache|4.45 min| |FastUglifyJsPlugin with cache|36 s|

test sample?29 entry,2615 modules

test environment?MacBook Pro?4 core cpu,8g memory

Installation
i fast-uglifyjs-plugin --save

 

 add fast-uglifyjs-plugin
Configuration

FastUglifyJsPlugin is base on webpack.optimize.UglifyJsPlugin. They have the same usage except for a few extra configuration.

FastUglifyJsPlugin = require('fast-uglifyjs-plugin');

le.exports = {
entry: {...},
output: {...},
plugins: [new FastUglifyJsPlugin({
    compress: {
        warnings: false
    },
    // set debug as true to output detail cache information           
    debug: true,
    // enable cache by default to improve uglify performance. set false to turn it off
    cache: false,
    // root directory is the default cache path. it can be configured by following setting
    cacheFolder: path.resolve(__dirname, '.otherFolder'),
    // num of worker process default ,os.cpus().length
    workerNum: 2
})]

Licence

MIT


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.