JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 6101,
"has_wiki": false,
"homepage": "https://github.com/lgldsilva/jackui",
"languages": {
"Go": 3895625,
"CSS": 6958,
"HTML": 1940,
"Shell": 60430,
"Makefile": 19167,
"Dockerfile": 2097,
"JavaScript": 9443,
"TypeScript": 1987285
},
"pushed_at": "2026-07-29T15:41:15Z",
"created_at": "2026-07-20T01:46:50Z",
"owner_type": "User",
"updated_at": "2026-07-28T01:02:12Z",
"description": "Torrent streaming server with hardware transcode and web UI",
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "main",
"license_spdx_raw": "MIT",
"primary_language": "Go",
"significant_languages": [
"Go",
"TypeScript"
]
},
"owner": {
"blog": "http://lgldsilva.com.br/",
"name": "Luiz Guilherme",
"type": "User",
"login": "lgldsilva",
"company": null,
"location": "Curitiba/PR",
"followers": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/9433232?v=4",
"created_at": "2014-10-28T14:03:30Z",
"is_verified": null,
"public_repos": 37,
"account_age_days": 4292
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "vv0.100.0",
"kind": "other",
"published_at": "2026-07-22T23:58:02Z"
},
{
"tag": "v0.99.0",
"kind": "minor",
"published_at": "2026-07-20T14:15:26Z"
}
],
"recent_commits": [
{
"oid": "46cebe106ae4f43f532d80bb66c3b917c329a8af",
"body": "…ct-safe-65c8688dc8\n\nchore(deps): bump github.com/prometheus/client_golang from 1.24.0 to 1.24.1 in the go-indirect-safe group",
"is_bot": false,
"headline": "Merge pull request #41 from lgldsilva/dependabot/go_modules/go-indire…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-28T01:02:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff984c938eef081048d3672dcd48209af7dc72df",
"body": "…-development-31aa105144\n\nchore(deps-dev): bump the web-development group in /web with 2 updates",
"is_bot": false,
"headline": "Merge pull request #44 from lgldsilva/dependabot/npm_and_yarn/web/web…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-28T01:02:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b07fc2477dba4e156dff455d25ef65c54355d288",
"body": "…n-desktop-ec0a18f1ad\n\nchore(deps-dev): bump concurrently from 10.0.3 to 10.0.4 in the electron-desktop group",
"is_bot": false,
"headline": "Merge pull request #43 from lgldsilva/dependabot/npm_and_yarn/electro…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-28T01:02:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f80e4c50358d073558ac597f5b8197882947cc79",
"body": "Bumps the web-development group in /web with 2 updates: [eslint](https://github.com/eslint/eslint) and [postcss](https://github.com/postcss/postcss).\n\n\nUpdates `eslint` from 10.7.0 to 10.8.0\n- [Release notes](https://github.com/eslint/eslint/releases)\n- [Commits](https://github.com/eslint/eslint/com\n[…]\ndependency-version: 8.5.23\n dependency-type: direct:development\n update-type: version-update:semver-patch\n dependency-group: web-development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump the web-development group in /web with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-27T03:45:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "6eda3f063c57ce426a557fff96aae74f3457beed",
"body": "Bumps the electron-desktop group with 1 update: [concurrently](https://github.com/open-cli-tools/concurrently).\n\n\nUpdates `concurrently` from 10.0.3 to 10.0.4\n- [Release notes](https://github.com/open-cli-tools/concurrently/releases)\n- [Commits](https://github.com/open-cli-tools/concurrently/compare\n[…]\nependency-version: 10.0.4\n dependency-type: direct:development\n update-type: version-update:semver-patch\n dependency-group: electron-desktop\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump concurrently in the electron-desktop group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-27T03:45:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "001a7f3e96049ae080cead81034ad71a2743a6a3",
"body": "Bumps the go-indirect-safe group with 1 update: [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang).\n\n\nUpdates `github.com/prometheus/client_golang` from 1.24.0 to 1.24.1\n- [Release notes](https://github.com/prometheus/client_golang/releases)\n- [Changelog](https://gith\n[…]\ndependency-version: 1.24.1\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: go-indirect-safe\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/prometheus/client_golang",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-27T03:44:58Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c663dffa15544006773bf49ce9a3a80aead52401",
"body": "…(#39)\n\n* Potential fix for code scanning alert no. 4: Email content injection\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>\n\n* Refactor baseURL function to improve URL resolution\n\nEnhance baseURL function to use Origin header and re\n[…]\nmail link base URL\n\n* test(handlers): configure base URL for reset link test\n\n---------\n\nCo-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>",
"is_bot": false,
"headline": "Potential fix for code scanning alert no. 4: Email content injection …",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-24T12:52:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "94ce4696a98c3acf8379ab7528af398a2022a6c4",
"body": "fix(deps): override vulnerable shell-quote",
"is_bot": false,
"headline": "Merge pull request #40 from lgldsilva/fix/dependabot-28-shell-quote",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-24T12:45:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "48afc9c745e69af61e2d90b04c592fc22c1501d0",
"body": null,
"is_bot": false,
"headline": "fix(deps): override vulnerable shell-quote",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-24T12:36:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e477adfbda0c60e99c5c274a8862e01295136abe",
"body": "fix(localcache): wait for worker on Close (CI TempDir flake)",
"is_bot": false,
"headline": "Merge pull request #38 from lgldsilva/fix/localcache-close-tempdir",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-23T01:33:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab86de169dd37abc6a5087ca0e45e84159f8437d",
"body": "Close only signaled stop and returned immediately, so CI could tear down\nt.TempDir while the copy worker was still writing (directory not empty).\nAlso bound SMTP dial to 10s so TestSend_DialFailure cannot hang CI for\nminutes on blackholed TEST-NET addresses.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(localcache): wait for worker on Close to stop TempDir races",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-23T01:28:58Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d398c5681ee71c95bf875e326b9eaebaec4623f9",
"body": "fix(security): SMTP header injection + HistoryPage CodeQL cleanup",
"is_bot": false,
"headline": "Merge pull request #37 from lgldsilva/fix/code-scanning-triage",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-23T01:15:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9eb4c31f76d3405fcfc0576d001b5a235bfecdf5",
"body": "Validate recipients with mail.ParseAddress and reject CR/LF in header\nfields to close CodeQL go/email-injection. Drop redundant !!selected\ncheck inside an already-gated HistoryPage branch.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(security): block SMTP header injection and tidy HistoryPage",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-23T01:08:20Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bf2035604762c1856f62bbaa6d310bb99ef7c564",
"body": "…-development-9bdb19155c\n\nchore(deps-dev): bump @types/node from 22.19.19 to 22.20.1 in /web in the web-development group",
"is_bot": false,
"headline": "Merge pull request #36 from lgldsilva/dependabot/npm_and_yarn/web/web…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-23T00:50:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "46c71ed4416a64649299658af47458532f3eecf3",
"body": "Bumps the web-development group in /web with 1 update: [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node).\n\n\nUpdates `@types/node` from 22.19.19 to 22.20.1\n- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)\n- [Commits](https://github.co\n[…]\nependency-version: 22.20.1\n dependency-type: direct:development\n update-type: version-update:semver-minor\n dependency-group: web-development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump @types/node in /web in the web-development group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-23T00:00:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5c498ea4bb8e55994482293a52d5f73a4138e5bd",
"body": "…ode-jestdom\n\nchore(ci): ignore @types/node and Testing Library majors",
"is_bot": false,
"headline": "Merge pull request #35 from lgldsilva/chore/dependabot-ignore-types-n…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:59:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d6e9b04bafa1888644d481be71766163b0c804a",
"body": "Keeps web types on the Node 24 LTS line and blocks jest-dom/react/user-event\nmajors that need intentional test-setup PRs (#32/#33 closed earlier).",
"is_bot": false,
"headline": "chore(ci): ignore @types/node and Testing Library majors in Dependabot",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:53:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a9542a576a416d3d3b2e58bc049b3dd931be8518",
"body": "…-production-dd84f991c6\n\nchore(deps): bump lucide-react from 0.441.0 to 0.577.0 in /web in the web-production group",
"is_bot": false,
"headline": "Merge pull request #31 from lgldsilva/dependabot/npm_and_yarn/web/web…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:46:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "03fcfca2506d0dde205c954786d9817291e13e7b",
"body": "…ns-a0f12f8676\n\nchore(deps): bump actions/checkout from 4.3.1 to 4.4.0 in the actions group",
"is_bot": false,
"headline": "Merge pull request #34 from lgldsilva/dependabot/github_actions/actio…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:42:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9062ee2548ad5c9ff43cafb33a9b11b2e5e6ce69",
"body": "…d84f991c6",
"is_bot": false,
"headline": "Merge branch 'main' into dependabot/npm_and_yarn/web/web-production-d…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:40:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f3b4a20abd8e0ae764b419a9952d9a94e871b3be",
"body": "chore(release): bump package versions to 0.100.0",
"is_bot": false,
"headline": "Merge pull request #30 from lgldsilva/chore/release-v0.100.0",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:38:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8902d859560e2aa0ac2b4ceaa75c65a9bbcf223",
"body": "Bumps the actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).\n\n\nUpdates `actions/checkout` from 4.3.1 to 4.4.0\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https\n[…]\nheckout\n dependency-version: 4.4.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: actions\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/checkout in the actions group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T23:36:54Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "d7736de7c5227f04f063868080dc2ef6c4aa849d",
"body": "Bumps the web-production group in /web with 1 update: [lucide-react](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-react).\n\n\nUpdates `lucide-react` from 0.441.0 to 0.577.0\n- [Release notes](https://github.com/lucide-icons/lucide/releases)\n- [Commits](https://github.com/lucide-icon\n[…]\n dependency-version: 0.577.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n dependency-group: web-production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump lucide-react in /web in the web-production group",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T23:33:12Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a2077184cf71da593003eadbeacbab96c2feb803",
"body": null,
"is_bot": false,
"headline": "chore(release): bump package versions to 0.100.0",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:32:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dae19cf5b0b71f18326a2463221eef014f77e965",
"body": "chore(ci): ignore more Dependabot majors that slipped",
"is_bot": false,
"headline": "Merge pull request #29 from lgldsilva/chore/dependabot-ignore-more",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:32:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cc199620a425c6043a6823ba793f96aeac9a0f75",
"body": "- web: lucide-react, tailwindcss, @vitejs/plugin-react, autoprefixer, postcss majors\n- github-actions: ignore all semver-major (groups alone still open individuals)\n- docker: ignore all nvidia/cuda bumps (not only major)",
"is_bot": false,
"headline": "chore(ci): ignore more Dependabot majors that slipped through",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:26:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11fb0360da6118b2d2eaf3ef2a102ef4d5c9ec9f",
"body": "…-development-9550f7ebf0\n\nchore(deps-dev): bump the web-development group in /web with 5 updates",
"is_bot": false,
"headline": "Merge pull request #23 from lgldsilva/dependabot/npm_and_yarn/web/web…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:25:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99fd8a66b117c4eafff9fe37f1f409f9f0c89118",
"body": "…-production-05e214467e\n\nchore(deps): bump the web-production group in /web with 2 updates",
"is_bot": false,
"headline": "Merge pull request #21 from lgldsilva/dependabot/npm_and_yarn/web/web…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:25:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84bdc5d4fdda3f9fb3599f42d861caa83fce0c8b",
"body": "…m/nwaples/rardecode/v2-2.2.5\n\nchore(deps): bump github.com/nwaples/rardecode/v2 from 2.2.3 to 2.2.5",
"is_bot": false,
"headline": "Merge pull request #22 from lgldsilva/dependabot/go_modules/github.co…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T23:25:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf14b7da5a30574f50713579115cb85ca061ed52",
"body": "Bumps the web-development group in /web with 5 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [autoprefixer](https://github.com/postcss/autoprefixer) | `10.5.0` | `10.5.4` |\n| [eslint](https://github.com/eslint/eslint) | `10.6.0` | `10.7.0` |\n| [eslint-plugin-sonarjs](https://github.com/Son\n[…]\ndependency-version: 8.65.0\n dependency-type: direct:development\n update-type: version-update:semver-minor\n dependency-group: web-development\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump the web-development group in /web with 5 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:59:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "43ed89cfc6fdb75ab788a26386bace9c976cce82",
"body": "Bumps [github.com/nwaples/rardecode/v2](https://github.com/nwaples/rardecode) from 2.2.3 to 2.2.5.\n- [Commits](https://github.com/nwaples/rardecode/compare/v2.2.3...v2.2.5)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/nwaples/rardecode/v2\n dependency-version: 2.2.5\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/nwaples/rardecode/v2 from 2.2.3 to 2.2.5",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:58:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e37e567adf908c0c7d5edfd3e8a5ed06bc41a179",
"body": "Bumps the web-production group in /web with 2 updates: [i18next](https://github.com/i18next/i18next) and [react-i18next](https://github.com/i18next/react-i18next).\n\n\nUpdates `i18next` from 26.3.1 to 26.3.6\n- [Release notes](https://github.com/i18next/i18next/releases)\n- [Changelog](https://github.co\n[…]\n dependency-version: 17.0.11\n dependency-type: direct:production\n update-type: version-update:semver-patch\n dependency-group: web-production\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump the web-production group in /web with 2 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T22:58:44Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "615086dfbf6e051127d272c8e3ac16f274887849",
"body": "chore(ci): tighten Dependabot policy (patch/minor only)",
"is_bot": false,
"headline": "Merge pull request #19 from lgldsilva/chore/dependabot-policy",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:57:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4102006d463624682ce8006c4e229a61c99f693",
"body": "- npm web/root groups only minor+patch\n- ignore React/TS/Vite/ESLint/Electron majors (manual migration PRs)\n- gomod: fewer open PRs + groups for golang.org/x and common libs\n- github-actions + docker: monthly, low PR limit\n- ignore CUDA/Node/Alpine majors (GPU/LTS/base bake)\n\nKeeps Dependabot on mergeable noise; majors stay intentional.",
"is_bot": false,
"headline": "chore(ci): tighten Dependabot to patch/minor + ignore toolchain majors",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:51:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae06d7b79e378d18bf7fc3745ec377e14e58dbc9",
"body": "…n-desktop-f7e14eadbc\n\nchore(deps-dev): bump the electron-desktop group with 3 updates",
"is_bot": false,
"headline": "Merge pull request #17 from lgldsilva/dependabot/npm_and_yarn/electro…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:15:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4657eb743d21c3eac2075289b15fd1a77528c577",
"body": "…14eadbc",
"is_bot": false,
"headline": "Merge branch 'main' into dependabot/npm_and_yarn/electron-desktop-f7e…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:08:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4eb7764eebc5110fa3b87fa9c13f97150bafde50",
"body": "…g/x/crypto-0.54.0\n\nchore(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0",
"is_bot": false,
"headline": "Merge pull request #15 from lgldsilva/dependabot/go_modules/golang.or…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:01:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5c472b24aaf46e170c097f603e1d846b0dc16e23",
"body": "…54.0",
"is_bot": false,
"headline": "Merge branch 'main' into dependabot/go_modules/golang.org/x/crypto-0.…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:01:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "065c9512a4880c1fec04e6fdc9c7fb348baa72cf",
"body": "…g/x/text-0.40.0\n\nchore(deps): bump golang.org/x/text from 0.38.0 to 0.40.0",
"is_bot": false,
"headline": "Merge pull request #10 from lgldsilva/dependabot/go_modules/golang.or…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T22:00:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "40d6a431fe74315646e0c95de8d3665058dfca3b",
"body": "Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.53.0 to 0.54.0.\n- [Commits](https://github.com/golang/crypto/compare/v0.53.0...v0.54.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/crypto\n dependency-version: 0.54.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/crypto from 0.53.0 to 0.54.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T21:53:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1664de7b15fe6f310b9fe562b07f41512cab0804",
"body": "Bumps [golang.org/x/text](https://github.com/golang/text) from 0.38.0 to 0.40.0.\n- [Release notes](https://github.com/golang/text/releases)\n- [Commits](https://github.com/golang/text/compare/v0.38.0...v0.40.0)\n\n---\nupdated-dependencies:\n- dependency-name: golang.org/x/text\n dependency-version: 0.40.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump golang.org/x/text from 0.38.0 to 0.40.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T21:53:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9d2abf2244565679b7595a3a67d0f468e94a9012",
"body": "…m/prometheus/client_golang-1.24.0\n\nchore(deps): bump github.com/prometheus/client_golang from 1.23.2 to 1.24.0",
"is_bot": false,
"headline": "Merge pull request #13 from lgldsilva/dependabot/go_modules/github.co…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:51:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4d360ffd8dcf0c5d2116ea8acb68d23b2c70ee7",
"body": "…14eadbc",
"is_bot": false,
"headline": "Merge branch 'main' into dependabot/npm_and_yarn/electron-desktop-f7e…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:50:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7b04ee7c403ea99e969b1edabdf79d4ed6b2fc4",
"body": "Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.23.2 to 1.24.0.\n- [Release notes](https://github.com/prometheus/client_golang/releases)\n- [Changelog](https://github.com/prometheus/client_golang/blob/v1.24.0/CHANGELOG.md)\n- [Commits](https://github.com/\n[…]\nithub.com/prometheus/client_golang\n dependency-version: 1.24.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/prometheus/client_golang",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T21:44:37Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "678ff0ef7b465165ad357b2cb05c6c6a86f1bfd7",
"body": "…rg/sqlite-1.54.0\n\nchore(deps): bump modernc.org/sqlite from 1.51.0 to 1.54.0",
"is_bot": false,
"headline": "Merge pull request #12 from lgldsilva/dependabot/go_modules/modernc.o…",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:40:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d3a4584acd391f31f3ca5ab219947ffed22bbec",
"body": "Bumps the electron-desktop group with 3 updates: [electron](https://github.com/electron/electron), [concurrently](https://github.com/open-cli-tools/concurrently) and [typescript](https://github.com/microsoft/TypeScript).\n\n\nUpdates `electron` from 39.8.10 to 43.2.0\n- [Release notes](https://github.co\n[…]\ndependency-version: 7.0.2\n dependency-type: direct:development\n update-type: version-update:semver-major\n dependency-group: electron-desktop\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps-dev): bump the electron-desktop group with 3 updates",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T21:32:39Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "c2ecfef61a64ad3b68e625333d6de6b645bef26b",
"body": "Bumps [modernc.org/sqlite](https://gitlab.com/cznic/sqlite) from 1.51.0 to 1.54.0.\n- [Changelog](https://gitlab.com/cznic/sqlite/blob/master/CHANGELOG.md)\n- [Commits](https://gitlab.com/cznic/sqlite/compare/v1.51.0...v1.54.0)\n\n---\nupdated-dependencies:\n- dependency-name: modernc.org/sqlite\n dependency-version: 1.54.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump modernc.org/sqlite from 1.51.0 to 1.54.0",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-07-22T21:32:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "589f5d891733368505c427a577ebc07b850ad31e",
"body": "chore: make GitHub the CI/CD source of truth",
"is_bot": false,
"headline": "Merge pull request #2 from lgldsilva/chore/github-source-of-truth",
"author_name": "Luiz Guilherme",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:29:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "872a3419bb3589dbd74f845930ac6c8a39fd5173",
"body": "- Delete 34 stale remote branches (only main remains)\n- Archive .gitea workflows under docs/archive/gitea-workflows/\n- CI runs on PR + push to main (not PR-only)\n- Release: Trivy CRITICAL gate before GHCR push; fix release needs:semver\n- Add Dependabot (npm web/root, gomod, actions, docker)\n- Rewrit\n[…]\n for GitHub Actions + GHCR\n- Point README/CLAUDE/AGENTS/CHANGELOG at GitHub\n- Align package versions to v0.98.3; Go badge 1.26+\n- branch-hygiene lists remote merged branches; changelog/semver comments",
"is_bot": false,
"headline": "chore: make GitHub the CI/CD source of truth",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:23:25Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ed0a7ea1367d7ce97fa3928a36d65f849abdcd08",
"body": "Recovered from pre-migration history:\n- ci.yml: backend (Go test+lint) + frontend (vitest) on PRs\n- codeql.yml: security scanning on push/PR/weekly\n- release.yml: build+release on version tags\n- Issue/PR templates and codecov config",
"is_bot": false,
"headline": "ci: restore GitHub Actions workflows, templates and codecov config",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:09:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf094682719ddceb16e6e0bd795017b6eded2017",
"body": null,
"is_bot": false,
"headline": "Merge branch 'fix/hls-per-playback-isolation'",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:06:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5244e1a2f925ed015d83d064e3ef77ec0a1db508",
"body": "…ilder→26.15\n\nResolves all 26 Dependabot alerts:\n- axios 1.16→1.18: proxy inheritance, form serializer, maxBodyLength,\n NO_PROXY bypass, prototype pollution (5 alerts)\n- vitest 2.1→3.2: arbitrary file read/execute via UI server (1 critical)\n- electron 35→39.8: use-after-free, command-line injection\n[…]\nlder 25→26.15: tar hardlink/symlink path traversal via\n node-gyp chain (9 alerts, 1 critical)\n\nAlso track package-lock.json for reproducible builds + Dependabot.\nAll 627 web tests pass on vitest 3.x.",
"is_bot": false,
"headline": "fix(deps): upgrade axios→1.18, vitest→3.2, electron→39.8, electron-bu…",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-22T21:06:19Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "78ab4ab8f69fac8842ab8f3d100afb0cf14df310",
"body": "… from fix/hls-quick-seek into main\n\nReviewed-on: https://gitea.raspberrypi.lan/lgldsilva/jackui/pulls/557",
"is_bot": false,
"headline": "Merge pull request 'fix(hls): allow quick seeks after startup' (#557)…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T13:38:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad2651e8291aec328807d763a9fc8c853f9dd661",
"body": null,
"is_bot": false,
"headline": "fix(hls): allow quick seeks after startup",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T12:10:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "92ffc44ea6ae10834778dcdcface542d9dee7530",
"body": "…fix/hls-per-playback-isolation into main\n\nReviewed-on: https://gitea.raspberrypi.lan/lgldsilva/jackui/pulls/556",
"is_bot": false,
"headline": "Merge pull request 'fix(hls): isolate playback sessions' (#556) from …",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T11:33:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a342e9ac1c742a423e5ce8e5a2f894681f6fe2f",
"body": null,
"is_bot": false,
"headline": "fix(sonar): address HLS session findings",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T11:22:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "517f9f6c0b6d1380875478aa445eb0b718af7dec",
"body": null,
"is_bot": false,
"headline": "docs(agents): document remote ARM CI",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T11:07:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4468565c6cfab4da544e121d195b9a07f3cd2d7e",
"body": null,
"is_bot": false,
"headline": "fix(hls): isolate playback sessions",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T10:58:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "535b4ab010b317a9800bbd3129844055a908407d",
"body": null,
"is_bot": false,
"headline": "fix(player): restore hidden local media playback (#555)",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T07:38:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ae1f1a817f1082943458c2c79166881d5b4387dd",
"body": null,
"is_bot": false,
"headline": "fix(player): restore hidden local media playback",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T06:02:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "807339fd5b0c595ee04d61fe2915f5f53b97a631",
"body": "… no-op store Close' (#553) from fix/audit-550-remaining into main",
"is_bot": false,
"headline": "Merge pull request 'fix(audit-550): verify context propagation + drop…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T01:19:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "064134fa34f57c2c7fb90c104e7557da268eef74",
"body": null,
"is_bot": false,
"headline": "style: gofmt after audit-550 remaining changes",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T01:08:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "805f825688896e3a4669eccab0640375a31a4595",
"body": "Complete audit #550 follow-ups after PR #551:\n\n- Thread context.Context through VerifyFile/VerifyTorrent/RecheckFile/\n RecheckAllFiles and piece-verify loops; worker init and HTTP recheck\n pass their deadlines; streaming uses Streamer lifetimeCtx.\n- Remove YAGNI no-op Close() from nine Postgres-backed stores and boot\n cleanup hooks; tests that needed a closed DB now close the pool.",
"is_bot": false,
"headline": "fix(audit-550): propagate verify context and drop no-op store Close",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T01:00:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5427f7decb8f0b5e59383dad9233575e020c0f67",
"body": "… (#551) from fix/audit-550-followups into main",
"is_bot": false,
"headline": "Merge pull request 'fix(streamer): audit #550 verify path follow-ups'…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:48:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15ba1c1f358fca6b175124438f6ec7cac9297c11",
"body": "…lete to free mmap RSS' (#552) from fix/drop-completed-nonseed-mmap into main",
"is_bot": false,
"headline": "Merge pull request 'fix(downloads): drop non-seed torrents after comp…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:43:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad37144cca4693bb0c4724f12fc9480e139eb03b",
"body": "Replace sync.Cond + per-wait goroutine with a close/recreate broadcast\nchannel so AcquireContext can select on ctx.Done() without lost wakeups\nor permanent deadlock when cancel races with Wait registration.\n\nAdd TestVerifyLimiter_CancelWhileWaiting (200 iterations) to cover the\npath the pre-cancel-only test missed.",
"is_bot": false,
"headline": "fix(streamer): rewrite verifyLimiter with channel broadcast",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:26:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "761169b97bb6eb0dee32a181e1f005ae6e7eb3eb",
"body": "Download-to-bulk left the anacrolix handle open when the file was not\nAI-renamed, so finished 4K files stayed mmap'd (~1 GiB each). UI polls\nvia LiveStats also refreshed lastAccess, so idle GC never reclaimed them.\nAlways drop non-seed-tracker torrents on completion, stop LiveStats from\nkeeping lastAccess warm, and drop leftover completed handles at boot.",
"is_bot": false,
"headline": "fix(downloads): drop non-seed torrents after complete to free mmap RSS",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:20:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "741fa93fd001329e7c9b78d1fb9e3696ab1efc91",
"body": "- Log piece verify I/O errors in verifyFilePieces (observability)\n- AcquireContext + Shutdown on verifyLimiter; Streamer.Close broadcasts\n- Clarify structural-only error logs in worker_init VerifyFile/Torrent\n- errors.New for token signing failure in auth handler\n- Add audiometa store_test.go; verify_limiter shutdown/cancel tests\n\nRefs https://gitea.raspberrypi.lan/lgldsilva/jackui/issues/550",
"is_bot": false,
"headline": "fix(streamer): implement audit #550 follow-ups on verify path",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:09:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f1f0009d5627263c34081966607cd52146b24949",
"body": "…solved' (#549) from fix/download-auto-file-index into main",
"is_bot": false,
"headline": "Merge pull request 'fix(downloads): auto-pick file when metadata unre…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-17T00:06:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad70181417f5cc3903ad84840e9f4a3b2c85588d",
"body": "The PR gate only counts issues_in_diff, but main uses the permanent\nSonar project — leftover smells (nested ternaries, Promise.reject,\nidentical || operands, etc.) would still fail or pollute the main QG.",
"is_bot": false,
"headline": "fix(sonar): clear remaining baseline project issues",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T23:52:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62118fa380258f5f6386501eda780295ce09b8f6",
"body": "Reusable secrets-scan/security/sonar/telegram now hard-pin\nruns-on: self-hosted so empty-label jobs never land on deploy-homeserver.",
"is_bot": false,
"headline": "ci: bump gitea-workflows to v1.0.11 (pin self-hosted runs-on)",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T23:35:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "865972072b89fabb54c5331479b6453beaa63503",
"body": "Split matchesResultFilters helpers under complexity 15, memoize\nTransfersProvider context value, and mark provider props readonly.",
"is_bot": false,
"headline": "fix(sonar): clear remaining PR-diff issues in transfers and filters",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T23:32:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4cdc926be051f85abd3d34e1eab8c036d5f18d6",
"body": "Extract StreamCache loaded body + filter/sort helpers, lower\nVideoPlayerElement complexity via attachHlsJs/nudge helpers, move\nuseFilteredResults predicates out of useMemo, and replace void\nfire-and-forget with .catch in transfers and playlist tracks.",
"is_bot": false,
"headline": "fix(sonar): clear StreamCache/VideoPlayer/filter S3776 and void smells",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T23:21:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30c2ecbf6a3a791463ea9e023969160a6fa17a50",
"body": "Lower buildCardShell cognitive complexity under 15 and use export-from\nfor parsePositiveInt/Float so the PR diff gate stays at 0 issues.",
"is_bot": false,
"headline": "fix(sonar): drop ResultCard complexity and re-export from helper",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T21:03:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ec70ce00b5fa629eb6b7dd437cc7f46e6269c3e",
"body": "- Split ParseEpub, bandwidth scheduler and relocatedStorage helpers.\n- Nest no-op comment in Job.AddBytesFunc empty callback (S1186).\n- Extract PlayerProvider URL→state + ResultCard shell/actions helpers.\n- Replace void fire-and-forget probes with .catch in SeedBadge.",
"is_bot": false,
"headline": "fix(sonar): clear remaining S3776/S1186/S3735 smells from report",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T20:05:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b75f03723a5efd3dcc6528f3710e73c62649fb32",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into fix/download-auto-file-index",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T19:40:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0139f1d145b70d6cd0e70f4f3b7c04df7059d23d",
"body": "Download peer concurrency (max_active) and disk piece-recheck concurrency\n(max_concurrent_verify) are independent knobs. Default verify=1 keeps HDD\nsafe; settings UI/API/env can raise it on SSD without forcing fewer downloads.",
"is_bot": false,
"headline": "feat(downloads): separate max_active from max_concurrent_verify",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T19:25:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6978d802ac6033ae216875078ae6544eb843688f",
"body": "Concurrent download inits each VerifyFile multi-GB packs after restart\nor requeue, thrashing the bulk HDD. Cap piece hashing to one in-flight\nverify globally (per-file dedupe still applies).",
"is_bot": false,
"headline": "fix(streamer): serialize piece verify across torrents",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T19:14:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a627752f15a179811d5a606ae6041a0dd4e08a1c",
"body": null,
"is_bot": false,
"headline": "ci: re-trigger PR gates after runner flake",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T19:08:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c59838d864ae66d32fad1a523a5a4caa40a120c2",
"body": "- Nest a no-op comment in shared-pool Store.Close methods (S1186).\n- Split main bootstrap/serve helpers to drop cognitive complexity.\n- Extract dbtest isolated-schema + process-schema helpers.\n- Split auth Refresh outcome/token-pair helpers.",
"is_bot": false,
"headline": "fix(sonar): clear S1186 empty Close + S3776 complexity smells",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T18:27:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c89cbaea44891d31dd7ba270e214244d1d826417",
"body": "When the internal download modal had no file list yet, the UI enqueued\nfileIndex 0 — often a 34-byte .nfo in scene packs — and marked the\ndownload completed without the video. Fall back to FileIndexAuto (-1)\nvia createParamsWhenFilesUnknown so pickBestFile selects the media.",
"is_bot": false,
"headline": "fix(downloads): auto-pick file when metadata unresolved",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T18:02:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7b1311da3a509c8302480b547cc618a8a540479",
"body": "…ertions (unblock main gate)' (#548) from fix/sonar-new-violations-s8786 into main",
"is_bot": false,
"headline": "Merge pull request 'fix(web): resolve S8786 ReDoS regexes + S5906 ass…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T16:19:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb29c5de0e656e015e845572b77d79da1fb5da54",
"body": "…files\n\nThe first pass missed how the PR gate scores: `issues_in_diff` counts EVERY\nissue in a CHANGED FILE, not just the changed lines. Touching these files pulled\nin their existing backlog, and the first regex attempt didn't actually fix the\nbacktracking. Clears all 8:\n\nMine (introduced by the fir\n[…]\nc\nand `vite build`. The series-key ordering now uses localeCompare (the point of\nthe S2871 fix). CI runs the real vitest suite.\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(web): clear all 8 issues the PR diff gate reports on the touched …",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T16:08:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b72321257af1969b41d720947b97748ee60353ea",
"body": "…n gate)\n\nThe Sonar CE upgrade (server now 26.7.0) enabled rules that flag pre-existing\ncode, so the permanent `jackui` project's quality gate went ERROR on\n`new_violations: 5 > 0` and the release `deliver` job was skipped (no deploy).\nNone of the five came from a code change — they are existing lin\n[…]\n) plus tsc + `vite build`. Frontend test deps\n(jsdom/@testing-library) aren't installed locally; CI runs the real vitest suite.\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(web): resolve S8786 ReDoS regexes + S5906 assertions (unblock mai…",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T15:35:55Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e22faa679f82bc685896c158f269269b90e14ba8",
"body": "…from feat/telegram-smoke-dispatch into main",
"is_bot": false,
"headline": "Merge pull request 'ci: add Telegram smoke workflow_dispatch' (#547) …",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T15:07:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58acac0fb0b1c84ae0e1116a67a7950214b5c764",
"body": "Manual path to exercise gitea-workflows telegram-notify with success/failure\nwithout running the full Release pipeline (sonar/deliver).",
"is_bot": false,
"headline": "ci: add Telegram smoke workflow_dispatch",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T15:07:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "af8359d303ae52852cb89ab610b7b6430907cc4c",
"body": "…failures + art fallback' (#543) from fix/batch-robustness into main",
"is_bot": false,
"headline": "Merge pull request 'fix(web): chunk capped batches + surface partial …",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T15:03:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8aacd93971533b849abb83b1a5019b5f51486bda",
"body": "Hardens the Perf #6–#10 batch actions against the server caps and failures the\ncallers silently swallowed:\n\n- **Auto-chunk capped batches** (`web/src/lib/batchChunk.ts`): favorites\n remove/set-folder (cap 500), stop-seed (500) and stream drop (300) split the\n input below the server cap and aggrega\n[…]\nlibrary) aren't installed locally; `vite build` passes\nand tsc is clean on the changed sources — CI runs the full vitest suite.\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(web): chunk capped batches + surface partial failures + art fallback",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:50:24Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "e09f6b64d5a188c5dab920330adc4593ee7d9242",
"body": "… + apply env on fresh boot (#541 follow-up)' (#545) from fix/auth-hardening-followup into main",
"is_bot": false,
"headline": "Merge pull request 'fix(auth): respect YAML/default auth on env-unset…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:48:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "99d04b3248f076a80bd2d5a9ab2cab2d41dc0605",
"body": "… + verify TLS in sonar api' (#544) from fix/ci-sonar-failclosed into main",
"is_bot": false,
"headline": "Merge pull request 'fix(ci): fail-closed Sonar PR gate on empty token…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:48:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f01e54f83f08c0afec1a86e85d1f5ae76cc9ba62",
"body": null,
"is_bot": false,
"headline": "ci: re-trigger CI after Sonar server recovery",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:27:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d0e17d1511a42e513521137da037ac6a8259e93",
"body": null,
"is_bot": false,
"headline": "ci: re-trigger CI after Sonar server recovery",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:27:20Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "34183cbf3ecae157d3b6766210a7d73cacfc2656",
"body": "…esolve regressions",
"is_bot": false,
"headline": "Merge PR #542: fix(local): curtain path normalization + UserSubpath r…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T14:08:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2bc5f630092f5fa1af05e5833a36af220a9ab505",
"body": "…v1.0.10' (#546) from feat/telegram-notify-reusable into main",
"is_bot": false,
"headline": "Merge pull request 'ci(release): use gitea-workflows telegram-notify@…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T12:56:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60e179136e62d01141b8fd8bc945fd223b6449ad",
"body": "Replace inline success step and notify-failure job with the shared\nreusable workflow. Expose deliver.semver as a job output for the message.\nRequires gitea-workflows tag v1.0.10 before merge.",
"is_bot": false,
"headline": "ci(release): use gitea-workflows telegram-notify@v1.0.10",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T12:54:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ab69edc87c436d07f089b7b8adc5fbe97275ded7",
"body": "…ar api\n\nAddresses two Sonar-gate weaknesses (review of the CE migration #532/#540):\n\n- **Fail-open PR gate (#9)**: the reusable sonar-ce.yml gates every step on\n `if: env.SONAR_TOKEN != ''`, so an empty/missing SONAR_TOKEN makes the `sonar`\n job go GREEN having analysed nothing — and `approve` th\n[…]\ncan't be run locally — validated with `bash -n` + YAML parse;\nthe guard and TLS paths need a live PR run to confirm end-to-end.\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(ci): fail-closed Sonar PR gate on empty token + verify TLS in son…",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T09:57:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "b3fc1c6f85f39e8d93a27f21f63c574cced6583e",
"body": "…h boot\n\nHardening on the fail-closed auth work in this PR (review follow-up):\n\n- **YAML `auth.enabled` was dead**: applyAuthEnv's `default: true` forced auth on\n even when config.yaml said `enabled: false` (and when unset), so the YAML\n opt-out silently stopped working. Now only an EXPLICIT `JACK\n[…]\nts: TestApplyAuthEnv_UnsetRespectsConfig, TestDefaultConfig_AuthOn,\nTestLoad_FreshBootAppliesAuthEnv (config+cmd suites green).\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(auth): respect YAML/default auth on env-unset + apply env on fres…",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T09:53:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "975c240cdfa5495b6c9929c93e5117346db41dc4",
"body": "Two regressions from the privacy-curtain work (#531), both scoped to how\nmount-relative paths are normalized/scoped before resolving:\n\n- **Curtain bypass via `?path=./secret`**: `localPathHidden` trimmed only\n leading/trailing slashes while `ResolvePath` runs `filepath.Clean`, so\n `./secret`, `.//\n[…]\ns spellings in TestLocalPathHidden; end-to-end\nTestLocalDuplicates_UserSubpathResolves (was 0 pre-fix) + resolve-contract test.\n\nClaude-Session: https://claude.ai/code/session_01SYr26V6gkGjSPSTr9qUrHT",
"is_bot": false,
"headline": "fix(local): curtain path normalization + UserSubpath resolve regressions",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T09:27:04Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1869b4aa695c2a51c32e73a49e618d2a5fe14121",
"body": "…lay streamAdd' (#541) from fix/auth-failclosed-local-play into main",
"is_bot": false,
"headline": "Merge pull request 'fix(auth,web): fail-closed auth default + local p…",
"author_name": "lgldsilva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T03:27:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b06af7f88f7c2eeaa9628bc02a6ea0d4295c431a",
"body": "- Auth ON by default via applyAuthEnv; boot requires JACKUI_ALLOW_INSECURE_AUTH=1\n when JACKUI_AUTH_ENABLED=0 (closes #528 item 3 residual).\n- streamAdd: detect local- pseudo-hash in magnet btih before hex-only extract;\n resolveTorrentInfo short-circuits local hashes.\n- make dev-backend exports insecure dev escape; docs/.env.example aligned.\n- Vitest regression for local magnet; config tests for auth default.",
"is_bot": false,
"headline": "fix(auth,web): fail-closed auth default + local play streamAdd",
"author_name": "Luiz Guilherme L. de D. Silva",
"author_login": "lgldsilva",
"committed_at": "2026-07-16T03:07:17Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 2,
"commits_last_year": 1487,
"latest_release_at": "2026-07-22T23:58:02Z",
"latest_release_tag": "vv0.100.0",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 10,
"days_since_latest_release": 6,
"mean_days_between_releases": 2.4
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": [
{
"name": "github.com/lgldsilva/jackui",
"exists": true,
"license": null,
"keywords": [],
"ecosystem": "go",
"matches_repo": true,
"registry_url": "https://pkg.go.dev/github.com/lgldsilva/jackui",
"is_deprecated": false,
"latest_version": "v0.100.0",
"repository_url": "https://github.com/lgldsilva/jackui",
"versions_count": 214,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": null,
"latest_published_at": "2026-07-22T23:38:25Z",
"latest_version_yanked": null,
"days_since_latest_publish": 6
}
]
},
"popularity": {
"forks": 0,
"stars": 0,
"watchers": 0,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": {
"days": [],
"complete": true,
"collected": 0,
"total_stars": 0,
"collected_at": null
},
"open_issues_and_prs": 1
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"electron/tsconfig.json",
"web/tsconfig.json"
],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 55473,
"source_files_sampled": 978,
"oversized_source_files": 0,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 22606
},
"dependencies": {
"manifests": [
"go.mod",
"package.json",
"web/package.json"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 1,
"oldest_advisory_days": 4
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.2",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 1,
"oldest_advisory_days": 4
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-mh99-v99m-4gvg"
],
"fixed_version": "5.0.8",
"advisory_count": 1,
"oldest_advisory_days": 4
},
{
"name": "react-router-dom",
"direct": true,
"version": "6.30.4",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.9,
"advisory_ids": [
"GHSA-jjmj-jmhj-qwj2"
],
"fixed_version": "7.13.0",
"advisory_count": 1,
"oldest_advisory_days": 5
},
{
"name": "react-router",
"direct": false,
"version": "6.30.4",
"severity": "moderate",
"ecosystem": "npm",
"cvss_score": 6.1,
"advisory_ids": [
"GHSA-337j-9hxr-rhxg",
"GHSA-wrjc-x8rr-h8h6"
],
"fixed_version": "7.18.0",
"advisory_count": 2,
"oldest_advisory_days": 5
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5932"
],
"fixed_version": null,
"advisory_count": 1,
"oldest_advisory_days": 21
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 3,
"unknown": 1,
"moderate": 2
},
"advisory_count": 7,
"affected_count": 6,
"assessed_count": 800,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 2
},
"ecosystems": [
"go",
"npm"
],
"dependencies": [
{
"name": "github.com/SherClockHolmes/webpush-go",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.4.0"
},
{
"name": "github.com/anacrolix/log",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.17.1-0.20251118025802-918f1157b7bb"
},
{
"name": "github.com/anacrolix/torrent",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.61.0"
},
{
"name": "github.com/dhowden/tag",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.0.0-20240417053706-3d75831295e8"
},
{
"name": "github.com/gin-contrib/cors",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.7.7"
},
{
"name": "github.com/gin-gonic/gin",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.12.0"
},
{
"name": "github.com/go-webauthn/webauthn",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.17.4"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.3.1"
},
{
"name": "github.com/golang-migrate/migrate/v4",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v4.19.1"
},
{
"name": "github.com/jackc/pgx/v5",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v5.10.0"
},
{
"name": "github.com/nwaples/rardecode/v2",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v2.2.5"
},
{
"name": "github.com/prometheus/client_golang",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.24.1"
},
{
"name": "golang.org/x/crypto",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.54.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.47.0"
},
{
"name": "golang.org/x/text",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.40.0"
},
{
"name": "golang.org/x/time",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.15.0"
},
{
"name": "gopkg.in/yaml.v3",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v3.0.1"
},
{
"name": "modernc.org/sqlite",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v1.54.0"
},
{
"name": "axios",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^1.18.0"
},
{
"name": "hls.js",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.16"
},
{
"name": "i18next",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^26.3.6"
},
{
"name": "lucide-react",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^0.577.0"
},
{
"name": "react",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^18.3.1"
},
{
"name": "react-dom",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^18.3.1"
},
{
"name": "react-i18next",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^17.0.11"
},
{
"name": "react-router-dom",
"manifest": "web/package.json",
"ecosystem": "npm",
"version_constraint": "^6.26.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/anacrolix/log",
"direct": true,
"version": "v0.17.1-0.20251118025802-918f1157b7bb",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/torrent",
"direct": true,
"version": "v1.61.0",
"ecosystem": "go"
},
{
"name": "github.com/dhowden/tag",
"direct": true,
"version": "v0.0.0-20240417053706-3d75831295e8",
"ecosystem": "go"
},
{
"name": "github.com/gin-contrib/cors",
"direct": true,
"version": "v1.7.7",
"ecosystem": "go"
},
{
"name": "github.com/gin-gonic/gin",
"direct": true,
"version": "v1.12.0",
"ecosystem": "go"
},
{
"name": "github.com/go-webauthn/webauthn",
"direct": true,
"version": "v0.17.4",
"ecosystem": "go"
},
{
"name": "github.com/golang-jwt/jwt/v5",
"direct": true,
"version": "v5.3.1",
"ecosystem": "go"
},
{
"name": "github.com/golang-migrate/migrate/v4",
"direct": true,
"version": "v4.19.1",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgx/v5",
"direct": true,
"version": "v5.10.0",
"ecosystem": "go"
},
{
"name": "github.com/nwaples/rardecode/v2",
"direct": true,
"version": "v2.2.5",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_golang",
"direct": true,
"version": "v1.24.1",
"ecosystem": "go"
},
{
"name": "github.com/sherclockholmes/webpush-go",
"direct": true,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/crypto",
"direct": true,
"version": "v0.54.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": true,
"version": "v0.47.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": true,
"version": "v0.40.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/time",
"direct": true,
"version": "v0.15.0",
"ecosystem": "go"
},
{
"name": "gopkg.in/yaml.v3",
"direct": true,
"version": "v3.0.1",
"ecosystem": "go"
},
{
"name": "modernc.org/sqlite",
"direct": true,
"version": "v1.54.0",
"ecosystem": "go"
},
{
"name": "axios",
"direct": true,
"version": "1.18.1",
"ecosystem": "npm"
},
{
"name": "hls.js",
"direct": true,
"version": "1.6.16",
"ecosystem": "npm"
},
{
"name": "i18next",
"direct": true,
"version": "26.3.6",
"ecosystem": "npm"
},
{
"name": "lucide-react",
"direct": true,
"version": "0.577.0",
"ecosystem": "npm"
},
{
"name": "react",
"direct": true,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-dom",
"direct": true,
"version": "18.3.1",
"ecosystem": "npm"
},
{
"name": "react-i18next",
"direct": true,
"version": "17.0.11",
"ecosystem": "npm"
},
{
"name": "react-router-dom",
"direct": true,
"version": "6.30.4",
"ecosystem": "npm"
},
{
"name": "github.com/alecthomas/atomic",
"direct": false,
"version": "v0.1.0-alpha2",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/btree",
"direct": false,
"version": "v0.1.1",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/chansync",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/dht/v2",
"direct": false,
"version": "v2.24.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/envpprof",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/generics",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/go-libutp",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/missinggo",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/missinggo/perf",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/missinggo/v2",
"direct": false,
"version": "v2.10.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/mmsg",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/multiless",
"direct": false,
"version": "v0.4.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/stm",
"direct": false,
"version": "v0.5.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/sync",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/upnp",
"direct": false,
"version": "v0.1.4",
"ecosystem": "go"
},
{
"name": "github.com/anacrolix/utp",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/bahlo/generic-list-go",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/benbjohnson/immutable",
"direct": false,
"version": "v0.4.3",
"ecosystem": "go"
},
{
"name": "github.com/beorn7/perks",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/bits-and-blooms/bitset",
"direct": false,
"version": "v1.24.4",
"ecosystem": "go"
},
{
"name": "github.com/bradfitz/iter",
"direct": false,
"version": "v0.0.0-20191230175014-e8f45d346db8",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/gopkg",
"direct": false,
"version": "v0.1.4",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic",
"direct": false,
"version": "v1.15.1",
"ecosystem": "go"
},
{
"name": "github.com/bytedance/sonic/loader",
"direct": false,
"version": "v0.5.1",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/cespare/xxhash/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/cloudwego/base64x",
"direct": false,
"version": "v0.1.7",
"ecosystem": "go"
},
{
"name": "github.com/davecgh/go-spew",
"direct": false,
"version": "v1.1.2-0.20180830191138-d8f796af33cc",
"ecosystem": "go"
},
{
"name": "github.com/dustin/go-humanize",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/edsrzf/mmap-go",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/felixge/fgprof",
"direct": false,
"version": "v0.9.5",
"ecosystem": "go"
},
{
"name": "github.com/fxamacker/cbor/v2",
"direct": false,
"version": "v2.9.2",
"ecosystem": "go"
},
{
"name": "github.com/gabriel-vasile/mimetype",
"direct": false,
"version": "v1.4.13",
"ecosystem": "go"
},
{
"name": "github.com/gin-contrib/sse",
"direct": false,
"version": "v1.1.1",
"ecosystem": "go"
},
{
"name": "github.com/go-llsqlite/adapter",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/go-llsqlite/crawshaw",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/logr",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "github.com/go-logr/stdr",
"direct": false,
"version": "v1.2.2",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/locales",
"direct": false,
"version": "v0.14.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/universal-translator",
"direct": false,
"version": "v0.18.1",
"ecosystem": "go"
},
{
"name": "github.com/go-playground/validator/v10",
"direct": false,
"version": "v10.30.3",
"ecosystem": "go"
},
{
"name": "github.com/go-viper/mapstructure/v2",
"direct": false,
"version": "v2.5.0",
"ecosystem": "go"
},
{
"name": "github.com/go-webauthn/x",
"direct": false,
"version": "v0.2.6",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-json",
"direct": false,
"version": "v0.10.6",
"ecosystem": "go"
},
{
"name": "github.com/goccy/go-yaml",
"direct": false,
"version": "v1.19.2",
"ecosystem": "go"
},
{
"name": "github.com/google/btree",
"direct": false,
"version": "v1.1.3",
"ecosystem": "go"
},
{
"name": "github.com/google/go-cmp",
"direct": false,
"version": "v0.7.0",
"ecosystem": "go"
},
{
"name": "github.com/google/go-tpm",
"direct": false,
"version": "v0.9.8",
"ecosystem": "go"
},
{
"name": "github.com/google/pprof",
"direct": false,
"version": "v0.0.0-20260507013755-92041b743c96",
"ecosystem": "go"
},
{
"name": "github.com/google/uuid",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/gorilla/websocket",
"direct": false,
"version": "v1.5.3",
"ecosystem": "go"
},
{
"name": "github.com/huandu/xstrings",
"direct": false,
"version": "v1.5.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgpassfile",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/jackc/pgservicefile",
"direct": false,
"version": "v0.0.0-20240606120523-5a60cdf6a761",
"ecosystem": "go"
},
{
"name": "github.com/jackc/puddle/v2",
"direct": false,
"version": "v2.2.2",
"ecosystem": "go"
},
{
"name": "github.com/json-iterator/go",
"direct": false,
"version": "v1.1.12",
"ecosystem": "go"
},
{
"name": "github.com/klauspost/cpuid/v2",
"direct": false,
"version": "v2.3.0",
"ecosystem": "go"
},
{
"name": "github.com/kylelemons/godebug",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/leodido/go-urn",
"direct": false,
"version": "v1.4.0",
"ecosystem": "go"
},
{
"name": "github.com/lib/pq",
"direct": false,
"version": "v1.10.9",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "v0.0.22",
"ecosystem": "go"
},
{
"name": "github.com/minio/sha256-simd",
"direct": false,
"version": "v1.0.1",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/concurrent",
"direct": false,
"version": "v0.0.0-20180306012644-bacd9c7ef1dd",
"ecosystem": "go"
},
{
"name": "github.com/modern-go/reflect2",
"direct": false,
"version": "v1.0.2",
"ecosystem": "go"
},
{
"name": "github.com/mr-tron/base58",
"direct": false,
"version": "v1.3.0",
"ecosystem": "go"
},
{
"name": "github.com/mschoch/smat",
"direct": false,
"version": "v0.2.0",
"ecosystem": "go"
},
{
"name": "github.com/multiformats/go-multihash",
"direct": false,
"version": "v0.2.3",
"ecosystem": "go"
},
{
"name": "github.com/multiformats/go-varint",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/munnerz/goautoneg",
"direct": false,
"version": "v0.0.0-20191010083416-a7dc8b61c822",
"ecosystem": "go"
},
{
"name": "github.com/ncruces/go-strftime",
"direct": false,
"version": "v1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/pelletier/go-toml/v2",
"direct": false,
"version": "v2.3.1",
"ecosystem": "go"
},
{
"name": "github.com/philhofer/fwd",
"direct": false,
"version": "v1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/datachannel",
"direct": false,
"version": "v1.6.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/dtls/v3",
"direct": false,
"version": "v3.1.3",
"ecosystem": "go"
},
{
"name": "github.com/pion/ice/v4",
"direct": false,
"version": "v4.2.7",
"ecosystem": "go"
},
{
"name": "github.com/pion/interceptor",
"direct": false,
"version": "v0.1.45",
"ecosystem": "go"
},
{
"name": "github.com/pion/logging",
"direct": false,
"version": "v0.2.4",
"ecosystem": "go"
},
{
"name": "github.com/pion/mdns/v2",
"direct": false,
"version": "v2.1.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/randutil",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/rtcp",
"direct": false,
"version": "v1.2.16",
"ecosystem": "go"
},
{
"name": "github.com/pion/rtp",
"direct": false,
"version": "v1.10.2",
"ecosystem": "go"
},
{
"name": "github.com/pion/sctp",
"direct": false,
"version": "v1.10.0",
"ecosystem": "go"
},
{
"name": "github.com/pion/sdp/v3",
"direct": false,
"version": "v3.0.18",
"ecosystem": "go"
},
{
"name": "github.com/pion/srtp/v3",
"direct": false,
"version": "v3.0.11",
"ecosystem": "go"
},
{
"name": "github.com/pion/stun/v3",
"direct": false,
"version": "v3.1.4",
"ecosystem": "go"
},
{
"name": "github.com/pion/transport/v4",
"direct": false,
"version": "v4.0.2",
"ecosystem": "go"
},
{
"name": "github.com/pion/turn/v5",
"direct": false,
"version": "v5.0.7",
"ecosystem": "go"
},
{
"name": "github.com/pion/webrtc/v4",
"direct": false,
"version": "v4.2.14",
"ecosystem": "go"
},
{
"name": "github.com/pkg/errors",
"direct": false,
"version": "v0.9.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/client_model",
"direct": false,
"version": "v0.6.2",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/common",
"direct": false,
"version": "v0.70.1",
"ecosystem": "go"
},
{
"name": "github.com/prometheus/procfs",
"direct": false,
"version": "v0.21.1",
"ecosystem": "go"
},
{
"name": "github.com/protolambda/ctxlock",
"direct": false,
"version": "v0.1.0",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/qpack",
"direct": false,
"version": "v0.6.0",
"ecosystem": "go"
},
{
"name": "github.com/quic-go/quic-go",
"direct": false,
"version": "v0.59.1",
"ecosystem": "go"
},
{
"name": "github.com/remyoudompheng/bigfft",
"direct": false,
"version": "v0.0.0-20230129092748-24d4a6f8daec",
"ecosystem": "go"
},
{
"name": "github.com/roaringbitmap/roaring",
"direct": false,
"version": "v1.9.4",
"ecosystem": "go"
},
{
"name": "github.com/rs/dnscache",
"direct": false,
"version": "v0.0.0-20230804202142-fc85eb664529",
"ecosystem": "go"
},
{
"name": "github.com/spaolacci/murmur3",
"direct": false,
"version": "v1.1.0",
"ecosystem": "go"
},
{
"name": "github.com/tidwall/btree",
"direct": false,
"version": "v1.8.1",
"ecosystem": "go"
},
{
"name": "github.com/tinylib/msgp",
"direct": false,
"version": "v1.6.4",
"ecosystem": "go"
},
{
"name": "github.com/twitchyliquid64/golang-asm",
"direct": false,
"version": "v0.15.1",
"ecosystem": "go"
},
{
"name": "github.com/ugorji/go/codec",
"direct": false,
"version": "v1.3.1",
"ecosystem": "go"
},
{
"name": "github.com/wlynxg/anet",
"direct": false,
"version": "v0.0.5",
"ecosystem": "go"
},
{
"name": "github.com/x448/float16",
"direct": false,
"version": "v0.8.4",
"ecosystem": "go"
},
{
"name": "go.etcd.io/bbolt",
"direct": false,
"version": "v1.4.3",
"ecosystem": "go"
},
{
"name": "go.mongodb.org/mongo-driver/v2",
"direct": false,
"version": "v2.6.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/auto/sdk",
"direct": false,
"version": "v1.2.1",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/metric",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "go.opentelemetry.io/otel/trace",
"direct": false,
"version": "v1.44.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/arch",
"direct": false,
"version": "v0.27.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/exp",
"direct": false,
"version": "v0.0.0-20260529124908-c761662dc8c9",
"ecosystem": "go"
},
{
"name": "golang.org/x/net",
"direct": false,
"version": "v0.57.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/sync",
"direct": false,
"version": "v0.22.0",
"ecosystem": "go"
},
{
"name": "google.golang.org/protobuf",
"direct": false,
"version": "v1.36.11",
"ecosystem": "go"
},
{
"name": "lukechampine.com/blake3",
"direct": false,
"version": "v1.4.1",
"ecosystem": "go"
},
{
"name": "modernc.org/libc",
"direct": false,
"version": "v1.74.1",
"ecosystem": "go"
},
{
"name": "modernc.org/mathutil",
"direct": false,
"version": "v1.7.1",
"ecosystem": "go"
},
{
"name": "modernc.org/memory",
"direct": false,
"version": "v1.11.0",
"ecosystem": "go"
},
{
"name": "zombiezen.com/go/sqlite",
"direct": false,
"version": "v1.4.2",
"ecosystem": "go"
},
{
"name": "@adobe/css-tools",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "@alloc/quick-lru",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/css-color",
"direct": false,
"version": "5.1.11",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/dom-selector",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/generational-cache",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@asamuzakjp/nwsapi",
"direct": false,
"version": "2.3.9",
"ecosystem": "npm"
},
{
"name": "@babel/code-frame",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/compat-data",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/core",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-compilation-targets",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-imports",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-module-transforms",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-plugin-utils",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-option",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helpers",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-self",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/plugin-transform-react-jsx-source",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/runtime",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/template",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/traverse",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@bramus/specificity",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "4.1.9",
"ecosystem": "npm"
},
{
"name": "@csstools/css-parser-algorithms",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@csstools/css-syntax-patches-for-csstree",
"direct": false,
"version": "1.1.6",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@electron-internal/extract-zip",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "@electron/asar",
"direct": false,
"version": "3.4.1",
"ecosystem": "npm"
},
{
"name": "@electron/fuses",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "@electron/get",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@electron/get",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@electron/notarize",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@electron/osx-sign",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "@electron/rebuild",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "@electron/universal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@electron/windows-sign",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/eslint-utils",
"direct": false,
"version": "4.9.1",
"ecosystem": "npm"
},
{
"name": "@eslint-community/regexpp",
"direct": false,
"version": "4.12.2",
"ecosystem": "npm"
},
{
"name": "@eslint/config-array",
"direct": false,
"version": "0.23.5",
"ecosystem": "npm"
},
{
"name": "@eslint/config-helpers",
"direct": false,
"version": "0.7.0",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@eslint/object-schema",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "@eslint/plugin-kit",
"direct": false,
"version": "0.7.2",
"ecosystem": "npm"
},
{
"name": "@exodus/bytes",
"direct": false,
"version": "1.15.1",
"ecosystem": "npm"
},
{
"name": "@humanfs/core",
"direct": false,
"version": "0.19.2",
"ecosystem": "npm"
},
{
"name": "@humanfs/node",
"direct": false,
"version": "0.16.8",
"ecosystem": "npm"
},
{
"name": "@humanfs/types",
"direct": false,
"version": "0.15.0",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/module-importer",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@humanwhocodes/retry",
"direct": false,
"version": "0.4.3",
"ecosystem": "npm"
},
{
"name": "@isaacs/fs-minipass",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "@jridgewell/gen-mapping",
"direct": false,
"version": "0.3.13",
"ecosystem": "npm"
},
{
"name": "@jridgewell/remapping",
"direct": false,
"version": "2.3.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/resolve-uri",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "@jridgewell/sourcemap-codec",
"direct": false,
"version": "1.5.5",
"ecosystem": "npm"
},
{
"name": "@jridgewell/trace-mapping",
"direct": false,
"version": "0.3.31",
"ecosystem": "npm"
},
{
"name": "@malept/cross-spawn-promise",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@malept/flatpak-bundler",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "@noble/hashes",
"direct": false,
"version": "2.2.0",
"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": "@peculiar/asn1-schema",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "@peculiar/json-schema",
"direct": false,
"version": "1.1.12",
"ecosystem": "npm"
},
{
"name": "@peculiar/utils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "@peculiar/webcrypto",
"direct": false,
"version": "1.7.1",
"ecosystem": "npm"
},
{
"name": "@remix-run/router",
"direct": false,
"version": "1.23.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.0-beta.27",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "@sindresorhus/is",
"direct": false,
"version": "4.6.0",
"ecosystem": "npm"
},
{
"name": "@szmarczak/http-timer",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "@testing-library/dom",
"direct": false,
"version": "10.4.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/jest-dom",
"direct": false,
"version": "6.9.1",
"ecosystem": "npm"
},
{
"name": "@testing-library/react",
"direct": false,
"version": "16.3.2",
"ecosystem": "npm"
},
{
"name": "@testing-library/user-event",
"direct": false,
"version": "14.6.1",
"ecosystem": "npm"
},
{
"name": "@types/aria-query",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__core",
"direct": false,
"version": "7.20.5",
"ecosystem": "npm"
},
{
"name": "@types/babel__generator",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "@types/babel__template",
"direct": false,
"version": "7.4.4",
"ecosystem": "npm"
},
{
"name": "@types/babel__traverse",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "@types/cacheable-request",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/debug",
"direct": false,
"version": "4.1.13",
"ecosystem": "npm"
},
{
"name": "@types/deep-eql",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "@types/esrecurse",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "@types/estree",
"direct": false,
"version": "1.0.8",
"ecosystem": "npm"
},
{
"name": "@types/fs-extra",
"direct": false,
"version": "9.0.13",
"ecosystem": "npm"
},
{
"name": "@types/http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/keyv",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "22.20.1",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "24.13.3",
"ecosystem": "npm"
},
{
"name": "@types/prop-types",
"direct": false,
"version": "15.7.15",
"ecosystem": "npm"
},
{
"name": "@types/react",
"direct": false,
"version": "18.3.29",
"ecosystem": "npm"
},
{
"name": "@types/react-dom",
"direct": false,
"version": "18.3.7",
"ecosystem": "npm"
},
{
"name": "@types/responselike",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-aix-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-darwin-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-freebsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-loong64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-mips64el",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-ppc64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-riscv64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-s390x",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-linux-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-netbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-openbsd-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-sunos-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-arm64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@typescript/typescript-win32-x64",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-react",
"direct": false,
"version": "4.7.0",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "@xmldom/xmldom",
"direct": false,
"version": "0.8.13",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.17.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "agent-base",
"direct": false,
"version": "7.1.4",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "ansi-regex",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "ansi-styles",
"direct": false,
"version": "6.2.3",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "anymatch",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "app-builder-lib",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "arg",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "aria-query",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "asn1js",
"direct": false,
"version": "3.0.10",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "async",
"direct": false,
"version": "3.2.6",
"ecosystem": "npm"
},
{
"name": "async-exit-hook",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "asynckit",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "at-least-node",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "autoprefixer",
"direct": false,
"version": "10.5.4",
"ecosystem": "npm"
},
{
"name": "aws4",
"direct": false,
"version": "1.13.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "balanced-match",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "base64-js",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "baseline-browser-mapping",
"direct": false,
"version": "2.11.1",
"ecosystem": "npm"
},
{
"name": "bidi-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "binary-extensions",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "bluebird",
"direct": false,
"version": "3.7.2",
"ecosystem": "npm"
},
{
"name": "boolean",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "1.1.16",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "braces",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "browserslist",
"direct": false,
"version": "4.28.7",
"ecosystem": "npm"
},
{
"name": "buffer-from",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "builder-util",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "builder-util-runtime",
"direct": false,
"version": "9.7.0",
"ecosystem": "npm"
},
{
"name": "builtin-modules",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "bytes",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "bytestreamjs",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "cacheable-lookup",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "cacheable-request",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "call-bind-apply-helpers",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "camelcase-css",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "caniuse-lite",
"direct": false,
"version": "1.0.30001806",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "5.3.3",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "chalk",
"direct": false,
"version": "5.6.2",
"ecosystem": "npm"
},
{
"name": "check-error",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "chownr",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "chromium-pickle-js",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "ci-info",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "clone-response",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "color-convert",
"direct": false,
"version": "2.0.1",
"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": "4.1.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "9.5.0",
"ecosystem": "npm"
},
{
"name": "compare-version",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "concat-map",
"direct": false,
"version": "0.0.1",
"ecosystem": "npm"
},
{
"name": "concurrently",
"direct": false,
"version": "10.0.4",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "core-util-is",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cross-dirname",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "css.escape",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "debug",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "decimal.js",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "decompress-response",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "deep-eql",
"direct": false,
"version": "5.0.2",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "defer-to-connect",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "define-data-property",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "define-properties",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "delayed-stream",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "detect-node",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "didyoumean",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "dir-compare",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "dlv",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "dmg-builder",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "dom-accessibility-api",
"direct": false,
"version": "0.5.16",
"ecosystem": "npm"
},
{
"name": "dom-accessibility-api",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "dotenv",
"direct": false,
"version": "16.6.1",
"ecosystem": "npm"
},
{
"name": "dotenv-expand",
"direct": false,
"version": "11.0.7",
"ecosystem": "npm"
},
{
"name": "dunder-proto",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "duplexer2",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "ejs",
"direct": false,
"version": "3.1.10",
"ecosystem": "npm"
},
{
"name": "electron",
"direct": false,
"version": "43.2.0",
"ecosystem": "npm"
},
{
"name": "electron-builder",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "electron-builder-squirrel-windows",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "electron-publish",
"direct": false,
"version": "26.15.3",
"ecosystem": "npm"
},
{
"name": "electron-to-chromium",
"direct": false,
"version": "1.5.395",
"ecosystem": "npm"
},
{
"name": "electron-winstaller",
"direct": false,
"version": "5.4.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "10.6.0",
"ecosystem": "npm"
},
{
"name": "emoji-regex",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "end-of-stream",
"direct": false,
"version": "1.4.5",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "err-code",
"direct": false,
"version": "2.0.3",
"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-module-lexer",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "es-object-atoms",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "es-set-tostringtag",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es6-error",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.28.1",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "10.8.0",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-react-hooks",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-sonarjs",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "eslint-scope",
"direct": false,
"version": "9.1.2",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "eslint-visitor-keys",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "esquery",
"direct": false,
"version": "1.7.0",
"ecosystem": "npm"
},
{
"name": "esrecurse",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "estraverse",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "exponential-backoff",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-glob",
"direct": false,
"version": "3.3.3",
"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": "fast-uri",
"direct": false,
"version": "3.1.4",
"ecosystem": "npm"
},
{
"name": "fastq",
"direct": false,
"version": "1.20.1",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "filelist",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "fill-range",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "follow-redirects",
"direct": false,
"version": "1.16.0",
"ecosystem": "npm"
},
{
"name": "form-data",
"direct": false,
"version": "4.0.6",
"ecosystem": "npm"
},
{
"name": "fraction.js",
"direct": false,
"version": "5.3.4",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.1",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "11.3.6",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "fs-extra",
"direct": false,
"version": "9.1.0",
"ecosystem": "npm"
},
{
"name": "fs.realpath",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"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": "gensync",
"direct": false,
"version": "1.0.0-beta.2",
"ecosystem": "npm"
},
{
"name": "get-caller-file",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "get-east-asian-width",
"direct": false,
"version": "1.6.0",
"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-stream",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "7.2.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": "global-agent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "17.7.0",
"ecosystem": "npm"
},
{
"name": "globalthis",
"direct": false,
"version": "1.0.4",
"ecosystem": "npm"
},
{
"name": "gopd",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "got",
"direct": false,
"version": "11.8.6",
"ecosystem": "npm"
},
{
"name": "graceful-fs",
"direct": false,
"version": "4.2.11",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "has-property-descriptors",
"direct": false,
"version": "1.0.2",
"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": "hasown",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
},
{
"name": "hermes-estree",
"direct": false,
"version": "0.25.1",
"ecosystem": "npm"
},
{
"name": "hermes-parser",
"direct": false,
"version": "0.25.1",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "html-parse-stringify",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "http-cache-semantics",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "http-proxy-agent",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "http2-wrapper",
"direct": false,
"version": "1.0.3",
"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": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.6",
"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": "is-binary-path",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "is-core-module",
"direct": false,
"version": "2.16.2",
"ecosystem": "npm"
},
{
"name": "is-extglob",
"direct": false,
"version": "2.1.1",
"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-number",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "isarray",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "isbinaryfile",
"direct": false,
"version": "4.0.10",
"ecosystem": "npm"
},
{
"name": "isbinaryfile",
"direct": false,
"version": "5.0.7",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jake",
"direct": false,
"version": "10.9.4",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "1.21.7",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "29.1.1",
"ecosystem": "npm"
},
{
"name": "jsesc",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "json-buffer",
"direct": false,
"version": "3.0.1",
"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": "json-stringify-safe",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "json5",
"direct": false,
"version": "2.2.3",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "jsonfile",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "jsx-ast-utils-x",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "lazy-val",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lilconfig",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "lines-and-columns",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "lodash.merge",
"direct": false,
"version": "4.6.2",
"ecosystem": "npm"
},
{
"name": "loose-envify",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "loupe",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "lowercase-keys",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.2",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lz-string",
"direct": false,
"version": "1.5.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "matcher",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "math-intrinsics",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.27.1",
"ecosystem": "npm"
},
{
"name": "merge2",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "micromatch",
"direct": false,
"version": "4.0.8",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "2.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-response",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "mimic-response",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "min-indent",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "3.1.5",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "5.1.9",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "9.0.9",
"ecosystem": "npm"
},
{
"name": "minimist",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "minipass",
"direct": false,
"version": "7.1.3",
"ecosystem": "npm"
},
{
"name": "minizlib",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "mkdirp",
"direct": false,
"version": "0.5.6",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.16",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "node-abi",
"direct": false,
"version": "4.33.0",
"ecosystem": "npm"
},
{
"name": "node-api-version",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "node-gyp",
"direct": false,
"version": "12.4.0",
"ecosystem": "npm"
},
{
"name": "node-int64",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "node-releases",
"direct": false,
"version": "2.0.51",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-path",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "normalize-url",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "object-hash",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "object-keys",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "once",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "p-cancelable",
"direct": false,
"version": "2.1.1",
"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": "parse5",
"direct": false,
"version": "8.0.1",
"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-parse",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "pathval",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "pe-library",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "pify",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkijs",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "plist",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.23",
"ecosystem": "npm"
},
{
"name": "postcss-import",
"direct": false,
"version": "15.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-js",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-nested",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "6.1.2",
"ecosystem": "npm"
},
{
"name": "postcss-value-parser",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "postject",
"direct": false,
"version": "1.0.0-alpha.6",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "pretty-format",
"direct": false,
"version": "27.5.1",
"ecosystem": "npm"
},
{
"name": "proc-log",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "process-nextick-args",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "progress",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "promise-retry",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "proper-lockfile",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "proxy-from-env",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "pump",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "pvtsutils",
"direct": false,
"version": "1.3.6",
"ecosystem": "npm"
},
{
"name": "pvutils",
"direct": false,
"version": "1.1.5",
"ecosystem": "npm"
},
{
"name": "queue-microtask",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "quick-lru",
"direct": false,
"version": "5.1.1",
"ecosystem": "npm"
},
{
"name": "react-is",
"direct": false,
"version": "17.0.2",
"ecosystem": "npm"
},
{
"name": "react-refresh",
"direct": false,
"version": "0.17.0",
"ecosystem": "npm"
},
{
"name": "react-router",
"direct": false,
"version": "6.30.4",
"ecosystem": "npm"
},
{
"name": "read-binary-file-arch",
"direct": false,
"version": "1.0.6",
"ecosystem": "npm"
},
{
"name": "read-cache",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readable-stream",
"direct": false,
"version": "2.3.8",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "3.6.0",
"ecosystem": "npm"
},
{
"name": "redent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "refa",
"direct": false,
"version": "0.12.1",
"ecosystem": "npm"
},
{
"name": "regexp-ast-analysis",
"direct": false,
"version": "0.7.1",
"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": "resedit",
"direct": false,
"version": "1.7.2",
"ecosystem": "npm"
},
{
"name": "resolve",
"direct": false,
"version": "1.22.12",
"ecosystem": "npm"
},
{
"name": "resolve-alpn",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "responselike",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "retry",
"direct": false,
"version": "0.12.0",
"ecosystem": "npm"
},
{
"name": "reusify",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "2.6.3",
"ecosystem": "npm"
},
{
"name": "roarr",
"direct": false,
"version": "2.15.4",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.60.4",
"ecosystem": "npm"
},
{
"name": "run-parallel",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "rxjs",
"direct": false,
"version": "7.8.2",
"ecosystem": "npm"
},
{
"name": "safe-buffer",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "sanitize-filename",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "scheduler",
"direct": false,
"version": "0.23.2",
"ecosystem": "npm"
},
{
"name": "scslre",
"direct": false,
"version": "0.3.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "5.7.2",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "6.3.1",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.7.4",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.5",
"ecosystem": "npm"
},
{
"name": "semver-compare",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "serialize-error",
"direct": false,
"version": "7.0.1",
"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": "shell-quote",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "simple-update-notifier",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "source-map-support",
"direct": false,
"version": "0.5.21",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "stat-mode",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "3.10.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string_decoder",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "strip-ansi",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "strip-indent",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "strip-literal",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "sumchecker",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "10.2.2",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "supports-preserve-symlinks-flag",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "tailwindcss",
"direct": false,
"version": "3.4.19",
"ecosystem": "npm"
},
{
"name": "tar",
"direct": false,
"version": "7.5.21",
"ecosystem": "npm"
},
{
"name": "temp",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "temp-file",
"direct": false,
"version": "3.4.0",
"ecosystem": "npm"
},
{
"name": "thenify",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "thenify-all",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "tiny-async-pool",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.16",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinypool",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "tinyspy",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "7.4.8",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "7.4.8",
"ecosystem": "npm"
},
{
"name": "tmp",
"direct": false,
"version": "0.2.7",
"ecosystem": "npm"
},
{
"name": "tmp-promise",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "to-regex-range",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "truncate-utf8-bytes",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-interface-checker",
"direct": false,
"version": "0.1.13",
"ecosystem": "npm"
},
{
"name": "tslib",
"direct": false,
"version": "2.8.1",
"ecosystem": "npm"
},
{
"name": "tsx",
"direct": false,
"version": "4.23.1",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "0.13.1",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "5.9.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "7.0.2",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.65.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "6.27.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.28.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "6.21.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.18.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "universalify",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "unzipper",
"direct": false,
"version": "0.12.5",
"ecosystem": "npm"
},
{
"name": "update-browserslist-db",
"direct": false,
"version": "1.2.3",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "use-sync-external-store",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "utf8-byte-length",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "7.3.6",
"ecosystem": "npm"
},
{
"name": "vite-node",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "3.2.7",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "webcrypto-core",
"direct": false,
"version": "1.9.2",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-url",
"direct": false,
"version": "16.0.1",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "wrappy",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "15.1.1",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "yallist",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "yaml",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "17.7.2",
"ecosystem": "npm"
},
{
"name": "yargs",
"direct": false,
"version": "18.0.0",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "21.1.1",
"ecosystem": "npm"
},
{
"name": "yargs-parser",
"direct": false,
"version": "22.0.0",
"ecosystem": "npm"
},
{
"name": "yocto-queue",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": false,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "zod-validation-error",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 800,
"direct_count": 26,
"indirect_count": 774
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 24,
"open_issues": 0,
"closed_ratio": null,
"closed_issues": 0,
"closed_unmerged_prs": 19
},
"bus_factor": 1,
"bot_contributors": 1,
"top_contributors": [
{
"type": "User",
"login": "lgldsilva",
"commits": 1455,
"avatar_url": "https://avatars.githubusercontent.com/u/9433232?v=4"
}
],
"contributors_sampled": 1,
"top_contributor_share": 1
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"codeql.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [
".golangci.yml",
"eslint.config.mjs"
],
"has_editorconfig": false,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum",
"package-lock.json"
],
"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": 10,
"reason": "16 out of 16 merged PRs checked by a CI test -- score normalized to 10",
"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": 0,
"reason": "Found 0/7 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": "project was created within the last 90 days. Please review its contents carefully",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 6,
"reason": "dependency not pinned by hash detected -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 4,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 9,
"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": 5,
"reason": "5 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "46cebe106ae4f43f532d80bb66c3b917c329a8af",
"ran_at": "2026-07-29T16:09:48Z",
"aggregate_score": 5.7,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": true,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-28T01:04:04Z",
"oldest_open_prs": [
{
"number": 42,
"created_at": "2026-07-27T03:45:08Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-07-28T01:02:08Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/lgldsilva/jackui",
"host": "github.com",
"name": "jackui",
"owner": "lgldsilva"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"security": 60,
"vitality": 73,
"community": 43,
"governance": 46,
"engineering": 82
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 73,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 61,
"inputs": {
"commits_last_year": 1487,
"human_commit_share": 0.86,
"days_since_last_push": 0,
"active_weeks_last_year": 10
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "1487 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 1487
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 2,
"latest_release_tag": "vv0.100.0",
"releases_from_tags": false,
"days_since_latest_release": 6,
"mean_days_between_releases": 2.4
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "2 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 2
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~2.4 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 2.4
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "unverified",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": "repository_too_young",
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": null,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "maintenance record not established from the collected data",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_unverified",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 43,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"forks": 0,
"stars": 0,
"watchers": 0,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "0 stars",
"points": 0,
"status": "missed",
"details": [
{
"code": "stars",
"params": {
"count": 0
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "0 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 0
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "0 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 0
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (MIT)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "MIT"
}
}
],
"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": 13.5,
"status": "met",
"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": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 46,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 10,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 1,
"top_contributor_share": 1
},
"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 100% of commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "1 contributors",
"points": 1.4,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 1
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "at_risk",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Issue resolution. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"issue_resolution"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 40,
"inputs": {
"merged_prs": 24,
"open_issues": 0,
"closed_issues": 0,
"issue_closed_ratio": null,
"closed_unmerged_prs": 19
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "no issues or no data",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_issues_or_data",
"params": {}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "24/43 decided PRs merged",
"points": 21.3,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 24,
"decided": 43
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/7 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"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": 50,
"inputs": {
"followers": 8,
"owner_type": "User",
"is_verified": null,
"owner_login": "lgldsilva",
"public_repos": 37,
"account_age_days": 4292
},
"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": "8 followers of lgldsilva",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 8,
"login": "lgldsilva"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "37 public repos, account ~11 yr old",
"points": 23.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 37
}
},
{
"code": "account_age_years",
"params": {
"years": 11
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"github.com/lgldsilva/jackui"
],
"ecosystems": "go",
"any_deprecated": false,
"min_days_since_publish": 6
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on go",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "go"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 6 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 6
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "214 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 214
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 82,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "good",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 84,
"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": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"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": ".golangci.yml, eslint.config.mjs",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml, eslint.config.mjs"
}
}
],
"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": "16 out of 16 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 80,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": "https://github.com/lgldsilva/jackui",
"has_readme": true,
"has_docs_dir": true,
"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": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://github.com/lgldsilva/jackui",
"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": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "moderate",
"name": "Security",
"value": 60,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 57,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 5.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": "16 out of 16 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"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 0/7 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "project was created within the last 90 days. Please review its contents carefully",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 6",
"points": 3,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 2,
"status": "partial",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "5 existing vulnerabilities detected",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "good",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 800 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"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 800
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 73,
"inputs": {
"source": "osv",
"advisories": 7,
"affected_packages": 6,
"assessed_packages": 800,
"unassessed_packages": 0,
"affected_by_severity": "high 3, moderate 2, unknown 1",
"direct_affected_packages": 2
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "2 affected: react-router-dom 6.30.4 (moderate 6.9), golang.org/x/crypto v0.54.0 (unknown)",
"points": 14.6,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 2,
"packages": "react-router-dom 6.30.4 (moderate 6.9), golang.org/x/crypto v0.54.0 (unknown)"
}
}
],
"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 has been public longer than 90 days",
"points": 40,
"status": "met",
"details": [
{
"code": "advisories_none_stale",
"params": {
"days": 90
}
}
],
"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": 800,
"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": 2
},
"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": "excellent",
"name": "AI Readiness",
"value": 91,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.849,
"agent_instruction_files": [
"AGENTS.md",
"CLAUDE.md"
],
"agent_instruction_max_bytes": 22606
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "AGENTS.md, CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "AGENTS.md, CLAUDE.md"
}
}
],
"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": "73 of 86 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 73,
"sampled": 86
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "excellent",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum",
"package-lock.json"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"electron/tsconfig.json",
"web/tsconfig.json"
],
"agent_commit_share": 0.03,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0.14
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"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": ".golangci.yml, eslint.config.mjs",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".golangci.yml, eslint.config.mjs"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "electron/tsconfig.json, web/tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "electron/tsconfig.json, web/tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "3 of the last 100 commits agent-authored or agent-credited",
"points": 6,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 3,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "14 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 14,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 6",
"points": 6,
"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": "Go",
"largest_source_bytes": 55473,
"source_files_sampled": 978,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/978 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 978,
"oversized": 0
}
}
],
"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": [
"Could not fetch npm package 'jackui-desktop' from its registry",
"Could not fetch npm package 'jackui' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-29T16:10:04.569546Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/l/lgldsilva/jackui.svg",
"full_name": "lgldsilva/jackui",
"license_state": "standard",
"license_spdx": "MIT"
}