Home / Companies / GitHub / Blog / Post Details
Content Deep Dive

Removing jQuery from GitHub.com frontend

Blog post from GitHub

Post Details
Company
Date Published
Author
GitHub Engineering
Word Count
1,810
Language
English
Hacker News Points
-
Summary

GitHub recently completed the transition of removing jQuery from its frontend code, a process that took several years. Initially, jQuery was essential for GitHub due to the lack of standard browser APIs for tasks like DOM manipulation and AJAX requests, which allowed rapid prototyping and cross-browser compatibility. However, as web standards evolved, native browser features began to offer equivalent functionality, prompting GitHub to gradually replace jQuery with standard APIs. This transition was managed by setting metrics, discouraging new jQuery code, and using tools like eslint and static type checking with Flow to ensure code quality and maintainability. The transition not only improved code resilience but also reduced page load times by dropping a 30 kB dependency. Additionally, GitHub adopted modern web technologies like Custom Elements and progressive enhancement to continue building interactive and accessible web features. Despite the challenges, the incremental approach allowed GitHub to carefully phase out jQuery without disrupting site functionality, resulting in a cleaner and more efficient codebase.