From 7d7873b6f206fbbb29dbeee42a7ff94a9e1f5204 Mon Sep 17 00:00:00 2001
From: Johann-S <johann.servoire@gmail.com>
Date: Fri, 1 Sep 2017 08:42:28 +0200
Subject: [PATCH] Check jQuery version only if jQuery is available

---
 js/src/index.js | 25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/js/src/index.js b/js/src/index.js
index c4a4d4b1f4..665b889c55 100644
--- a/js/src/index.js
+++ b/js/src/index.js
@@ -1,4 +1,3 @@
-import $ from 'jquery'
 import Alert from './alert'
 import Button from './button'
 import Carousel from './carousel'
@@ -18,21 +17,19 @@ import Util from './util'
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
  * --------------------------------------------------------------------------
  */
-
 (() => {
-  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
+  // only check jQuery version if jQuery is available
+  if (typeof window.$ !== 'undefined' || typeof window.jQuery !== 'undefined') {
+    const version = window.$.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')
+    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')
+    }
   }
 })()
 
-- 
GitLab