TGViewer
🇺🇦 Math.random(): community of engineers 🇺🇦 Math.random(): community of engineers @mathrandomcommunity · 1.25K subscribers
Post #988 557
jscpd 5.2.1: куди рухається дублювання

Один запуск jscpd показує, скільки дублювання в коді сьогодні. Куди воно рухається, з одного запуску не видно.

У 5.2.1 зʼявився прапорець --history. jscpd бере кожен коміт у git-діапазоні, чекаутить його в тимчасовий detached worktree (той самий механізм, що й у --baseline-from-ref), сканує з конфігурацією поточного запуску і друкує серію прямо в терміналі: графік і таблицю зі зміною між точками. Остання точка — working, тобто поточний стан разом із незакоміченими змінами.

jscpd src --history v5.0.0..HEAD
jscpd src --history-since 2026-01-01
jscpd src --history main --history-since 2026-06-01 --history-every 5 --history-limit 12


Що дає --history:

— вісь Y графіка йде від мінімуму до максимуму серії, тому дрейф з 2.0% до 2.4% видно, а не губиться в пласкій лінії на шкалі від нуля

— з --threshold, коли поточне значення нижче порогу, jscpd показує, на скільки поріг можна підтягнути. Це ручна форма ratchet: цифру дає jscpd, рішення за вами. Якщо значення вище порогу, спрацьовує звичайна помилка і запуск завершується з кодом 1

— json-репортер додає обʼєкт history з масивом points[], ai-репортер друкує один компактний рядок на точку

— у GitHub Action це інпут history, з fetch-depth: 0, бо діапазон має бути в checkout

Хостований дашборд не потрібен: достатньо git у PATH і комітів локально. Кожна точка — окремий скан, тому для scheduled job на великому репозиторії --history-every і --history-limit тримають прогін коротким. За замовчуванням серія обмежена 30 точками.

Детальніше в документації: https://jscpd.dev/guides/history

jscpd безкоштовний і тримається на спільноті. Якщо він економить час вашій команді, підтримайте: https://opencollective.com/jscpd
  • 👍 7
  • 🔥 6
  • ❤ 3
More from @mathrandomcommunity
  1. Sep 30, 2026Подивись, як AI-судді розбирають код агент👆 Це тестова гра нашої команди в ololo. Навіщо…
  2. Sep 30, 2026video post
  3. Sep 29, 2026Найнебезпечніша фраза від AI-агента: «Готово, тести проходять». Мій агент пише її щодня. З…
  4. Sep 29, 2026video post
  5. Sep 24, 2026Нова модель Jev від TypeSafe AI стала однією з найпомітніших новинок останнього тижня 🆕 Я…
  6. Sep 21, 2026Ваш агент платить за генерацію тексту там, де йому потрібна відповідь «так» або «ні». Таке…
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 →