diff --git a/dist/browser/bootlint.js b/dist/browser/bootlint.js
index b40608be..6f44870f 100644
--- a/dist/browser/bootlint.js
+++ b/dist/browser/bootlint.js
@@ -9227,6 +9227,9 @@ if (typeof module === 'object' && module.exports === exports)
// Not necessarily the package version of this code.
exports.SEMVER_SPEC_VERSION = '2.0.0';
+var MAX_LENGTH = 256;
+var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
+
// The actual regexps go on exports.re
var re = exports.re = [];
var src = exports.src = [];
@@ -9440,8 +9443,24 @@ for (var i = 0; i < R; i++) {
exports.parse = parse;
function parse(version, loose) {
+ if (version instanceof SemVer)
+ return version;
+
+ if (typeof version !== 'string')
+ return null;
+
+ if (version.length > MAX_LENGTH)
+ return null;
+
var r = loose ? re[LOOSE] : re[FULL];
- return (r.test(version)) ? new SemVer(version, loose) : null;
+ if (!r.test(version))
+ return null;
+
+ try {
+ return new SemVer(version, loose);
+ } catch (er) {
+ return null;
+ }
}
exports.valid = valid;
@@ -9469,6 +9488,9 @@ function SemVer(version, loose) {
throw new TypeError('Invalid Version: ' + version);
}
+ if (version.length > MAX_LENGTH)
+ throw new TypeError('version is longer than ' + MAX_LENGTH + ' characters')
+
if (!(this instanceof SemVer))
return new SemVer(version, loose);
@@ -9486,12 +9508,26 @@ function SemVer(version, loose) {
this.minor = +m[2];
this.patch = +m[3];
+ if (this.major > MAX_SAFE_INTEGER || this.major < 0)
+ throw new TypeError('Invalid major version')
+
+ if (this.minor > MAX_SAFE_INTEGER || this.minor < 0)
+ throw new TypeError('Invalid minor version')
+
+ if (this.patch > MAX_SAFE_INTEGER || this.patch < 0)
+ throw new TypeError('Invalid patch version')
+
// numberify any prerelease numeric ids
if (!m[4])
this.prerelease = [];
else
this.prerelease = m[4].split('.').map(function(id) {
- return (/^[0-9]+$/.test(id)) ? +id : id;
+ if (/^[0-9]+$/.test(id)) {
+ var num = +id
+ if (num >= 0 && num < MAX_SAFE_INTEGER)
+ return num
+ }
+ return id;
});
this.build = m[5] ? m[5].split('.') : [];
@@ -11311,6 +11347,35 @@ var LocationIndex = _location.LocationIndex;
reporter('`.carousel-inner` must have exactly one `.item.active` child.', innersWithWrongActiveItems);
}
});
+ addLinter("E042", function lintFormControlOnWrongControl($, reporter) {
+ var formControlsOnWrongTags = $('.form-control:not(input,textarea,select)');
+ if (formControlsOnWrongTags.length) {
+ reporter('`.form-control` should only be used on ``s, `