Skip to content

Commit

Permalink
fix jquery detection
Browse files Browse the repository at this point in the history
  • Loading branch information
Johann-S authored and XhmikosR committed Mar 1, 2019
1 parent 1724240 commit 1c1d2aa
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 18 deletions.
18 changes: 0 additions & 18 deletions js/src/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
import $ from 'jquery'
import Alert from './alert'
import Button from './button'
import Carousel from './carousel'
Expand All @@ -19,23 +18,6 @@ import Util from './util'
* --------------------------------------------------------------------------
*/

(() => {
if (typeof $ === 'undefined') {
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}

const version = $.fn.jquery.split(' ')[0].split('.')
const minMajor = 1
const ltMajor = 2
const minMinor = 9
const minPatch = 1
const maxMajor = 4

if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
})()

export {
Util,
Alert,
Expand Down
18 changes: 18 additions & 0 deletions js/src/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -169,9 +169,27 @@ const Util = {
}

return Util.findShadowRoot(element.parentNode)
},

jQueryDetection() {
if (typeof $ === 'undefined') {
throw new TypeError('Bootstrap\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\'s JavaScript.')
}

const version = $.fn.jquery.split(' ')[0].split('.')
const minMajor = 1
const ltMajor = 2
const minMinor = 9
const minPatch = 1
const maxMajor = 4

if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {
throw new Error('Bootstrap\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')
}
}
}

Util.jQueryDetection()
setTransitionEndSupport()

export default Util
5 changes: 5 additions & 0 deletions js/tests/unit/util.js
Original file line number Diff line number Diff line change
Expand Up @@ -160,4 +160,9 @@ $(function () {
sandbox.restore()
}
})

QUnit.test('Util.jQueryDetection should detect jQuery', function (assert) {
assert.expect(0)
Util.jQueryDetection()
})
})

0 comments on commit 1c1d2aa

Please sign in to comment.