aboutsummaryrefslogtreecommitdiff
path: root/docs/assets
diff options
context:
space:
mode:
authorChris Rebert <[email protected]>2014-12-05 12:58:47 -0800
committerChris Rebert <[email protected]>2014-12-05 13:06:01 -0800
commit37183edfd5682de22d338760d84b6dcd75eb8fe9 (patch)
treeddcd15d1f8d9018d02557ed3cef51a0f3e47c286 /docs/assets
parent7e758f60fcb8f5391ea48cacf432c76e8b747909 (diff)
downloadbootstrap-37183edfd5682de22d338760d84b6dcd75eb8fe9.tar.xz
bootstrap-37183edfd5682de22d338760d84b6dcd75eb8fe9.zip
Customizer: Catch and properly report compile errors that Less.js's toCSS() can throw.
Currently these errors are only reported in the JavaScript console, not in the Customizer UI. Refs #15296 [skip sauce] [skip validator]
Diffstat (limited to 'docs/assets')
-rw-r--r--docs/assets/js/src/customizer.js22
1 files changed, 14 insertions, 8 deletions
diff --git a/docs/assets/js/src/customizer.js b/docs/assets/js/src/customizer.js
index c75681cdd..59d57f82a 100644
--- a/docs/assets/js/src/customizer.js
+++ b/docs/assets/js/src/customizer.js
@@ -24,7 +24,8 @@ window.onload = function () { // wait for load in a dumb way because B-0
'<div class="container">' +
'<a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right" aria-label="Close" role="button"><span aria-hidden="true">&times;</span></a>' +
'<p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign" aria-hidden="true"></span><span class="sr-only">Warning:</span>' + msg + '</p>' +
- (err.extract ? '<pre class="bs-customizer-alert-extract">' + err.extract.join('\n') + '</pre>' : '') +
+ (err.message ? $('<p></p>').text('Error: ' + err.message)[0].outerHTML : '') +
+ (err.extract ? $('<pre class="bs-customizer-alert-extract"></pre>').text(err.extract.join('\n'))[0].outerHTML : '') +
'</div>' +
'</div>').appendTo('body').alert()
throw err
@@ -38,7 +39,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
function showCallout(msg, showUpTop) {
var callout = $('<div class="bs-callout bs-callout-danger">' +
- '<h4>Attention!</h4>' +
+ '<h4>Attention!</h4>' +
'<p>' + msg + '</p>' +
'</div>')
@@ -258,12 +259,17 @@ window.onload = function () { // wait for load in a dumb way because B-0
filename: baseFilename + '.css'
})
- parser.parse(lessSource, function (err, tree) {
- if (err) {
- return promise.reject(err)
+ parser.parse(lessSource, function (parseErr, tree) {
+ if (parseErr) {
+ return promise.reject(parseErr)
+ }
+ try {
+ intoResult[baseFilename + '.css'] = cw + tree.toCSS()
+ intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
+ }
+ catch (compileErr) {
+ return promise.reject(compileErr)
}
- intoResult[baseFilename + '.css'] = cw + tree.toCSS()
- intoResult[baseFilename + '.min.css'] = cw + tree.toCSS({ compress: true })
promise.resolve()
})
@@ -306,7 +312,7 @@ window.onload = function () { // wait for load in a dumb way because B-0
}
promise.resolve(result)
}).fail(function (err) {
- showError('<strong>Ruh roh!</strong> Could not parse less files.', err)
+ showError('<strong>Ruh roh!</strong> Problem parsing or compiling Less files.', err)
promise.reject()
})