diff --git a/js/src/index.js b/js/src/index.js
index c4a4d4b1f4d0dbd4a8987cdb22040352296b7a2b..665b889c5555babfd3f8dfa067a5669d24b09ac9 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')
+    }
   }
 })()