Hacker News

Я попросив Клода Коду видалити jQuery. Це з тріском провалилося

Я попросив Клода Коду видалити jQuery. Це з тріском провалилося Це дослідження заглиблюється в питання, вивчаючи його значення та компонент — Mewayz Business OS.

3 min read

Mewayz Team

Editorial Team

Hacker News

Я попросив Клода Коду видалити jQuery. Це провалилося з тріском

Видалення jQuery із застарілої кодової бази звучить просто на папері — на практиці це один із найбільш оманливо зрадницьких рефакторів, які може спробувати розробник. Я передав завдання Клоду Коду, помічнику кодувальника штучного інтелекту, очікуючи чистого переходу на ванільний JavaScript, а потім був каскад несправних обробників подій, відсутні абстракції AJAX і глибоко вкладені залежності плагінів, які поставили проект на коліна.

Чому видалення jQuery здалося гарною ідеєю?

Пропозиція була переконливою: сучасні браузери усунули прогалину сумісності, яка зробила jQuery необхідним у 2009 році. Vanilla JavaScript тепер обробляє маніпуляції DOM, запити на вибірку та делегування подій. Видалення jQuery зменшує 87 КБ із пакета (зменшеного + gzipped), покращує показники Lighthouse і усуває залежність, яка отримує менше уваги під час обслуговування.

Нашою кодовою базою була інформаційна панель SaaS середнього розміру з приблизно 140 000 рядків JavaScript, накопичених за шість років. jQuery був скрізь — не лише у допоміжних функціях, але й у сторонніх плагінах, перевірці застарілих форм і навіть у деяких частинах шаблонів, відтворених сервером. Площа поверхні рефактора була величезною, і я наївно припускав, що інструмент ШІ з’їсть її на сніданок.

Що насправді сталося, коли Клод Код спробував це зробити?

Перша передача надихнула. Клод Код правильно визначив виклики $(document).ready() і замінив їх слухачами DOMContentLoaded. Прості виклики $.ajax() перетворюються на fetch(). Для низько висячого фрукта штучний інтелект показав чудові результати.

Потім з’явилися плагіни. Наша кодова база спиралася на Select2, DataTables і настроюваний засіб вибору діапазону дат — усе залежить від jQuery. Клод Код запропонував замінити їх сучасними альтернативами, що є правильною порадою окремо, але це не враховує ефект хвилі. Заміна Select2 на Choices.js змінила API ініціалізації, назви подій і договір зв’язування даних. Клод Код замінив імпорт і пішов далі, залишивши недоторканими пошкоджені посилання на 23 компоненти.

Гірше того, штучний інтелект мав проблеми з непрямим використанням jQuery — місцями, де був технічно написаний ванільний JS, але результати передавалися через службові функції jQuery, такі як $.extend() або $.isPlainObject(). Він повністю пропустив їх під час аналізу.

«Інструменти кодування штучного інтелекту чудово підходять для заміни шаблонів. Їм важко відображати системні залежності — розуміти не лише те, де викликається бібліотека, а й те, які контракти вона неявно виконує по всій кодовій базі».

Які реальні проблеми міграції з jQuery на Vanilla?

Невдача виявила структурні проблеми, які жоден інструмент — людина чи штучний інтелект — не може обійти без належної підготовки:

💡 ВИ ЗНАЛИ?

Mewayz замінює 8+ бізнес-інструментів в одній платформі

CRM · Виставлення рахунків · HR · Проєкти · Бронювання · eCommerce · POS · Аналітика. Безкоштовний план назавжди.

Почати безкоштовно →

Приховані контракти плагінів: плагіни jQuery покладаються на внутрішню систему подій jQuery (розширення $.fn, делеговані події). Заміна бібліотеки хоста робить недійсними всі плагіни одночасно, а не поступово.

Відмінності обробки помилок AJAX: $.ajax() jQuery обгортає помилки в нормалізований об’єкт. Fetch API викликає збій мережі, але вирішує відповіді 4xx/5xx — інверсія поведінки, яка порушує всі існуючі обробники помилок.

Абстракції анімації: $.animate(), .fadeIn() і .slideUp() не мають прямих еквівалентів; Переходи CSS вимагають змін структурної розмітки, а не лише заміни JavaScript.

Відмінності механізму селектора: механізм Sizzle jQuery підтримує псевдоселектори, такі як :visible і :has(), які querySelectorAll() не обробляє нативно.

Глобальні припущення про стан: застарілий код часто змінює об’єкт jQuery або покладається на порядок плагінів — припущення, невидимі для статичного аналізу.

Клод Код правильно визначив приблизно 60% необхідних змін. Для решти 40% потрібна людина-розробник, яка розуміє поведінкові контракти, а не лише синтаксис.

Як розробникам насправді підійти до цієї міграції?

Правильна стратегія – поетапна та обмежена, а не оптова. Замість того, щоб виривати jQuery за один прохід,

Frequently Asked Questions

Can AI tools like Claude Code reliably remove jQuery from a large codebase?

Partially. AI tools perform well on syntactic replacements — converting $.ajax() to fetch(), replacing $(selector) with document.querySelector() — but they lack the ability to reason about behavioral contracts, plugin ecosystems, and implicit dependencies. Human review is mandatory, especially for codebases with third-party jQuery plugins.

Is removing jQuery still worth it in 2026?

For new projects, absolutely — there is no modern reason to include jQuery. For legacy projects, the ROI depends on codebase size, plugin reliance, and team capacity. A 10KB page with two jQuery usages is an easy win. A 500-component SaaS dashboard with six jQuery plugins is a multi-sprint investment that requires careful cost-benefit analysis before starting.

What is the safest way to start a jQuery migration today?

Start with integration tests that document current behavior, then adopt the shrinking island model: freeze jQuery imports in legacy modules while mandating vanilla JS in all new code. Use ESLint rules to enforce the boundary. Over time, the legacy island shrinks naturally as features are rewritten, rather than all at once through a high-risk refactor.


Technical debt is real, refactors are hard, and even the best AI tools are not magic wands. But the businesses that grow sustainably are the ones that invest in platforms and architectures that minimize this kind of compounding chaos. If you're building or scaling a business and want tools designed for durability rather than regret, explore Mewayz — 207 modules, one clean platform, starting at $19/month.

Спробуйте Mewayz безкоштовно

Універсальна платформа для CRM, виставлення рахунків, проектів, HR та іншого. Без кредитної картки.

Почніть керувати своїм бізнесом розумніше вже сьогодні.

Приєднуйтесь до 30,000+ компаній. Безплатний тариф назавжди · Без кредитної картки.

Знайшли це корисним? Поділіться цим.

Готові застосувати це на практиці?

Приєднуйтесь до 30,000+ бізнесів, які використовують Mewayz. Безкоштовний тариф назавжди — кредитна карта не потрібна.

Почати пробний період →

Готові вжити заходів?

Почніть свій безкоштовний пробний період Mewayz сьогодні

Бізнес-платформа все в одному. Кредитна картка не потрібна.

Почати безкоштовно →

14-денний безкоштовний пробний період · Без кредитної картки · Скасуйте в будь-який час