From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- node_modules/uglifyjs-webpack-plugin/CHANGELOG.md | 332 ++++++++++++++++ node_modules/uglifyjs-webpack-plugin/LICENSE | 20 + node_modules/uglifyjs-webpack-plugin/README.md | 434 +++++++++++++++++++++ node_modules/uglifyjs-webpack-plugin/dist/cjs.js | 3 + node_modules/uglifyjs-webpack-plugin/dist/index.js | 384 ++++++++++++++++++ .../uglifyjs-webpack-plugin/dist/options.json | 74 ++++ .../uglifyjs-webpack-plugin/dist/uglify/Runner.js | 136 +++++++ .../uglifyjs-webpack-plugin/dist/uglify/minify.js | 179 +++++++++ .../uglifyjs-webpack-plugin/dist/uglify/worker.js | 20 + .../node_modules/.bin/uglifyjs | 1 + .../node_modules/.bin/webpack | 1 + node_modules/uglifyjs-webpack-plugin/package.json | 88 +++++ 12 files changed, 1672 insertions(+) create mode 100644 node_modules/uglifyjs-webpack-plugin/CHANGELOG.md create mode 100644 node_modules/uglifyjs-webpack-plugin/LICENSE create mode 100644 node_modules/uglifyjs-webpack-plugin/README.md create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/cjs.js create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/index.js create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/options.json create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/uglify/Runner.js create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/uglify/minify.js create mode 100644 node_modules/uglifyjs-webpack-plugin/dist/uglify/worker.js create mode 120000 node_modules/uglifyjs-webpack-plugin/node_modules/.bin/uglifyjs create mode 120000 node_modules/uglifyjs-webpack-plugin/node_modules/.bin/webpack create mode 100644 node_modules/uglifyjs-webpack-plugin/package.json (limited to 'node_modules/uglifyjs-webpack-plugin') diff --git a/node_modules/uglifyjs-webpack-plugin/CHANGELOG.md b/node_modules/uglifyjs-webpack-plugin/CHANGELOG.md new file mode 100644 index 00000000..c4a0cae1 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/CHANGELOG.md @@ -0,0 +1,332 @@ +# Change Log + +All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. + + +# [1.3.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.7...v1.3.0) (2018-08-14) + + +### Bug Fixes + +* all nodejs globals avaliable inside `minify` function ([#332](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/332)) ([24fe22b](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/24fe22b)) +* **uglify/Runner:** `cpus` length in a chroot environment (`os.cpus()`) ([#341](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/341)) ([6d9c36f](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/6d9c36f)) + + +### Features + +* `cacheKeys` option ([#320](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/320)) ([249eef3](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/249eef3)) +* support `minify` function option ([#325](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/325)) ([0174605](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/0174605)) + + + + +## [1.2.7](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.6...v1.2.7) (2018-06-25) + + +### Bug Fixes + +* no warning when `warningsFilter` return false ([#317](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/317)) ([cabee6c](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/cabee6c)) + + + + +## [1.2.6](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.5...v1.2.6) (2018-06-20) + + +### Bug Fixes + +* disable inline optimization by default ([#308](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/308)) ([6ab0918](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/6ab0918)) +* don't use a worker farm unless more than one process is required ([#280](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/280)) ([3f0767b](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/3f0767b)) +* better handle invalid source map ([#284](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/284)) ([dbebb3b](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/dbebb3b)) +* perf regression with memory usage for source maps ([#305](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/305)) ([3ca5eaf](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/3ca5eaf)) +* return missing important information for uglify warnings ([#306](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/306)) ([4f50156](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/4f50156)) + + + + +## [1.2.5](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.4...v1.2.5) (2018-04-18) + + +### Bug Fixes + +* don't handle invalid source map ([#268](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/268)) ([693e45e](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/693e45e)) + + +### Performance Improvements + +* **sourcemaps:** reduce memory usage ([#276](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/276)) ([0b11134](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/0b11134)) + + + + +## [1.2.4](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.3...v1.2.4) (2018-03-16) + + +### Bug Fixes + +* **index:** correct default asset name `{RegExp}` (`options.test`) ([#259](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/259)) ([f9e55fe](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/f9e55fe)) +* **index:** don't remove legal comments by default (`options.extractComments`) ([#250](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/250)) ([b31b574](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/b31b574)) + + + + +## [1.2.3](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.2...v1.2.3) (2018-03-10) + + +### Bug Fixes + +* **index:** correct `[name].js.LICENSE` file path (`options.extractComments`) ([#249](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/249)) ([430111c](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/430111c)) +* **index:** relax default asset name `{RegExp}` (`options.test`) ([#251](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/251)) ([d27e822](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/d27e822)) +* **package:** update `schema-utils` v0.4.3...0.4.5 (`dependencies`) ([#255](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/255)) ([4c0feb8](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/4c0feb8)) +* **package:** update`cacache` v10.0.1...10.0.4 (`dependencies`) ([#253](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/253)) ([8b0c0cd](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/8b0c0cd)) + + +### Performance Improvements + +* **index:** switch to `md4` for content hashing ([#243](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/243)) ([14d2c4c](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/14d2c4c)) + + + + +## [1.2.2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.1...v1.2.2) (2018-02-24) + + +### Bug Fixes + +* **index:** typo `buildMobule` => `buildModule` ([#242](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/242)) ([259adad](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/259adad)) +* **package:** add `webpack >= v4.0.0` (`peerDependencies`) ([#239](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/239)) ([4c7f80a](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/4c7f80a)) + + + + +## [1.2.1](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.2.0...v1.2.1) (2018-02-23) + + +### Bug Fixes + +* **index:** `tapable` deprecation warnings (`webpack >= v4.0.0`) ([#238](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/238)) ([23b1b38](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/23b1b38)) + + + + +# [1.2.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.8...v1.2.0) (2018-02-16) + + +### Features + +* **uglify:** add missing `toplevel`, `nameCache`, `keep_classnames`, `keep_fnames` and `safari10` options (`uglifyOptions`) ([#229](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/229)) ([990de2a](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/990de2a)) + + + + +## [1.1.8](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.7...v1.1.8) (2018-01-29) + + +### Bug Fixes + +* **package:** use `prepare` instead of `prepublish` for release ([43ffa48](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/43ffa48)) + + +### Reverts + +* **README:** `mangle.props` instead of `mangle.properties` ([44b77e3](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/44b77e3)) + + + + +## [1.1.7](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.6...v1.1.7) (2018-01-29) + + +### Bug Fixes + +* **index:** reduce memory consumption (`cacheKey.hash`) ([#215](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/215)) ([2343274](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/2343274)) + + + +## [1.1.6](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.5...v1.1.6) (2018-01-05) + + +### Bug Fixes + +* **index:** don't pass `compilation` as an argument to `UglifyJsPlugin.buildError` ([#201](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/201)) ([339ca10](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/339ca10)) + + +### Reverts + +* **package:** use exact `uglify-es` version (`dependencies`) ([#199](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/199)) ([#202](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/202)) ([426bafd](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/426bafd)) + + + + +## [1.1.5](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.4...v1.1.5) (2017-12-27) + + +### Bug Fixes + +* **package:** use exact `uglify-es` version (`dependencies`) ([#199](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/199)) ([2e2ed36](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/2e2ed36)) + + + + +## [1.1.4](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.3...v1.1.4) (2017-12-14) + + +### Chores + +* update `uglify-es` v3.2.0...v3.2.1 ([#190](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/190)) ([b356f74](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/b356f74)) + + + + +## [1.1.3](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.2...v1.1.3) (2017-12-14) + + +### Refactoring + +* use `serialize-javascript` package instead own implementatin ([#183](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/183)) ([8d7ebcd](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/8d7ebcd)) + + + + +## [1.1.2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.1...v1.1.2) (2017-11-30) + + +### Chores + +* update `uglify-es` v3.1.3...3.2.0 ([#176](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/176)) ([3be7f62](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/3be7f62)) + + + + +## [1.1.1](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.1.0...v1.1.1) (2017-11-23) + + +### Bug Fixes + +* comments behavior (`options.uglifyOptions.comments/options.extractComments`) ([#174](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/174)) ([321c9f6](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/321c9f6)) +* **index:** ensure to nullify `inputSourceMap` if `sourcemap` is unavailable (`devtool`) ([#169](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/169)) ([062ec72](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/062ec72)) +* **index:** set `maxConcurrentCallsPerWorker` to 1 (`options.parallel`) ([#173](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/173)) ([07c57c1](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/07c57c1)) + + + + +# [1.1.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.1...v1.1.0) (2017-11-19) + + +### Bug Fixes + +* **index:** `exclude` is ignored (`options.exclude`) ([#164](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/164)) ([ad17690](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/ad17690)) +* pass of `{Boolean|Function}` parameters being ignored (`options.extractComments`) ([#168](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/168)) ([2c06f46](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/2c06f46)) + + +### Features + +* `include` option ([#167](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/167)) ([bbe0ef5](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/bbe0ef5)) + + + + +## [1.0.1](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0...v1.0.1) (2017-10-24) + + +### Bug Fixes + +* **minify:** `nameCache` assignment (`uglifyOptions.nameCache`) ([#147](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/147)) ([af11e8e](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/af11e8e)) + + + + +# [1.0.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0-rc.0...v1.0.0) (2017-10-23) + + +### Features + +* update to `uglify-es` ([#63](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/63)) ([1d62560](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/1d62560)) + +* add support for `parallelization` && `caching` (`options.parallel`) ([#77](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/77)) ([ee16639](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/ee16639)) +* **index:** add `options` validation (`schema-utils`) ([#80](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/80)) ([f19b2de](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/f19b2de)) + + +### Bug Fixes + +* **deps:** cacache@10 with ISC licence ([#145](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/145)) ([9331034](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/9331034)) +* typo "filterd" -> "filtered" ([#37](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/37)) ([238c373](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/238c373)) +* **package:** mv uglify2 to `dependencies` && update `peerDependencies` ([#45](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/45)) ([93b0cd2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/93b0cd2)) +* **uglify:** use Compress API not ast.transform ([990f2e2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/990f2e2)) + + +### Code Refactoring + +* apply `webpack-defaults` ([#35](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/35)) ([f6c5aa9](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/f6c5aa9)) + + +### BREAKING CHANGES + +* Enforces `peerDependencies` of `"webpack": ">= 3.0.0-rc.0 || ^3.0.0"`. +* Enforces `engines` of `"node": ">=4.3.0 < 5.0.0 || >= 5.10` + + + + +# [1.0.0-rc.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0-beta.2...v1.0.0-rc.0) (2017-10-23) + + + + +# [1.0.0-beta.3](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0-beta.2...v1.0.0-beta.3) (2017-09-29) + + + + +# [1.0.0-beta.2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0-beta.1...v1.0.0-beta.2) (2017-07-21) + + +### Features + +* add support for `parallelization` && `caching` (`options.parallel`) ([#77](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/77)) ([ee16639](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/ee16639)) +* **index:** add `options` validation (`schema-utils`) ([#80](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/80)) ([f19b2de](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/f19b2de)) + + + + +# [1.0.0-beta.1](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2017-07-06) + + +### Features + +* update to `uglify-es` ([#63](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/63)) ([1d62560](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/1d62560)) + + + + +# [1.0.0-beta.0](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v0.1.4...v1.0.0-beta.0) (2017-06-29) + + +### Bug Fixes + +* typo "filterd" -> "filtered" ([#37](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/37)) ([238c373](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/238c373)) +* **package:** mv uglify2 to `dependencies` && update `peerDependencies` ([#45](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/45)) ([93b0cd2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/93b0cd2)) +* **uglify:** use Compress API not ast.transform ([990f2e2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/990f2e2)) + + +### Code Refactoring + +* apply `webpack-defaults` ([#35](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/35)) ([f6c5aa9](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/f6c5aa9)) + + +### BREAKING CHANGES + +* Enforces `peerDependencies` of `"webpack": ">= 3.0.0-rc.0 || ^3.0.0"`. +* Enforces `engines` of `"node": ">=4.3.0 < 5.0.0 || >= 5.10` + + + + +## [0.4.6](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/compare/v0.1.4...v0.4.6) (2017-06-29) + + +### Bug Fixes + +* typo "filterd" -> "filtered" ([#37](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/37)) ([238c373](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/238c373)) +* **package:** mv uglify2 to `dependencies` && update `peerDependencies` ([#45](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues/45)) ([93b0cd2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/93b0cd2)) +* **uglify:** use Compress API not ast.transform ([990f2e2](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/commit/990f2e2)) diff --git a/node_modules/uglifyjs-webpack-plugin/LICENSE b/node_modules/uglifyjs-webpack-plugin/LICENSE new file mode 100644 index 00000000..8c11fc72 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/LICENSE @@ -0,0 +1,20 @@ +Copyright JS Foundation and other contributors + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/node_modules/uglifyjs-webpack-plugin/README.md b/node_modules/uglifyjs-webpack-plugin/README.md new file mode 100644 index 00000000..a8147638 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/README.md @@ -0,0 +1,434 @@ +[![npm][npm]][npm-url] +[![node][node]][node-url] +[![deps][deps]][deps-url] +[![test][test]][test-url] +[![coverage][cover]][cover-url] +[![chat][chat]][chat-url] + + +
+ + + +

UglifyJS Webpack Plugin

+

This plugin uses UglifyJS v3 (`uglify-es`) to minify your JavaScript

+
+ +> ℹ️ `webpack < v4.0.0` currently contains [`v0.4.6`](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/tree/version-0.4) of this plugin under `webpack.optimize.UglifyJsPlugin` as an alias. For usage of the latest version (`v1.0.0`), please follow the instructions below. Aliasing `v1.0.0` as `webpack.optimize.UglifyJsPlugin` is scheduled for `webpack v4.0.0` + +

Install

+ +```bash +npm i -D uglifyjs-webpack-plugin +``` + +

Usage

+ +**webpack.config.js** +```js +const UglifyJsPlugin = require('uglifyjs-webpack-plugin') + +module.exports = { + //... + optimization: { + minimizer: [ + new UglifyJsPlugin() + ] + } +} +``` + +

Options

+ +|Name|Type|Default|Description| +|:--:|:--:|:-----:|:----------| +|**`test`**|`{RegExp\|Array}`| /\\.js$/i|Test to match files against| +|**`include`**|`{RegExp\|Array}`|`undefined`|Files to `include`| +|**`exclude`**|`{RegExp\|Array}`|`undefined`|Files to `exclude`| +|**`cache`**|`{Boolean\|String}`|`false`|Enable file caching| +|**`cacheKeys`**|`{Function(defaultCacheKeys, file) -> {Object}}`|`defaultCacheKeys => defaultCacheKeys`|Allows you to override default cache keys| +|**`parallel`**|`{Boolean\|Number}`|`false`|Use multi-process parallel running to improve the build speed| +|**`sourceMap`**|`{Boolean}`|`false`|Use source maps to map error message locations to modules (This slows down the compilation) ⚠️ **`cheap-source-map` options don't work with this plugin**| +|**`minify`**|`{Function}`|`undefined`|Allows you to override default minify function| +|**`uglifyOptions`**|`{Object}`|[`{...defaults}`](https://github.com/webpack-contrib/uglifyjs-webpack-plugin/tree/master#uglifyoptions)|`uglify` [Options](https://github.com/mishoo/UglifyJS2/tree/harmony#minify-options)| +|**`extractComments`**|`{Boolean\|RegExp\|Function<(node, comment) -> {Boolean\|Object}>}`|`false`|Whether comments shall be extracted to a separate file, (see [details](https://github.com/webpack/webpack/commit/71933e979e51c533b432658d5e37917f9e71595a) (`webpack >= 2.3.0`)| +|**`warningsFilter`**|`{Function(source) -> {Boolean}}`|`() => true`|Allow to filter uglify warnings| + +### `test` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + test: /\.js($|\?)/i + }) +] +``` + +### `include` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + include: /\/includes/ + }) +] +``` + +### `exclude` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + exclude: /\/excludes/ + }) +] +``` + +### `cache` + +If you use your own `minify` function please read the `minify` section for cache invalidation correctly. + +#### `{Boolean}` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + cache: true + }) +] +``` + +Enable file caching. +Default path to cache directory: `node_modules/.cache/uglifyjs-webpack-plugin`. + +#### `{String}` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + cache: 'path/to/cache' + }) +] +``` + +Path to cache directory. + +### `cacheKeys` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + cache: true, + cacheKeys: (defaultCacheKeys, file) => { + defaultCacheKeys.myCacheKey = 'myCacheKeyValue'; + + return defaultCacheKeys; + }, + }) +] +``` + +Allows you to override default cache keys. + +Default keys: +```js +{ + 'uglify-es': versions.uglify, // uglify version + 'uglifyjs-webpack-plugin': versions.plugin, // plugin version + 'uglifyjs-webpack-plugin-options': this.options, // plugin options + path: compiler.outputPath ? `${compiler.outputPath}/${file}` : file, // asset path + hash: crypto.createHash('md4').update(input).digest('hex'), // source file hash +} +``` + +### `parallel` + +#### `{Boolean}` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + parallel: true + }) +] +``` + +Enable parallelization. +Default number of concurrent runs: `os.cpus().length - 1`. + +#### `{Number}` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + parallel: 4 + }) +] +``` + +Number of concurrent runs. + +> ℹ️ Parallelization can speedup your build significantly and is therefore **highly recommended** + +### `sourceMap` + +If you use your own `minify` function please read the `minify` section for handling source maps correctly. + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + sourceMap: true + }) +] +``` + +> ⚠️ **`cheap-source-map` options don't work with this plugin** + +### `minify` + +> ⚠️ **Always use `require` inside `minify` function when `parallel` option enabled** + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + minify(file, sourceMap) { + const extractedComments = []; + + // Custom logic for extract comments + + const { error, map, code, warnings } = require('uglify-module') // Or require('./path/to/uglify-module') + .minify( + file, + { /* Your options for minification */ }, + ); + + return { error, map, code, warnings, extractedComments }; + } + }) +] +``` + +By default plugin uses `uglify-es` package. + +Examples: + +#### `uglify-js` + +```bash +npm i -D uglify-js +``` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + // Uncomment lines below for cache invalidation correctly + // cache: true, + // cacheKeys(defaultCacheKeys) { + // return Object.assign( + // {}, + // defaultCacheKeys, + // { 'uglify-js': require('uglify-js/package.json').version }, + // ); + // }, + minify(file, sourceMap) { + // https://github.com/mishoo/UglifyJS2#minify-options + const uglifyJsOptions = { /* your `uglify-js` package options */ }; + + if (sourceMap) { + uglifyJsOptions.sourceMap = { + content: sourceMap, + }; + } + + return require('uglify-js').minify(file, uglifyJsOptions); + } + }) +] +``` + +#### `terser` + +```bash +npm i -D terser +``` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + // Uncomment lines below for cache invalidation correctly + // cache: true, + // cacheKeys(defaultCacheKeys) { + // return Object.assign( + // {}, + // defaultCacheKeys, + // { terser: require('terser/package.json').version }, + // ); + // }, + minify(file, sourceMap) { + // https://github.com/fabiosantoscode/terser#minify-options + const terserOptions = { /* your `terser` package options */ }; + + if (sourceMap) { + terserOption.sourceMap = { + content: sourceMap, + }; + } + + return require('terser').minify(file, terserOptions); + } + }) +] +``` + +### [`uglifyOptions`](https://github.com/mishoo/UglifyJS2/tree/harmony#minify-options) + +|Name|Type|Default|Description| +|:--:|:--:|:-----:|:----------| +|**`ecma`**|`{Number}`|`undefined`|Supported ECMAScript Version (`5`, `6`, `7` or `8`). Affects `parse`, `compress` && `output` options| +|**`warnings`**|`{Boolean}`|`false`|Display Warnings| +|**[`parse`](https://github.com/mishoo/UglifyJS2/tree/harmony#parse-options)**|`{Object}`|`{}`|Additional Parse Options| +|**[`compress`](https://github.com/mishoo/UglifyJS2/tree/harmony#compress-options)**|`{Boolean\|Object}`|`true`|Additional Compress Options| +|**[`mangle`](https://github.com/mishoo/UglifyJS2/tree/harmony#mangle-options)**|`{Boolean\|Object}`|`{inline: false}`|Enable Name Mangling (See [Mangle Properties](https://github.com/mishoo/UglifyJS2/tree/harmony#mangle-properties-options) for advanced setups, use with ⚠️)| +|**[`output`](https://github.com/mishoo/UglifyJS2/tree/harmony#output-options)**|`{Object}`|`{comments: extractComments ? false : /^\**!\|@preserve\|@license\|@cc_on/,}`|Additional Output Options (The defaults are optimized for best compression)| +|**`toplevel`**|`{Boolean}`|`false`|Enable top level variable and function name mangling and to drop unused variables and functions| +|**`nameCache`**|`{Object}`|`null`|Enable cache of mangled variable and property names across multiple invocations| +|**`ie8`**|`{Boolean}`|`false`|Enable IE8 Support| +|**`keep_classnames`**|`{Boolean}`|`undefined`|Enable prevent discarding or mangling of class names| +|**`keep_fnames`**|`{Boolean}`|`false`| Enable prevent discarding or mangling of function names. Useful for code relying on `Function.prototype.name`. If the top level minify option `keep_classnames` is `undefined` it will be overriden with the value of the top level minify option `keep_fnames`| +|**`safari10`**|`{Boolean}`|`false`|Enable work around Safari 10/11 bugs in loop scoping and `await`| + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + uglifyOptions: { + ecma: 8, + warnings: false, + parse: {...options}, + compress: {...options}, + mangle: { + ...options, + properties: { + // mangle property options + } + }, + output: { + comments: false, + beautify: false, + ...options + }, + toplevel: false, + nameCache: null, + ie8: false, + keep_classnames: undefined, + keep_fnames: false, + safari10: false, + } + }) +] +``` + +### `extractComments` + +#### `{Boolean}` + +All comments that normally would be preserved by the `comments` option will be moved to a separate file. If the original file is named `foo.js`, then the comments will be stored to `foo.js.LICENSE`. + +#### `{RegExp|String}` or `{Function<(node, comment) -> {Boolean}>}` + +All comments that match the given expression (resp. are evaluated to `true` by the function) will be extracted to the separate file. The `comments` option specifies whether the comment will be preserved, i.e. it is possible to preserve some comments (e.g. annotations) while extracting others or even preserving comments that have been extracted. + +#### `{Object}` + +|Name|Type|Default|Description| +|:--:|:--:|:-----:|:----------| +|**`condition`**|`{Regex\|Function}`|``|Regular Expression or function (see previous point)| +|**`filename`**|`{String\|Function}`|`${file}.LICENSE`|The file where the extracted comments will be stored. Can be either a `{String}` or a `{Function<(string) -> {String}>}`, which will be given the original filename. Default is to append the suffix `.LICENSE` to the original filename| +|**`banner`**|`{Boolean\|String\|Function}`|`/*! For license information please see ${filename}.js.LICENSE */`|The banner text that points to the extracted file and will be added on top of the original file. Can be `false` (no banner), a `{String}`, or a `{Function<(string) -> {String}` that will be called with the filename where extracted comments have been stored. Will be wrapped into comment| + +### `warningsFilter` + +**webpack.config.js** +```js +[ + new UglifyJsPlugin({ + warningsFilter: (src) => true + }) +] +``` + +

Maintainers

+ + + + + + + + + + + +
+ + +
+ Steven Hargrove +
+
+ + +
+ Juho Vepsäläinen +
+
+ + +
+ Joshua Wiens +
+
+ + +
+ Michael Ciniawsky +
+
+ + +
+ Alexander Krasnoyarov +
+
+ + +[npm]: https://img.shields.io/npm/v/uglifyjs-webpack-plugin.svg +[npm-url]: https://npmjs.com/package/uglifyjs-webpack-plugin + +[node]: https://img.shields.io/node/v/uglifyjs-webpack-plugin.svg +[node-url]: https://nodejs.org + +[deps]: https://david-dm.org/webpack-contrib/uglifyjs-webpack-plugin.svg +[deps-url]: https://david-dm.org/webpack-contrib/uglifyjs-webpack-plugin + +[test]: https://img.shields.io/circleci/project/github/webpack-contrib/uglifyjs-webpack-plugin.svg +[test-url]: https://circleci.com/gh/webpack-contrib/uglifyjs-webpack-plugin + +[cover]: https://codecov.io/gh/webpack-contrib/uglifyjs-webpack-plugin/branch/master/graph/badge.svg +[cover-url]: https://codecov.io/gh/webpack-contrib/uglifyjs-webpack-plugin + +[chat]: https://img.shields.io/badge/gitter-webpack%2Fwebpack-brightgreen.svg +[chat-url]: https://gitter.im/webpack/webpack diff --git a/node_modules/uglifyjs-webpack-plugin/dist/cjs.js b/node_modules/uglifyjs-webpack-plugin/dist/cjs.js new file mode 100644 index 00000000..61cc3574 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/cjs.js @@ -0,0 +1,3 @@ +'use strict'; + +module.exports = require('./index').default; \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/dist/index.js b/node_modules/uglifyjs-webpack-plugin/dist/index.js new file mode 100644 index 00000000..7b87cfa6 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/index.js @@ -0,0 +1,384 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /* eslint-disable + no-param-reassign + */ + + +var _crypto = require('crypto'); + +var _crypto2 = _interopRequireDefault(_crypto); + +var _path = require('path'); + +var _path2 = _interopRequireDefault(_path); + +var _sourceMap = require('source-map'); + +var _webpackSources = require('webpack-sources'); + +var _RequestShortener = require('webpack/lib/RequestShortener'); + +var _RequestShortener2 = _interopRequireDefault(_RequestShortener); + +var _ModuleFilenameHelpers = require('webpack/lib/ModuleFilenameHelpers'); + +var _ModuleFilenameHelpers2 = _interopRequireDefault(_ModuleFilenameHelpers); + +var _schemaUtils = require('schema-utils'); + +var _schemaUtils2 = _interopRequireDefault(_schemaUtils); + +var _options = require('./options.json'); + +var _options2 = _interopRequireDefault(_options); + +var _Runner = require('./uglify/Runner'); + +var _Runner2 = _interopRequireDefault(_Runner); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var warningRegex = /\[.+:([0-9]+),([0-9]+)\]/; + +var UglifyJsPlugin = function () { + function UglifyJsPlugin() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + _classCallCheck(this, UglifyJsPlugin); + + (0, _schemaUtils2.default)(_options2.default, options, 'UglifyJs Plugin'); + + var minify = options.minify, + _options$uglifyOption = options.uglifyOptions, + uglifyOptions = _options$uglifyOption === undefined ? {} : _options$uglifyOption, + _options$test = options.test, + test = _options$test === undefined ? /\.js(\?.*)?$/i : _options$test, + _options$warningsFilt = options.warningsFilter, + warningsFilter = _options$warningsFilt === undefined ? function () { + return true; + } : _options$warningsFilt, + _options$extractComme = options.extractComments, + extractComments = _options$extractComme === undefined ? false : _options$extractComme, + _options$sourceMap = options.sourceMap, + sourceMap = _options$sourceMap === undefined ? false : _options$sourceMap, + _options$cache = options.cache, + cache = _options$cache === undefined ? false : _options$cache, + _options$cacheKeys = options.cacheKeys, + cacheKeys = _options$cacheKeys === undefined ? function (defaultCacheKeys) { + return defaultCacheKeys; + } : _options$cacheKeys, + _options$parallel = options.parallel, + parallel = _options$parallel === undefined ? false : _options$parallel, + include = options.include, + exclude = options.exclude; + + + this.options = { + test, + warningsFilter, + extractComments, + sourceMap, + cache, + cacheKeys, + parallel, + include, + exclude, + minify, + uglifyOptions: Object.assign({ + compress: { + inline: 1 + }, + output: { + comments: extractComments ? false : /^\**!|@preserve|@license|@cc_on/ + } + }, uglifyOptions) + }; + } + + _createClass(UglifyJsPlugin, [{ + key: 'apply', + value: function apply(compiler) { + var _this = this; + + var buildModuleFn = function buildModuleFn(moduleArg) { + // to get detailed location info about errors + moduleArg.useSourceMap = true; + }; + + var optimizeFn = function optimizeFn(compilation, chunks, callback) { + var runner = new _Runner2.default({ + cache: _this.options.cache, + parallel: _this.options.parallel + }); + + var uglifiedAssets = new WeakSet(); + var tasks = []; + + chunks.reduce(function (acc, chunk) { + return acc.concat(chunk.files || []); + }, []).concat(compilation.additionalChunkAssets || []).filter(_ModuleFilenameHelpers2.default.matchObject.bind(null, _this.options)).forEach(function (file) { + var inputSourceMap = void 0; + + var asset = compilation.assets[file]; + + if (uglifiedAssets.has(asset)) { + return; + } + + try { + var input = void 0; + + if (_this.options.sourceMap && asset.sourceAndMap) { + var _asset$sourceAndMap = asset.sourceAndMap(), + source = _asset$sourceAndMap.source, + map = _asset$sourceAndMap.map; + + input = source; + + if (UglifyJsPlugin.isSourceMap(map)) { + inputSourceMap = map; + } else { + inputSourceMap = map; + + compilation.warnings.push(new Error(`${file} contains invalid source map`)); + } + } else { + input = asset.source(); + inputSourceMap = null; + } + + // Handling comment extraction + var commentsFile = false; + + if (_this.options.extractComments) { + commentsFile = _this.options.extractComments.filename || `${file}.LICENSE`; + + if (typeof commentsFile === 'function') { + commentsFile = commentsFile(file); + } + } + + var task = { + file, + input, + inputSourceMap, + commentsFile, + extractComments: _this.options.extractComments, + uglifyOptions: _this.options.uglifyOptions, + minify: _this.options.minify + }; + + if (_this.options.cache) { + var defaultCacheKeys = { + // eslint-disable-next-line global-require + 'uglify-es': require('uglify-es/package.json').version, + // eslint-disable-next-line global-require + 'uglifyjs-webpack-plugin': require('../package.json').version, + 'uglifyjs-webpack-plugin-options': _this.options, + path: compiler.outputPath ? `${compiler.outputPath}/${file}` : file, + hash: _crypto2.default.createHash('md4').update(input).digest('hex') + }; + + task.cacheKeys = _this.options.cacheKeys(defaultCacheKeys, file); + } + + tasks.push(task); + } catch (error) { + compilation.errors.push(UglifyJsPlugin.buildError(error, file, UglifyJsPlugin.buildSourceMap(inputSourceMap), new _RequestShortener2.default(compiler.context))); + } + }); + + runner.runTasks(tasks, function (tasksError, results) { + if (tasksError) { + compilation.errors.push(tasksError); + + return; + } + + results.forEach(function (data, index) { + var _tasks$index = tasks[index], + file = _tasks$index.file, + input = _tasks$index.input, + inputSourceMap = _tasks$index.inputSourceMap, + commentsFile = _tasks$index.commentsFile; + var error = data.error, + map = data.map, + code = data.code, + warnings = data.warnings, + extractedComments = data.extractedComments; + + + var sourceMap = null; + + if (error || warnings && warnings.length > 0) { + sourceMap = UglifyJsPlugin.buildSourceMap(inputSourceMap); + } + + // Handling results + // Error case: add errors, and go to next file + if (error) { + compilation.errors.push(UglifyJsPlugin.buildError(error, file, sourceMap, new _RequestShortener2.default(compiler.context))); + + return; + } + + var outputSource = void 0; + + if (map) { + outputSource = new _webpackSources.SourceMapSource(code, file, JSON.parse(map), input, inputSourceMap); + } else { + outputSource = new _webpackSources.RawSource(code); + } + + // Write extracted comments to commentsFile + if (commentsFile && extractedComments.length > 0) { + // Add a banner to the original file + if (_this.options.extractComments.banner !== false) { + var banner = _this.options.extractComments.banner || `For license information please see ${_path2.default.posix.basename(commentsFile)}`; + + if (typeof banner === 'function') { + banner = banner(commentsFile); + } + + if (banner) { + outputSource = new _webpackSources.ConcatSource(`/*! ${banner} */\n`, outputSource); + } + } + + var commentsSource = new _webpackSources.RawSource(`${extractedComments.join('\n\n')}\n`); + + if (commentsFile in compilation.assets) { + // commentsFile already exists, append new comments... + if (compilation.assets[commentsFile] instanceof _webpackSources.ConcatSource) { + compilation.assets[commentsFile].add('\n'); + compilation.assets[commentsFile].add(commentsSource); + } else { + compilation.assets[commentsFile] = new _webpackSources.ConcatSource(compilation.assets[commentsFile], '\n', commentsSource); + } + } else { + compilation.assets[commentsFile] = commentsSource; + } + } + + // Updating assets + uglifiedAssets.add(compilation.assets[file] = outputSource); + + // Handling warnings + if (warnings && warnings.length > 0) { + warnings.forEach(function (warning) { + var builtWarning = UglifyJsPlugin.buildWarning(warning, file, sourceMap, _this.options.warningsFilter, new _RequestShortener2.default(compiler.context)); + + if (builtWarning) { + compilation.warnings.push(builtWarning); + } + }); + } + }); + + runner.exit(); + + callback(); + }); + }; + + /* istanbul ignore if */ + if (compiler.hooks) { + var plugin = { name: 'UglifyJSPlugin' }; + + compiler.hooks.compilation.tap(plugin, function (compilation) { + if (_this.options.sourceMap) { + compilation.hooks.buildModule.tap(plugin, buildModuleFn); + } + + compilation.hooks.optimizeChunkAssets.tapAsync(plugin, optimizeFn.bind(_this, compilation)); + }); + } else { + compiler.plugin('compilation', function (compilation) { + if (_this.options.sourceMap) { + compilation.plugin('build-module', buildModuleFn); + } + + compilation.plugin('optimize-chunk-assets', optimizeFn.bind(_this, compilation)); + }); + } + } + }], [{ + key: 'isSourceMap', + value: function isSourceMap(input) { + // All required options for `new SourceMapConsumer(...options)` + // https://github.com/mozilla/source-map#new-sourcemapconsumerrawsourcemap + return Boolean(input && input.version && input.sources && Array.isArray(input.sources) && typeof input.mappings === 'string'); + } + }, { + key: 'buildSourceMap', + value: function buildSourceMap(inputSourceMap) { + if (!inputSourceMap || !UglifyJsPlugin.isSourceMap(inputSourceMap)) { + return null; + } + + return new _sourceMap.SourceMapConsumer(inputSourceMap); + } + }, { + key: 'buildError', + value: function buildError(err, file, sourceMap, requestShortener) { + // Handling error which should have line, col, filename and message + if (err.line) { + var original = sourceMap && sourceMap.originalPositionFor({ + line: err.line, + column: err.col + }); + + if (original && original.source && requestShortener) { + return new Error(`${file} from UglifyJs\n${err.message} [${requestShortener.shorten(original.source)}:${original.line},${original.column}][${file}:${err.line},${err.col}]`); + } + + return new Error(`${file} from UglifyJs\n${err.message} [${file}:${err.line},${err.col}]`); + } else if (err.stack) { + return new Error(`${file} from UglifyJs\n${err.stack}`); + } + + return new Error(`${file} from UglifyJs\n${err.message}`); + } + }, { + key: 'buildWarning', + value: function buildWarning(warning, file, sourceMap, warningsFilter, requestShortener) { + if (!file || !sourceMap) { + return `UglifyJs Plugin: ${warning}`; + } + + var warningMessage = warning; + + var match = warningRegex.exec(warning); + + if (match) { + var line = +match[1]; + var column = +match[2]; + var original = sourceMap.originalPositionFor({ + line, + column + }); + + if (warningsFilter && !warningsFilter(original.source)) { + return null; + } + + if (original && original.source && original.source !== file && requestShortener) { + warningMessage = `${warningMessage.replace(warningRegex, '')}[${requestShortener.shorten(original.source)}:${original.line},${original.column}]`; + } + } + + return `UglifyJs Plugin: ${warningMessage} in ${file}`; + } + }]); + + return UglifyJsPlugin; +}(); + +exports.default = UglifyJsPlugin; \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/dist/options.json b/node_modules/uglifyjs-webpack-plugin/dist/options.json new file mode 100644 index 00000000..f9ee3860 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/options.json @@ -0,0 +1,74 @@ +{ + "type": "object", + "properties": { + "test": {}, + "include": {}, + "exclude": {}, + "cache": { + "oneOf": [ + { "type": "boolean" }, + { "type": "string" } + ] + }, + "cacheKeys": { + "instanceof": "Function" + }, + "parallel": { + "oneOf": [ + { "type": "boolean" }, + { "type": "integer" } + ] + }, + "sourceMap": { + "type": "boolean" + }, + "minify": { + "instanceof": "Function" + }, + "uglifyOptions": { + "additionalProperties": true, + "type": "object", + "properties": { + "ecma": { + "type": "integer", + "minimum": 5, + "maximum": 8 + }, + "warnings": { + "type": ["boolean", "string"], + "enum": [true, false, "verbose"] + }, + "ie8": { + "type": "boolean" + }, + "parse": { + "type": "object" + }, + "compress": { + "type": ["boolean", "object"] + }, + "mangle": { + "type": ["boolean", "object"], + "properties": { + "properties": { + "type": ["boolean", "object"] + } + } + }, + "output": { + "type": ["object", "null"] + }, + "toplevel": { + "type": "boolean" + }, + "nameCache": { + "type": ["object", "null"] + } + } + }, + "extractComments": {}, + "warningsFilter": {} + }, + "additionalProperties": false +} + diff --git a/node_modules/uglifyjs-webpack-plugin/dist/uglify/Runner.js b/node_modules/uglifyjs-webpack-plugin/dist/uglify/Runner.js new file mode 100644 index 00000000..8bf50307 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/uglify/Runner.js @@ -0,0 +1,136 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _os = require('os'); + +var _os2 = _interopRequireDefault(_os); + +var _cacache = require('cacache'); + +var _cacache2 = _interopRequireDefault(_cacache); + +var _findCacheDir = require('find-cache-dir'); + +var _findCacheDir2 = _interopRequireDefault(_findCacheDir); + +var _workerFarm = require('worker-farm'); + +var _workerFarm2 = _interopRequireDefault(_workerFarm); + +var _serializeJavascript = require('serialize-javascript'); + +var _serializeJavascript2 = _interopRequireDefault(_serializeJavascript); + +var _minify = require('./minify'); + +var _minify2 = _interopRequireDefault(_minify); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +var workerFile = require.resolve('./worker'); + +try { + // run test + workerFile = require.resolve('../../dist/uglify/worker'); +} catch (e) {} // eslint-disable-line no-empty + +var Runner = function () { + function Runner() { + var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + + _classCallCheck(this, Runner); + + var cache = options.cache, + parallel = options.parallel; + + this.cacheDir = cache === true ? (0, _findCacheDir2.default)({ name: 'uglifyjs-webpack-plugin' }) : cache; + // In some cases cpus() returns undefined + // https://github.com/nodejs/node/issues/19022 + var cpus = _os2.default.cpus() || { length: 1 }; + this.maxConcurrentWorkers = parallel === true ? cpus.length - 1 : Math.min(Number(parallel) || 0, cpus.length - 1); + } + + _createClass(Runner, [{ + key: 'runTasks', + value: function runTasks(tasks, callback) { + var _this = this; + + /* istanbul ignore if */ + if (!tasks.length) { + callback(null, []); + return; + } + + if (this.maxConcurrentWorkers > 1) { + var workerOptions = process.platform === 'win32' ? { maxConcurrentWorkers: this.maxConcurrentWorkers, maxConcurrentCallsPerWorker: 1 } : { maxConcurrentWorkers: this.maxConcurrentWorkers }; + this.workers = (0, _workerFarm2.default)(workerOptions, workerFile); + this.boundWorkers = function (options, cb) { + return _this.workers((0, _serializeJavascript2.default)(options), cb); + }; + } else { + this.boundWorkers = function (options, cb) { + try { + cb(null, (0, _minify2.default)(options)); + } catch (error) { + cb(error); + } + }; + } + + var toRun = tasks.length; + var results = []; + var step = function step(index, data) { + toRun -= 1; + results[index] = data; + + if (!toRun) { + callback(null, results); + } + }; + + tasks.forEach(function (task, index) { + var enqueue = function enqueue() { + _this.boundWorkers(task, function (error, data) { + var result = error ? { error } : data; + var done = function done() { + return step(index, result); + }; + + if (_this.cacheDir && !result.error) { + _cacache2.default.put(_this.cacheDir, (0, _serializeJavascript2.default)(task.cacheKeys), JSON.stringify(data)).then(done, done); + } else { + done(); + } + }); + }; + + if (_this.cacheDir) { + _cacache2.default.get(_this.cacheDir, (0, _serializeJavascript2.default)(task.cacheKeys)).then(function (_ref) { + var data = _ref.data; + return step(index, JSON.parse(data)); + }, enqueue); + } else { + enqueue(); + } + }); + } + }, { + key: 'exit', + value: function exit() { + if (this.workers) { + _workerFarm2.default.end(this.workers); + } + } + }]); + + return Runner; +}(); + +exports.default = Runner; \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/dist/uglify/minify.js b/node_modules/uglifyjs-webpack-plugin/dist/uglify/minify.js new file mode 100644 index 00000000..0ff648c4 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/uglify/minify.js @@ -0,0 +1,179 @@ +'use strict'; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _uglifyEs = require('uglify-es'); + +var _uglifyEs2 = _interopRequireDefault(_uglifyEs); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +var buildUglifyOptions = function buildUglifyOptions() { + var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, + ecma = _ref.ecma, + warnings = _ref.warnings, + _ref$parse = _ref.parse, + parse = _ref$parse === undefined ? {} : _ref$parse, + _ref$compress = _ref.compress, + compress = _ref$compress === undefined ? {} : _ref$compress, + mangle = _ref.mangle, + output = _ref.output, + toplevel = _ref.toplevel, + nameCache = _ref.nameCache, + ie8 = _ref.ie8, + keep_classnames = _ref.keep_classnames, + keep_fnames = _ref.keep_fnames, + safari10 = _ref.safari10; + + return { + ecma, + warnings, + parse: Object.assign({}, parse), + compress: typeof compress === 'boolean' ? compress : Object.assign({}, compress), + // eslint-disable-next-line no-nested-ternary + mangle: mangle == null ? true : typeof mangle === 'boolean' ? mangle : Object.assign({}, mangle), + output: Object.assign({ + shebang: true, + comments: false, + beautify: false, + semicolons: true + }, output), + // Ignoring sourceMap from options + sourceMap: null, + toplevel, + nameCache, + ie8, + keep_classnames, + keep_fnames, + safari10 + }; +}; /* eslint-disable + arrow-body-style + */ + + +var buildComments = function buildComments(options, uglifyOptions, extractedComments) { + var condition = {}; + var commentsOpts = uglifyOptions.output.comments; + + // /^\**!|@preserve|@license|@cc_on/ + if (typeof options.extractComments === 'boolean') { + condition.preserve = commentsOpts; + condition.extract = /^\**!|@preserve|@license|@cc_on/; + } else if (typeof options.extractComments === 'string' || options.extractComments instanceof RegExp) { + // extractComments specifies the extract condition and commentsOpts specifies the preserve condition + condition.preserve = commentsOpts; + condition.extract = options.extractComments; + } else if (typeof options.extractComments === 'function') { + condition.preserve = false; + condition.extract = options.extractComments; + } else if (Object.prototype.hasOwnProperty.call(options.extractComments, 'condition')) { + // Extract condition is given in extractComments.condition + condition.preserve = commentsOpts; + condition.extract = options.extractComments.condition; + } else { + // No extract condition is given. Extract comments that match commentsOpts instead of preserving them + condition.preserve = false; + condition.extract = commentsOpts; + } + + // Ensure that both conditions are functions + ['preserve', 'extract'].forEach(function (key) { + var regexStr = void 0; + var regex = void 0; + + switch (typeof condition[key]) { + case 'boolean': + condition[key] = condition[key] ? function () { + return true; + } : function () { + return false; + }; + + break; + case 'function': + break; + case 'string': + if (condition[key] === 'all') { + condition[key] = function () { + return true; + }; + + break; + } + + if (condition[key] === 'some') { + condition[key] = function (astNode, comment) { + return comment.type === 'comment2' && /@preserve|@license|@cc_on/i.test(comment.value); + }; + + break; + } + + regexStr = condition[key]; + + condition[key] = function (astNode, comment) { + return new RegExp(regexStr).test(comment.value); + }; + + break; + default: + regex = condition[key]; + + condition[key] = function (astNode, comment) { + return regex.test(comment.value); + }; + } + }); + + // Redefine the comments function to extract and preserve + // comments according to the two conditions + return function (astNode, comment) { + if (condition.extract(astNode, comment)) { + extractedComments.push(comment.type === 'comment2' ? `/*${comment.value}*/` : `//${comment.value}`); + } + + return condition.preserve(astNode, comment); + }; +}; + +var minify = function minify(options) { + var file = options.file, + input = options.input, + inputSourceMap = options.inputSourceMap, + extractComments = options.extractComments, + minifyFn = options.minify; + + + if (minifyFn) { + return minifyFn({ [file]: input }, inputSourceMap); + } + + // Copy uglify options + var uglifyOptions = buildUglifyOptions(options.uglifyOptions); + + // Add source map data + if (inputSourceMap) { + uglifyOptions.sourceMap = { + content: inputSourceMap + }; + } + + var extractedComments = []; + + if (extractComments) { + uglifyOptions.output.comments = buildComments(options, uglifyOptions, extractedComments); + } + + var _uglify$minify = _uglifyEs2.default.minify({ [file]: input }, uglifyOptions), + error = _uglify$minify.error, + map = _uglify$minify.map, + code = _uglify$minify.code, + warnings = _uglify$minify.warnings; + + return { error, map, code, warnings, extractedComments }; +}; + +exports.default = minify; \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/dist/uglify/worker.js b/node_modules/uglifyjs-webpack-plugin/dist/uglify/worker.js new file mode 100644 index 00000000..94493565 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/dist/uglify/worker.js @@ -0,0 +1,20 @@ +'use strict'; + +var _minify = require('./minify'); + +var _minify2 = _interopRequireDefault(_minify); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +module.exports = function (options, callback) { + try { + // 'use strict' => this === undefined (Clean Scope) + // Safer for possible security issues, albeit not critical at all here + // eslint-disable-next-line no-new-func, no-param-reassign + options = new Function('exports', 'require', 'module', '__filename', '__dirname', `'use strict'\nreturn ${options}`)(exports, require, module, __filename, __dirname); + + callback(null, (0, _minify2.default)(options)); + } catch (errors) { + callback(errors); + } +}; \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/uglifyjs b/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/uglifyjs new file mode 120000 index 00000000..4dc3ac83 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/uglifyjs @@ -0,0 +1 @@ +../../../uglify-es/bin/uglifyjs \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/webpack b/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/webpack new file mode 120000 index 00000000..8a1900f6 --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/node_modules/.bin/webpack @@ -0,0 +1 @@ +../../../webpack/bin/webpack.js \ No newline at end of file diff --git a/node_modules/uglifyjs-webpack-plugin/package.json b/node_modules/uglifyjs-webpack-plugin/package.json new file mode 100644 index 00000000..bc4d9afe --- /dev/null +++ b/node_modules/uglifyjs-webpack-plugin/package.json @@ -0,0 +1,88 @@ +{ + "name": "uglifyjs-webpack-plugin", + "version": "1.3.0", + "description": "UglifyJS plugin for webpack", + "author": "webpack Contrib Team", + "license": "MIT", + "engines": { + "node": ">= 4.8 < 5.0.0 || >= 5.10" + }, + "main": "dist/cjs.js", + "files": [ + "dist" + ], + "scripts": { + "start": "npm run build -- -w", + "build": "cross-env NODE_ENV=production babel src -d dist --ignore 'src/**/*.test.js' --copy-files", + "test": "jest", + "test:watch": "jest --watch", + "test:coverage": "jest --collectCoverageFrom='src/**/*.js' --coverage", + "prebuild": "npm run clean", + "clean": "del-cli dist", + "lint": "eslint --cache src test", + "lint-staged": "lint-staged", + "prepare": "npm run build", + "release": "standard-version", + "security": "nsp check", + "ci:lint": "npm run lint && npm run security", + "ci:test": "npm run test -- --runInBand", + "ci:coverage": "npm run test:coverage -- --runInBand", + "appveyor:test": "npm run test", + "webpack-defaults": "webpack-defaults" + }, + "dependencies": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "serialize-javascript": "^1.4.0", + "schema-utils": "^0.4.5", + "source-map": "^0.6.1", + "uglify-es": "^3.3.4", + "webpack-sources": "^1.1.0", + "worker-farm": "^1.5.2" + }, + "devDependencies": { + "babel-cli": "^6.26.0", + "babel-jest": "^22.4.3", + "babel-plugin-transform-object-rest-spread": "^6.26.0", + "babel-polyfill": "^6.26.0", + "babel-preset-env": "^1.6.1", + "cross-env": "^5.1.3", + "del-cli": "^1.1.0", + "eslint": "^4.14.0", + "eslint-config-webpack": "^1.2.5", + "eslint-plugin-import": "^2.8.0", + "jest": "^22.4.3", + "lint-staged": "^6.0.0", + "memory-fs": "^0.4.1", + "nsp": "^3.1.0", + "pre-commit": "^1.2.2", + "standard-version": "^4.3.0", + "terser": "^3.7.6", + "uglify-js": "^3.4.3", + "webpack": "^3.10.0", + "webpack-defaults": "^1.6.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + }, + "keywords": [ + "uglify", + "uglify-js", + "uglify-es", + "webpack", + "webpack-plugin" + ], + "bugs": "https://github.com/webpack-contrib/uglifyjs-webpack-plugin/issues", + "homepage": "https://github.com/webpack-contrib/uglifyjs-webpack-plugin", + "repository": "https://github.com/webpack-contrib/uglifyjs-webpack-plugin.git", + "pre-commit": "lint-staged", + "lint-staged": { + "*.js": [ + "eslint --fix", + "git add" + ] + }, + "jest": { + "testEnvironment": "node" + } +} -- cgit v1.2.3