Minify with recent uglify-js and create prod source map.

This commit is contained in:
Renée Kooi 2017-09-01 11:56:28 +02:00
parent dd383c79bf
commit c2b0488885
No known key found for this signature in database
GPG key ID: 30516CF2A8E63718
3 changed files with 71 additions and 136 deletions

View file

@ -2,13 +2,11 @@ var path = require('path')
var fs = require('fs')
var chalk = require('chalk')
var mkdirp = require('mkdirp')
// var glob = require('glob')
var babelify = require('babelify')
var commonShakeify = require('common-shakeify')
var packFlat = require('browser-pack-flat/plugin')
// var yoyoify = require('yo-yoify')
var browserify = require('browserify')
// var exec = require('child_process').exec
var uglify = require('minify-stream')
var exorcist = require('exorcist')
var distPath = './dist'
@ -25,27 +23,14 @@ function buildUppyBundle (minify) {
var b = browserify(src, { debug: true, standalone: 'Uppy' })
b.plugin(commonShakeify)
b.plugin(packFlat)
if (minify) {
b.plugin('minifyify', {
map: bundleFile + '.map',
output: path.join(distPath, bundleFile + '.map'),
uglify: {
mangle: {
eval: true,
toplevel: true
},
compress: {
toplevel: true
}
}
})
}
b.transform(babelify)
b.on('error', handleErr)
return new Promise(function (resolve, reject) {
if (minify) {
b.bundle()
.pipe(uglify())
.pipe(exorcist(path.join(distPath, bundleFile + '.map')))
.pipe(fs.createWriteStream(path.join(distPath, bundleFile), 'utf8'))
.on('error', handleErr)
.on('finish', function () {
@ -54,7 +39,7 @@ function buildUppyBundle (minify) {
})
} else {
b.bundle()
.pipe(exorcist(path.join(distPath, 'uppy.js.map')))
.pipe(exorcist(path.join(distPath, bundleFile + '.map')))
.pipe(fs.createWriteStream(path.join(distPath, bundleFile), 'utf8'))
.on('error', handleErr)
.on('finish', function () {

180
package-lock.json generated
View file

@ -271,12 +271,6 @@
"integrity": "sha1-onTthawIhJtr14R8RYB0XcUa37E=",
"dev": true
},
"array-differ": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
"integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
"dev": true
},
"array-equal": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/array-equal/-/array-equal-1.0.0.tgz",
@ -2259,6 +2253,7 @@
"resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
"integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
"dev": true,
"optional": true,
"requires": {
"align-text": "0.1.4",
"lazy-cache": "1.0.4"
@ -4692,6 +4687,25 @@
"integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=",
"dev": true
},
"from2": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz",
"integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=",
"dev": true,
"requires": {
"inherits": "2.0.3",
"readable-stream": "2.2.11"
}
},
"from2-string": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/from2-string/-/from2-string-1.1.0.tgz",
"integrity": "sha1-GCgrJ9CKJnyzAwzSuLSw8hKvdSo=",
"dev": true,
"requires": {
"from2": "2.3.0"
}
},
"fs-extra": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
@ -7376,7 +7390,8 @@
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
"integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
"dev": true
"dev": true,
"optional": true
},
"lcid": {
"version": "1.0.0",
@ -7666,12 +7681,6 @@
"integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=",
"dev": true
},
"lodash.bind": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz",
"integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=",
"dev": true
},
"lodash.clonedeep": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-3.0.2.tgz",
@ -7688,18 +7697,6 @@
"integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=",
"dev": true
},
"lodash.defaults": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=",
"dev": true
},
"lodash.foreach": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz",
"integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=",
"dev": true
},
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
@ -8114,76 +8111,41 @@
"dom-walk": "0.1.1"
}
},
"minifyify": {
"version": "7.3.3",
"resolved": "https://registry.npmjs.org/minifyify/-/minifyify-7.3.3.tgz",
"integrity": "sha1-qUSt5ZuNqXPfRsgUtqTi8jek19Q=",
"minify-stream": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/minify-stream/-/minify-stream-1.1.0.tgz",
"integrity": "sha512-Y7bDc1y++oHPZBsz8GiS0E2M+O75OZXAKeHdG7eCcvXHS7fUKUSfUXK5iCKFtYZJaSTS+ircAnDUAhZKhHUjlA==",
"dev": true,
"requires": {
"concat-stream": "1.5.2",
"concat-stream": "1.6.0",
"convert-source-map": "1.5.0",
"lodash.assign": "4.2.0",
"lodash.bind": "4.2.1",
"lodash.defaults": "4.2.0",
"lodash.foreach": "4.5.0",
"mkdirp": "0.5.1",
"source-map": "0.5.6",
"through": "2.3.8",
"tmp": "0.0.28",
"transform-filter": "0.1.1",
"uglify-js": "2.8.29"
"duplexify": "3.5.1",
"from2-string": "1.1.0",
"uglify-es": "3.1.2",
"xtend": "4.0.1"
},
"dependencies": {
"camelcase": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
"dev": true
},
"cliui": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
"integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
"concat-stream": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz",
"integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=",
"dev": true,
"requires": {
"center-align": "0.1.3",
"right-align": "0.1.3",
"wordwrap": "0.0.2"
"inherits": "2.0.3",
"readable-stream": "2.2.11",
"typedarray": "0.0.6"
}
},
"uglify-js": {
"version": "2.8.29",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
"integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
"duplexify": {
"version": "3.5.1",
"resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz",
"integrity": "sha512-j5goxHTwVED1Fpe5hh3q9R93Kip0Bg2KVAt4f8CEYM3UEwYcPSvWbXaUQOzdX/HtiNomipv+gU7ASQPDbV7pGQ==",
"dev": true,
"requires": {
"source-map": "0.5.6",
"uglify-to-browserify": "1.0.2",
"yargs": "3.10.0"
}
},
"window-size": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
"dev": true
},
"wordwrap": {
"version": "0.0.2",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
"dev": true
},
"yargs": {
"version": "3.10.0",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
"integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
"dev": true,
"requires": {
"camelcase": "1.2.1",
"cliui": "2.1.0",
"decamelize": "1.2.0",
"window-size": "0.1.0"
"end-of-stream": "1.0.0",
"inherits": "2.0.3",
"readable-stream": "2.2.11",
"stream-shift": "1.0.0"
}
}
}
@ -8307,18 +8269,6 @@
}
}
},
"multimatch": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
"integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
"dev": true,
"requires": {
"array-differ": "1.0.0",
"array-union": "1.0.2",
"arrify": "1.0.1",
"minimatch": "3.0.4"
}
},
"mute-stream": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
@ -10712,6 +10662,7 @@
"resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
"integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
"dev": true,
"optional": true,
"requires": {
"align-text": "0.1.4"
}
@ -12055,15 +12006,6 @@
}
}
},
"tmp": {
"version": "0.0.28",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz",
"integrity": "sha1-Fyc1t/YU6nrzlmT6hM8N5OUV0SA=",
"dev": true,
"requires": {
"os-tmpdir": "1.0.2"
}
},
"tmpl": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
@ -12267,16 +12209,6 @@
}
}
},
"transform-filter": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/transform-filter/-/transform-filter-0.1.1.tgz",
"integrity": "sha1-gG+FG25ECyN4j9OMoEMbUCAlulk=",
"dev": true,
"requires": {
"multimatch": "2.1.0",
"through": "2.3.8"
}
},
"tree-kill": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.1.0.tgz",
@ -12399,6 +12331,24 @@
"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.12.tgz",
"integrity": "sha1-BMgamb3V3FImPqKdJMa/jUgYpLs="
},
"uglify-es": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.2.tgz",
"integrity": "sha512-ULYW1xj/yW0IAkLW1XzIXB3O888275E2/r4tFy83D9wPRKGlUjKWeQAZoyHXujr/fsHeh6QMlc1ayCE8kqnoaw==",
"dev": true,
"requires": {
"commander": "2.11.0",
"source-map": "0.5.6"
},
"dependencies": {
"commander": {
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
"integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==",
"dev": true
}
}
},
"uglify-to-browserify": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",

View file

@ -42,7 +42,7 @@
"babel-preset-es2015": "6.24.0",
"babel-register": "6.9.0",
"babelify": "7.3.0",
"browser-pack-flat": "^2.5.0",
"browser-pack-flat": "^2.7.0",
"browser-sync": "2.18.8",
"browserify": "14.1.0",
"chalk": "1.1.3",
@ -62,7 +62,7 @@
"isomorphic-fetch": "2.2.1",
"jest": "^20.0.4",
"lint-staged": "2.0.2",
"minifyify": "7.3.3",
"minify-stream": "^1.1.0",
"mkdirp": "0.5.1",
"multi-glob": "1.0.1",
"next-update": "1.2.2",