Switch to tinyify

This commit is contained in:
Renée Kooi 2017-10-13 16:15:49 +02:00
parent 7c848d6ddd
commit 2ff172da80
No known key found for this signature in database
GPG key ID: 30516CF2A8E63718
3 changed files with 163 additions and 51 deletions

View file

@ -3,10 +3,8 @@ var fs = require('fs')
var chalk = require('chalk')
var mkdirp = require('mkdirp')
var babelify = require('babelify')
var commonShakeify = require('common-shakeify')
var packFlat = require('browser-pack-flat/plugin')
var tinyify = require('tinyify')
var browserify = require('browserify')
var uglify = require('minify-stream')
var exorcist = require('exorcist')
var distPath = './dist'
@ -21,32 +19,25 @@ function buildUppyBundle (minify) {
var bundleFile = minify ? 'uppy.min.js' : 'uppy.js'
var b = browserify(src, { debug: true, standalone: 'Uppy' })
b.plugin(commonShakeify)
b.plugin(packFlat)
if (minify) {
b.plugin(tinyify)
}
b.transform(babelify)
b.on('error', handleErr)
return new Promise(function (resolve, reject) {
if (minify) {
b.bundle()
.pipe(uglify())
b.bundle()
.pipe(exorcist(path.join(distPath, bundleFile + '.map')))
.pipe(fs.createWriteStream(path.join(distPath, bundleFile), 'utf8'))
.on('error', handleErr)
.on('finish', function () {
console.info(chalk.green('✓ Built Minified Bundle:'), chalk.magenta(bundleFile))
if (minify) {
console.info(chalk.green('✓ Built Minified Bundle:'), chalk.magenta(bundleFile))
} else {
console.info(chalk.green('✓ Built Bundle:'), chalk.magenta(bundleFile))
}
resolve()
})
} else {
b.bundle()
.pipe(exorcist(path.join(distPath, bundleFile + '.map')))
.pipe(fs.createWriteStream(path.join(distPath, bundleFile), 'utf8'))
.on('error', handleErr)
.on('finish', function () {
console.info(chalk.green('✓ Built Bundle:'), chalk.magenta(bundleFile))
resolve()
})
}
})
}

182
package-lock.json generated
View file

@ -1547,9 +1547,9 @@
}
},
"browser-pack-flat": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/browser-pack-flat/-/browser-pack-flat-2.7.0.tgz",
"integrity": "sha512-c85Y+SRDRY3L4cQM7ugx4Ub3P9p6eQZlH/ErfxTWn7zi2gqx/f792NERXVbdRVT5LhbODe0sKvH1NnViyMc6/w==",
"version": "2.7.2",
"resolved": "https://registry.npmjs.org/browser-pack-flat/-/browser-pack-flat-2.7.2.tgz",
"integrity": "sha512-5F7Yw1l7Iiagi9o0efaMchMXt+y1ExfDFPfQc2hv1H8qHwDJruTTQS77SEU2bYSEWl60jCzWR4TNXZ5WA9lbng==",
"dev": true,
"requires": {
"JSONStream": "1.3.1",
@ -1592,30 +1592,6 @@
"requires": {
"vlq": "0.2.2"
}
},
"transform-ast": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/transform-ast/-/transform-ast-2.2.1.tgz",
"integrity": "sha512-/ZxIOPIte7f6HCs6CASsMc3bFZEicMm8bPYzn9Rgc8P9+1gJ9xLpY5bOuKGTm3Ma+IlJW/4DGa8ApKOmEMSKiw==",
"dev": true,
"requires": {
"acorn": "5.0.3",
"convert-source-map": "1.5.0",
"is-buffer": "1.1.5",
"magic-string": "0.21.3",
"merge-source-map": "1.0.4"
},
"dependencies": {
"magic-string": {
"version": "0.21.3",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.21.3.tgz",
"integrity": "sha1-h+IBAJ6/3m9G3FdXMFpwr3HjFiQ=",
"dev": true,
"requires": {
"vlq": "0.2.2"
}
}
}
}
}
},
@ -2154,6 +2130,18 @@
"integrity": "sha1-0JxLUoAKpMB44t2BqGmqyQ0uVOc=",
"dev": true
},
"call-matcher": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/call-matcher/-/call-matcher-1.0.1.tgz",
"integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=",
"dev": true,
"requires": {
"core-js": "2.4.1",
"deep-equal": "1.0.1",
"espurify": "1.7.0",
"estraverse": "4.2.0"
}
},
"caller-path": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz",
@ -2679,12 +2667,13 @@
}
},
"common-shakeify": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/common-shakeify/-/common-shakeify-0.3.2.tgz",
"integrity": "sha512-7u7VUao4YLEO4tQWCHSKycSZevwgqsJ5OztJwEdoACvUGiL1k9hCcBI7HLVZhNRsxSAbbOSNRttuBUOxdDrHGw==",
"version": "0.4.2",
"resolved": "https://registry.npmjs.org/common-shakeify/-/common-shakeify-0.4.2.tgz",
"integrity": "sha512-Z70kxMjhJQxXNaop2dwE6g4BOo65bKOeQ26nCecuidPGBo2pGP2kJ2mPX+6/BIv9pg9vYU9GA4+D98bJxPrLWQ==",
"dev": true,
"requires": {
"common-shake": "2.0.2",
"convert-source-map": "1.5.0",
"through2": "2.0.3",
"transform-ast": "2.2.1",
"wrap-comment": "1.0.0"
@ -3742,6 +3731,24 @@
"has-binary2": "1.0.2"
}
},
"envify": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/envify/-/envify-4.1.0.tgz",
"integrity": "sha512-IKRVVoAYr4pIx4yIWNsz9mOsboxlNXiu7TNBnem/K/uTHdkyzXWDzHCK7UTolqBbgaBz0tQHsD3YNls0uIIjiw==",
"dev": true,
"requires": {
"esprima": "4.0.0",
"through": "2.3.8"
},
"dependencies": {
"esprima": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.0.tgz",
"integrity": "sha512-oftTcaMu/EGrEIu904mWteKIv8vMuOgGYo7EhVJJN00R/EED9DCua/xxHRdYnKtcECzVg7xOWhflvJMnqcFZjw==",
"dev": true
}
}
},
"errno": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz",
@ -4200,6 +4207,15 @@
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"espurify": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/espurify/-/espurify-1.7.0.tgz",
"integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=",
"dev": true,
"requires": {
"core-js": "2.4.1"
}
},
"esquery": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.0.tgz",
@ -8270,6 +8286,26 @@
}
}
},
"multi-stage-sourcemap": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/multi-stage-sourcemap/-/multi-stage-sourcemap-0.2.1.tgz",
"integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
"dev": true,
"requires": {
"source-map": "0.1.43"
},
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"requires": {
"amdefine": "1.0.1"
}
}
}
},
"mute-stream": {
"version": "0.0.5",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz",
@ -12007,6 +12043,20 @@
}
}
},
"tinyify": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/tinyify/-/tinyify-1.0.0.tgz",
"integrity": "sha512-eKSgQ6hJsdm5LX2uZTZbDDi0lHblMof+gGQhn058ZWw6FDYy7Fof6M/pcaHczZKU4uTGueCI+PwSzn4uojNV7g==",
"dev": true,
"requires": {
"browser-pack-flat": "2.7.2",
"common-shakeify": "0.4.2",
"envify": "4.1.0",
"minify-stream": "1.1.0",
"uglifyify": "4.0.4",
"unassertify": "2.0.4"
}
},
"tmpl": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
@ -12359,6 +12409,33 @@
"dev": true,
"optional": true
},
"uglifyify": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/uglifyify/-/uglifyify-4.0.4.tgz",
"integrity": "sha512-zsybjeGOkBYM7aL0zNT13yse2rlbW2QzrcL1LYsl/aCh0frzzfIh6XE0ZtKGeWkCzD/81y5xiFKqJIJ2ChvXlA==",
"dev": true,
"requires": {
"convert-source-map": "1.1.3",
"extend": "1.3.0",
"minimatch": "3.0.4",
"through": "2.3.8",
"uglify-es": "3.1.2"
},
"dependencies": {
"convert-source-map": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz",
"integrity": "sha1-SCnId+n+SbMWHzvzZziI4gRpmGA=",
"dev": true
},
"extend": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/extend/-/extend-1.3.0.tgz",
"integrity": "sha1-0VFvsP9WJNLr+RI+odrFoZlABPg=",
"dev": true
}
}
},
"ultron": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.0.tgz",
@ -12370,6 +12447,51 @@
"integrity": "sha1-iuVW4RAR9jwllnCKiDclnwGz1g4=",
"dev": true
},
"unassert": {
"version": "1.5.1",
"resolved": "https://registry.npmjs.org/unassert/-/unassert-1.5.1.tgz",
"integrity": "sha1-y8iOw4dBfFpeTALTzQe+mL11/3Y=",
"dev": true,
"requires": {
"acorn": "4.0.13",
"call-matcher": "1.0.1",
"deep-equal": "1.0.1",
"espurify": "1.7.0",
"estraverse": "4.2.0",
"esutils": "2.0.2",
"object-assign": "4.1.1"
},
"dependencies": {
"acorn": {
"version": "4.0.13",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"unassertify": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/unassertify/-/unassertify-2.0.4.tgz",
"integrity": "sha1-s8orpfKbSDbjWm3Xflsg9tu/jlI=",
"dev": true,
"requires": {
"acorn": "4.0.13",
"convert-source-map": "1.5.0",
"escodegen": "1.9.0",
"multi-stage-sourcemap": "0.2.1",
"through": "2.3.8",
"unassert": "1.5.1"
},
"dependencies": {
"acorn": {
"version": "4.0.13",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"undefsafe": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-0.0.3.tgz",

View file

@ -42,11 +42,9 @@
"babel-preset-es2015": "6.24.0",
"babel-register": "6.9.0",
"babelify": "7.3.0",
"browser-pack-flat": "^2.7.0",
"browser-sync": "2.18.8",
"browserify": "14.1.0",
"chalk": "1.1.3",
"common-shakeify": "^0.3.2",
"cssnano": "3.7.3",
"disc": "1.3.2",
"eslint": "^3.19.0",
@ -77,6 +75,7 @@
"sass": "0.5.0",
"selenium-webdriver": "2.53.3",
"tape": "^4.8.0",
"tinyify": "^1.0.0",
"uppy-server": "0.0.7",
"watchify": "3.7.0"
},