Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.27.0 · метрики 1.13.0 · 2026-07-26 07:55 UTC

71 / dance

Make your cursors dance with Kakoune and Helix-like modal editing in VS Code.

TypeScriptISC★ 523 зірки⑂ 82 форкиз квіт. 2019 р.Переглянути на GitHub ↗

71/dance має індекс здоров’я 60 зі 100, що відповідає смузі «Помірний». Найвищий показник — Engineering Quality (79/100), найнижчий — Vitality (43/100). Останнє оновлення було 132 дні тому. Більшість нещодавньої роботи виконує один учасник.

60
загалом / 100
Помірний

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

60
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

Grégoire GeisОсобистий обліковий запис
140 підписників146 публічних репозиторіївз квіт. 2014 р.@seoulrobotics

Цей репозиторій належить особистому обліковому запису. Проєкт з єдиним власником несе більший ризик безперервності, ніж підтримуваний організацією.

Пакетні екосистеми

РеєстрПакетВерсіяЗавантажень / місВерсіїОстання публікаціяТеги
npmdanceвказує на інший репозиторій — не оцінюється0.1.011314484 дні томуdlxdancing-linksexact-coveralgorithm-x

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

43У зоні ризику · 22% загального індексу

Активність розробки

31У зоні ризику
Як обчислюється оцінка
9.9/36Свіжість push — останній push 132 дн. тому
8.3/36Ритм комітів — 12/52 тижнів із комітами
13/18Обсяг комітів — 27 комітів за останній рік
0/10OpenSSF Scorecard: Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Використані вхідні дані
commits_last_year27
human_commit_share1
days_since_last_push132
active_weeks_last_year12
Як обчислюється оцінка
16.2/27Випускає релізи — 35 тегів версій (без релізів GitHub)
27/36Свіжість релізів — останній реліз 155 дн. тому
12.6/27Ритм релізів — реліз кожні ~177,1 дн.
0/10OpenSSF Scorecard: Signed-Releases — немає даних
Використані вхідні дані
releases_count35
latest_release_tagv0.5.16
releases_from_tagsтак
days_since_latest_release155
mean_days_between_releases177,1
Виключено з оцінювання (немає даних або не застосовно): OpenSSF Scorecard: Signed-Releases. Залишкові ваги перенормовано.

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

67Помірний · 18% загального індексу
Як обчислюється оцінка
44.1/60Зірки — 523 зірок
15.9/25Форки — 82 форків
4.3/15Спостерігачі — 7 спостерігачів
Використані вхідні дані
forks82
stars523
watchers7
growth_stateunverified
growth_factor_pct100
growth_unverified_reasonno_history
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (ISC)
18/18Настанови CONTRIBUTING
0/13.5Кодекс поведінки
0/7.2Шаблон issue
0/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductні
has_pull_request_templateні

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

55Помірний · 24% загального індексу
Як обчислюється оцінка
9/54Бас-фактор — на 1 контриб’ютор(ів) припадає половина всіх комітів
4.3/22.5Розподіл комітів — головний контриб’ютор — автор 81% комітів
13.5/13.5Широта контриб’юторів — 21 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 4 contributing companies or organizations
Використані вхідні дані
bus_factor1
contributors_sampled21
top_contributor_share0,809
Як обчислюється оцінка
36/46.8Вирішення issue — закрито 77% issue
25.8/38.3Прийняття PR — злито 58/86 вирішених PR
7.5/15OpenSSF Scorecard: Code-Review — Found 16/30 approved changesets -- score normalized to 5
Використані вхідні дані
merged_prs58
open_issues67
closed_issues223
issue_closed_ratio0,769
closed_unmerged_prs28
Як обчислюється оцінка
10/30Підтримка власника — особистий (користувацький) обліковий запис
0/20Верифікований домен — не застосовно до користувацьких облікових записів
15.5/25Охоплення власника — 140 підписників у 71
25/25Послужний список — 146 публічних репозиторіїв, вік облікового запису ~12 р.
Використані вхідні дані
followers140
owner_typeUser
is_verified
owner_login71
public_repos146
account_age_days4 494
Виключено з оцінювання (немає даних або не застосовно): Верифікований домен. Залишкові ваги перенормовано.

Інженерна якість

Чи наявні базові інженерні практики та документація?

79Добрий · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 1 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — .eslintrc.js
0/9.6Pre-commit-хуки
0/6.4.editorconfig
18/20OpenSSF Scorecard: CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні
Як обчислюється оцінка
30/30README
0/25Каталог документації
15/15Сайт документації / домашня сторінка — https://marketplace.visualstudio.com/items?itemName=gregoire.dance
10/10Опис репозиторію
10/10Теми — 4 тем
10/10Wiki
Використані вхідні дані
topicsvscode, vscode-extension, kakoune, keybindings
has_wikiтак
homepagehttps://marketplace.visualstudio.com/items?itemName=gregoire.dance
has_readmeтак
has_docs_dirні
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

58Помірний · 16% загального індексу

Стан безпеки

47У зоні ризику
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
2.2/2.5CI-Tests — 26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
3.8/7.5Code-Review — Found 16/30 approved changesets -- score normalized to 5
2.5/2.5Contributors — project has 4 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
0/7.5Maintained — 0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
0/5Packaging — немає даних
4/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 8
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
0/5Security-Policy — security policy file not detected
0/7.5Signed-Releases — немає даних
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 69 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated15
scorecard_versionv5.5.0
checks_inconclusive3
scorecard_aggregate4,7
Виключено з оцінювання (немає даних або не застосовно): branch_protection, packaging, signed_releases. Залишкові ваги перенормовано.
Як обчислюється оцінка
35/35Прямі залежності без відомих сповіщень — жодна пряма залежність не має відомих сповіщень
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
0/40Немає задавнених сповіщень — жодне сповіщення не має дати публікації
Використані вхідні дані
sourceosv
advisories96
affected_packages46
assessed_packages577
unassessed_packages0
affected_by_severitycritical 2, high 30, moderate 13, low 1
direct_affected_packages0
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень, Немає задавнених сповіщень. Залишкові ваги перенормовано. Звірено 577 резолвлених залежностей із OSV. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

62Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 91 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,91
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
0/18Розгортання однією командою
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .eslintrc.js
11/11Статична перевірка типів — tsconfig.json
10/10Відтворюване середовище — Nix, lockfile
2/10Підтверджена практика роботи з агентами — 1 з останніх 100 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
8/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 8
Використані вхідні дані
has_nixтак
has_testsтак
lockfilesyarn.lock
has_dockerfileні
typed_languageтак
bootstrap_files
has_devcontainerні
has_linter_configтак
typecheck_configstsconfig.json
agent_commit_share0,01
toolchain_manifests
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — TypeScript (статично типізована)
54.5/55Керовані розміри файлів — 1/110 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageTypeScript
largest_source_bytes61 315
source_files_sampled110
oversized_source_files1

Ключові факти

523зірок GitHub
21контриб'юторів
27комітів за останні 12 місяців
132днів від останнього пушу
35релізів
1бас-фактор
67відкритих issue
npmпакетних екосистем

Попередження щодо збору даних

  • Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token
  • npm package 'dance' points at a different repository (https://github.com/wbyoung/dance); excluded from ecosystem scoring
  • Could not fetch npm package 'dance-helix' from its registry

Докладніше

Історія зірок і форків 0 ★ / 82 ⇿
0Зірки
82Форки
34Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

01325385063756432019-112023-032026-06
Мажорні 0Мінорні 4Патчі 30

Кожна точка охоплює 7 днів.

OpenSSF Scorecard 4.7 / 10
4.7сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-26 07:55 UTC

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
9CI-Tests26 out of 27 merged PRs checked by a CI test -- score normalized to 9
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
5Code-ReviewFound 16/30 approved changesets -- score normalized to 5
10Contributorsproject has 4 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
0Maintained0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
н/дPackagingpackaging workflow not detected
8Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 8
0SASTSAST tool is not run on all commits -- score normalized to 0
0Security-Policysecurity policy file not detected
н/дSigned-Releasesno releases found
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities69 existing vulnerabilities detected
Усі залежності 577

Повний розв'язаний набір залежностей із графа залежностей GitHub: 0 прямих і 577 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
npm@azure/abort-controller2.1.2непряма
npm@azure/core-auth1.9.0непряма
npm@azure/core-client1.9.3непряма
npm@azure/core-rest-pipeline1.19.1непряма
npm@azure/core-tracing1.2.0непряма
npm@azure/core-util1.11.0непряма
npm@azure/identity4.9.0непряма
npm@azure/logger1.1.4непряма
npm@azure/msal-browser4.11.0непряма
npm@azure/msal-common15.5.1непряма
npm@azure/msal-node3.5.1непряма
npm@cspotcode/source-map-support0.8.1непряма
npm@esbuild/android-arm0.18.4непряма
npm@esbuild/android-arm640.18.4непряма
npm@esbuild/android-x640.18.4непряма
npm@esbuild/darwin-arm640.18.4непряма
npm@esbuild/darwin-x640.18.4непряма
npm@esbuild/freebsd-arm640.18.4непряма
npm@esbuild/freebsd-x640.18.4непряма
npm@esbuild/linux-arm0.18.4непряма
npm@esbuild/linux-arm640.18.4непряма
npm@esbuild/linux-ia320.18.4непряма
npm@esbuild/linux-loong640.18.4непряма
npm@esbuild/linux-mips64el0.18.4непряма
npm@esbuild/linux-ppc640.18.4непряма
npm@esbuild/linux-riscv640.18.4непряма
npm@esbuild/linux-s390x0.18.4непряма
npm@esbuild/linux-x640.18.4непряма
npm@esbuild/netbsd-x640.18.4непряма
npm@esbuild/openbsd-x640.18.4непряма
npm@esbuild/sunos-x640.18.4непряма
npm@esbuild/win32-arm640.18.4непряма
npm@esbuild/win32-ia320.18.4непряма
npm@esbuild/win32-x640.18.4непряма
npm@eslint/eslintrc1.2.3непряма
npm@humanwhocodes/config-array0.9.5непряма
npm@humanwhocodes/object-schema1.2.1непряма
npm@isaacs/cliui8.0.2непряма
npm@jridgewell/resolve-uri3.0.8непряма
npm@jridgewell/sourcemap-codec1.4.14непряма
npm@jridgewell/trace-mapping0.3.9непряма
npm@nodelib/fs.scandir2.1.5непряма
npm@nodelib/fs.stat2.0.5непряма
npm@nodelib/fs.walk1.2.8непряма
npm@tootallnate/once1.1.2непряма
npm@tsconfig/node101.0.8непряма
npm@tsconfig/node121.0.9непряма
npm@tsconfig/node141.0.1непряма
npm@tsconfig/node161.0.2непряма
npm@types/glob7.2.0непряма
npm@types/json-schema7.0.11непряма
npm@types/json50.0.29непряма
npm@types/minimatch3.0.5непряма
npm@types/mocha9.1.1непряма
npm@types/node17.0.33непряма
npm@types/vscode1.67.0непряма
npm@typescript-eslint/eslint-plugin5.23.0непряма
npm@typescript-eslint/parser5.23.0непряма
npm@typescript-eslint/scope-manager5.23.0непряма
npm@typescript-eslint/type-utils5.23.0непряма
npm@typescript-eslint/types5.23.0непряма
npm@typescript-eslint/typescript-estree5.23.0непряма
npm@typescript-eslint/utils5.23.0непряма
npm@typescript-eslint/visitor-keys5.23.0непряма
npm@ungap/promise-all-settled1.1.2непряма
npm@vscode/test-electron2.1.3непряма
npm@vscode/vsce3.3.2непряма
npm@vscode/vsce-sign2.0.5непряма
npm@vscode/vsce-sign-alpine-arm642.0.2непряма
npm@vscode/vsce-sign-alpine-x642.0.2непряма
npm@vscode/vsce-sign-darwin-arm642.0.2непряма
npm@vscode/vsce-sign-darwin-x642.0.2непряма
npm@vscode/vsce-sign-linux-arm2.0.2непряма
npm@vscode/vsce-sign-linux-arm642.0.2непряма
npm@vscode/vsce-sign-linux-x642.0.2непряма
npm@vscode/vsce-sign-win32-arm642.0.2непряма
npm@vscode/vsce-sign-win32-x642.0.2непряма
npmacorn8.7.1непряма
npmacorn-jsx5.3.2непряма
npmacorn-jsx-walk2.0.0непряма
npmacorn-loose8.3.0непряма
npmacorn-walk8.2.0непряма
npmagent-base6.0.2непряма
npmagent-base7.1.3непряма
npmajv6.12.6непряма
npmajv8.11.0непряма
npmansi0.3.1непряма
npmansi-colors4.1.1непряма
npmansi-escapes4.3.2непряма
npmansi-regex2.1.1непряма
npmansi-regex5.0.1непряма
npmansi-regex6.1.0непряма
npmansi-styles2.0.0непряма
npmansi-styles3.2.1непряма
npmansi-styles4.3.0непряма
npmansi-styles6.2.1непряма
npmanymatch3.1.2непряма
npmaproba1.2.0непряма
npmare-we-there-yet1.0.6непряма
npmare-we-there-yet1.1.7непряма
npmarg4.1.3непряма
npmargparse2.0.1непряма
npmarray-changes3.0.1непряма
npmarray-changes-async3.0.1непряма
npmarray-union2.1.0непряма
npmarraydiff-async0.2.0непряма
npmarraydiff-papandreou0.1.1-patch1непряма
npmasynckit0.4.0непряма
npmazure-devops-node-api11.1.1непряма
npmazure-devops-node-api12.5.0непряма
npmbalanced-match1.0.2непряма
npmbase64-js1.5.1непряма
npmbig-integer1.6.51непряма
npmbinary0.3.0непряма
npmbinary-extensions2.2.0непряма
npmbl4.1.0непряма
npmbluebird3.4.7непряма
npmboolbase1.0.0непряма
npmbrace-expansion1.1.11непряма
npmbrace-expansion2.0.1непряма
npmbraces3.0.2непряма
npmbrowser-stdout1.3.1непряма
npmbuffer5.7.1непряма
npmbuffer-crc320.2.13непряма
npmbuffer-equal-constant-time1.0.1непряма
npmbuffer-from1.1.2непряма
npmbuffer-indexof-polyfill1.0.2непряма
npmbuffers0.1.1непряма
npmbundle-name4.1.0непряма
npmcall-bind1.0.2непряма
npmcall-bind-apply-helpers1.0.2непряма
npmcall-bound1.0.4непряма
npmcallsites3.1.0непряма
npmcamelcase2.1.1непряма
npmcamelcase6.3.0непряма
npmchainsaw0.1.0непряма
npmchalk2.4.2непряма
npmchalk4.1.2непряма
npmchardet0.7.0непряма
npmcheerio1.0.0непряма
npmcheerio1.0.0-rc.10непряма
npmcheerio-select1.6.0непряма
npmcheerio-select2.1.0непряма
npmchokidar3.5.3непряма
npmchownr1.1.4непряма
npmcli-cursor3.1.0непряма
npmcli-spinners2.6.1непряма
npmcli-width3.0.0непряма
npmcliui3.2.0непряма
npmcliui7.0.4непряма
npmclone1.0.4непряма
npmcockatiel3.2.1непряма
npmcode-point-at1.1.0непряма
npmcolor-convert1.9.3непряма
npmcolor-convert2.0.1непряма
npmcolor-diff0.1.7непряма
npmcolor-name1.1.3непряма
npmcolor-name1.1.4непряма
npmcombined-stream1.0.8непряма
npmcommander12.1.0непряма
npmcommander6.2.1непряма
npmcommander9.2.0непряма
npmconcat-map0.0.1непряма
npmconsole-control-strings1.1.0непряма
npmcore-util-is1.0.3непряма
npmcreate-require1.1.1непряма
npmcross-spawn7.0.3непряма
npmcross-spawn7.0.6непряма
npmcss-select4.3.0непряма
npmcss-select5.1.0непряма
npmcss-what6.1.0непряма
npmdebug4.3.4непряма
npmdebug4.4.0непряма
npmdecamelize1.2.0непряма
npmdecamelize4.0.0непряма
npmdecompress-response6.0.0непряма
npmdeep-extend0.6.0непряма
npmdeep-is0.1.4непряма
npmdefault-browser5.2.1непряма
npmdefault-browser-id5.0.0непряма
npmdefaults1.0.3непряма
npmdefine-lazy-prop3.0.0непряма
npmdelayed-stream1.0.0непряма
npmdelegates1.0.0непряма
npmdependency-cruiser11.7.0непряма
npmdetect-indent3.0.1непряма
npmdetect-libc2.0.1непряма
npmdetect-libc2.0.3непряма
npmdiff4.0.2непряма
npmdiff5.0.0непряма
npmdir-glob3.0.1непряма
npmdoctrine3.0.0непряма
npmdom-serializer1.4.1непряма
npmdom-serializer2.0.0непряма
npmdomelementtype2.3.0непряма
npmdomhandler4.3.1непряма
npmdomhandler5.0.3непряма
npmdomutils2.8.0непряма
npmdomutils3.2.2непряма
npmdunder-proto1.0.1непряма
npmduplexer20.1.4непряма
npmeastasianwidth0.2.0непряма
npmecdsa-sig-formatter1.0.11непряма
npmemoji-regex8.0.0непряма
npmemoji-regex9.2.2непряма
npmencoding-sniffer0.2.0непряма
npmend-of-stream1.4.4непряма
npmenhanced-resolve5.9.3непряма
npmentities2.1.0непряма
npmentities2.2.0непряма
npmentities4.5.0непряма
npmes-define-property1.0.1непряма
npmes-errors1.3.0непряма
npmes-object-atoms1.1.1непряма
npmes-set-tostringtag2.1.0непряма
npmesbuild0.18.4непряма
npmescalade3.1.1непряма
npmescape-string-regexp1.0.5непряма
npmescape-string-regexp4.0.0непряма
npmeslint8.15.0непряма
npmeslint-scope5.1.1непряма
npmeslint-scope7.1.1непряма
npmeslint-utils3.0.0непряма
npmeslint-visitor-keys2.1.0непряма
npmeslint-visitor-keys3.3.0непряма
npmespree9.3.2непряма
npmesquery1.4.0непряма
npmesrecurse4.3.0непряма
npmestraverse4.3.0непряма
npmestraverse5.3.0непряма
npmesutils2.0.3непряма
npmexpand-template2.0.3непряма
npmexternal-editor3.1.0непряма
npmfast-deep-equal3.1.3непряма
npmfast-glob3.2.11непряма
npmfast-json-stable-stringify2.1.0непряма
npmfast-levenshtein2.0.6непряма
npmfastq1.13.0непряма
npmfd-slicer1.1.0непряма
npmfigures3.2.0непряма
npmfile-entry-cache6.0.1непряма
npmfill-range7.0.1непряма
npmfind-up5.0.0непряма
npmflat5.0.2непряма
npmflat-cache3.0.4непряма
npmflatted3.2.5непряма
npmforeground-child3.3.1непряма
npmform-data4.0.2непряма
npmfs-constants1.0.0непряма
npmfs.realpath1.0.0непряма
npmfsevents2.3.2непряма
npmfstream1.0.12непряма
npmfunction-bind1.1.1непряма
npmfunction-bind1.1.2непряма
npmfunctional-red-black-tree1.0.1непряма
npmgauge1.2.7непряма
npmgauge2.7.4непряма
npmget-caller-file2.0.5непряма
npmget-intrinsic1.1.1непряма
npmget-intrinsic1.3.0непряма
npmget-proto1.0.1непряма
npmget-stdin4.0.1непряма
npmget-stream6.0.1непряма
npmgithub-from-package0.0.0непряма
npmglob11.0.1непряма
npmglob5.0.15непряма
npmglob7.2.0непряма
npmglob7.2.2непряма
npmglob8.0.3непряма
npmglob-parent5.1.2непряма
npmglob-parent6.0.2непряма
npmglobals13.15.0непряма
npmglobby11.1.0непряма
npmglobstar1.0.0непряма
npmgopd1.2.0непряма
npmgraceful-fs4.2.10непряма
npmgreedy-interval-packer1.2.0непряма
npmhandlebars4.7.7непряма
npmhas1.0.3непряма
npmhas-flag3.0.0непряма
npmhas-flag4.0.0непряма
npmhas-symbols1.0.3непряма
npmhas-symbols1.1.0непряма
npmhas-tostringtag1.0.2непряма
npmhas-unicode2.0.1непряма
npmhasown2.0.2непряма
npmhe1.2.0непряма
npmhosted-git-info4.1.0непряма
npmhtmlparser26.1.0непряма
npmhtmlparser29.1.0непряма
npmhttp-proxy-agent4.0.1непряма
npmhttp-proxy-agent7.0.2непряма
npmhttps-proxy-agent5.0.1непряма
npmhttps-proxy-agent7.0.6непряма
npmiconv-lite0.4.24непряма
npmiconv-lite0.6.3непряма
npmieee7541.2.1непряма
npmignore5.2.0непряма
npmimport-fresh3.3.0непряма
npmimurmurhash0.1.4непряма
npmindent-string4.0.0непряма
npminflight1.0.6непряма
npminherits2.0.4непряма
npmini1.3.8непряма
npminquirer8.2.4непряма
npminvert-kv1.0.0непряма
npmis-binary-path2.1.0непряма
npmis-docker3.0.0непряма
npmis-extglob2.1.1непряма
npmis-finite1.1.0непряма
npmis-fullwidth-code-point1.0.0непряма
npmis-fullwidth-code-point3.0.0непряма
npmis-glob4.0.3непряма
npmis-inside-container1.0.0непряма
npmis-interactive1.0.0непряма
npmis-number7.0.0непряма
npmis-plain-obj2.1.0непряма
npmis-unicode-supported0.1.0непряма
npmis-wsl3.1.0непряма
npmisarray1.0.0непряма
npmisexe2.0.0непряма
npmjackspeak4.1.0непряма
npmjs-yaml4.1.0непряма
npmjson-schema-traverse0.4.1непряма
npmjson-schema-traverse1.0.0непряма
npmjson-stable-stringify-without-jsonify1.0.1непряма
npmjson51.0.1непряма
npmjson52.2.1непряма
npmjsonc-parser3.3.1непряма
npmjsonwebtoken9.0.2непряма
npmjwa1.4.1непряма
npmjws3.2.2непряма
npmkeytar7.9.0непряма
npmlcid1.0.0непряма
npmleven3.1.0непряма
npmlevn0.4.1непряма
npmlinkify-it3.0.3непряма
npmlinkify-it5.0.0непряма
npmlistenercount1.0.1непряма
npmlocate-path6.0.0непряма
npmlodash4.17.21непряма
npmlodash.includes4.3.0непряма
npmlodash.isboolean3.0.3непряма
npmlodash.isinteger4.0.4непряма
npmlodash.isnumber3.0.3непряма
npmlodash.isplainobject4.0.6непряма
npmlodash.isstring4.0.1непряма
npmlodash.merge4.6.2непряма
npmlodash.once4.1.1непряма
npmlodash.pad4.5.1непряма
npmlodash.padend4.6.1непряма
npmlodash.padstart4.6.1непряма
npmlog-symbols4.1.0непряма
npmlru-cache11.1.0непряма
npmlru-cache6.0.0непряма
npmmagicpen6.2.4непряма
npmmake-error1.3.6непряма
npmmarkdown-it12.3.2непряма
npmmarkdown-it14.1.0непряма
npmmath-intrinsics1.1.0непряма
npmmdurl1.0.1непряма
npmmdurl2.0.0непряма
npmmerge21.4.1непряма
npmmicromatch4.0.5непряма
npmmime1.6.0непряма
npmmime-db1.52.0непряма
npmmime-types2.1.35непряма
npmmimic-fn2.1.0непряма
npmmimic-response3.1.0непряма
npmminimatch10.0.1непряма
npmminimatch3.1.2непряма
npmminimatch5.0.1непряма
npmminimist1.2.6непряма
npmminimist1.2.8непряма
npmminipass7.1.2непряма
npmmkdirp0.5.6непряма
npmmkdirp-classic0.5.3непряма
npmmocha10.0.0непряма
npmms2.1.2непряма
npmms2.1.3непряма
npmmute-stream0.0.8непряма
npmnanoid3.3.3непряма
npmnapi-build-utils1.0.2непряма
npmnapi-build-utils2.0.0непряма
npmnatural-compare1.4.0непряма
npmneo-async2.6.2непряма
npmnode-abi3.15.0непряма
npmnode-abi3.74.0непряма
npmnode-addon-api4.3.0непряма
npmnormalize-path3.0.0непряма
npmnpmlog1.2.1непряма
npmnpmlog4.1.2непряма
npmnth-check2.0.1непряма
npmnth-check2.1.1непряма
npmnumber-is-nan1.0.1непряма
npmobject-assign2.1.1непряма
npmobject-assign4.1.1непряма
npmobject-inspect1.12.0непряма
npmobject-inspect1.13.4непряма
npmonce1.4.0непряма
npmonetime1.1.0непряма
npmonetime5.1.2непряма
npmopen10.1.1непряма
npmoptionator0.9.1непряма
npmora5.4.1непряма
npmos-locale1.4.0непряма
npmos-tmpdir1.0.2непряма
npmp-limit3.1.0непряма
npmp-locate5.0.0непряма
npmpackage-json-from-dist1.0.1непряма
npmparent-module1.0.1непряма
npmparse-semver1.1.1непряма
npmparse56.0.1непряма
npmparse57.2.1непряма
npmparse5-htmlparser2-tree-adapter6.0.1непряма
npmparse5-htmlparser2-tree-adapter7.1.0непряма
npmparse5-parser-stream7.1.2непряма
npmpath-exists4.0.0непряма
npmpath-is-absolute1.0.1непряма
npmpath-key3.1.1непряма
npmpath-scurry2.0.0непряма
npmpath-type4.0.0непряма
npmpend1.2.0непряма
npmpicomatch2.3.1непряма
npmprebuild-install7.1.0непряма
npmprebuild-install7.1.3непряма
npmprelude-ls1.2.1непряма
npmprocess-nextick-args2.0.1непряма
npmpump3.0.0непряма
npmpump3.0.2непряма
npmpunycode2.1.1непряма
npmpunycode.js2.3.1непряма
npmqs6.10.3непряма
npmqs6.14.0непряма
npmqueue-microtask1.2.3непряма
npmrandombytes2.1.0непряма
npmrc1.2.8непряма
npmread1.0.7непряма
npmreadable-stream2.3.7непряма
npmreadable-stream2.3.8непряма
npmreadable-stream3.6.0непряма
npmreadable-stream3.6.2непряма
npmreaddirp3.6.0непряма
npmregexp-tree0.1.24непряма
npmregexpp3.2.0непряма
npmrepeating1.1.3непряма
npmrequire-directory2.1.1непряма
npmrequire-from-string2.0.2непряма
npmresolve-from4.0.0непряма
npmrestore-cursor3.1.0непряма
npmreusify1.0.4непряма
npmrimraf2.7.1непряма
npmrimraf3.0.2непряма
npmrun-applescript7.0.0непряма
npmrun-async2.4.1непряма
npmrun-parallel1.2.0непряма
npmrxjs7.5.5непряма
npmsafe-buffer5.1.2непряма
npmsafe-buffer5.2.1непряма
npmsafe-regex2.1.1непряма
npmsafer-buffer2.1.2непряма
npmsax1.2.4непряма
npmsax1.4.1непряма
npmsemver5.7.1непряма
npmsemver5.7.2непряма
npmsemver7.3.7непряма
npmsemver7.7.1непряма
npmsemver-try-require5.0.2непряма
npmserialize-javascript6.0.0непряма
npmset-blocking2.0.0непряма
npmsetimmediate1.0.5непряма
npmshebang-command2.0.0непряма
npmshebang-regex3.0.0непряма
npmside-channel1.0.4непряма
npmside-channel1.1.0непряма
npmside-channel-list1.0.0непряма
npmside-channel-map1.0.1непряма
npmside-channel-weakmap1.0.2непряма
npmsignal-exit3.0.7непряма
npmsignal-exit4.1.0непряма
npmsimple-concat1.0.1непряма
npmsimple-get4.0.1непряма
npmslash3.0.0непряма
npmsource-map0.6.1непряма
npmsource-map-support0.5.21непряма
npmstring-width1.0.2непряма
npmstring-width4.2.3непряма
npmstring-width5.1.2непряма
npmstring-width-cjs4.2.3непряма
npmstring_decoder1.1.1непряма
npmstring_decoder1.3.0непряма
npmstrip-ansi3.0.1непряма
npmstrip-ansi6.0.1непряма
npmstrip-ansi7.1.0непряма
npmstrip-ansi-cjs6.0.1непряма
npmstrip-bom3.0.0непряма
npmstrip-json-comments2.0.1непряма
npmstrip-json-comments3.1.1непряма
npmsupports-color5.5.0непряма
npmsupports-color7.2.0непряма
npmsupports-color8.1.1непряма
npmtapable2.2.1непряма
npmtar-fs2.1.1непряма
npmtar-fs2.1.2непряма
npmtar-stream2.2.0непряма
npmteamcity-service-messages0.1.14непряма
npmtext-table0.2.0непряма
npmthrough2.3.8непряма
npmtmp0.0.33непряма
npmtmp0.2.1непряма
npmtmp0.2.3непряма
npmto-regex-range5.0.1непряма
npmtraverse0.3.9непряма
npmts-loader9.3.1непряма
npmts-node10.8.1непряма
npmtsconfig-paths3.14.1непряма
npmtsconfig-paths-webpack-plugin3.5.2непряма
npmtslib1.14.1непряма
npmtslib2.4.0непряма
npmtslib2.8.1непряма
npmtsutils3.21.0непряма
npmtunnel0.0.6непряма
npmtunnel-agent0.6.0непряма
npmtype-check0.4.0непряма
npmtype-fest0.20.2непряма
npmtype-fest0.21.3непряма
npmtyped-rest-client1.8.11непряма
npmtyped-rest-client1.8.6непряма
npmtypescript5.7.3непряма
npmuc.micro1.0.6непряма
npmuc.micro2.1.0непряма
npmuglify-js3.15.5непряма
npmukkonen1.4.0непряма
npmunderscore1.13.3непряма
npmunderscore1.13.7непряма
npmundici6.21.2непряма
npmunexpected13.0.0непряма
npmunexpected-bluebird2.9.34-longstack2непряма
npmunzipper0.10.11непряма
npmuri-js4.4.1непряма
npmurl-join4.0.1непряма
npmutil-deprecate1.0.2непряма
npmuuid8.3.2непряма
npmv8-compile-cache2.3.0непряма
npmv8-compile-cache-lib3.0.1непряма
npmvsce2.7.0непряма
npmwcwidth1.0.1непряма
npmweb-tree-sitter0.20.8непряма
npmwhatwg-encoding3.1.1непряма
npmwhatwg-mimetype4.0.0непряма
npmwhich2.0.2непряма
npmwide-align1.1.5непряма
npmwindow-size0.1.4непряма
npmword-wrap1.2.3непряма
npmwordwrap1.0.0непряма
npmworkerpool6.2.1непряма
npmwrap-ansi2.1.0непряма
npmwrap-ansi7.0.0непряма
npmwrap-ansi8.1.0непряма
npmwrap-ansi-cjs7.0.0непряма
npmwrappy1.0.2непряма
npmxml2js0.4.23непряма
npmxml2js0.5.0непряма
npmxmlbuilder11.0.1непряма
npmy18n3.2.2непряма
npmy18n5.0.8непряма
npmyallist4.0.0непряма
npmyaml2.1.1непряма
npmyargs16.2.0непряма
npmyargs3.32.0непряма
npmyargs-parser20.2.4непряма
npmyargs-parser20.2.9непряма
npmyargs-unparser2.0.0непряма
npmyauzl2.10.0непряма
npmyazl2.5.1непряма
npmyn3.1.1непряма
npmyocto-queue0.1.0непряма
Сповіщення про залежності 46

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 577 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 46 мають відомі сповіщення, з них 0 прямі.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
flatted3.2.5непрямакритична23.4.2
handlebars4.7.7непрямакритична84.7.9
brace-expansion1.1.11непрямависока45.0.8
brace-expansion2.0.1непрямависока45.0.8
braces3.0.2непрямависока13.0.3
cross-spawn7.0.3непрямависока17.0.5
form-data4.0.2непрямависока24.0.6
glob11.0.1непрямависока111.1.0
js-yaml4.1.0непрямависока34.3.0
json51.0.1непрямависока12.2.2
json52.2.1непрямависока12.2.2
jws3.2.2непрямависока14.0.1
linkify-it3.0.3непрямависока25.0.2
linkify-it5.0.0непрямависока25.0.2
lodash4.17.21непрямависока34.18.0
minimatch10.0.1непрямависока310.2.3
minimatch3.1.2непрямависока310.2.3
minimatch5.0.1непрямависока310.2.3
picomatch2.3.1непрямависока24.0.4
semver5.7.1непрямависока17.5.2
semver7.3.7непрямависока17.5.2
serialize-javascript6.0.0непрямависока37.0.5
tar-fs2.1.1непрямависока33.1.1
tar-fs2.1.2непрямависока23.1.1
tmp0.0.33непрямависока20.2.6
tmp0.2.1непрямависока20.2.6
tmp0.2.3непрямависока20.2.6
underscore1.13.3непрямависока11.13.8
underscore1.13.7непрямависока11.13.8
undici6.21.2непрямависока108.5.0
uuid8.3.2непрямависока113.0.1
yaml2.1.1непрямависока22.8.3
ajv6.12.6непрямапомірна18.18.0
ajv8.11.0непрямапомірна18.18.0
diff4.0.2непрямапомірна18.0.3
diff5.0.0непрямапомірна18.0.3
esbuild0.18.4непрямапомірна10.25.0
markdown-it12.3.2непрямапомірна114.2.0
markdown-it14.1.0непрямапомірна214.2.0
micromatch4.0.5непрямапомірна14.0.8
nanoid3.3.3непрямапомірна15.0.9
qs6.10.3непрямапомірна26.14.2
qs6.14.0непрямапомірна36.15.2
word-wrap1.2.3непрямапомірна11.2.4
xml2js0.4.23непрямапомірна10.5.0
@tootallnate/once1.1.2непряманизька13.0.1

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "vscode",
        "vscode-extension",
        "kakoune",
        "keybindings"
      ],
      "is_fork": false,
      "size_kb": 2198,
      "has_wiki": true,
      "homepage": "https://marketplace.visualstudio.com/items?itemName=gregoire.dance",
      "languages": {
        "Nix": 538,
        "JavaScript": 5055,
        "TypeScript": 726648
      },
      "pushed_at": "2026-03-15T08:58:09Z",
      "created_at": "2019-04-04T07:13:18Z",
      "owner_type": "User",
      "updated_at": "2026-07-05T19:04:33Z",
      "description": "Make your cursors dance with Kakoune and Helix-like modal editing in VS Code.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "ISC",
      "default_branch": "master",
      "license_spdx_raw": "ISC",
      "primary_language": "TypeScript",
      "significant_languages": [
        "TypeScript"
      ]
    },
    "owner": {
      "blog": "https://gregoirege.is",
      "name": "Grégoire Geis",
      "type": "User",
      "login": "71",
      "company": "@seoulrobotics",
      "location": "Seoul, South Korea",
      "followers": 140,
      "avatar_url": "https://avatars.githubusercontent.com/u/7189784?v=4",
      "created_at": "2014-04-05T15:02:08Z",
      "is_verified": null,
      "public_repos": 146,
      "account_age_days": 4494
    },
    "license": {
      "state": "standard",
      "spdx_id": "ISC",
      "raw_spdx": "ISC",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.5.16",
          "kind": "patch",
          "published_at": "2026-02-21T03:51:10Z"
        },
        {
          "tag": "v0.5.15",
          "kind": "patch",
          "published_at": "2024-06-14T14:33:21Z"
        },
        {
          "tag": "v0.5.14",
          "kind": "patch",
          "published_at": "2023-12-01T16:47:38Z"
        },
        {
          "tag": "v0.5.13",
          "kind": "patch",
          "published_at": "2023-11-01T16:29:16Z"
        },
        {
          "tag": "v0.5.12",
          "kind": "patch",
          "published_at": "2022-10-11T06:56:32Z"
        },
        {
          "tag": "v0.5.11",
          "kind": "patch",
          "published_at": "2022-05-30T08:38:16Z"
        },
        {
          "tag": "v0.5.10",
          "kind": "patch",
          "published_at": "2022-05-13T23:50:23Z"
        },
        {
          "tag": "v0.5.9",
          "kind": "patch",
          "published_at": "2022-03-17T11:38:40Z"
        },
        {
          "tag": "v0.5.8",
          "kind": "patch",
          "published_at": "2021-11-08T20:20:38Z"
        },
        {
          "tag": "v0.5.7",
          "kind": "patch",
          "published_at": "2021-10-11T15:46:27Z"
        },
        {
          "tag": "v0.5.6",
          "kind": "patch",
          "published_at": "2021-09-10T22:35:13Z"
        },
        {
          "tag": "v0.5.5",
          "kind": "patch",
          "published_at": "2021-09-10T22:10:29Z"
        },
        {
          "tag": "v0.5.4",
          "kind": "patch",
          "published_at": "2021-08-11T19:06:02Z"
        },
        {
          "tag": "v0.5.3",
          "kind": "patch",
          "published_at": "2021-07-23T04:12:38Z"
        },
        {
          "tag": "v0.5.2",
          "kind": "patch",
          "published_at": "2021-07-15T17:06:13Z"
        },
        {
          "tag": "v0.5.1",
          "kind": "patch",
          "published_at": "2021-06-02T21:15:38Z"
        },
        {
          "tag": "v0.5.0",
          "kind": "minor",
          "published_at": "2021-05-04T20:38:05Z"
        },
        {
          "tag": "v0.4.2",
          "kind": "patch",
          "published_at": "2021-03-19T21:08:11Z"
        },
        {
          "tag": "v0.4.1",
          "kind": "patch",
          "published_at": "2021-03-19T19:01:47Z"
        },
        {
          "tag": "v0.4.0",
          "kind": "minor",
          "published_at": "2021-01-02T23:34:04Z"
        },
        {
          "tag": "v0.3.2",
          "kind": "patch",
          "published_at": "2020-10-13T16:04:11Z"
        },
        {
          "tag": "v0.3.0",
          "kind": "minor",
          "published_at": "2020-06-22T20:32:06Z"
        },
        {
          "tag": "v0.2.2",
          "kind": "patch",
          "published_at": "2020-03-05T23:28:59Z"
        },
        {
          "tag": "v0.2.1",
          "kind": "patch",
          "published_at": "2020-03-04T22:38:16Z"
        },
        {
          "tag": "v0.2.0",
          "kind": "minor",
          "published_at": "2020-02-20T23:22:53Z"
        },
        {
          "tag": "v0.1.9",
          "kind": "patch",
          "published_at": "2019-12-20T22:53:51Z"
        },
        {
          "tag": "v0.1.8",
          "kind": "patch",
          "published_at": "2019-12-04T21:27:42Z"
        },
        {
          "tag": "v0.1.7",
          "kind": "patch",
          "published_at": "2019-11-24T16:02:42Z"
        },
        {
          "tag": "v0.1.6",
          "kind": "patch",
          "published_at": "2019-11-20T14:13:16Z"
        },
        {
          "tag": "v0.1.5",
          "kind": "patch",
          "published_at": "2019-11-19T23:32:37Z"
        },
        {
          "tag": "v0.1.4",
          "kind": "patch",
          "published_at": "2019-11-16T20:55:51Z"
        },
        {
          "tag": "v0.1.3",
          "kind": "patch",
          "published_at": "2019-11-16T01:34:30Z"
        },
        {
          "tag": "v0.1.2",
          "kind": "patch",
          "published_at": "2019-11-15T23:39:59Z"
        },
        {
          "tag": "v0.1.1",
          "kind": "patch",
          "published_at": "2019-11-13T09:33:04Z"
        },
        {
          "tag": "v0.1.0",
          "kind": "minor",
          "published_at": "2019-04-04T08:43:47Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "ce6ce98586c1a2e717ecef00a9bb88b96a603be9",
          "body": null,
          "is_bot": false,
          "headline": "misc: publish helix extension in ci, add cache",
          "author_name": "Gregoire Geis",
          "author_login": "71",
          "committed_at": "2026-03-15T08:56:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0051821406d76cb74315659be85ac2df782be580",
          "body": "dance.defaultMode is declared as language-overridable in package.json,\nbut observePreference reads it via getConfiguration(\"dance\") without a\ndocument scope, so language-specific overrides (e.g. [magit] or\n[git-commit]) are never resolved. The global value is stored as a\nsingle _defaultMode and appl\n[…]\nkup into _getDefaultModeForEditor, which\npasses the editor's document as the scope so that VS Code resolves\nlanguage-specific values correctly.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
          "is_bot": false,
          "headline": "fix: respect language-specific dance.defaultMode overrides",
          "author_name": "jariji",
          "author_login": "jariji",
          "committed_at": "2026-03-15T08:04:00Z",
          "body_truncated": true,
          "is_coding_agent": true
        },
        {
          "oid": "6b3cc6be1a3e5e5cb874719a27ed1e61ba5fe1d2",
          "body": null,
          "is_bot": false,
          "headline": "misc: bump version to 0.5.16",
          "author_name": "Gregoire Geis",
          "author_login": "71",
          "committed_at": "2026-02-21T03:51:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "847000962488e792c295b39fe38322208f64179b",
          "body": null,
          "is_bot": false,
          "headline": "fix horizontal movement adjustment for Character SelectionBehavior",
          "author_name": "jgdhs27",
          "author_login": "morth1",
          "committed_at": "2025-12-14T09:41:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a11c36ec558a2f18c9eea89d5461871ee3b1af04",
          "body": "These are pretty minor:\n\n- The one in `editors.ts` only leaks memory until a new editor is opened.\n\n- The other one only happens when Dance is disabled.\n\nAlso fixes iteration of recorder when reaching the start of a buffer.\n\nCo-authored-by: Enrico Lumetti <enrico.lumetti@gmail.com>",
          "is_bot": false,
          "headline": "fix minor memory leaks (#416)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-11-15T04:26:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3183056128915bb7a9be070f3f293989ab5cb207",
          "body": "This allows using this functionality within environments that prohibit\narbitrary code execution (such as certain CSPs).\n\nFixes: #349",
          "is_bot": false,
          "headline": "do not use code execution in .selections.clear.*",
          "author_name": "Sebastian Dörner",
          "author_login": "sdoerner",
          "committed_at": "2025-11-15T03:37:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7fbb911bed69324c6ea9be116297bc40808283c9",
          "body": "This keybinding seems to have been forgotten in #402\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "add keybinding for space menu (#411)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-10-07T01:35:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "546d09c08f64eee6308bd199c0c1fa9ee0b21e72",
          "body": "Not implemented:\n- `j`: Open jumplist picker\n- `'`: Open last picker\n--- \n- `d`: Open diagnostic picker\nVS Code doesn’t have a single-file diagnostic picker, so it currently\nbehaves the same as `D`.\n---\n\nThe window menu was copied directly from Silverquark’s fork.",
          "is_bot": false,
          "headline": "helix: add space menu and window menu (#402)",
          "author_name": "狐狸",
          "author_login": "Huliiiiii",
          "committed_at": "2025-10-03T08:56:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c004520d76c1e3d71be738b97b3134581f108371",
          "body": "Add 'Goto next paragraph' and 'Goto previous paragraph' to helix, under\nthe keybinds `[p` and `]p`.\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "helix: add paragraph to bracket menus (#407)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-10-01T12:14:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "097c9aec83671e2ef4ed682beb37509ea5f035ff",
          "body": "When using `n` to select the next occurrence, give the new selection the\nsame direction as the previous main selection. This matches the\nbehaviour from kakoune and helix.\n\nFix: #360 \n(At least, I assume that this is what #360 is referring to.)\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "search: preserve selection direction with search-next (#406)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-09-15T13:11:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20aec09103a9e227974d159e384b55df78d6de5d",
          "body": "Adds a setting \"dance.smartCase\" to enable smart case in searches. This\nis a global setting that will apply to all `/` and `s` searches, similar\nto how it is in helix. Defaults to false.\n\nIssue: #354\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "misc: add smart case search setting (#371)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-09-15T13:02:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a081758229a9da2a004464b0587330af877c3c0b",
          "body": "Missing:\n\n**Left bracket**\n\n- D: Goto first diagnostic\n- G: Goto first change\n- f: Goto previous function\n- t: Goto previous type definition\n- a: Goto previous parameter\n- c: Goto previous comment\n- e: Goto previous pairing\n- T: Goto previous test\n- p: Goto previous paragraph\n\n**Right bracket**\n\n- D\n[…]\nGoto next test\n- p: Goto next paragraph\n\nVS Code currently does not support jumping to the first/last diagnostic.\nOthers might be supported through tree-sitter, but I don't know how to\nimplement them.",
          "is_bot": false,
          "headline": "helix: add bracket menus (#401)",
          "author_name": "狐狸",
          "author_login": "Huliiiiii",
          "committed_at": "2025-09-14T07:25:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "59897f79bd55491770c2d6c4461beba44e587683",
          "body": "Uses the same default register for select and search operations. This\nallows users to use `s` in conjunction with `*` or `/`.\n\nFix: #372\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "Use same register for search and select (#373)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-09-12T14:18:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4b761e3e6f187b2c900607a599b6f6002bffb868",
          "body": "They were broken by #399.",
          "is_bot": false,
          "headline": "misc: fix README.md links (#405)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-12T11:47:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "22c1ae55e2d4115a61f4533674dbe6794382fc95",
          "body": "Adds two new commands: 'Goto command' and 'Goto command (extend)'.\n\nThe commands add 2 character labels to every visible word of length >=\n2. Then, they wait for user input. After receiving two characters of\ninput, the regular command jumps to the selected word, and the extend\ncommand extends from t\n[…]\nhis so I haven't done so - both\ncommands should be activated by `gw` in helix.\n\nThis command is also affected by the bug described in #369.\n\nResolves: #339\n\nCo-authored-by: jgdhs27 <jgdhs27@gmail.com>",
          "is_bot": false,
          "headline": "commands: add Helix goto word commands (#370)",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-09-11T08:31:07Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1995be365c6197819db56c3c195516ca208a81d2",
          "body": null,
          "is_bot": false,
          "headline": "misc: add `CONTRIBUTING.md`, update documentation (#399)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-11T08:28:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a531f3ae9ca687c49da1befd1c73fea1581c904f",
          "body": "The \"smart select\" logic considered that a newline was a word boundary,\nand inserted a `\\b`, which doesn't actually match a newline.\n\nAlso replace newlines with `\\n` to make sure the prompt doesn't erase\nnewlines.\n\nFixes #390.",
          "is_bot": false,
          "headline": ".search.selection: do not add `\\b` after line end (#400)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-09T08:51:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ef505d76ae590bf32726430d778dda25ed8a05cf",
          "body": "Before this change, the jump vertically by page / halfPage fails when the first visible range is near a folded region. This solution considers all visible ranges, rather than just the first to calculate the page height. Alternatively, there can be a minimum number of lines to consider a \"page\", or the largest unfolded region could be used, or the difference between the first region's start and the last region's end.",
          "is_bot": false,
          "headline": "fix: jump vertically by page folding bug (#384)",
          "author_name": "Emily Marigold Klassen",
          "author_login": "forivall",
          "committed_at": "2025-09-07T07:36:45Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "572027787b0bb36aa29351ddfbe49bbe188fd857",
          "body": "Generating a pre-release which looks like 0.1.0001 broke VS Code:\n\n> ScanningExtension: Cannot read the extension from\n> $HOME/.vscode/extensions/gregoire.dance-helix-0.1.0001",
          "is_bot": false,
          "headline": "misc: bump Helix version to 0.1.1",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-03T14:17:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "28c1fc980bfc4aa6b36fdf0cb1ae362000fed9ee",
          "body": "...to resolve the conflict with the existing extension \"Dance - Helix\nkeybindings\". \"keymap\" seems closer to the VS Code naming (e.g. \"Atom\nKeymap\" by Microsoft).\n\nAlso update a few scripts to publish the extension.",
          "is_bot": false,
          "headline": "misc: rename Helix extension to \"Dance - Helix keymap\"",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-03T14:04:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5ef4474dd6a9e482837748956b763d74248c8fb6",
          "body": null,
          "is_bot": false,
          "headline": "misc: bump pre-release",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-03T13:49:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "065ddb14e6d62a5e11d60343e89e4a4f26b887ce",
          "body": null,
          "is_bot": false,
          "headline": "history: fix repeat.edit with namespaced modes (#393)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-03T13:13:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9e67a65abe71a6b8b20adab55222aa23f09db81",
          "body": null,
          "is_bot": false,
          "headline": "commands: map smart select in helix/select mode",
          "author_name": "jgdhs27",
          "author_login": "jgdhs27",
          "committed_at": "2025-09-02T09:05:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9e5b1de7b7ba754ef55ad0f675c70120a1e26c0a",
          "body": null,
          "is_bot": false,
          "headline": "modes: explicitly merge builtin and contributed modes",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-09-02T08:50:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "70e419f4215917bd2cc01324050ab3efaca0be3c",
          "body": "This pull request adds `ms`, `mr`, and `md` to the Helix keymap, along\nwith the following fixes:\n* Line numbers are now absolute in `helix/insert` and `helix/select`,\nrelative in `helix/normal`.\n* Unimpaired mappings `[` and `]` are added back to the Helix keymap,\nthey were missing for some reason.\n\n[…]\nill replace the nearest pair instead of asking for the\npair to delete. It may be more efficient to implement these as commands,\nthough I understand that the core is still supposed to be Kakoune-based.",
          "is_bot": false,
          "headline": "feat: Add the rest of match mode to Helix keymap (#386)",
          "author_name": "Ong Yong Xin",
          "author_login": "ongyx",
          "committed_at": "2025-08-30T09:55:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "ea5952e3c6ba2c3f82d279a3db1931271891e7e1",
          "body": "Also set `shell: bash` to automatically use `-eo pipefail`.",
          "is_bot": false,
          "headline": "ci: fix publish workflow (#388)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-08-17T04:06:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "db9646b0807ef9554ddae89ac40b4f3ad9ddc858",
          "body": null,
          "is_bot": false,
          "headline": "misc: update actions, grant permission to write tag in publish (#387)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-08-17T03:43:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e017a76699612a38a52850256f37258a6917941c",
          "body": "* Add expected result as a test case\n\n* Ensure that anchor stays in place when seeking by word if the selection is not changing direction\n\nFix #366\n\n* Add semicolons\n\n* Fix casing for variable names",
          "is_bot": false,
          "headline": "fix: keep anchor in place when extending selection by word (#367)",
          "author_name": "Jan-Jaap Korpershoek",
          "author_login": "JJK96",
          "committed_at": "2025-04-24T00:42:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3117fd84cae1e94f28cad119aa8f2004c342c47",
          "body": null,
          "is_bot": false,
          "headline": "misc: always show commands in command palette",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-04-19T04:59:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "92cadabaa4b9791237416f55fcab7245731454d9",
          "body": null,
          "is_bot": false,
          "headline": "misc: update to @vscode/vsce; specify helix extension files",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-04-19T04:59:24Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4e3d2596a36fed7845c3f9dd2be8ff4f62e5ee99",
          "body": "* wip: allow ordinary menus\n\n* Apply suggestions from code review\n\n* more PR feedback\n\n* PR feedback\n\n* bump typescript to 5.7\n\n* eslint / format\n\n* menu.menuType -> menu.type\n\n* fix bug from code review, thanks @71\n\n* use vscode schema to give autocomplete on configuring menus\n\n---------\n\nCo-authored-by: Grégoire Geis <opensource@gregoirege.is>",
          "is_bot": false,
          "headline": "misc: allow ordinary menus (#353)",
          "author_name": "Jarrad",
          "author_login": "jwhitaker-gridcog",
          "committed_at": "2025-04-11T22:11:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c0e1fdcb38f405e7515e996f1b8483e5fb52807",
          "body": null,
          "is_bot": false,
          "headline": "commands: remove broken reverse regexp search optimization",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2025-03-19T11:37:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "036cdfd7045d43ba852587750a0ed5832b041235",
          "body": "* Behavior choice: Basic helix keymap\n\n* Behavior choice: Helix keymap as an extension\n\n* Fix shift+c in helix modes\nRemove category field from package.json\n\n* Fix missing editorTextFocus condition\n\n* Add `%` binding to helix\n\n* Fix binding: `Shift+R`\n\n* PR Fixes\n\n* Fix typos and title, add toggle i\n[…]\ne LICENSE to ~2025.\n- Add purple Dance logo for Helix.\n\n---------\n\nCo-authored-by: Grégoire Geis <opensource@gregoirege.is>\nCo-authored-by: Karim Abou Zeid <7303830+kabouzeid@users.noreply.github.com>",
          "is_bot": false,
          "headline": "misc: add Helix keymap (#338)",
          "author_name": "Rémi Lavergne",
          "author_login": "Strackeror",
          "committed_at": "2025-03-13T09:01:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7bf14636eac5422dd22af9964c2555ee8d3e4ef6",
          "body": "clear unrelated unlabeledSelection highlight after 2ndChar was pressed.",
          "is_bot": false,
          "headline": "leap command highlight rule improved:",
          "author_name": "Shaochang Tan",
          "author_login": "petertheprocess",
          "committed_at": "2024-06-21T10:38:09Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12f6a79b2a49b29688eb2fd6e12f6f2f3d19d5c8",
          "body": null,
          "is_bot": false,
          "headline": "misc: bump version to 0.5.15",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2024-06-14T14:33:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d20be496570e19777f24449ab7086cda8d0d03d5",
          "body": "`textInputFocus` doesn't seem to exist, but until recently this wasn't a\nproblem.\n\nIn Insiders 1.90, `!textInputFocus` evaluates to true in quick-open boxes, so\narrow keys no longer work in these input boxes because of Dance. This change\nadds a custom Dance context key, `dance.inPrompt`, to only enable input box\nkeybindings in prompts created by Dance.",
          "is_bot": false,
          "headline": "misc: use dance.inPrompt instead of !textInputFocus",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2024-05-11T00:44:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "822dc5b9b2577bc06ddeaf06363835e72ff18984",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix format, bump prerelease to 0.5.14002",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-12-02T12:17:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "21a8b2ed2f06244d879922bb10850309633dab6e",
          "body": null,
          "is_bot": false,
          "headline": "commands: add support for tree-sitter textobjects",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-12-02T11:44:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a0baff9899e0fc1a3438ed33807eeff0b39ab03",
          "body": null,
          "is_bot": false,
          "headline": "misc: bump version to 0.5.14, add CHANGELOG.md",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-12-01T16:47:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "75200dde981230ba7d992f9296dce378804cf7c0",
          "body": null,
          "is_bot": false,
          "headline": "commands/api: fix rotation logic (fixes #322)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-12-01T16:38:53Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "333d47d46e8952b8db4d066db85908b036afc31a",
          "body": null,
          "is_bot": false,
          "headline": "test: improve tooling to build/write tests",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-12-01T16:36:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e9cd2ca56f091bfab975e07b764bdd9de77a7259",
          "body": null,
          "is_bot": false,
          "headline": "api: fix cwd computation for remotes",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-19T02:25:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "715542dec1071b7a30f8a70f8d5a4adbdfedf680",
          "body": null,
          "is_bot": false,
          "headline": "ci: upgrade publish-vscode-extension",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T16:29:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5d5efc01aebdd2d02cb64910344b416f2b48d1a1",
          "body": null,
          "is_bot": false,
          "headline": "ci: allow skipping duplicates",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T16:25:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d630c387dde7947299e5f6aa84975a567472df3c",
          "body": null,
          "is_bot": false,
          "headline": "ci: fix publishing workflow",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T16:20:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f0f58f5e1f6738860fe5c271fb55c5dd09bb51e1",
          "body": null,
          "is_bot": false,
          "headline": "misc: bump version to 0.5.13",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T16:08:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe89fb5165f53b658aeb368f66532347eb87872b",
          "body": null,
          "is_bot": false,
          "headline": "registers: do not assign ascii letters to special registers (fixes #318)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T16:03:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5fffe3be2bebd92c6c73959ef0c73c09aff7fee8",
          "body": null,
          "is_bot": false,
          "headline": "fix register view error handling (fixes #316)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-11-01T15:55:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e15330afbc365e1138a4ba7b1a9ce9fd379e64cc",
          "body": "glob-exec does not seem to work on macos",
          "is_bot": false,
          "headline": "package.json: replace glob-exec with globstar for compiling tests",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-11T15:23:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dc68b022936d7220a9212cabdb3a5217159b2ecb",
          "body": null,
          "is_bot": false,
          "headline": "misc: only depend on tree-sitter.ts",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-11T14:59:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1faf63fa1f056282c0043045dc92646a9905c869",
          "body": null,
          "is_bot": false,
          "headline": "readme: link to custom mode example",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-08T01:05:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "20f85ec1c0b375abe57560df78bc898530df0925",
          "body": null,
          "is_bot": false,
          "headline": "readme: fix formatting",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-08T01:01:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cced11301955e4fad164f2134c00d3536577b51b",
          "body": null,
          "is_bot": false,
          "headline": "readme: link to dance.run docs",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-08T01:01:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6a36f0d3a870ea8f628a65463ed711e852f46dd2",
          "body": "also use \"as Iterable<string>\" to clarify intent with new Set() constructor",
          "is_bot": false,
          "headline": "api: fix typing error caused by overload",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-06T15:50:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "986d728076b199647d55af3b60e00741786ead4f",
          "body": null,
          "is_bot": false,
          "headline": "misc: add basic nix flake / direnv setup",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-07-06T15:48:19Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "547ffc4a70b45218996f19aa14fe3d201f7560aa",
          "body": null,
          "is_bot": false,
          "headline": "ci: fetch packages before running vsce / yarn run",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-06-17T18:11:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96fc46fc4a077b64b64f25e4017a4d0767235099",
          "body": null,
          "is_bot": false,
          "headline": "ci: publish pre-release versions automatically",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-06-17T18:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7937ef4f24d07694542fbe2f8774a9a257b8727f",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix silent \"rejected promise not handled within 1 second\" error",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-06-17T18:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "590a4b61b82237c05c4e7df4f84c9bebddb99d77",
          "body": null,
          "is_bot": false,
          "headline": "misc: bundle and compile with esbuild",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-06-17T18:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "24efcfb0b471a31a68b615dd08ba0741a7452aa8",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix packaging issues",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-06-17T18:04:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "63dd82dd86ed3024950743c28b18cc525e791346",
          "body": "* Add basic Helix select mode word movement\r\n\r\n* Handle left, right, long word moves in helix select mode\r\n\r\n* Handle f, t, g motions for helix select mode\r\n\r\n* Add d, c, u, s+u for helix select mode\r\n\r\n* Lint fix\r\n\r\n* Add left, right, up, down for helix select mode",
          "is_bot": false,
          "headline": "feat: add Helix-based select mode and its most common keybindings (#301)",
          "author_name": "Greg D",
          "author_login": "gouegd",
          "committed_at": "2023-06-15T12:35:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "dd69f4b824e38a9ef89ad9dc19badf5554a2584b",
          "body": null,
          "is_bot": false,
          "headline": "fix: allow more than 2 keybindings per command",
          "author_name": "Gregory Desfour",
          "author_login": "gouegd",
          "committed_at": "2023-06-07T14:23:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3a75750c638ce6f0918973d2c23bfa0c3cb3ebe9",
          "body": "…ard (#295)\n\n* feat: add setting to toggle yank using the system clipboard\r\n\r\n* feat: swaps the toggle for a select list allowing the user to choose a system clipboard register (or null)\r\n\r\n* fix: addresses feedback\r\n\r\n* fix: changes from review\r\n\r\n* fix: expect dquote exists and make null checks more strict",
          "is_bot": false,
          "headline": "misc: add setting to toggle the yank register using the system clipbo…",
          "author_name": "Ben LeFevre",
          "author_login": null,
          "committed_at": "2023-04-29T08:52:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "413e833ce407c25dade0aa66e6e0c6eb5d64f4c9",
          "body": null,
          "is_bot": false,
          "headline": "commands: only enable tree sitter commands when tree sitter is available",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-04-26T13:45:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "38001b17bf5b05c2a4b4e67f7eb49c402f061708",
          "body": null,
          "is_bot": false,
          "headline": "commands: experimental/wip support for helix-like keybindings",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-04-23T09:48:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "882ca1322bd1086efd84ef6be41e35081dffe379",
          "body": null,
          "is_bot": false,
          "headline": "misc: mark layouts/*.md files as generated",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-04-15T08:58:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a139b2b01cead90c07b7986bb735b22d2a288a78",
          "body": "* Alignment for multiple columns\r\n\r\n* Align by selection active/head point\r\n\r\n* Add some alignment tests\r\n\r\n* Additional small cleaning\r\n\r\n* Fixing nitpicks :)\r\n\r\n* run generate",
          "is_bot": false,
          "headline": "commands: .edit.align now works with multiple columns (#296)",
          "author_name": "Strackeror",
          "author_login": "Strackeror",
          "committed_at": "2023-04-15T08:58:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "64bf13e5fab09961952857beae3a2c09f600bff2",
          "body": null,
          "is_bot": false,
          "headline": "keybindings: add gp, gn, gA for buffer selection",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2023-03-30T18:06:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b144b02b5a8baa4d14e3a8511d7ab9f0e0b0ade0",
          "body": "…(fixes #286)",
          "is_bot": false,
          "headline": "api: execute now inherits env, uses current file or workspace as cwd …",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-12-22T10:34:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb5eab6fc0add1694ba40ac225a004315bd37882",
          "body": null,
          "is_bot": false,
          "headline": "commands: fix crash in .selections.filter* (fixes #290)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-12-19T16:02:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "94ce76bc649ee958203b9910b0df772868cbd979",
          "body": null,
          "is_bot": false,
          "headline": "tests: hopefully fix tab size in gh action tests",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-12-13T12:31:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1c23f8bbf496c16f9cd32269cf4f8f1e6f4b5ec5",
          "body": null,
          "is_bot": false,
          "headline": "keybindings: add tab/s-tab to ignored keys in normal mode (fixes #289)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-12-13T12:05:02Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7d73bfc0245a8ce447323bb456fa3e8f8f977eda",
          "body": null,
          "is_bot": false,
          "headline": "package.json: fix pre-release script",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-11T10:26:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec6cc87826f3c2dc26abdbbe3666e4287ae6d93f",
          "body": null,
          "is_bot": false,
          "headline": "package.json: pre-release 0.5.12001",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-11T10:21:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ec90111ffac48f9653373911af21f2cc4ecc4bd4",
          "body": null,
          "is_bot": false,
          "headline": "commands: select with {p,s-p}, fix {p,s-p,a-p,s-a-p} (fixes #276, #281)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-11T09:49:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "0acf74fc9f4a6d15b7ce62071fd8f7293f0c0ab6",
          "body": null,
          "is_bot": false,
          "headline": "enable word highlighting for dance selection",
          "author_name": "Karim Abou Zeid",
          "author_login": "karimknaebel",
          "committed_at": "2022-11-10T15:01:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "52a7c20d17599c301ce191206723a15979b1499b",
          "body": null,
          "is_bot": false,
          "headline": "commands: scroll buffer after .seek.object (fixes #266)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-10T15:00:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d28df97503132ff1b046ff3c20cb2274cc1175c",
          "body": null,
          "is_bot": false,
          "headline": "misc: make sure READMEs are generated after commands.yaml",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-04T14:58:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eeda66b3dba78070ebd77899ce96e8ed90ce2c66",
          "body": null,
          "is_bot": false,
          "headline": "commands: make {a-,}! select inserted contents (#281)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-04T14:33:43Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a3772ef914acfe7f1b9498db1aa3ebaf6e4ab81b",
          "body": "Also fix issues with `.selections.trimLines` and\n`.selections.expandToLines` and upgrade `typescript`.",
          "is_bot": false,
          "headline": "commands: remap {a-x,s-a-x}to {x,a-x} (#281)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-04T14:19:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "5779d9c003306559fef6748bb3a2f89c08f25fcb",
          "body": null,
          "is_bot": false,
          "headline": "commands: remap {a-,}space to {a-,}, (#281)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-11-02T15:10:34Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "73d32adb80497758f48a643266ba3488d0c08561",
          "body": null,
          "is_bot": false,
          "headline": "package.json: bump version to 0.5.12 (prerelease)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-10-11T06:56:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8d3e5398f9715d95523451f144bdda989a743010",
          "body": "Inspired by https://github.com/ggandor/leap.nvim, `.seek.leap`\nleaps to the first position on the screen that matches the two given\ncharacters, with the ability to further jump to other labels.\n\n`s` and `a-s` are rebound to call `.seek.leap` when all current\nselections are empty.\n\nUnfortunately, due to limitations in VS Code (/ lack of proper hacks\nin Dance), the character sent directly after the leap will be\nignored.",
          "is_bot": false,
          "headline": "commands: add .seek.leap (wip)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-10-11T03:13:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6d305ef65e08268d0d2915cad07419b8d6a41cb5",
          "body": null,
          "is_bot": false,
          "headline": "commands: accept modifiers e.g. (?i) in regexps",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-10-08T23:05:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1341210097b78d53048dc2a129f354dbc2930038",
          "body": null,
          "is_bot": false,
          "headline": "commands: prepare support for multiple layouts and locales",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-10-05T13:01:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad61336bff165d29c5e674f3fd3916f7d6ba8bd7",
          "body": null,
          "is_bot": false,
          "headline": "commands: fix argument not being properly passed to .run",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-08-28T11:06:59Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cd05df62c2203b9fa1bee1386ed2da825ec897d4",
          "body": "- separate publishing to a separate job\n- remove redundant calls to `success()`\n- only publish if `github.event_name` is \"push\"",
          "is_bot": false,
          "headline": "actions: clean up main.yml",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-07-31T07:07:47Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a8cc6242b1f9fa69f5722c88e324d4f79a745226",
          "body": "Switching to a document always leads to VS Code focusing on the document\nin a **non-diff** editor, so if we focus on the current document while\nediting it in a diff-editor, it will exit the diff, which is undesired.\nThis change makes switchToDocument a no-op when switching to the current\ndocument, avoiding this problem.\n\nFixes #268.",
          "is_bot": false,
          "headline": "api: make switchToDocument a no-op for same doc",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-07-30T11:30:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17aec4eb5ad37a5892961713009e3fb8abae5ffb",
          "body": null,
          "is_bot": false,
          "headline": "misc: some typescript changes",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-07-01T10:21:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d7fc7e43ed3aecef49619943c153313185e60a9a",
          "body": null,
          "is_bot": false,
          "headline": "commands: change Alt modifier for rotate commands",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-06-14T07:31:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d71907775fcb806524bf61f7dadd30a4fbdcc712",
          "body": null,
          "is_bot": false,
          "headline": "package.json: bump version to 0.5.11",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-30T08:38:16Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a869306ac3b1c7eb452b0f7d3724e9fbdd0a4612",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix .build.ts detection on Windows",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-30T08:37:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "771a8bc111818dda60dc3ca6afdc229f59b0cff2",
          "body": null,
          "is_bot": false,
          "headline": "api: fix run with non-dance commands (fixes #262)",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-30T08:33:31Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8439f2ad823f5d3122db2d0dc771583f211d7b68",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix code style",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-14T10:14:56Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8c9f9c2745822e78d69c141b3e36799e55ac94e5",
          "body": null,
          "is_bot": false,
          "headline": "test: disable last (flaky) history test",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-14T10:11:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "12c78774faf7bb280da5242e5b7f560dc3c39eb9",
          "body": null,
          "is_bot": false,
          "headline": "misc: upgrade dependencies",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-14T10:10:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bea5c502eddd8583512221ebae2fe0f489303c88",
          "body": null,
          "is_bot": false,
          "headline": "misc: convert .then() to await in most functions",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-14T09:44:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "29d9b021fc03c588023c1df0349c7bf39c9cf968",
          "body": null,
          "is_bot": false,
          "headline": "package.json: bump version to 0.5.10",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-13T23:50:23Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d8e1553a510491880b65c7e36fd5a1d35a9c4849",
          "body": null,
          "is_bot": false,
          "headline": "test: disable other flaky history test",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-13T23:44:50Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "392931868156e14f9c4869ce72ea6cca169de42a",
          "body": null,
          "is_bot": false,
          "headline": "misc: fix recursive module dependency",
          "author_name": "Grégoire Geis",
          "author_login": "71",
          "committed_at": "2022-05-13T23:41:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 35,
      "commits_last_year": 27,
      "latest_release_at": "2026-02-21T03:51:10Z",
      "latest_release_tag": "v0.5.16",
      "releases_from_tags": true,
      "days_since_last_push": 132,
      "active_weeks_last_year": 12,
      "days_since_latest_release": 155,
      "mean_days_between_releases": 177.1
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 57,
      "has_issue_template": false,
      "has_code_of_conduct": false,
      "has_pull_request_template": false
    },
    "ecosystem": {
      "packages": [
        {
          "name": "dance",
          "exists": true,
          "license": "MIT",
          "keywords": [
            "dlx",
            "dancing links",
            "exact cover",
            "algorithm x"
          ],
          "ecosystem": "npm",
          "matches_repo": false,
          "registry_url": "https://www.npmjs.com/package/dance",
          "is_deprecated": false,
          "latest_version": "0.1.0",
          "repository_url": "https://github.com/wbyoung/dance",
          "versions_count": 1,
          "total_downloads": null,
          "dependents_count": null,
          "deprecation_note": null,
          "maintainers_count": 1,
          "monthly_downloads": 113,
          "first_published_at": "2014-04-15T21:36:12.539000Z",
          "latest_published_at": "2014-04-15T21:36:12.539000Z",
          "latest_version_yanked": null,
          "days_since_latest_publish": 4484
        }
      ]
    },
    "popularity": {
      "forks": 82,
      "stars": 523,
      "watchers": 7,
      "fork_history": {
        "days": [
          {
            "date": "2019-11-03",
            "count": 1
          },
          {
            "date": "2019-11-19",
            "count": 1
          },
          {
            "date": "2019-11-20",
            "count": 1
          },
          {
            "date": "2019-11-22",
            "count": 1
          },
          {
            "date": "2019-11-27",
            "count": 1
          },
          {
            "date": "2020-01-23",
            "count": 1
          },
          {
            "date": "2020-02-25",
            "count": 1
          },
          {
            "date": "2020-03-05",
            "count": 1
          },
          {
            "date": "2020-03-29",
            "count": 1
          },
          {
            "date": "2020-04-03",
            "count": 1
          },
          {
            "date": "2020-08-02",
            "count": 1
          },
          {
            "date": "2020-12-15",
            "count": 1
          },
          {
            "date": "2021-01-20",
            "count": 1
          },
          {
            "date": "2021-02-27",
            "count": 1
          },
          {
            "date": "2021-03-28",
            "count": 1
          },
          {
            "date": "2021-06-02",
            "count": 1
          },
          {
            "date": "2021-06-20",
            "count": 1
          },
          {
            "date": "2021-08-04",
            "count": 1
          },
          {
            "date": "2021-08-20",
            "count": 1
          },
          {
            "date": "2021-09-03",
            "count": 1
          },
          {
            "date": "2021-10-27",
            "count": 1
          },
          {
            "date": "2021-11-09",
            "count": 1
          },
          {
            "date": "2021-12-12",
            "count": 1
          },
          {
            "date": "2022-01-02",
            "count": 1
          },
          {
            "date": "2022-01-06",
            "count": 1
          },
          {
            "date": "2022-04-08",
            "count": 1
          },
          {
            "date": "2022-07-24",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-10-13",
            "count": 1
          },
          {
            "date": "2023-04-06",
            "count": 1
          },
          {
            "date": "2023-05-08",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 1
          },
          {
            "date": "2023-07-25",
            "count": 1
          },
          {
            "date": "2023-10-05",
            "count": 1
          },
          {
            "date": "2024-01-01",
            "count": 1
          },
          {
            "date": "2024-02-07",
            "count": 1
          },
          {
            "date": "2024-03-25",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-06-16",
            "count": 1
          },
          {
            "date": "2024-08-11",
            "count": 1
          },
          {
            "date": "2024-12-17",
            "count": 1
          },
          {
            "date": "2025-01-29",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-03-08",
            "count": 1
          },
          {
            "date": "2025-04-01",
            "count": 1
          },
          {
            "date": "2025-04-03",
            "count": 1
          },
          {
            "date": "2025-04-30",
            "count": 1
          },
          {
            "date": "2025-05-02",
            "count": 1
          },
          {
            "date": "2025-05-15",
            "count": 1
          },
          {
            "date": "2025-05-21",
            "count": 1
          },
          {
            "date": "2025-07-13",
            "count": 1
          },
          {
            "date": "2025-08-11",
            "count": 1
          },
          {
            "date": "2025-09-08",
            "count": 1
          },
          {
            "date": "2025-09-21",
            "count": 1
          },
          {
            "date": "2025-10-10",
            "count": 1
          },
          {
            "date": "2025-10-26",
            "count": 1
          },
          {
            "date": "2026-01-11",
            "count": 1
          },
          {
            "date": "2026-03-08",
            "count": 1
          },
          {
            "date": "2026-04-08",
            "count": 1
          },
          {
            "date": "2026-04-25",
            "count": 1
          },
          {
            "date": "2026-05-02",
            "count": 1
          },
          {
            "date": "2026-06-22",
            "count": 1
          },
          {
            "date": "2026-06-28",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 64,
        "total_forks": 82
      },
      "star_history": null,
      "open_issues_and_prs": 84
    },
    "ai_readiness": {
      "has_nix": true,
      "example_dirs": [],
      "has_llms_txt": false,
      "has_dockerfile": false,
      "has_mcp_signal": false,
      "bootstrap_files": [],
      "api_schema_files": [],
      "has_devcontainer": false,
      "typecheck_configs": [
        "tsconfig.json"
      ],
      "toolchain_manifests": [],
      "largest_source_bytes": 61315,
      "source_files_sampled": 110,
      "oversized_source_files": 1,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "package.json"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.5",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-25h7-pfq9-p65f",
              "GHSA-rf6f-7fwh-wjgh"
            ],
            "fixed_version": "3.4.2",
            "advisory_count": 2,
            "oldest_advisory_days": 134
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.7",
            "severity": "critical",
            "ecosystem": "npm",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-2qvq-rjwj-gvw9",
              "GHSA-2w6w-674q-4c4q",
              "GHSA-3mfm-83xf-c92r",
              "GHSA-442j-39wm-28r2",
              "GHSA-7rx3-28cr-v5wh",
              "GHSA-9cx6-37pm-9jff",
              "GHSA-xhpv-hc6g-r9c6",
              "GHSA-xjpj-3mr7-gcpf"
            ],
            "fixed_version": "4.7.9",
            "advisory_count": 8,
            "oldest_advisory_days": 121
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-mh99-v99m-4gvg",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 4,
            "oldest_advisory_days": 411
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3jxr-9vmj-r5cp",
              "GHSA-f886-m6hf-6m8v",
              "GHSA-mh99-v99m-4gvg",
              "GHSA-v6h2-p8h4-qcjw"
            ],
            "fixed_version": "5.0.8",
            "advisory_count": 4,
            "oldest_advisory_days": 411
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-grv7-fg5c-xmjg"
            ],
            "fixed_version": "3.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 802
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3xgq-45jj-v275"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 1,
            "oldest_advisory_days": 625
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-fjxv-7rqg-78g4",
              "GHSA-hmw2-7cc7-3qxx"
            ],
            "fixed_version": "4.0.6",
            "advisory_count": 2,
            "oldest_advisory_days": 369
          },
          {
            "name": "glob",
            "direct": false,
            "version": "11.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-5j98-mcp5-4vw2"
            ],
            "fixed_version": "11.1.0",
            "advisory_count": 1,
            "oldest_advisory_days": 250
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52cp-r559-cp3m",
              "GHSA-h67p-54hq-rp68",
              "GHSA-mh29-5h37-fv8m"
            ],
            "fixed_version": "4.3.0",
            "advisory_count": 3,
            "oldest_advisory_days": 253
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.1,
            "advisory_ids": [
              "GHSA-9c47-m6qq-7p4h"
            ],
            "fixed_version": "2.2.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1305
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.1,
            "advisory_ids": [
              "GHSA-9c47-m6qq-7p4h"
            ],
            "fixed_version": "2.2.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1305
          },
          {
            "name": "jws",
            "direct": false,
            "version": "3.2.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-869p-cjfg-cm3x"
            ],
            "fixed_version": "4.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 233
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "3.0.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-22p9-wv53-3rq4",
              "GHSA-v245-v573-v5vm"
            ],
            "fixed_version": "5.0.2",
            "advisory_count": 2,
            "oldest_advisory_days": 29
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-22p9-wv53-3rq4",
              "GHSA-v245-v573-v5vm"
            ],
            "fixed_version": "5.0.2",
            "advisory_count": 2,
            "oldest_advisory_days": 29
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-f23m-r3pf-42rh",
              "GHSA-r5fr-rjxr-66jc",
              "GHSA-xxjr-mmjv-4gpg"
            ],
            "fixed_version": "4.18.0",
            "advisory_count": 3,
            "oldest_advisory_days": 185
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 157
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 157
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.0.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-23c5-xmqv-rm74",
              "GHSA-3ppc-4f35-3m26",
              "GHSA-7r86-cg39-jmmj"
            ],
            "fixed_version": "10.2.3",
            "advisory_count": 3,
            "oldest_advisory_days": 157
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-3v7f-55p6-f55p",
              "GHSA-c2c7-rcm5-vvqj"
            ],
            "fixed_version": "4.0.4",
            "advisory_count": 2,
            "oldest_advisory_days": 122
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-c2qf-rxjj-qqgw"
            ],
            "fixed_version": "7.5.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1131
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.3.7",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-c2qf-rxjj-qqgw"
            ],
            "fixed_version": "7.5.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1131
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.0",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-5c6j-r48x-rmvq",
              "GHSA-76p7-773f-r4q5",
              "GHSA-qj8w-gfj5-8c6v"
            ],
            "fixed_version": "7.0.5",
            "advisory_count": 3,
            "oldest_advisory_days": 530
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8cj5-5rvv-wf4v",
              "GHSA-pq67-2wwv-3xjx",
              "GHSA-vj76-c3g6-qr5v"
            ],
            "fixed_version": "3.1.1",
            "advisory_count": 3,
            "oldest_advisory_days": 485
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-8cj5-5rvv-wf4v",
              "GHSA-vj76-c3g6-qr5v"
            ],
            "fixed_version": "3.1.1",
            "advisory_count": 2,
            "oldest_advisory_days": 418
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.0.33",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52f5-9888-hmc6",
              "GHSA-ph9p-34f9-6g65"
            ],
            "fixed_version": "0.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 353
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52f5-9888-hmc6",
              "GHSA-ph9p-34f9-6g65"
            ],
            "fixed_version": "0.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 353
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-52f5-9888-hmc6",
              "GHSA-ph9p-34f9-6g65"
            ],
            "fixed_version": "0.2.6",
            "advisory_count": 2,
            "oldest_advisory_days": 353
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.3",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qpx9-hpmf-5gmw"
            ],
            "fixed_version": "1.13.8",
            "advisory_count": 1,
            "oldest_advisory_days": 144
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.7",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-qpx9-hpmf-5gmw"
            ],
            "fixed_version": "1.13.8",
            "advisory_count": 1,
            "oldest_advisory_days": 144
          },
          {
            "name": "undici",
            "direct": false,
            "version": "6.21.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2mjp-6q6p-2qxm",
              "GHSA-35p6-xmwp-9g52",
              "GHSA-4992-7rv2-5pvq",
              "GHSA-f269-vfmq-vjvj",
              "GHSA-g8m3-5g58-fq7m",
              "GHSA-g9mf-h72j-4rw9",
              "GHSA-p88m-4jfj-68fv",
              "GHSA-v9p9-hfj2-hcw8",
              "GHSA-vrm6-8vpv-qv8q",
              "GHSA-vxpw-j846-p89q"
            ],
            "fixed_version": "8.5.0",
            "advisory_count": 10,
            "oldest_advisory_days": 192
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-w5hq-g745-h8pq"
            ],
            "fixed_version": "13.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 94
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.1.1",
            "severity": "high",
            "ecosystem": "npm",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-48c2-rrv3-qjmp",
              "GHSA-f9xv-q969-pqx4"
            ],
            "fixed_version": "2.8.3",
            "advisory_count": 2,
            "oldest_advisory_days": 1188
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-2g4f-4pwh-qvx6"
            ],
            "fixed_version": "8.18.0",
            "advisory_count": 1,
            "oldest_advisory_days": 164
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.11.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-2g4f-4pwh-qvx6"
            ],
            "fixed_version": "8.18.0",
            "advisory_count": 1,
            "oldest_advisory_days": 164
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-73rr-hh4g-fpgx"
            ],
            "fixed_version": "8.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 192
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.0.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-73rr-hh4g-fpgx"
            ],
            "fixed_version": "8.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 192
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.18.4",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-67mh-4wv8-2f99"
            ],
            "fixed_version": "0.25.0",
            "advisory_count": 1,
            "oldest_advisory_days": 530
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "12.3.2",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6v5v-wf23-fmfq"
            ],
            "fixed_version": "14.2.0",
            "advisory_count": 1,
            "oldest_advisory_days": 40
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.1.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-38c4-r59v-3vqw",
              "GHSA-6v5v-wf23-fmfq"
            ],
            "fixed_version": "14.2.0",
            "advisory_count": 2,
            "oldest_advisory_days": 164
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-952p-6rrq-rcjv"
            ],
            "fixed_version": "4.0.8",
            "advisory_count": 1,
            "oldest_advisory_days": 802
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 4.3,
            "advisory_ids": [
              "GHSA-mwcw-c2x4-8c55"
            ],
            "fixed_version": "5.0.9",
            "advisory_count": 1,
            "oldest_advisory_days": 594
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.10.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6rw7-vpxm-498p",
              "GHSA-w7fw-mjwx-w883"
            ],
            "fixed_version": "6.14.2",
            "advisory_count": 2,
            "oldest_advisory_days": 207
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.14.0",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-6rw7-vpxm-498p",
              "GHSA-q8mj-m7cp-5q26",
              "GHSA-w7fw-mjwx-w883"
            ],
            "fixed_version": "6.15.2",
            "advisory_count": 3,
            "oldest_advisory_days": 207
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-j8xg-fqg3-53r7"
            ],
            "fixed_version": "1.2.4",
            "advisory_count": 1,
            "oldest_advisory_days": 1130
          },
          {
            "name": "xml2js",
            "direct": false,
            "version": "0.4.23",
            "severity": "moderate",
            "ecosystem": "npm",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-776f-qx25-q3cc"
            ],
            "fixed_version": "0.5.0",
            "advisory_count": 1,
            "oldest_advisory_days": 1207
          },
          {
            "name": "@tootallnate/once",
            "direct": false,
            "version": "1.1.2",
            "severity": "low",
            "ecosystem": "npm",
            "cvss_score": 3.3,
            "advisory_ids": [
              "GHSA-vpq2-c234-7xj6"
            ],
            "fixed_version": "3.0.1",
            "advisory_count": 1,
            "oldest_advisory_days": 145
          }
        ],
        "collected": true,
        "malicious": [],
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 30,
          "critical": 2,
          "moderate": 13
        },
        "advisory_count": 96,
        "affected_count": 46,
        "assessed_count": 577,
        "malicious_count": 0,
        "assessed_package": null,
        "unassessed_count": 0,
        "direct_affected_count": 0
      },
      "ecosystems": [
        "npm"
      ],
      "dependencies": [],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "@azure/abort-controller",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/core-auth",
            "direct": false,
            "version": "1.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/core-client",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/core-rest-pipeline",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/core-tracing",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/core-util",
            "direct": false,
            "version": "1.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/identity",
            "direct": false,
            "version": "4.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/logger",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/msal-browser",
            "direct": false,
            "version": "4.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/msal-common",
            "direct": false,
            "version": "15.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@azure/msal-node",
            "direct": false,
            "version": "3.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "@cspotcode/source-map-support",
            "direct": false,
            "version": "0.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-arm64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/android-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-arm64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/darwin-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-arm64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/freebsd-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-arm64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ia32",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-loong64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-mips64el",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-ppc64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-riscv64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-s390x",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/linux-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/netbsd-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/openbsd-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/sunos-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-arm64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-ia32",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@esbuild/win32-x64",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "@eslint/eslintrc",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/config-array",
            "direct": false,
            "version": "0.9.5",
            "ecosystem": "npm"
          },
          {
            "name": "@humanwhocodes/object-schema",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "@isaacs/cliui",
            "direct": false,
            "version": "8.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/resolve-uri",
            "direct": false,
            "version": "3.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/sourcemap-codec",
            "direct": false,
            "version": "1.4.14",
            "ecosystem": "npm"
          },
          {
            "name": "@jridgewell/trace-mapping",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.scandir",
            "direct": false,
            "version": "2.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.stat",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@nodelib/fs.walk",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "@tootallnate/once",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node10",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node12",
            "direct": false,
            "version": "1.0.9",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node14",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "@tsconfig/node16",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@types/glob",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json-schema",
            "direct": false,
            "version": "7.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "@types/json5",
            "direct": false,
            "version": "0.0.29",
            "ecosystem": "npm"
          },
          {
            "name": "@types/minimatch",
            "direct": false,
            "version": "3.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@types/mocha",
            "direct": false,
            "version": "9.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "@types/node",
            "direct": false,
            "version": "17.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "@types/vscode",
            "direct": false,
            "version": "1.67.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/eslint-plugin",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/parser",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/scope-manager",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/type-utils",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/types",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/typescript-estree",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/utils",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@typescript-eslint/visitor-keys",
            "direct": false,
            "version": "5.23.0",
            "ecosystem": "npm"
          },
          {
            "name": "@ungap/promise-all-settled",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/test-electron",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce",
            "direct": false,
            "version": "3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-alpine-arm64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-alpine-x64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-darwin-arm64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-darwin-x64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-linux-arm",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-linux-arm64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-linux-x64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-win32-arm64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "@vscode/vsce-sign-win32-x64",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn",
            "direct": false,
            "version": "8.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx",
            "direct": false,
            "version": "5.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-jsx-walk",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-loose",
            "direct": false,
            "version": "8.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "acorn-walk",
            "direct": false,
            "version": "8.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "agent-base",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "6.12.6",
            "ecosystem": "npm"
          },
          {
            "name": "ajv",
            "direct": false,
            "version": "8.11.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi",
            "direct": false,
            "version": "0.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-colors",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-escapes",
            "direct": false,
            "version": "4.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-regex",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "ansi-styles",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "anymatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "aproba",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "are-we-there-yet",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "are-we-there-yet",
            "direct": false,
            "version": "1.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "arg",
            "direct": false,
            "version": "4.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "argparse",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-changes",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-changes-async",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "array-union",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "arraydiff-async",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "arraydiff-papandreou",
            "direct": false,
            "version": "0.1.1-patch1",
            "ecosystem": "npm"
          },
          {
            "name": "asynckit",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "azure-devops-node-api",
            "direct": false,
            "version": "11.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "azure-devops-node-api",
            "direct": false,
            "version": "12.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "balanced-match",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "base64-js",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "big-integer",
            "direct": false,
            "version": "1.6.51",
            "ecosystem": "npm"
          },
          {
            "name": "binary",
            "direct": false,
            "version": "0.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "binary-extensions",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "bl",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "bluebird",
            "direct": false,
            "version": "3.4.7",
            "ecosystem": "npm"
          },
          {
            "name": "boolbase",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "1.1.11",
            "ecosystem": "npm"
          },
          {
            "name": "brace-expansion",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "braces",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "browser-stdout",
            "direct": false,
            "version": "1.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-crc32",
            "direct": false,
            "version": "0.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-equal-constant-time",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-from",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffer-indexof-polyfill",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "buffers",
            "direct": false,
            "version": "0.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "bundle-name",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bind-apply-helpers",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "call-bound",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "callsites",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "camelcase",
            "direct": false,
            "version": "6.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "chainsaw",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "2.4.2",
            "ecosystem": "npm"
          },
          {
            "name": "chalk",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "chardet",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio",
            "direct": false,
            "version": "1.0.0-rc.10",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio-select",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "cheerio-select",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "chokidar",
            "direct": false,
            "version": "3.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "chownr",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "cli-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "cli-spinners",
            "direct": false,
            "version": "2.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "cli-width",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "cliui",
            "direct": false,
            "version": "7.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "clone",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "cockatiel",
            "direct": false,
            "version": "3.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "code-point-at",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "1.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-convert",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "color-diff",
            "direct": false,
            "version": "0.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "color-name",
            "direct": false,
            "version": "1.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "combined-stream",
            "direct": false,
            "version": "1.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "12.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "commander",
            "direct": false,
            "version": "9.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "concat-map",
            "direct": false,
            "version": "0.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "console-control-strings",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-util-is",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "create-require",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "cross-spawn",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-select",
            "direct": false,
            "version": "5.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "css-what",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.3.4",
            "ecosystem": "npm"
          },
          {
            "name": "debug",
            "direct": false,
            "version": "4.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "decamelize",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "decompress-response",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-extend",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "deep-is",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "default-browser-id",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "defaults",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "define-lazy-prop",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delayed-stream",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "delegates",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dependency-cruiser",
            "direct": false,
            "version": "11.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "detect-indent",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "detect-libc",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "diff",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dir-glob",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "doctrine",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "dom-serializer",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "domelementtype",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "4.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "domhandler",
            "direct": false,
            "version": "5.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "2.8.0",
            "ecosystem": "npm"
          },
          {
            "name": "domutils",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "dunder-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "duplexer2",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "eastasianwidth",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "ecdsa-sig-formatter",
            "direct": false,
            "version": "1.0.11",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "8.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "emoji-regex",
            "direct": false,
            "version": "9.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "encoding-sniffer",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "end-of-stream",
            "direct": false,
            "version": "1.4.4",
            "ecosystem": "npm"
          },
          {
            "name": "enhanced-resolve",
            "direct": false,
            "version": "5.9.3",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "entities",
            "direct": false,
            "version": "4.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-define-property",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-errors",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "es-object-atoms",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "es-set-tostringtag",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "esbuild",
            "direct": false,
            "version": "0.18.4",
            "ecosystem": "npm"
          },
          {
            "name": "escalade",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "escape-string-regexp",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "8.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "5.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-scope",
            "direct": false,
            "version": "7.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-utils",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-visitor-keys",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "espree",
            "direct": false,
            "version": "9.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "esquery",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "esrecurse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "estraverse",
            "direct": false,
            "version": "5.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "esutils",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "expand-template",
            "direct": false,
            "version": "2.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "external-editor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-deep-equal",
            "direct": false,
            "version": "3.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "fast-glob",
            "direct": false,
            "version": "3.2.11",
            "ecosystem": "npm"
          },
          {
            "name": "fast-json-stable-stringify",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "fast-levenshtein",
            "direct": false,
            "version": "2.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "fastq",
            "direct": false,
            "version": "1.13.0",
            "ecosystem": "npm"
          },
          {
            "name": "fd-slicer",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "figures",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "file-entry-cache",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "fill-range",
            "direct": false,
            "version": "7.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "find-up",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "flat",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "flat-cache",
            "direct": false,
            "version": "3.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "flatted",
            "direct": false,
            "version": "3.2.5",
            "ecosystem": "npm"
          },
          {
            "name": "foreground-child",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "form-data",
            "direct": false,
            "version": "4.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "fs-constants",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fs.realpath",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "fsevents",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "fstream",
            "direct": false,
            "version": "1.0.12",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "function-bind",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "functional-red-black-tree",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "gauge",
            "direct": false,
            "version": "1.2.7",
            "ecosystem": "npm"
          },
          {
            "name": "gauge",
            "direct": false,
            "version": "2.7.4",
            "ecosystem": "npm"
          },
          {
            "name": "get-caller-file",
            "direct": false,
            "version": "2.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-intrinsic",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "get-proto",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stdin",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "get-stream",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "github-from-package",
            "direct": false,
            "version": "0.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "5.0.15",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "7.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob",
            "direct": false,
            "version": "8.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "glob-parent",
            "direct": false,
            "version": "6.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "globals",
            "direct": false,
            "version": "13.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "globby",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "globstar",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "gopd",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "graceful-fs",
            "direct": false,
            "version": "4.2.10",
            "ecosystem": "npm"
          },
          {
            "name": "greedy-interval-packer",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "handlebars",
            "direct": false,
            "version": "4.7.7",
            "ecosystem": "npm"
          },
          {
            "name": "has",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-flag",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "has-symbols",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "has-tostringtag",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "has-unicode",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "hasown",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "he",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "hosted-git-info",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "htmlparser2",
            "direct": false,
            "version": "6.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "htmlparser2",
            "direct": false,
            "version": "9.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "http-proxy-agent",
            "direct": false,
            "version": "7.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "https-proxy-agent",
            "direct": false,
            "version": "7.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.4.24",
            "ecosystem": "npm"
          },
          {
            "name": "iconv-lite",
            "direct": false,
            "version": "0.6.3",
            "ecosystem": "npm"
          },
          {
            "name": "ieee754",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "ignore",
            "direct": false,
            "version": "5.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "import-fresh",
            "direct": false,
            "version": "3.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "imurmurhash",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "indent-string",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "inflight",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "inherits",
            "direct": false,
            "version": "2.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "ini",
            "direct": false,
            "version": "1.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "inquirer",
            "direct": false,
            "version": "8.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "invert-kv",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-binary-path",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-docker",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-extglob",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "is-finite",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-fullwidth-code-point",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-glob",
            "direct": false,
            "version": "4.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "is-inside-container",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-interactive",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-number",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-plain-obj",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-unicode-supported",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "is-wsl",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "isarray",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "isexe",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "jackspeak",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "js-yaml",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "json-schema-traverse",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "json-stable-stringify-without-jsonify",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "json5",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonc-parser",
            "direct": false,
            "version": "3.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "jsonwebtoken",
            "direct": false,
            "version": "9.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "jwa",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "jws",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "keytar",
            "direct": false,
            "version": "7.9.0",
            "ecosystem": "npm"
          },
          {
            "name": "lcid",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "leven",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "levn",
            "direct": false,
            "version": "0.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "linkify-it",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "listenercount",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "locate-path",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash",
            "direct": false,
            "version": "4.17.21",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.includes",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isboolean",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isinteger",
            "direct": false,
            "version": "4.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isnumber",
            "direct": false,
            "version": "3.0.3",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isplainobject",
            "direct": false,
            "version": "4.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.isstring",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.merge",
            "direct": false,
            "version": "4.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.once",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.pad",
            "direct": false,
            "version": "4.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.padend",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "lodash.padstart",
            "direct": false,
            "version": "4.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "log-symbols",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "11.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "lru-cache",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "magicpen",
            "direct": false,
            "version": "6.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "make-error",
            "direct": false,
            "version": "1.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "12.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "markdown-it",
            "direct": false,
            "version": "14.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "math-intrinsics",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "mdurl",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "merge2",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "micromatch",
            "direct": false,
            "version": "4.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "mime",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-db",
            "direct": false,
            "version": "1.52.0",
            "ecosystem": "npm"
          },
          {
            "name": "mime-types",
            "direct": false,
            "version": "2.1.35",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-fn",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "mimic-response",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "10.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "minimatch",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.6",
            "ecosystem": "npm"
          },
          {
            "name": "minimist",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "minipass",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp",
            "direct": false,
            "version": "0.5.6",
            "ecosystem": "npm"
          },
          {
            "name": "mkdirp-classic",
            "direct": false,
            "version": "0.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "mocha",
            "direct": false,
            "version": "10.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "ms",
            "direct": false,
            "version": "2.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "mute-stream",
            "direct": false,
            "version": "0.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "nanoid",
            "direct": false,
            "version": "3.3.3",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "napi-build-utils",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "natural-compare",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "neo-async",
            "direct": false,
            "version": "2.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.15.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-abi",
            "direct": false,
            "version": "3.74.0",
            "ecosystem": "npm"
          },
          {
            "name": "node-addon-api",
            "direct": false,
            "version": "4.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "normalize-path",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "npmlog",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "npmlog",
            "direct": false,
            "version": "4.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "nth-check",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "number-is-nan",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-assign",
            "direct": false,
            "version": "4.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.12.0",
            "ecosystem": "npm"
          },
          {
            "name": "object-inspect",
            "direct": false,
            "version": "1.13.4",
            "ecosystem": "npm"
          },
          {
            "name": "once",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "onetime",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "open",
            "direct": false,
            "version": "10.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "optionator",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "npm"
          },
          {
            "name": "ora",
            "direct": false,
            "version": "5.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "os-locale",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "os-tmpdir",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "p-limit",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "p-locate",
            "direct": false,
            "version": "5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "package-json-from-dist",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parent-module",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse-semver",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5",
            "direct": false,
            "version": "7.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-htmlparser2-tree-adapter",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-htmlparser2-tree-adapter",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "parse5-parser-stream",
            "direct": false,
            "version": "7.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "path-exists",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-is-absolute",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-key",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "path-scurry",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "path-type",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pend",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "picomatch",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "prebuild-install",
            "direct": false,
            "version": "7.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "prelude-ls",
            "direct": false,
            "version": "1.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "process-nextick-args",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pump",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "punycode",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "punycode.js",
            "direct": false,
            "version": "2.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.10.3",
            "ecosystem": "npm"
          },
          {
            "name": "qs",
            "direct": false,
            "version": "6.14.0",
            "ecosystem": "npm"
          },
          {
            "name": "queue-microtask",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "randombytes",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "rc",
            "direct": false,
            "version": "1.2.8",
            "ecosystem": "npm"
          },
          {
            "name": "read",
            "direct": false,
            "version": "1.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "readable-stream",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "readdirp",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "regexp-tree",
            "direct": false,
            "version": "0.1.24",
            "ecosystem": "npm"
          },
          {
            "name": "regexpp",
            "direct": false,
            "version": "3.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "repeating",
            "direct": false,
            "version": "1.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "require-directory",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "require-from-string",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "resolve-from",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "restore-cursor",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "reusify",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "2.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "3.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "run-applescript",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "run-async",
            "direct": false,
            "version": "2.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "run-parallel",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "rxjs",
            "direct": false,
            "version": "7.5.5",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "safe-buffer",
            "direct": false,
            "version": "5.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "safe-regex",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "safer-buffer",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "sax",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "5.7.2",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.3.7",
            "ecosystem": "npm"
          },
          {
            "name": "semver",
            "direct": false,
            "version": "7.7.1",
            "ecosystem": "npm"
          },
          {
            "name": "semver-try-require",
            "direct": false,
            "version": "5.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "serialize-javascript",
            "direct": false,
            "version": "6.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "set-blocking",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "setimmediate",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-command",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "shebang-regex",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.0.4",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-list",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-map",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "side-channel-weakmap",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "3.0.7",
            "ecosystem": "npm"
          },
          {
            "name": "signal-exit",
            "direct": false,
            "version": "4.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "simple-concat",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "simple-get",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "slash",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "source-map",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "npm"
          },
          {
            "name": "source-map-support",
            "direct": false,
            "version": "0.5.21",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string-width",
            "direct": false,
            "version": "5.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "string-width-cjs",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "string_decoder",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi",
            "direct": false,
            "version": "7.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-ansi-cjs",
            "direct": false,
            "version": "6.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-bom",
            "direct": false,
            "version": "3.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "strip-json-comments",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "5.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "7.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "supports-color",
            "direct": false,
            "version": "8.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tapable",
            "direct": false,
            "version": "2.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "tar-fs",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "npm"
          },
          {
            "name": "tar-stream",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "teamcity-service-messages",
            "direct": false,
            "version": "0.1.14",
            "ecosystem": "npm"
          },
          {
            "name": "text-table",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "through",
            "direct": false,
            "version": "2.3.8",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.0.33",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "tmp",
            "direct": false,
            "version": "0.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "to-regex-range",
            "direct": false,
            "version": "5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "traverse",
            "direct": false,
            "version": "0.3.9",
            "ecosystem": "npm"
          },
          {
            "name": "ts-loader",
            "direct": false,
            "version": "9.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "ts-node",
            "direct": false,
            "version": "10.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths",
            "direct": false,
            "version": "3.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsconfig-paths-webpack-plugin",
            "direct": false,
            "version": "3.5.2",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "1.14.1",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "tslib",
            "direct": false,
            "version": "2.8.1",
            "ecosystem": "npm"
          },
          {
            "name": "tsutils",
            "direct": false,
            "version": "3.21.0",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel",
            "direct": false,
            "version": "0.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "tunnel-agent",
            "direct": false,
            "version": "0.6.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-check",
            "direct": false,
            "version": "0.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.20.2",
            "ecosystem": "npm"
          },
          {
            "name": "type-fest",
            "direct": false,
            "version": "0.21.3",
            "ecosystem": "npm"
          },
          {
            "name": "typed-rest-client",
            "direct": false,
            "version": "1.8.11",
            "ecosystem": "npm"
          },
          {
            "name": "typed-rest-client",
            "direct": false,
            "version": "1.8.6",
            "ecosystem": "npm"
          },
          {
            "name": "typescript",
            "direct": false,
            "version": "5.7.3",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "1.0.6",
            "ecosystem": "npm"
          },
          {
            "name": "uc.micro",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "uglify-js",
            "direct": false,
            "version": "3.15.5",
            "ecosystem": "npm"
          },
          {
            "name": "ukkonen",
            "direct": false,
            "version": "1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.3",
            "ecosystem": "npm"
          },
          {
            "name": "underscore",
            "direct": false,
            "version": "1.13.7",
            "ecosystem": "npm"
          },
          {
            "name": "undici",
            "direct": false,
            "version": "6.21.2",
            "ecosystem": "npm"
          },
          {
            "name": "unexpected",
            "direct": false,
            "version": "13.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "unexpected-bluebird",
            "direct": false,
            "version": "2.9.34-longstack2",
            "ecosystem": "npm"
          },
          {
            "name": "unzipper",
            "direct": false,
            "version": "0.10.11",
            "ecosystem": "npm"
          },
          {
            "name": "uri-js",
            "direct": false,
            "version": "4.4.1",
            "ecosystem": "npm"
          },
          {
            "name": "url-join",
            "direct": false,
            "version": "4.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "util-deprecate",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "uuid",
            "direct": false,
            "version": "8.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache",
            "direct": false,
            "version": "2.3.0",
            "ecosystem": "npm"
          },
          {
            "name": "v8-compile-cache-lib",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "vsce",
            "direct": false,
            "version": "2.7.0",
            "ecosystem": "npm"
          },
          {
            "name": "wcwidth",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "web-tree-sitter",
            "direct": false,
            "version": "0.20.8",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-encoding",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "whatwg-mimetype",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "which",
            "direct": false,
            "version": "2.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "wide-align",
            "direct": false,
            "version": "1.1.5",
            "ecosystem": "npm"
          },
          {
            "name": "window-size",
            "direct": false,
            "version": "0.1.4",
            "ecosystem": "npm"
          },
          {
            "name": "word-wrap",
            "direct": false,
            "version": "1.2.3",
            "ecosystem": "npm"
          },
          {
            "name": "wordwrap",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "workerpool",
            "direct": false,
            "version": "6.2.1",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "2.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi",
            "direct": false,
            "version": "8.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrap-ansi-cjs",
            "direct": false,
            "version": "7.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "wrappy",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "npm"
          },
          {
            "name": "xml2js",
            "direct": false,
            "version": "0.4.23",
            "ecosystem": "npm"
          },
          {
            "name": "xml2js",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "npm"
          },
          {
            "name": "xmlbuilder",
            "direct": false,
            "version": "11.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "3.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "y18n",
            "direct": false,
            "version": "5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "yallist",
            "direct": false,
            "version": "4.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yaml",
            "direct": false,
            "version": "2.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "16.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs",
            "direct": false,
            "version": "3.32.0",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.4",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-parser",
            "direct": false,
            "version": "20.2.9",
            "ecosystem": "npm"
          },
          {
            "name": "yargs-unparser",
            "direct": false,
            "version": "2.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "yauzl",
            "direct": false,
            "version": "2.10.0",
            "ecosystem": "npm"
          },
          {
            "name": "yazl",
            "direct": false,
            "version": "2.5.1",
            "ecosystem": "npm"
          },
          {
            "name": "yn",
            "direct": false,
            "version": "3.1.1",
            "ecosystem": "npm"
          },
          {
            "name": "yocto-queue",
            "direct": false,
            "version": "0.1.0",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 577,
        "direct_count": 0,
        "indirect_count": 577
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 17,
        "merged_prs": 58,
        "open_issues": 67,
        "closed_ratio": 0.769,
        "closed_issues": 223,
        "closed_unmerged_prs": 28
      },
      "bus_factor": 1,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "71",
          "commits": 394,
          "avatar_url": "https://avatars.githubusercontent.com/u/7189784?v=4"
        },
        {
          "type": "User",
          "login": "yuchenshi",
          "commits": 64,
          "avatar_url": "https://avatars.githubusercontent.com/u/22875286?v=4"
        },
        {
          "type": "User",
          "login": "jgdhs27",
          "commits": 7,
          "avatar_url": "https://avatars.githubusercontent.com/u/44336657?v=4"
        },
        {
          "type": "User",
          "login": "JJK96",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/11193274?v=4"
        },
        {
          "type": "User",
          "login": "Huliiiiii",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/134658521?v=4"
        },
        {
          "type": "User",
          "login": "gouegd",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/1549877?v=4"
        },
        {
          "type": "User",
          "login": "Strackeror",
          "commits": 2,
          "avatar_url": "https://avatars.githubusercontent.com/u/13065324?v=4"
        },
        {
          "type": "User",
          "login": "morth1",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/28899928?v=4"
        },
        {
          "type": "User",
          "login": "jariji",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/96840304?v=4"
        },
        {
          "type": "User",
          "login": "tshort",
          "commits": 1,
          "avatar_url": "https://avatars.githubusercontent.com/u/636420?v=4"
        }
      ],
      "contributors_sampled": 21,
      "top_contributor_share": 0.809
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "main.yml"
      ],
      "has_docs_dir": false,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "yarn.lock"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 9,
            "reason": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 5,
            "reason": "Found 16/30 approved changesets -- score normalized to 5",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 4 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 0,
            "reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 8,
            "reason": "dependency not pinned by hash detected -- score normalized to 8",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 0,
            "reason": "security policy file not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": null,
            "reason": "no releases found",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "69 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "ce6ce98586c1a2e717ecef00a9bb88b96a603be9",
        "ran_at": "2026-07-26T07:55:17Z",
        "aggregate_score": 4.7,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": false,
      "has_dependabot_config": false
    },
    "contribution_flow": {
      "collected": true,
      "ci_last_run_at": "2026-03-15T08:58:34Z",
      "oldest_open_prs": [
        {
          "number": 267,
          "created_at": "2022-07-21T04:16:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 291,
          "created_at": "2023-01-08T14:01:20Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 294,
          "created_at": "2023-03-15T01:17:13Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 308,
          "created_at": "2023-07-27T02:33:58Z",
          "last_comment_at": "2023-09-27T20:22:31Z",
          "last_comment_author": "haberdashPI"
        },
        {
          "number": 327,
          "created_at": "2024-02-07T18:40:38Z",
          "last_comment_at": "2024-02-11T14:06:07Z",
          "last_comment_author": "71"
        },
        {
          "number": 359,
          "created_at": "2025-01-29T20:08:17Z",
          "last_comment_at": "2025-06-06T20:41:51Z",
          "last_comment_author": "tylerlaprade"
        },
        {
          "number": 368,
          "created_at": "2025-04-30T16:26:25Z",
          "last_comment_at": "2025-05-02T16:59:41Z",
          "last_comment_author": "CosineP"
        },
        {
          "number": 375,
          "created_at": "2025-05-21T17:00:55Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 389,
          "created_at": "2025-08-17T04:47:09Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 391,
          "created_at": "2025-09-01T09:02:43Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 403,
          "created_at": "2025-09-11T09:10:00Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 404,
          "created_at": "2025-09-11T09:28:08Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 410,
          "created_at": "2025-09-27T16:16:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 420,
          "created_at": "2026-01-18T13:20:15Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 421,
          "created_at": "2026-01-18T13:20:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 424,
          "created_at": "2026-04-08T14:44:11Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 426,
          "created_at": "2026-04-25T23:09:19Z",
          "last_comment_at": null,
          "last_comment_author": null
        }
      ],
      "last_merged_pr_at": "2026-03-15T08:56:47Z",
      "ci_last_conclusion": "FAILURE",
      "oldest_open_issues": [
        {
          "number": 18,
          "created_at": "2019-11-19T12:41:44Z",
          "last_comment_at": "2024-06-06T19:27:08Z",
          "last_comment_author": "max-sixty"
        },
        {
          "number": 33,
          "created_at": "2019-11-27T09:29:15Z",
          "last_comment_at": "2019-12-20T22:54:57Z",
          "last_comment_author": "71"
        },
        {
          "number": 37,
          "created_at": "2019-11-28T09:41:57Z",
          "last_comment_at": "2021-05-08T23:39:52Z",
          "last_comment_author": "71"
        },
        {
          "number": 77,
          "created_at": "2020-03-28T19:48:21Z",
          "last_comment_at": "2020-06-17T20:27:53Z",
          "last_comment_author": "nikolads"
        },
        {
          "number": 106,
          "created_at": "2020-06-24T22:51:16Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 116,
          "created_at": "2020-08-02T16:15:29Z",
          "last_comment_at": "2020-08-02T17:59:59Z",
          "last_comment_author": "71"
        },
        {
          "number": 118,
          "created_at": "2020-09-30T15:08:57Z",
          "last_comment_at": "2020-10-02T09:38:24Z",
          "last_comment_author": "Pantoofle"
        },
        {
          "number": 120,
          "created_at": "2020-10-14T13:58:32Z",
          "last_comment_at": "2020-10-14T16:24:45Z",
          "last_comment_author": "benhansen-io"
        },
        {
          "number": 121,
          "created_at": "2020-11-18T09:40:02Z",
          "last_comment_at": "2020-11-19T10:21:00Z",
          "last_comment_author": "territory-sschneider"
        },
        {
          "number": 130,
          "created_at": "2020-12-23T20:59:46Z",
          "last_comment_at": "2021-06-02T15:14:05Z",
          "last_comment_author": "BeastyBlacksmith"
        },
        {
          "number": 174,
          "created_at": "2021-06-10T20:53:58Z",
          "last_comment_at": "2021-10-03T10:36:56Z",
          "last_comment_author": "MrOcto1"
        },
        {
          "number": 175,
          "created_at": "2021-06-18T04:14:10Z",
          "last_comment_at": "2024-03-03T05:12:07Z",
          "last_comment_author": "wmstack"
        },
        {
          "number": 176,
          "created_at": "2021-06-18T04:27:46Z",
          "last_comment_at": "2024-03-03T05:13:42Z",
          "last_comment_author": "wmstack"
        },
        {
          "number": 182,
          "created_at": "2021-07-12T04:06:10Z",
          "last_comment_at": "2021-07-15T20:19:51Z",
          "last_comment_author": "71"
        },
        {
          "number": 192,
          "created_at": "2021-08-22T02:10:07Z",
          "last_comment_at": null,
          "last_comment_author": null
        },
        {
          "number": 199,
          "created_at": "2021-09-14T13:40:12Z",
          "last_comment_at": "2022-10-06T23:13:06Z",
          "last_comment_author": "spellman"
        },
        {
          "number": 200,
          "created_at": "2021-09-14T14:27:20Z",
          "last_comment_at": "2022-03-05T01:30:14Z",
          "last_comment_author": "losnappas"
        },
        {
          "number": 202,
          "created_at": "2021-09-25T14:28:44Z",
          "last_comment_at": "2021-09-25T19:49:02Z",
          "last_comment_author": "71"
        },
        {
          "number": 207,
          "created_at": "2021-10-24T22:49:13Z",
          "last_comment_at": "2021-10-25T19:11:44Z",
          "last_comment_author": "71"
        },
        {
          "number": 209,
          "created_at": "2021-11-07T19:12:10Z",
          "last_comment_at": "2021-11-07T20:45:33Z",
          "last_comment_author": "71"
        }
      ]
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/71/dance",
    "host": "github.com",
    "name": "dance",
    "owner": "71"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "moderate",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 60,
      "inputs": {
        "security": 58,
        "vitality": 43,
        "community": 67,
        "governance": 55,
        "engineering": 79
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "at_risk",
        "name": "Vitality",
        "value": 43,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "at_risk",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 31,
            "inputs": {
              "commits_last_year": 27,
              "human_commit_share": 1,
              "days_since_last_push": 132,
              "active_weeks_last_year": 12
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 132 days ago",
                "points": 9.9,
                "status": "partial",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 132
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "12/52 weeks with commits",
                "points": 8.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 12
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "27 commits in the last year",
                "points": 13,
                "status": "partial",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 27
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "openssf_scorecard_signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 62,
            "inputs": {
              "releases_count": 35,
              "latest_release_tag": "v0.5.16",
              "releases_from_tags": true,
              "days_since_latest_release": 155,
              "mean_days_between_releases": 177.1
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "35 version tags (no GitHub releases)",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "version_tags_no_releases",
                    "params": {
                      "count": 35
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 155 days ago",
                "points": 27,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 155
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~177.1 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 177.1
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 132,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 132 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 132
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "moderate",
        "name": "Community & Adoption",
        "value": 67,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "forks": 82,
              "stars": 523,
              "watchers": 7,
              "growth_state": "unverified",
              "growth_factor_pct": 100,
              "growth_unverified_reason": "no_history"
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "523 stars",
                "points": 44.1,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 523
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "82 forks",
                "points": 15.9,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 82
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "7 watchers",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "good",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 70,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": false,
              "has_pull_request_template": false
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (ISC)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "ISC"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "moderate",
        "name": "Sustainability & Governance",
        "value": 55,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "at_risk",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 37,
            "inputs": {
              "bus_factor": 1,
              "contributors_sampled": 21,
              "top_contributor_share": 0.809
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "1 contributor(s) cover half of all commits",
                "points": 9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 81% of commits",
                "points": 4.3,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 81
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "21 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 21
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "moderate",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 69,
            "inputs": {
              "merged_prs": 58,
              "open_issues": 67,
              "closed_issues": 223,
              "issue_closed_ratio": 0.769,
              "closed_unmerged_prs": 28
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "77% of issues closed",
                "points": 36,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 77
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "58/86 decided PRs merged",
                "points": 25.8,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 58,
                      "decided": 86
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "Found 16/30 approved changesets -- score normalized to 5",
                "points": 7.5,
                "status": "partial",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "moderate",
            "name": "Ownership & stewardship",
            "note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "verified_domain"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 63,
            "inputs": {
              "followers": 140,
              "owner_type": "User",
              "is_verified": null,
              "owner_login": "71",
              "public_repos": 146,
              "account_age_days": 4494
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "personal (user) account",
                "points": 10,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_personal",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": "not applicable to user accounts",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "not_applicable_to_user_accounts",
                    "params": {}
                  }
                ],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "140 followers of 71",
                "points": 15.5,
                "status": "partial",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 140,
                      "login": "71"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "146 public repos, account ~12 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 146
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 12
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "good",
        "name": "Engineering Quality",
        "value": 79,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 82,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "1 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 1
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 18,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "good",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "topics": [
                "vscode",
                "vscode-extension",
                "kakoune",
                "keybindings"
              ],
              "has_wiki": true,
              "homepage": "https://marketplace.visualstudio.com/items?itemName=gregoire.dance",
              "has_readme": true,
              "has_docs_dir": false,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://marketplace.visualstudio.com/items?itemName=gregoire.dance",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "4 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 4
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 58,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "at_risk",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging",
                    "signed_releases"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 47,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 15,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 3,
              "scorecard_aggregate": 4.7
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "26 out of 27 merged PRs checked by a CI test -- score normalized to 9",
                "points": 2.2,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "Found 16/30 approved changesets -- score normalized to 5",
                "points": 3.8,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 4 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 8",
                "points": 4,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file not detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "no releases found",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "69 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "excellent",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 577 resolved dependencies against OSV. This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories",
                    "no_advisories_left_outstanding"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 577
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "source": "osv",
              "advisories": 96,
              "affected_packages": 46,
              "assessed_packages": 577,
              "unassessed_packages": 0,
              "affected_by_severity": "critical 2, high 30, moderate 13, low 1",
              "direct_affected_packages": 0
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "no direct dependency carries a known advisory",
                "points": 35,
                "status": "met",
                "details": [
                  {
                    "code": "no_direct_advisories",
                    "params": {}
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "no advisory carries a publication date",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_no_publication_date",
                    "params": {}
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 577,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 9
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 62,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.91,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "91 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 91,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "moderate",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "has_nix": true,
              "has_tests": true,
              "lockfiles": [
                "yarn.lock"
              ],
              "has_dockerfile": false,
              "typed_language": true,
              "bootstrap_files": [],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "tsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "tsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "tsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Nix, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Nix, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 8",
                "points": 8,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "TypeScript",
              "largest_source_bytes": 61315,
              "source_files_sampled": 110,
              "oversized_source_files": 1
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "TypeScript (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "TypeScript"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "1/110 source files over 60KB",
                "points": 54.5,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 110,
                      "oversized": 1
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
    "npm package 'dance' points at a different repository (https://github.com/wbyoung/dance); excluded from ecosystem scoring",
    "Could not fetch npm package 'dance-helix' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-26T07:55:39.024261Z",
  "schema_version": "0.27.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/7/71/dance.svg",
  "full_name": "71/dance",
  "license_state": "standard",
  "license_spdx": "ISC"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.27.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистикаnpm.