Breaking: #101820 - Remove bootstap jQuery interface and window.jQuery¶
See forge#101820
Description¶
The bootstrap jQuery interfaces required a global window.jQuery
variable
to be set. The jquery drop-in is dropped in order to remove this non-optional
jQuery dependency.
As a side effect the window.jQuery
global is removed as well.
Note that global jQuery usage has already been deprecated in forge#86438 and
removed in forge#97243 with the suggestion to use JavaScript modules instead.
window.jQuery
was basically left in place for bootstrap to operate and
therefore only window.$
was removed back then.
Impact¶
Loading the ES6 'bootstrap' module no longer has side effects, as the global
scope window
is no longer polluted by writing to the property jQuery
.
This also means jQuery will no longer be loaded when it is not actually needed.
Affected Installations¶
All installations that use bootstrap's jQuery interface or applications that
use window.jQuery
to invoke jQuery.
Following method calls are affected:
$(…).alert()
$(…).button()
$(…).carousel()
$(…).collapse()
$(…).dropdown()
$(…).tab()
$(…).modal()
$(…).offcanvas()
$(…).popover()
$(…).scrollspy()
$(…).toast()
$(…).tooltip()
Migration¶
Use bootstraps ES6 exports import { Carousel } from 'bootstrap';
instead.