jQuery

A fast, small, feature-rich JavaScript library for DOM traversal, event handling, animation, and Ajax with a concise, chainable API.

Library
npm
v4.0.0
59,910 stars
MIT License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
82 /100 Excellent
Development Activity 76
Maintenance 52
Community 100
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
66 /100 Good
Architecture 78
Code Quality 82
Innovation 45
Learning Curve 60

jQuery is a JavaScript library built around a single core abstraction: wrap a set of DOM elements in a jQuery object and chain method calls across the whole set. Its src/ tree is organized into focused modules — ajax, attributes, css, data, deferred, dimensions, effects, event, manipulation, offset, queue, selector, serialize, traversing, and wrap — that all attach onto the shared jQuery.fn prototype, so every module operates on the same element-collection abstraction rather than reinventing its own API surface.

What began as a cross-browser compatibility layer over inconsistent DOM APIs has, twenty years on, become a stable and still widely deployed foundation for legacy and server-rendered pages. The project maintains its own Rollup-based build pipeline (build/command.js) that lets consumers assemble custom builds by excluding modules like ajax, effects, or the full selector engine, producing UMD, ESM, and factory variants depending on target environment.

What You Get

  • A chainable $() API for selecting, traversing, and manipulating DOM elements as a collection
  • A cross-browser event system (.on()/.off()) with delegation, namespacing, and custom events
  • Built-in Ajax helpers ($.ajax, $.get, $.post) with a Deferred/Promise-based async model
  • An effects/animation module (.animate(), .fadeIn(), .slideUp(), etc.) with queueing
  • A modular build system to produce custom bundles (slim, full, ESM, factory) excluding unneeded modules
  • A self-contained CSS selector engine as a fallback for enhanced selector syntax beyond native querySelectorAll

Common Use Cases

  • Adding interactivity to server-rendered pages (PHP, Rails, WordPress, legacy CMS templates) without a build step
  • Manipulating and animating DOM elements in older codebases that predate modern frontend frameworks
  • Making Ajax requests and handling responses with a consistent cross-browser API
  • Maintaining and incrementally modernizing large legacy web applications that already depend on jQuery plugins
  • Building small interactive widgets or admin-panel scripts where a full SPA framework is unnecessary

Under The Hood

Architecture

jQuery’s architecture centers on a single core abstraction defined in src/core.js: the jQuery.fn.init constructor produces an array-like collection of matched DOM nodes, and every other module — ajax, attributes, css, data, deferred, effects, event, manipulation, offset, queue, selector, serialize, traversing, wrap — extends jQuery.fn with methods that operate on this as that same collection, so the whole library depends on core.js and core/init.js never changing shape. The custom build tooling in build/ (Rollup-based, invoked via build/command.js) walks these module boundaries to produce include/exclude custom bundles, meaning the module structure doubles as the library’s packaging contract, not just an internal convenience. This is a mature, deliberately flat, prototype-based design rather than a class-hierarchy or plugin-registry architecture — solid for its scope, though it shows its age next to component-based frontend architectures.

Tech Stack

The library itself is dependency-free vanilla JavaScript (ES2015+ source, transpiled/bundled to multiple targets), built with Rollup plus Babel (only for a legacy ES6-iterability test fixture), linted with ESLint using eslint-config-jquery and eslint-plugin-import, and packaged for npm as CommonJS/global (dist/jquery.js), ESM (dist-module/), AMD, and Node-factory builds. Its own selector engine (descended from Sizzle) lives under src/selector/ and is used both as jQuery’s default matching engine and, when excluded, replaced by a thin querySelectorAll wrapper (selector-native.js).

Code Quality

Testing is extensive: test/unit/ holds one QUnit test file per module (ajax, animation, attributes, core, css, data, deferred, dimensions, effects, event, manipulation, offset, queue, selector, serialize, traversing, wrap, and more), run via the project’s own jquery-test-runner across real browsers in CI (browser-tests.yml, browserstack.yml), plus Node smoke tests and Promises/A+ compliance tests. CI also runs ESLint, JSON linting, and GitHub CodeQL security analysis. There is no static type system (plain JavaScript, no TypeScript or JSDoc type-checking), so correctness leans entirely on this test and lint surface rather than compile-time guarantees.

What Makes It Unique

jQuery’s original innovation — a unified abstraction papering over inconsistent, pre-standardization browser DOM APIs — has been largely absorbed by the modern web platform itself (native querySelectorAll, fetch, CSS transitions), so today its distinguishing value is less technical novelty and more its long-lived, stable chainable API and its configurable module-exclusion build system, which lets consumers ship only the pieces (e.g. no ajax, no effects, no deprecated APIs) their page actually uses.

Used by 30 apps in this directory

PHP
81%
Other

Mautic

Automation · Ecommerce · Marketing

10,830

The world's largest open source marketing automation platform — own your data, run multi-channel campaigns, and escape vendor lock-in forever.

View details
98
Repo Health
76
Technical
63
Dependency
Built with
PHP 81%
Updated 3 days ago
JavaScript
88%
GPL 3.0

NodeBB

Community

15,242

Modern Node.js forum software with real-time WebSockets, multi-database support, and a plugin ecosystem — the community platform built for the open web and the Fediverse.

View details
97
Repo Health
78
Technical
70
Dependency
Built with
JavaScript 88%
Go Template 11%
Updated 2 days ago
Ruby
78%
GPL 3.0

OpenProject

Collaboration · Productivity · Project Management

16,598

The open source project management platform that unifies Gantt charts, agile boards, time tracking, and team collaboration under full self-hosted control.

View details
96
Repo Health
79
Technical
69
Dependency
Built with
Ruby 78%
TypeScript 14%
Updated 2 days ago
PHP
75%
GPL 2.0

Open Web Analytics

Analytics

2,693

Self-host your own Google Analytics alternative with heatmaps, session recordings, and full data ownership — no cloud required.

View details
88
Repo Health
51
Technical
70
Dependency
Built with
PHP 75%
JavaScript 22%
Updated 3 days ago
JavaScript
64%
AGPL 3.0

overleaf

Collaboration · Productivity

18,266

Open-source, real-time collaborative LaTeX editor with sandboxed compilation and full TeXLive support for self-hosted academic and research teams.

View details
84
Repo Health
80
Technical
59
Dependency
Built with
JavaScript 64%
TypeScript 30%
Updated 1 months ago
PHP
70%
AGPL 3.0

Pixelfed

Social Media

7,129

A decentralized, self-hosted photo sharing platform built on ActivityPub for the open Fediverse.

View details
94
Repo Health
68
Technical
66
Dependency
Built with
PHP 70%
Vue 21%
Updated 3 days ago
TypeScript
90%
MIT

Plasmic

CMS · Design Tools · Low Code Platforms

7,125

The open-source visual builder that lets teams design React apps and websites with drag-and-drop while integrating seamlessly with your codebase.

View details
81
Repo Health
78
Technical
64
Dependency
Built with
TypeScript 90%
Updated 3 days ago
TypeScript
51%
ZLIB

Portainer

Devops

38,707

A lightweight, open-source web UI that puts Docker, Kubernetes, and Podman management within reach of any team—no CLI expertise required.

View details
93
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 51%
Go 38%
Updated 3 days ago
TypeScript
64%
AGPL 3.0

Puter

Developer Tools · File Storage

43,864

A self-hostable, web-based internet OS with desktop GUI, cloud storage, AI drivers, and a developer SDK — all running in your browser.

View details
88
Repo Health
88
Technical
67
Dependency
Built with
TypeScript 64%
JavaScript 33%
Updated 2 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers