Skip to content

feat(lib): Remove jQuery support#3498

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

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

Conversation

@louismaximepiton
Copy link
Copy Markdown
Member

@louismaximepiton louismaximepiton commented Apr 8, 2026

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
Copy link
Copy Markdown

netlify bot commented Apr 8, 2026

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
Copy link
Copy Markdown

Copilot AI left a comment

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
Copy link
Copy Markdown
Collaborator

@MaxLardenois MaxLardenois left a comment

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?

@boosted-bot boosted-bot moved this from Need Dev Review to Need Lead Dev Review in 🟣 [Orange-Boosted-Bootstrap] PRs Board Apr 15, 2026
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