]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
fix jquery detection
authorJohann-S <johann.servoire@gmail.com>
Fri, 1 Mar 2019 13:52:43 +0000 (14:52 +0100)
committerXhmikosR <xhmikosr@gmail.com>
Thu, 7 Mar 2019 22:30:24 +0000 (00:30 +0200)
js/src/index.js
js/src/util.js
js/tests/unit/util.js

index c4a4d4b1f4d0dbd4a8987cdb22040352296b7a2b..327de242b280ef12960f5c9b0be3d7ba844db08f 100644 (file)
@@ -1,4 +1,3 @@
-import $ from 'jquery'
 import Alert from './alert'
 import Button from './button'
 import Carousel from './carousel'
@@ -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,
index d459aa266b24b7e0ec40f41f109e881acfde05ef..43121b4c9ed145d879ae3762e45505a4c27caddb 100644 (file)
@@ -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
index 858fee6f4d024dce816edf905d999f2f55b43d2e..e7e22cea97cbd83ac29c27d6a49b6bb31388b323 100644 (file)
@@ -160,4 +160,9 @@ $(function () {
       sandbox.restore()
     }
   })
+
+  QUnit.test('Util.jQueryDetection should detect jQuery', function (assert) {
+    assert.expect(0)
+    Util.jQueryDetection()
+  })
 })