aboutsummaryrefslogtreecommitdiff
path: root/docs/assets/js/_src
diff options
context:
space:
mode:
authorXhmikosR <[email protected]>2014-04-21 01:35:17 +0300
committerXhmikosR <[email protected]>2014-04-21 01:35:17 +0300
commite0c3ae61333c76b5f1490f074c6558498d5e995d (patch)
tree57475f8b998c7ebfc9137ab566cb8704086da448 /docs/assets/js/_src
parenta69bc3bc095de588ae78b663f73395134ad6ee00 (diff)
parent1267a9a02bf5e724b807b7abc97f007b48154b5d (diff)
downloadbootstrap-e0c3ae61333c76b5f1490f074c6558498d5e995d.tar.xz
bootstrap-e0c3ae61333c76b5f1490f074c6558498d5e995d.zip
Merge pull request #13151 from twbs/customizer-uglifyjs2
Customizer: switch to UglifyJS2
Diffstat (limited to 'docs/assets/js/_src')
-rw-r--r--docs/assets/js/_src/customizer.js28
1 files changed, 25 insertions, 3 deletions
diff --git a/docs/assets/js/_src/customizer.js b/docs/assets/js/_src/customizer.js
index ac314dc73..033e1c9c9 100644
--- a/docs/assets/js/_src/customizer.js
+++ b/docs/assets/js/_src/customizer.js
@@ -276,8 +276,27 @@ window.onload = function () { // wait for load in a dumb way because B-0
return result
}
- function generateJavascript(preamble) {
+ function uglify(js) {
+ var ast = UglifyJS.parse(js)
+ ast.figure_out_scope()
+
+ var compressor = UglifyJS.Compressor()
+ var compressedAst = ast.transform(compressor)
+
+ compressedAst.figure_out_scope()
+ compressedAst.compute_char_frequency()
+ compressedAst.mangle_names()
+
+ var stream = UglifyJS.OutputStream()
+ compressedAst.print(stream)
+
+ return stream.toString()
+ }
+
+ function generateJS(preamble) {
var $checked = $('#plugin-section input:checked')
+ var jqueryCheck = 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap\'s JavaScript requires jQuery") }\n\n'
+
if (!$checked.length) return false
var js = $checked
@@ -285,9 +304,12 @@ window.onload = function () { // wait for load in a dumb way because B-0
.toArray()
.join('\n')
+ preamble = cw + preamble
+ js = jqueryCheck + js
+
return {
'bootstrap.js': preamble + js,
- 'bootstrap.min.js': preamble + cw + uglify(js)
+ 'bootstrap.min.js': preamble + uglify(js)
}
}
@@ -351,7 +373,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
' * Config saved to config.json and ' + gistUrl + '\n' +
' */\n'
- generateZip(generateCSS(preamble), generateJavascript(preamble), generateFonts(), configJson, function (blob) {
+ generateZip(generateCSS(preamble), generateJS(preamble), generateFonts(), configJson, function (blob) {
$compileBtn.removeAttr('disabled')
saveAs(blob, 'bootstrap.zip')
})