fix(deps): update dependency jquery to v4#3767
Conversation
0b74cdb to
221694d
Compare
|
Blocking this because Bootstrap v4 requires jquery version |
8eaa52b to
a3db2fa
Compare
29f3997 to
0756b0a
Compare
05a0bb7 to
b234fe9
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: Upgrading to jQuery 4.0.0 will cause runtime errors in incompatible third-party plugins like Bootstrap 4.4.1, slick-carousel 1.8.1, and Fancybox 3.5.7, breaking multiple UI components.
Severity: CRITICAL
Suggested Fix
Revert the jQuery upgrade to version 3.x. Alternatively, upgrade the dependent libraries (Bootstrap, slick-carousel, Fancybox) to versions that are compatible with jQuery 4.0.0, or use a jQuery 4 compatibility/polyfill library to restore the removed methods.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The upgrade to jQuery 4.0.0 introduces breaking changes, such as the
removal of the `$.type()` method. This will cause runtime JavaScript errors in several
third-party libraries used in the application. Specifically, slick-carousel 1.8.1 relies
on `$.type()` and will fail to initialize carousels. Bootstrap 4.4.1 has documented
incompatibilities with jQuery 4, which will likely break tooltips, popovers, and
scrollspy functionality. Fancybox 3.5.7, developed for jQuery 3.x, is also at high risk
of failure, affecting video lightboxes. These issues will break core UI features across
the site.
42b608f to
b2c56aa
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: The npm package @fancyapps/fancybox@3.5.7 is incompatible with jQuery 4.0.0 as it uses removed APIs, which will cause runtime errors when the video lightbox is used.
Severity: HIGH
Suggested Fix
Update the @fancyapps/fancybox npm package to a modern version compatible with jQuery 4.0.0. Alternatively, replace it with a different lightbox library that supports the new jQuery version. The unused vendored file static/js/vendor/jquery.fancybox.min.js can also be removed.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The project imports `@fancyapps/fancybox@3.5.7` via npm, which is used
for the video lightbox functionality. This version of fancybox relies on several jQuery
APIs that were removed in jQuery 4.0.0, including `$.isArray`, `$.isNumeric`, and
`.unbind()`. When a user clicks the video lightbox button, the call to
`$.fancybox.open()` will trigger a `TypeError` because these functions no longer exist,
breaking the feature. The vendored `jquery.fancybox.min.js` file is unused and not the
source of this issue.
b2c56aa to
983da98
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: The vendored jquery.fancybox.min.js uses APIs like $.isArray, $.type, and .unbind() which are removed in jQuery 4.0.0, causing lightbox functionality to break.
Severity: HIGH
Suggested Fix
Upgrade the vendored jquery.fancybox.min.js to a version compatible with jQuery 4.0.0. Alternatively, patch the current version to replace removed API calls with modern equivalents (e.g., Array.isArray() for $.isArray(), typeof for $.type(), and .off() for .unbind()).
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The upgrade to jQuery 4.0.0 removes several APIs, including
`jQuery.isArray()`, `jQuery.type()`, and `.unbind()`. The vendored
`jquery.fancybox.min.js` (v3.5.7) relies on these removed APIs. Consequently, any user
interaction that triggers fancybox, such as opening a video lightbox, will result in a
`TypeError` and cause the feature to fail. This will break the video lightbox
functionality.
3d601f2 to
e810313
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: Upgrading jQuery to 4.0.0 is incompatible with the project's Bootstrap 4.4.1 dependency, which will cause runtime failures for Bootstrap's jQuery plugins like .tooltip() and .popover().
Severity: CRITICAL
Suggested Fix
To fix this, either downgrade jQuery to a version compatible with Bootstrap 4 (e.g., 3.x), or upgrade Bootstrap to version 5, which removes the jQuery dependency entirely. Alternatively, add the jquery-migrate plugin as a temporary solution to restore the deprecated APIs.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The upgrade to jQuery `4.0.0` introduces an incompatibility with the
existing Bootstrap `4.4.1` dependency. Bootstrap 4.x is not compatible with jQuery
4.0.0, and the jQuery Migrate plugin is not in use to bridge this gap. Application code
in files like `product_detail.js` and `tooltip.js` directly calls Bootstrap's jQuery
plugins, including `.popover()`, `.scrollspy()`, and `.tooltip()`. These function calls
will fail at runtime when the JavaScript is loaded in a user's browser, breaking UI
functionality for tooltips, popovers, and scroll-spy navigation on various pages.
e810313 to
77aaf4f
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: The @fancyapps/fancybox library uses several jQuery APIs like $.isArray, $.isFunction, and .unbind() that are removed in jQuery 4.0.0, which will cause runtime errors.
Severity: HIGH
Suggested Fix
The @fancyapps/fancybox package is unmaintained and incompatible with jQuery 4. Replace it with a modern, maintained lightbox library that is compatible with current jQuery versions. Alternatively, fork the existing library and update the deprecated API calls (e.g., replace .unbind() with .off(), $.isArray with Array.isArray).
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The upgrade to jQuery 4.0.0 will cause the lightbox feature, provided
by the unmaintained `@fancyapps/fancybox` library, to fail. This library relies on
multiple jQuery methods that have been removed in version 4.0.0, including
`$.isArray()`, `$.type()`, `$.isFunction()`, `$.isNumeric()`, and `.unbind()`. When a
user attempts to open a video lightbox on the home page via `$.fancybox.open()`, the
application will throw runtime `TypeError` exceptions, preventing the lightbox from
appearing and breaking this user interaction.
fc20a36 to
4a35ade
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: The upgrade to jQuery 4.0.0 is incompatible with the existing jquery.fancybox.min.js library, which relies on utility functions like $.isArray() that were removed in jQuery 4.
Severity: HIGH
Suggested Fix
Update the @fancyapps/fancybox library to a version that is compatible with jQuery 4.0.0. Alternatively, include the jQuery Migrate plugin, as recommended by the official jQuery upgrade guide, to restore the removed utility functions and ensure backward compatibility.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The upgrade to jQuery 4.0.0 removes several utility functions,
including `$.isArray()`, `$.type()`, `$.isFunction()`, and `$.isNumeric()`. The project
uses a vendored version of `jquery.fancybox.min.js` (v3.5.7) for the video lightbox
feature on the home page. This version of fancybox depends on the removed jQuery
functions. When a user clicks the action button to open the video lightbox, the fancybox
code will execute and call these non-existent functions, leading to a `TypeError` at
runtime. This will crash the lightbox functionality, preventing the video from being
displayed.
1becd80 to
3569b24
Compare
| "hls.js": "^1.0.0", | ||
| "isomorphic-fetch": "^3.0.0", | ||
| "jquery": "^3.5.1", | ||
| "jquery": "^4.0.0", |
There was a problem hiding this comment.
Bug: The upgrade to jQuery 4.0.0 is incompatible with the project's Bootstrap 4.4.1 dependency, which will break Bootstrap's JavaScript plugins like .tooltip() and .popover() at runtime.
Severity: CRITICAL
Suggested Fix
To resolve the incompatibility, either downgrade jQuery to the latest 3.x version that is compatible with Bootstrap 4.4.1, or upgrade Bootstrap to a version that supports jQuery 4.0.0, such as Bootstrap 5. The latter may require a more significant migration effort.
Prompt for AI Agent
Review the code at the location below. A potential bug has been identified by an AI
agent.
Verify if this is a real issue. If it is, propose a fix; if not, explain why it's not
valid.
Location: package.json#L62
Potential issue: The project upgrades jQuery to version 4.0.0 while still using
Bootstrap 4.4.1. According to official documentation, Bootstrap 4.4.1 is not compatible
with jQuery 4.0.0. The application's JavaScript code, specifically in `tooltip.js` and
`product_detail.js`, makes calls to Bootstrap's jQuery plugins like `.tooltip()`,
`.popover()`, and `.scrollspy()`. These functions are executed on page load. Due to the
version incompatibility, these plugin calls will fail at runtime, causing UI features
such as tooltips, popovers, and scroll-based navigation highlighting to break across the
application.
3569b24 to
7138697
Compare
This PR contains the following updates:
^3.5.1→^4.0.0Release Notes
jquery/jquery (jquery)
v4.0.0Compare Source
Changelog
https://blog.jquery.com/2026/01/17/jquery-4-0-0/
Ajax
processData: trueeven for binary data (ce264e07)headersfor script transport even when cross-domain (#5142, 6d136443)nullas success functions injQuery.get(#4989, 74978b7e)Attributes
.attr( name, false )remove for all non-ARIA attrs (#5388, 063831b6)toggleClass(boolean|undefined)signature (#3388, a4421101)CSS
<col>elements (#5628, eca2a564)selector.jswrapper (53cf7244)offsetHeight( true ), etc. include negative margins (#3982, bce13b72)undefinedfor whitespace-only CSS variable values (#5120) (7eb00196)addClass( array ), compress code (#4998, a338b407)show,hide&togglemethods in the jQuery slim build (297d18dd)Core
$.parseHTMLfromdocument.implementationtoDOMParser(0e123509)src/(#5262, f75daab0)Data
Deferred
getStackHooktogetErrorHook(#5201, 258ca1ec)Deprecated
.hover()using non-deprecated methods (fd6ffc5e)Dimensions
Docs
3.x-stable(d9281061)trac-NUMBERreferences (eb9ceb2f)#NUMBERTrac issue references withtrac-NUMBER(5d5ea015)Effect
Effects
Event
.preventDefault()in beforeunload (7c123dec).on(focus).off(focus)(#4867, e539bac7)Manipulation
Offset
Release
npm publishin the post-release phase (ff1f0eaa)Selector
:has; test both on iPhone & iPad (65e35450)jQuery.expr[ ":" ]/jQuery.expr.filters(329661fd)selector.jsmodule depend onattributes/attr.js(#5379, e06ff088)selector.jsdepenencies from various modules (e8b7db4b)qSAagain (#5177, 09d988b7)uniqueSortchainable method (#5166, 5266f23c):hasifCSS.supports(selector(...))non-compliant (#5098, d153c375)Support
Tests
jQuery.get( String, null-ish, null-ish, String )(05325801)jQuery.get( String, null-ish, null-ish, String )(76687566)hidden="until-found"attr tests from 3.x-stable (3a31866b):hasselector tests with3.x-stable(f2d9fde5)cssSupportsSelectortest (716130e0)Traversing
contents()on<object>s with children in IE (ccbd6b93)contents()on<object>s with children (#4384, 4d865d96)Upgrade
Configuration
📅 Schedule: Branch creation - "every weekend" in timezone US/Eastern, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.