TGViewer
🇺🇦 Math.random(): community of engineers 🇺🇦 Math.random(): community of engineers @mathrandomcommunity · 1.25K subscribers
Post #946 576
🍋jscpd має 1,5 млн завантажень на тиждень. І я не вгадую, що в ньому покращити. Я це вимірюю.

Сьогодні - про внутрішню кухню роботи над open-source проектом.


⁉ Як зрозуміти, чого вартий твій продукт порівняно з іншими?

‼️ Запустити бенчмарк 🚀

Я взяв 7 copy-paste детекторів і прогнав усі на одній базі: 547 файлів, 223 формати, однакові умови для всіх.

Результати показав тут:

⚡️ Швидкість
🪙 Токени
🧩 Формати - сьогодні, фінальна 👇

👀 Дуже часто Copy-Paste Detector каже, що «дублікатів немає». Але він просто не зазирнув всередину ваших Vue- та Svelte-файлів. Сучасний файл - це не суцільний текст: один .vue, .svelte чи .astro містить кілька мов одразу - скрипт, стилі, шаблон. У markdown - YAML і блоки коду. І те, як інструмент це читає, вирішує все.

Існує 2 види інструментів:

🔴 Flat-text - порівнюють усе з усім: CSS зі скриптом, шаблон зі стилями. Або шум, або сліпота: звіт каже «чисто», а копіпаст лишається в коді.

🟢 Section-aware - спершу парсить файл, ділить на мови, і лише потім порівнює CSS із CSS, скрипт зі скриптом. Це вміє лише движок jscpd.

👨🏻‍💻Окремо про markdown: код усередині .md jscpd дістає з блоку й порівнює як код, а не як текст документації. Дубль, схований у прикладі коду, більше не проходить повз.

Результат: знайти дублікати між різними форматами (наприклад, однаковий CSS у .svelte та .astro) здатні лише три інструменти. І всі - на jscpd.

💡 Висновок.

У сучасних проектах дублікати ховаються не в тексті, а в структурі. Інструмент, який бачить лише текст, у найгіршому випадку звітує «чисто» - і ви вірите цьому звіту. Якщо інструмент не розуміє секцій усередині файлу - він не розуміє frontend.

🔗 Бенчмарк форматів: jscpd.dev/benchmarks/cross-format
💻 GitHub:
github.com/kucherenko/jscpd
☕ Підтримати:
opencollective.com/jscpd

А ваш CPD точно бачить дублікати у .vue і .svelte - чи просто каже «чисто»?

👍 Бачить, я перевіряв
👀 Не знаю - піду перевірю
😱 Тепер боюся дивитися

#jscpd #CopyPasteDetector
  • 👍 8
  • ❤ 3
  • 😱 3
  • 👀 2
More from @mathrandomcommunity
  1. Oct 6, 2026GitSpawn і Plugin4Shell — дві вересневі вразливості в кодинг-агентах. Обидві запускають чу…
  2. Sep 30, 2026Подивись, як AI-судді розбирають код агента👆 Це тестова гра нашої команди в ololo. Навіщо…
  3. Sep 30, 2026video post
  4. Sep 29, 2026Найнебезпечніша фраза від AI-агента: «Готово, тести проходять». Мій агент пише її щодня. З…
  5. Sep 29, 2026video post
  6. Sep 24, 2026Нова модель Jev від TypeSafe AI стала однією з найпомітніших новинок останнього тижня 🆕 Я…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →