Skip to content

feat(lib): Remove jQuery support#3498

Open
louismaximepiton wants to merge 2 commits into
ouds/mainfrom
ouds/main-lmp-remove-jquery
Open

feat(lib): Remove jQuery support#3498
louismaximepiton wants to merge 2 commits into
ouds/mainfrom
ouds/main-lmp-remove-jquery

Conversation

@louismaximepiton

@louismaximepiton louismaximepiton commented Apr 8, 2026

Copy link
Copy Markdown
Member

Types of change

  • Non-breaking change
  • Breaking change (fix or feature that would change existing functionality and usage)

Related issues

NA

Context & Motivation

Following BS6 with twbs/bootstrap#41682, we remove jQuery support, since almost no one uses it nowadays, to lighten our bundle and dependencies.

Description

Remove every reference to jquery in our doc and in our package.

Checklists

  • I have read the contributing guidelines
  • My change follows the developer guide
  • My change pass all tests
  • My change is compatible with a responsive display
  • I have added tests (Javascript unit test or visual) to cover my changes
  • My change introduces changes to the documentation that I have updated accordingly
    • Title and DOM structure is correct
    • Links have been updated (title changes impact links)
    • CSS for the documentation
  • I have checked all states and combinations of the component with my change
  • I have checked all the impacts for the other components and core behavior (grid, reboot, utilities)

Checklist (for Core Team only)

  • The changes need to be in the migration guide
  • The changes are well displayed in Storybook (be careful if example order has changed for DSM)
  • The changes are compatible with RTL
  • Manually test browser compatibility with BrowserStack (Chrome 120, Firefox 121, Edge 120, Safari 15.6, iOS Safari, Chrome & Firefox on Android)

Progression (for Core Team only)

Live previews

@netlify

netlify Bot commented Apr 8, 2026

Copy link
Copy Markdown

Deploy Preview for boosted ready!

Name Link
🔨 Latest commit 10e744e
🔍 Latest deploy log https://app.netlify.com/projects/boosted/deploys/69d6019a0d69f70008e66ed2
😎 Deploy Preview https://deploy-preview-3498--boosted.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@louismaximepiton louismaximepiton force-pushed the ouds/main-lmp-remove-jquery branch from 87d0704 to 10e744e Compare April 8, 2026 07:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Removes all jQuery integration/support from the OUDS Web JavaScript API and documentation, aligning with upstream Bootstrap’s direction and reducing dependency/bundle surface.

Changes:

  • Removed jQuery plugin bridge (defineJQueryPlugin, * .jQueryInterface), jQuery event integration, and jQuery-specific element handling from core JS.
  • Deleted/updated unit tests and Karma config that previously validated jQuery behavior.
  • Removed jQuery references from docs and dropped jquery from tooling/dependencies (plus updated bundlewatch thresholds).

Reviewed changes

Copilot reviewed 42 out of 43 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
site/src/content/docs/getting-started/javascript.mdx Removes “Optionally using jQuery” documentation section.
site/src/content/docs/foundation/reboot.mdx Removes jQuery compatibility note for [hidden].
package.json Removes jquery devDependency and js-test-jquery script path.
js/tests/unit/util/index.spec.js Removes Util tests for jQuery object detection/unwrap and getjQuery.
js/tests/unit/tooltip.spec.js Removes jQuery-related tooltip tests and fixture helper import.
js/tests/unit/toast.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/tab.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/scrollspy.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/quantity-selector.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/popover.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/orange-navbar.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/offcanvas.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/modal.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/jquery.spec.js Deletes dedicated jQuery integration test suite.
js/tests/unit/dropdown.spec.js Removes jQuery-related tests and fixture helper import.
js/tests/unit/collapse.spec.js Removes jQuery parent-config test and jQueryInterface tests; updates wording.
js/tests/unit/carousel.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/button.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/unit/base-component.spec.js Removes jQuery object acceptance from BaseComponent tests.
js/tests/unit/alert.spec.js Removes jQueryInterface tests and fixture helper import.
js/tests/karma.conf.js Removes JQUERY-only test mode; runs all unit specs normally.
js/tests/helpers/fixture.js Removes jQueryMock helper.
js/src/util/index.js Removes jQuery element unwrapping, getjQuery, and defineJQueryPlugin export.
js/src/tooltip.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/toast.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/tab.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/scrollspy.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/quantity-selector.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/popover.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/orange-navbar.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/offcanvas.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/modal.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/dropdown.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/dom/event-handler.js Removes jQuery-trigger integration; always dispatches native events only.
js/src/collapse.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/carousel.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/button.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
js/src/alert.js Drops jQuery bridge (jQueryInterface + defineJQueryPlugin).
.github/dependabot.yml Removes jquery from ignored dependency list.
.bundlewatch.config.json Updates bundle size thresholds to new expected outputs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread .bundlewatch.config.json
Comment thread site/src/content/docs/getting-started/javascript.mdx
Comment thread js/tests/unit/collapse.spec.js

@MaxLardenois MaxLardenois left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Absolutely love deleting code 🧹
Just a non blocking question

@@ -439,8 +439,4 @@ HTML5 adds [a new global attribute named `[hidden]`](https://developer.mozilla.o

<Code lang="html" buttonLabel="hidden attribute" code={`<input type="text" hidden />`} />

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Two questions:

  • should we remove 'HTML5"? it's quite old now so proabably no need to be specific on the version
  • I did not know about this attribute, should we use it more extensively?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are never too safe, let people remove it on their side if they want, but I think we can keep it.
The hidden attribute ? I think it's not much used cause there isn't much use cases. But yeah, keep it in mind. We might want to display some new attributes such as inert and others that we don't have ?

@boosted-bot boosted-bot moved this from Need Dev Review to Need Lead Dev Review in 🟣 [Orange-Boosted-Bootstrap] PRs Board Apr 15, 2026
@louismaximepiton

Copy link
Copy Markdown
Member Author

On hold until the study about dual mode is done.

@louismaximepiton

Copy link
Copy Markdown
Member Author

Add a line about it in the dual mode

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Need Lead Dev Review

Development

Successfully merging this pull request may close these issues.

5 participants