JSON-Rohbericht maschinenlesbar
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 2685,
"has_wiki": true,
"homepage": "https://albert26193.github.io/vitepress-theme-link/",
"languages": {
"CSS": 5777,
"Vue": 103206,
"HTML": 105674,
"SCSS": 30850,
"Shell": 97848,
"Python": 125701,
"JavaScript": 55373,
"TypeScript": 584212
},
"pushed_at": "2026-07-19T09:34:36Z",
"created_at": "2024-10-27T15:17:08Z",
"owner_type": "User",
"updated_at": "2026-07-19T09:35:05Z",
"description": null,
"is_archived": false,
"is_disabled": false,
"license_spdx": "MIT",
"default_branch": "master",
"license_spdx_raw": "MIT",
"primary_language": "TypeScript",
"significant_languages": [
"TypeScript",
"Python"
]
},
"owner": {
"blog": null,
"name": "Albert26193",
"type": "User",
"login": "Albert26193",
"company": null,
"location": null,
"followers": 32,
"avatar_url": "https://avatars.githubusercontent.com/u/56572585?v=4",
"created_at": "2019-10-15T03:21:45Z",
"is_verified": null,
"public_repos": 27,
"account_age_days": 2475
},
"license": {
"state": "standard",
"spdx_id": "MIT",
"raw_spdx": "MIT",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [],
"recent_commits": [
{
"oid": "8e4cb66b25cc0ba7ed524185f29e099097abfe3f",
"body": "DESC:\n\ncode:\n- bump all 9 publishable packages and the root manifest to 0.1.0-beta.8 in lockstep\n- sync scaffold template vitepress-theme-link dependency to 0.1.0-beta.8\n\ntest:\n- pnpm release:check -- --version 0.1.0-beta.8 --skip-registry passed locally\n\nsummarize:\n- prepare 0.1.0-beta.8 with #506 #508 #510 #512\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #513 release 0.1.0-beta.8 (#514)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-19T09:34:33Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "993e39d67993f1d3da07b325c19bc6412142ce1c",
"body": "DESC:\n\ncode:\n- clamp .tags-container to ~3 chip rows below 768px with a bottom gradient hinting hidden tags\n- add Show all (N) / Show less toggle; button and gradient only render when measured overflow exists\n- measure overflow on mount and on window resize while collapsed, so small tag sets never s\n[…]\nd shows all 51 tags\n\nsummarize:\n- stop the tags route from rendering a full-screen tag wall on phones while keeping the full cloud one tap away\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #511 collapse tags page tag cloud on narrow screens (#512)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-19T09:24:45Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6634f71110ccbc224b6fe485ad87b3405b679f3f",
"body": "…merge (#510)\n\nDESC:\n\ncode:\n- createBlog() now declares ssr.noExternal + optimizeDeps.exclude for the theme itself, removing the vite boilerplate from every consumer config.ts\n- add mergeUserConfig: user config deep-merges over the generated base (user wins; head appends; vite arrays concat; transfo\n[…]\nze:\n- make config.toml the single declarative surface and config.ts a fixed one-line shim with a working programmatic escape hatch\n\nCloses #509\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #509 simplify consumer config with user-wins createBlog …",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-19T07:19:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "accf022ce4e92c8fde8d6fd669fb4f803175613e",
"body": null,
"is_bot": false,
"headline": "feat(theme): #507 add copy-as-markdown button for llm use (#508)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T13:01:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c46e64c2594a5bdb7326f1915633275472e429f",
"body": "DESC:\n\ncode:\n- override VitePress full-bleed rule below the shared sm breakpoint\n- code blocks get margin 16px 0 and border-radius 8px in theme.scss\n- cover both plain and li-nested language block variants\n- use bp.below('sm') mixin instead of hard-coded 640px media query\n\ntest:\n- playwright probe a\n[…]\nesktop rendering unchanged (rule scoped to below sm only)\n\nsummarize:\n- mobile code blocks render as rounded cards aligned with the text column\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #505 keep mobile code blocks inside text column (#506)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T12:14:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "37c42450e9d4243ab4735dc87e7cff7fe09b2326",
"body": "DESC\n===\n\ncode:\n- bump all 9 publishable packages and the root manifest to 0.1.0-beta.7 in lockstep\n- sync scaffold template vitepress-theme-link dependency to 0.1.0-beta.7\n\ntest:\n- pnpm release:check -- --version 0.1.0-beta.7 --skip-registry passed locally\n\nsummarize:\n- prepare 0.1.0-beta.7 with #500 #502 #498 #494 #496\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #503 release 0.1.0-beta.7 (#504)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T10:26:39Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "70cb4a09389effdf574e3d7fe4a67dff7dcd82e5",
"body": "…d load real bold (#502)\n\nDESC\n===\n\ncode:\n- give sidebar section titles an explicit 14px size instead of inheriting the 16px body size (SidebarTag/SidebarLink)\n- drop forced bold from sidebar list items and TOC links; nav bar links use 700 instead of 800 (only safe under the Heti Song alias clamp)\n-\n[…]\n sizes and weights explicitly, so any configured typeface renders sanely instead of relying on the small-face system Songti masking the defects\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #501 fix chrome micro-typography under custom webfonts an…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T09:49:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "467a939518b66310a2719c160e7ea2604bc02028",
"body": "…ng, homepage graph fit (#498)\n\nDESC\n===\n\ncode:\n- add styles/_breakpoints.scss with the shared xs-2xl scale mirroring uno.config.ts screens plus vp-sidebar/vp-wide VitePress boundaries, and a unit test locking the two copies together\n- cap article images with max-width min(100%, 600px) and height au\n[…]\nithin the first screen\n\nsummarize:\n- make the content SCSS layers responsive-safe on small screens and anchor them to a single breakpoint scale\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #497 fix small-screen image overflow, code font compoundi…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T08:31:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d2e17e6e8a619b4e8c5abe311b3b7c85acbf4c23",
"body": "…font config (#500)\n\nDESC\n===\n\ncode:\n- add src/webfont.ts building one Google Fonts css2 URL from theme.fonts.webfont entries (axis passthrough) and emitting preconnect + stylesheet head entries\n- special-case a crossorigin gstatic preconnect when the base is the official Google origin\n- extend Font\n[…]\noad Google-Fonts-compatible webfonts by naming families in config.toml, with a mainland-China-friendly default mirror and a single URL override\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(plugin-config): #499 support webfont loading via theme.fonts web…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T08:24:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1a540f8e1d521dac2eca3a2aa4c9fde9c8d44adb",
"body": "…s routes (#494)\n\nDESC\n===\n\ncode:\n- recompute DocBanner word count into a shallowRef via onContentUpdated, with an onMounted pass for the initial ClientOnly mount, replacing the one-shot DOM read at setup\n- change useAuthor to accept MaybeRefOrGetter<PostFrontMatter> and return ComputedRef<string> s\n[…]\ntes the banner and matches fresh-load values\n\nsummarize:\n- fix stale word count and author in the persistent doc banner after SPA route changes\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #493 keep doc banner word count and author reactive acros…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T06:00:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7928d4fdc851731483992cb17fd95b9e08b8a630",
"body": "…keep brand color (#496)\n\nDESC\n===\n\ncode:\n- replace text-[var(...)] @apply utilities in BlogTagItem scoped styles with plain color declarations for base, hover, active, and count states\n- fix invalid var() fallback syntax in the count hover rule (var(--tag-hover-color,--vp-c-brand) to var(--tag-hove\n[…]\ng only border and box-shadow\n\nsummarize:\n- make tag text color independent of the consumer UnoCSS version so clicked tags turn brand everywhere\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #495 use plain css color for tag text so consumer builds …",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-18T06:00:20Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8d7a5e7fef68616a78efa65322591639bc57d811",
"body": "DESC\n===\n\ncode:\n- bump all 9 publishable packages and the root manifest to 0.1.0-beta.6 in lockstep\n- sync scaffold template vitepress-theme-link dependency to 0.1.0-beta.6\n\ntest:\n- pnpm release:check -- --version 0.1.0-beta.6 --skip-registry passed locally\n\nsummarize:\n- prepare 0.1.0-beta.6 with fixes #488/#490 and unblock the failed publish validate step\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #491 release 0.1.0-beta.6 (#492)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-17T10:02:23Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b943316f2501caec7db7723635cc10b36fa66990",
"body": "…k (#490)\n\nDESC\n===\n\ncode:\n- add safeDecodeHref helper in wikilinkPlugin that decodeURIComponent-decodes hrefs with a try/catch fallback to the raw value\n- decode the token href in the link_open renderer rule before classifyHref and resolveInternalLink, aligning with the analyzer's decode in link.ts\n[…]\n so non-ASCII page links failed file and index lookups and were wrongly marked broken while the graph view (which decodes) saw them as connected\n\nCo-authored-by: Claude Fable 5 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #489 decode percent-encoded hrefs before broken-link chec…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-16T13:59:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c91800fa032e073fa54615dc2b259d232725b5d1",
"body": "…ASCII paths (#488)\n\nDESC\n===\n\ncode:\n- Wrap both sides of isCurrentPage comparison in decodeURI() so percent-encoded\n VitePress page.url and decoded Vue Router route.path normalize before matching\n\ntest:\n- Visual check on demo blog post with Chinese-characters path at\n /blogs/Linux/Linux-利用systemc\n[…]\ne class applied (bold brand-color) on current post\n\nsummarize:\n- VitePress page.url is percent-encoded while Vue Router 4 route.path is decoded\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #487 fix SidebarTag current page not highlighted for non-…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-05T10:23:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ee69fcc4ebe83312769b976134c11c57e8ea2959",
"body": "DESC\n===\n\ncode:\n- Bump all 9 publishable packages to 0.1.0-beta.5\n- Sync scaffold template vitepress-theme-link dependency to 0.1.0-beta.5\n\ntest:\n- Release check passed (--require-master --skip-registry)\n\nsummarize:\n- Prepare 0.1.0-beta.5 release including sidebar link/tag cap fix from #483\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #485 release 0.1.0-beta.5 (#486)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-04T08:15:52Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "17a5287fe78da9056b97360a5acae2669e5d2b8b",
"body": "DESC\n===\n\ncode:\n- Move flex-grow spacer below SidebarTag so residual gap sits at sidebar bottom\n- Cap outgoing/back links at 10 items each with inline expand/collapse toggle\n- Cap related posts at 10 items with \"... N more\" jump link to /tags route\n- Init activeTag from computed currentTags, elimina\n[…]\nnk\n- Verify overflow jump link targets correct /tags?tag=xxx URL\n\nsummarize:\n- Eliminate mid-sidebar gap and prevent overflow in link/tag lists\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #483 cap sidebar link/tag lists and fix layout gap (#484)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-07-04T07:55:26Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9439ded862902fe699aa1df77994d8f2e6f40d26",
"body": "…s (#482)\n\nDESC\n===\n\ncode:\n- Import dayjs from its ESM build in useMeta.ts (dayjs/esm and\n dayjs/esm/plugin/customParseFormat); the default CJS entrypoints have no ESM\n default export and white-screened pnpm dev, because Vite does not rewrite\n bare CJS imports inside node_modules theme source\n- R\n[…]\nsed)\n\nsummarize:\n- Make scaffolded blogs actually render under pnpm dev with no white screen,\n guard the browser-mount path in CI, and cut 0.1.0-beta.4\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #481 fix scaffolded pnpm dev white screen from CJS import…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-25T09:16:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0be90dc14fed78c7fdc1cf3b1d324614dfcf4ff4",
"body": "…#480)\n\nDESC\n===\n\ncode:\n- Mark vitepress-theme-link as vite.ssr.noExternal and exclude it from optimizeDeps in the scaffold template .vitepress/config.ts so pnpm dev resolves the theme's source-distributed client modules (virtual:uno.css, virtual:vitepress-analyzer, heti ?url) instead of failing wit\n[…]\nail when the noExternal fix is removed\n\nsummarize:\n- Fix the broken pnpm dev shipped in beta.2 scaffolds, guard the dev path in CI, and cut 0.1.0-beta.3\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(root): #479 resolve theme client modules in scaffolded pnpm dev (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-25T06:06:04Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a38878a187e00f1691d2b961c718ead2528f3abc",
"body": "…g (#478)\n\nDESC\n===\n\ncode:\n- Add public/template/pnpm-workspace.yaml with an allowBuilds allowlist (esbuild, sharp, @parcel/watcher) so a fresh consumer pnpm install does not fail with ERR_PNPM_IGNORED_BUILDS under pnpm 11\n- Align validate:consumer with real delivery: require the template pnpm-works\n[…]\n.2 --require-build\n\nsummarize:\n- Make scaffolded blogs install and run cleanly under pnpm 11 and let the pipeline optionally promote the latest dist-tag\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #477 ship scaffold allowBuilds and promote-latest toolin…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-24T14:11:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ac84dcde396e540b83d58d9e780da788477878f8",
"body": "DESC\n===\n\ncode:\n- Bump the root and all publishable package manifests to 0.1.0-beta.1\n- Point the scaffold template dependency at vitepress-theme-link 0.1.0-beta.1\n- Update README beta release commands and npm publish confirmation token\n\ntest:\n- pnpm lint; git diff --exit-code\n- bash scripts/check-e\n[…]\n release:publish:beta -- --version 0.1.0-beta.1 --skip-registry\n\nsummarize:\n- Align local release metadata with the requested 0.1.0-beta.1 beta workflow\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #475 prepare beta.1 release state (#476)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-24T12:11:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c1c502edb1e9c9e9c56813c6872a6ca57fef2ff2",
"body": "…#474)\n\nDESC\n===\n\ncode:\n- remove the scaffold template pnpm-workspace.yaml so generated apps stay single-package projects\n- patch the packed theme artifact to depend on freshly packed local plugin tarballs during consumer validation\n- run consumer validation installs with command-scoped pnpm build a\n[…]\noval instead of writing workspace config\n\ntest:\n- pnpm validate:consumer\n\nsummarize:\n- align consumer validation with the workspace-free scaffold output\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #473 keep consumer validation free of workspace config (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-24T06:16:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "96be052e81ac02fa1fab0bda800c0c519c75abee",
"body": "…ublishing (#472)\n\npnpm 11 changed install policies and stopped reading the package.json `pnpm`\nfield, and it blocks git-sourced transitive deps by default. This broke install,\nbuild, and the publish/consumer validation pipelines, and made the published\npackages uninstallable in a fresh pnpm 11 cons\n[…]\n sites/intro config to createBlog() so it reuses the theme markdown\n pipeline instead of importing markdown-it-wikilinks directly\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #471 fix pnpm 11 compatibility for install, build, and p…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-23T14:48:54Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b9124619e02091f5dfba28aa615b33ce39a7b81a",
"body": "DESC\n===\n\ncode:\n- Add README guidance for scaffolded beta installs with explicit @beta commands.\n- Document installing vitepress-theme-link@beta in existing VitePress projects.\n- Include minimal theme entry, UnoCSS config, and createBlog() examples.\n\ntest:\n- pnpm exec prettier --check README.md\n\nsummarize:\n- Explain how users can install and configure the published npm beta packages.\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: #469 document npm beta installation (#470)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-23T08:04:36Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "bff54dfda254f023d01de0635509b0a787e240f9",
"body": "DESC\n===\n\ncode:\n- Bump the root manifest and all publishable package manifests to 0.1.0-beta.0.\n- Point the scaffold template at vitepress-theme-link 0.1.0-beta.0 for beta consumers.\n- Document explicit @beta create commands in the README quick start.\n\ntest:\n- pnpm lint\n- pnpm typecheck\n- pnpm test:\n[…]\n0 --require-build\n- pnpm release:publish:beta -- --version 0.1.0-beta.0\n\nsummarize:\n- Prepare release metadata and documentation for the first npm beta.\n\nCo-authored-by: Claude <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(release): #467 prepare 0.1.0-beta.0 metadata (#468)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-23T06:21:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "858ef316534939dd710523e30c5caa2e48944097",
"body": "DESC\n===\n\ncode:\n- add scrollbar-hiding rules to .VPSidebar in serif.scss\n- use scrollbar-width/-ms-overflow-style/::-webkit-scrollbar to cover Firefox, IE/Edge, and Chromium/Safari\n- keep overflow scroll behavior intact; only the visual scrollbar is hidden\n\ntest:\n- manual: long related-tags/posts si\n[…]\nno longer shows a scrollbar while still scrolling\n\nsummarize:\n- hide the VitePress default sidebar scrollbar for a cleaner sidebar\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #465 hide sidebar scrollbar on long tag list (#466)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-18T17:48:55Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7424504abff4654851a9e307e7c8c9ac0acaed3a",
"body": "DESC\n===\n\ncode:\n- add markdown theme schema, exported types, and shared defaults for Shiki highlight themes\n- resolve config.toml markdown themes in createBlog with partial mode fallbacks and string passthrough\n- restart the dev server when markdown theme changes so VitePress rebuilds the highlighte\n[…]\n tests, lint, formatting check, and testbed build\n\nsummarize:\n- enable first-class Shiki code highlight theme configuration through config.toml\n\nCo-authored-by: Claude Opus 4.8 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(plugin-config): #463 support Shiki themes in config.toml (#464)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-03T09:06:49Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "55738346fb6b066a6481780d1fbe47348635c8ea",
"body": null,
"is_bot": false,
"headline": "chore(config): #461 default date format to \"MMM D, YYYY\" (#462)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-03T01:58:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e47b2fdf408a0f3ec80e2541747cb6b4a9ef416b",
"body": "…s (#460)\n\nDESC\n===\n\ncode:\n- Translate Chinese comments to English in heti.d.ts (4) and _font.scss (11 font-weight annotations)\n- Extract ICP filing URL to an ICP_FILING_URL constant in Copyright.vue, bound via :href instead of an inline literal\n- Remove duplicate themeLink fallback string; the defa\n[…]\n to the same values)\n\nsummarize:\n- Theme code-quality cleanup: English-only comments and no hardcoded URLs in the footer component\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor(theme): #459 use English comments and de-hardcode footer URL…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-02T15:13:22Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3aadab5f86e2c33bfdc67525642c78a9efea4366",
"body": "…458)\n\nIntroduce a two-layer CSS-variable font system. The config plugin emits\n--theme-font-{sans,serif,mono} into generated.css only for configured roles,\nand SCSS consumes them as var(--theme-font-*, <default>) so unset config\nrenders identically to before. User values get a CJK fallback appended \n[…]\n vitepress/theme-without-fonts (drop unused\n bundled Inter); fix font-weight 900 -> 800 on Heti CJK text (faux-bold)\n\nCloses #218\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #218 add configurable font families via [theme.fonts] (#…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-02T12:51:28Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7d105cf7950aca8cf64552dfd5c56762a0b35daa",
"body": "…#457)",
"is_bot": false,
"headline": "fix(theme): #456 cap slide-enter cascade so long lists don't pop in (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-02T04:44:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24606f8eeb1c0f6364bec21cc5e8beb087bd334c",
"body": null,
"is_bot": false,
"headline": "chore(deps): #454 upgrade all workspace dependencies to latest (#455)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-02T04:20:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f0e5279c3aa10b92554f817979c026d024f85769",
"body": "…istings (#453)\n\nDESC\n===\n\ncode:\n- posts.data: change content glob from blogs/**/*.md to **/*.md so posts are discovered under docs root or blogs/ nested layouts\n- posts.data: add isPost filter excluding functional pages via article!==false / page!==true / layout!=='home', plus reserved route prefix\n[…]\nl kept\n\nsummarize:\n- fix empty Tags/Timeline/Pages on docs-root layouts by unifying the post-discovery contract without dropping dateless posts\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #452 load posts site-wide so docs-root layouts populate l…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-06-01T16:51:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "96f0db386a8f70cfe9b6504ca8b382836b10aff8",
"body": "…ig (#451)\n\nAdd a dedicated Playwright spec that drives the demo's deep-path boundary\npage and asserts, case by case, the eight wikilink syntax variants named in\nissue #434: valid, invalid (vault-absolute), broken, relative, nested,\nanchor, alias, and extension/asset, plus broken-link navigation and\n[…]\nlso previews the demo site, upload the demo dist as\npart of the CI build artifact so the downstream job can serve it.\n\nCloses #434\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "test(theme): #434 add wikilink boundary E2E and unify Playwright conf…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-31T04:47:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "dd3e54c294263ac5ea71178ac8267ec74ad69375",
"body": "…#448)\n\nDESC\n===\n\ncode:\n- bump runtime fallback `options.visibleHeight ?? 130` in setupCodeBlockFold\n- update JSDoc `@default` for visibleHeight from 50 to 130\n- sync README usage example and Options doc to the new 130 default\n\ntest:\n- update spec expectations for default-fold cases from 50px to 130px\n\nsummarize:\n- folded code blocks keep a taller, more meaningful preview hint by default\n\nCo-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(plugin-codeblock-fold): #447 raise default visibleHeight to 130 (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T16:31:42Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "7c704c72e11fc72b0663674f17b7369930e8d231",
"body": "DESC\n===\n\ncode:\n- add openOverview() helper that re-issues the Overview button click via expect().toPass() until .popup-wrapper is visible, surviving clicks dropped before Vue hydration under CI CPU contention\n- route all four D3FullScreen specs through the helper and drop fixed waitForTimeout waits\n[…]\ns)\n\nsummarize:\n- fix the hydration-race flake where the overview popup never opened because the first click landed before its handler was bound\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "test(theme): #449 stabilize flaky D3FullScreen overview e2e (#450)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T16:28:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "aa667dda1ff690c0e5f2b40cba77dabed97d046c",
"body": "DESC\n===\n\ncode:\n- unify analyzer path resolution for explicit relative fallback and directory index targets\n- move wikilink broken state and title rendering to build-time markdown processing\n- remove client-side markBrokenLinks recomputation and add shared broken href clamping\n- rewrite the demo bou\n[…]\nkiLinks.spec.ts\n- pnpm build:packages\n\nsummarize:\n- keep wikilink rendering, navigation, and broken-link handling consistent for boundary cases\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: #441 align wikilink boundary resolution (#442)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T15:40:58Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "477db927de85bafbc08dbb0dc5f32f3e4f5610f8",
"body": "… (#446)\n\nDESC\n===\n\ncode:\n- Change mt-12 to mt-6 on .tags-container in Tags.vue\n\ntest:\n- N/A (visual spacing verified via dev preview)\n\nsummarize:\n- Reduce tags container top margin from 48px to 24px for more compact spacing\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #445 reduce tags container top margin for tighter spacing…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T15:40:26Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "0bf2b98e0b3ba485265ca0d162e9e18897bd6531",
"body": null,
"is_bot": false,
"headline": "fix(theme): #443 remove sidebar related post scroller (#444)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T13:56:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0ec171fd516b911addc156637bc71de6526f5553",
"body": "Run the Playwright web server through the testbed package script so VitePress preview starts from the testbed workspace and resolves its UnoCSS config.\n\nCloses #435\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #435 load testbed UnoCSS config in E2E preview (#439)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T07:53:30Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "44b338d1cc98985bad7a80b8c4b890f46452b8cb",
"body": "DESC:\ncode: add beta-only release version, readiness check, and publish scripts with a manual npm publish workflow\ntest: validate dry-run publishing, package artifact checks, fresh consumer install, build, typecheck, and unit gates\nsummarize: provide a guarded NPM_TOKEN-based beta release path without changing package versions\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #371 add npm beta release automation (#437)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-30T04:12:05Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "25692009dcffc5578497a198a8bc8464fd69a815",
"body": "…#436)\n\nDESC\n===\n\ncode:\n- Move overflow-wrap/word-break/hyphens overrides from BlogTagItem scoped style to hetiAdjust.scss global .heti .vp-doc .blog-tag rule.\n- Covers both Vue-rendered tags and Markdown plugin-generated inline hashtags that lack scoped attributes.\n\ntest:\n- pnpm exec eslint './pack\n[…]\n overflow-wrap: normal.\n\nsummarize:\n- Unifies tag word-breaking protection so all .blog-tag elements under .heti are immune to mid-word breaks.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #407 move tag word-break overrides to global heti scope (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-29T14:53:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9f5243b6456de356db9f8a77d522ccff4ad51236",
"body": "DESC\ncode: add fast package tarball/export validator and heavy fresh-consumer\n install validator; expose validate:packages and validate:consumer root\n scripts; run validate:packages in CI build; add reusable/manual consumer\n validation workflow; update local workflow skills to include\n[…]\nh artifact checks so local workflow, PR CI,\n and future release automation can catch consumer-only failures\n\nCloses #432\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #432 add package artifact validation gates (#433)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-29T08:32:15Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "04f3f57c27d44d168469d11c2ed865c0161c1a6c",
"body": "…tion (#431)\n\nDESC\ncode: inline D3ForceConfig props in D3ForceGraph.vue to avoid cross-file\n type extends that fails in consumer's vue-compiler-sfc; add unocss,\n sass, @iconify-json/carbon devDeps to scaffold template package.json;\n add uno.config.ts to scaffold template re-exporting \n[…]\ng issues discovered during e2e tarball\n validation that blocked fresh VitePress builds outside the monorepo\n\nCloses #372\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(root): #372 fix consumer build issues found by e2e package valida…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-29T06:53:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2c6febc4f3e21b36e457b86e450319a8bbbcc532",
"body": "DESC\ncode: reclassify theme deps/devDeps/peerDeps based on actual src/ imports;\n move runtime imports (d3-*, dayjs, lodash, markdown-it, smol-toml,\n workspace plugins) from devDeps to deps; declare vitepress/vue/unocss\n as peerDeps; remove unused packages (fs-extra, globals, globby,\n \n[…]\ny classifications across all publishable\n packages so consumers get correct transitive deps at install time\n\nCloses #370\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #370 audit publish-time dependencies (#430)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-29T06:02:00Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2d209f08d0129245cae1264d4ad39782132e43d3",
"body": "Theme: remove broken main field pointing to non-existent dist/,\nadd types condition to exports[\".\"], include uno.config.ts in files.\n\nDetails-block: migrate output from dist/ to lib/ for consistency,\nfix vue-tsc type emission (override inherited noEmit), add rootDir,\nadd files field, rename CSS subp\n[…]\nect tarball contents for all 9\n packages\n\nsummarize:\n- Fix theme and details-block entrypoints for valid npm publish\n\nCloses #369\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(root): #369 fix package entrypoints and publish contents (#429)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-29T03:12:00Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1f9faffa1f2bccf69eefb49478cf9dada7269420",
"body": "…428)\n\nAdd consistent repository, homepage, bugs, author, license, engines,\npublishConfig, description, and keywords fields to every publishable\npackage.json. No empty strings or missing fields remain.\n\ncode:\n- 9 package.json files: added repository (with directory), homepage,\n bugs, publishConfig \n[…]\nor analyzer, callouts, config, hashtag\n\nsummarize:\n- Uniform npm metadata across all 9 packages for publish readiness\n\nCloses #368\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #368 complete npm package metadata for all 9 packages (#…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T16:30:40Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "c4529ca3b1b51c9a862350a020df5f486806a5aa",
"body": "Set vitepress-plugin-details-block version from 1.0.0 to 0.1.0 so all\n9 publishable packages share the same lockstep baseline before the\nfirst beta release (0.1.0-beta.0).\n\ncode:\n- packages/vitepress-plugin-details-block/package.json: 1.0.0 → 0.1.0\n\nsummarize:\n- Align the only version outlier to the agreed lockstep 0.1.0 baseline\n\nCloses #367\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #367 align details-block version to lockstep 0.1.0 (#427)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T15:17:20Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b7aa765b6b3ff72309d0137684a29f4605b96916",
"body": "Rewrite useHtmlPreview to extract textContent instead of innerHTML,\neliminating SSR/CSR hydration mismatch, broken unclosed tags, and XSS\nrisk from v-html rendering. Both BlogCardItem and BlogListItem now use\ntext interpolation for excerpts.\n\ncode:\n- useMeta.ts: SSR path strips tags via regex; CSR p\n[…]\nragile v-html HTML excerpt rendering with plain-text\n extraction to fix hydration mismatches and visible broken tags\n\nCloses #408\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #408 replace v-html excerpts with plain-text preview (#426)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T09:41:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "257376a159c188f26d5a9df8c3eab845154657cd",
"body": "…n (#425)\n\nDESC\n===\n\ncode:\n- extend getBaseFromLocation to match index pages where pathname uses /dir/ form\n- add fallback for root index page where relativePath is just \"index\"\n- fixes wikilinks being marked as broken after SPA navigation to index pages with a base path\n\ntest:\n- verified with Playw\n[…]\nackets render correctly\n\nsummarize:\n- wikilink broken-link detection now correctly extracts the VitePress base path on index pages\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #413 handle index page pathname in wikilink base detectio…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T08:23:34Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8a746919a76b9e7385e970408a24e0f62ecb335d",
"body": "DESC\n===\n\ncode:\n- set backlink text to source page firstHeading in buildDocumentRelationships and analyzeDocument\n- fall back to path basename when firstHeading is the no-heading sentinel\n- add index page path normalization in resolve-title: try /DIR/ form when /DIR/index.html misses\n\ntest:\n- update\n[…]\nnd first_heading modes\n\nsummarize:\n- backlink sidebar now displays the source page title instead of the outgoing link target label\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #403 resolve backlink titles from source page heading (#424)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T03:56:02Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "30e8ab3cf3124f29bd98ae4c5530018c2c859558",
"body": "DESC\n===\n\ncode:\n- Give custom callout blocks their own content padding instead of relying on paragraph padding.\n- Hide empty direct paragraphs and reset direct list spacing inside callouts.\n\ntest:\n- Run lint.\n- Inspect the affected live callout styling before the fix.\n\nsummarize:\n- Prevent heti and list resets from degrading callout block layout.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #415 restore callout spacing (#423)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-28T02:44:58Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4f8159203c7b890d35caac27e0fdf3569f8837f5",
"body": "DESC\n===\n\ncode:\n- Remove `@apply truncate` from `.related-posts` that overrode `overflow-scroll` with `overflow: hidden`\n- Switch `overflow-scroll` to `overflow-y-auto` for conditional scrollbar display\n- Add `flex-shrink-0` to `.page-link` to prevent flex compression to padding-only height\n\ntest:\n-\n[…]\nt links at full readable height\n\nsummarize:\n- Fixes invisible 6px-tall related post links caused by truncate CSS conflict on the flex container\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #421 restore sidebar related posts visibility (#422)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-27T09:33:10Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "5d104ef99ad75a98b4e1cda63fcdb12262c2f35b",
"body": "DESC\n===\n\ncode:\n- Normalize VitePress page frontmatter dates with the configured datetime fields before article metadata renders.\n- Preserve user-provided transformPageData hooks after the theme date normalization step.\n\ntest:\n- Add configProvider coverage for page date normalization, missing dates,\n[…]\n.data coverage for posts without dates or tags.\n\nsummarize:\n- Ensure DocBanner can display configured frontmatter date fields on article pages.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #419 normalize page frontmatter dates (#420)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-27T08:05:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1553b73549389b371355b0103175c3ca538a8e47",
"body": "DESC\n===\n\ncode:\n- Normalize post dates before checking the standard date field.\n- Preserve legacy numeric date fallback when configured datetime parsing cannot resolve the value.\n\ntest:\n- Add posts.data transform coverage for spaced frontmatter date fields, sorting, and legacy fallbacks.\n- Run theme unit tests.\n\nsummarize:\n- Ensure posts without a standard date still expose a formatted frontMatter.date for listings.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #414 normalize configured post date fields (#417)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-26T11:07:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "4493ac4bd766367d14b4d03010cf086d20096e57",
"body": "…d data loader (#416)\n\nDESC\n===\n\ncode:\n- add trim + Set dedup to frontMatter.tags in posts.data.ts content loader transform\n- add uniqueTags computed in DocBanner.vue to dedup page-level frontmatter tags\n- update currentTags computed in SidebarTag.vue with same trim + Set dedup logic\n- use String(t)\n[…]\nze:\n- normalize tags at three pipeline points to fix duplicate rendering (#411, #412)\n\nCo-Authored-By: Claude Opus 4.7\n <noreply@anthropic.com>\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #412 deduplicate and trim tags across sidebar, banner, an…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-26T11:06:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "97b2e0030ca35e1a269c632cca69143cbbc4fe7e",
"body": "DESC\n===\n\ncode:\n- Keep BlogTagItem instances from shrinking inside wrapping flex containers.\n- Override Heti word-breaking styles on tag text so each tag wraps as a whole unit.\n\ntest:\n- pnpm exec eslint './packages/**/*.{ts,tsx,js,jsx,vue}'\n- pnpm test:unit\n- pnpm -F vitepress-theme-link test:e2e --\n[…]\n and blog list tags in local preview.\n\nsummarize:\n- Fixes tag rendering so Heti typography cannot split English or numeric tag labels mid-word.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #407 prevent tag text breaking mid-word (#418)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-26T10:55:46Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "776a1dd7aeb6ef983fb965433a313b111b9156d7",
"body": "…theme (#410)\n\nDESC\n===\n\ncode:\n- Copy 87 markdown blog posts in 8 Chinese categories to sites/demo/docs/blogs/\n- Switch demo theme from Obsidian purple to Vercel Geist blue (#0070F3)\n- Expand datetime frontmatterFields to include \"date created\" and \"date modified\"\n\ntest:\n- Demo dev server starts wit\n[…]\node\n- Wikilinks render correctly in imported articles\n\nsummarize:\n- Populate demo site with 87 Chinese blog posts and apply Vercel color preset\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(docs): #409 add 87 Chinese blog posts and switch demo to Vercel …",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T13:17:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "e78e68eb61c6669b781891b29921b65ceea7d729",
"body": "…rences (#406)\n\nDESC\n===\n\ncode:\n- Fix broken UnoCSS class hover:text-color- → hover:text- in DocBanner.vue\n- Migrate --main-page-text to config.toml pipeline; remove 5 unused --main-page-* vars\n- Normalize #f0f0f0e8 to #f0f0f0 for hex consistency\n- Remove duplicated UnoCSS presets/rules/shortcuts fr\n[…]\n; visual verification in testbed dev server\n\nsummarize:\n- Eliminate hardcoded colors so config.toml changes produce consistent color experience\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor(theme): #384 replace hardcoded colors with CSS variable refe…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T12:40:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d6af2910859afd00e785b3f6bdd2a2f512a337f9",
"body": "DESC\n===\n\ncode:\n- Add CSS reset in hetiAdjust.scss for .heti .vp-doc ul/ol to use VitePress native list styling\n- Set physical properties (margin, padding-left, list-style) to match vp-doc.css defaults\n\ntest:\n- Verified computed styles (list-style-type, padding-left, margin-top) match VitePress defa\n[…]\nlled elements\n\nsummarize:\n- Reset heti list CSS overrides so ordered/unordered lists use VitePress vp-doc.css styles; auto-spacing JS preserved\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #404 exclude lists from heti CSS typography (#405)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T12:16:51Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fa92a154d79635768f93b1ff632ac8208b100f59",
"body": null,
"is_bot": false,
"headline": "chore(theme): #401 remove umbrella D3 dependencies (#402)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T05:36:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ea5408f89556fbdaa7de9e5e461f6dc94651fa9a",
"body": "Replace D3 star imports with selective sub-package imports (d3-selection,\nd3-force, d3-scale, d3-zoom, d3-drag) for tree-shaking. Convert\nHomepage's static D3FullScreen import to defineAsyncComponent so D3\nmoves to an async chunk. Set chunkSizeWarningLimit to 2000 to\naccommodate the ELK layout engin\n[…]\nage.vue;\n chunkSizeWarningLimit in configProvider.ts\nsummarize: theme.js 636KB→456KB (-28%), zero build warnings\n\nCloses #399\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "perf(theme): #399 optimize chunk splitting for smaller bundles (#400)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T05:08:31Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "18c5ffdf9bcb18080f02cef191588c0c7210a390",
"body": "…cripts (#398)\n\nDESC\n===\n\ncode:\n- Correct package/sites directory layout in project structure diagram\n- Add vitepress-plugin-image-dimension and vitepress-plugin-callout to listing\n- Add missing dev scripts: build, test, test:e2e, typecheck\n\ntest:\n- N/A\n\nsummarize:\n- Sync README.md with current monorepo state including sites/ directory and all plugins\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: #397 update README.md to reflect actual project structure and s…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T04:47:41Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9d9812f7b557fca0d7eb9bc4c53b516e505c1907",
"body": "…(#396)\n\nUpdate GitHub Pages base paths from /vitepress-clear-blog/ to\n/vitepress-theme-link/ to match the renamed repository.\n\nDESC\ncode: update VITEPRESS_BASE env vars for demo and testbed sites\nsummarize: align deploy workflow with new repo name\n\nCloses #395\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #395 update deploy.yml VITEPRESS_BASE after repo rename …",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-24T04:07:34Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "3abf077be193eb7d32fdf87866d73d98293e148f",
"body": "Rename three packages to align with npm publishing strategy:\n- vitepress-clear-blog → vitepress-theme-link (theme)\n- vitepress-plugin-callout → vitepress-plugin-callouts (npm conflict)\n- create-blog-template → create-vitepress-theme-link (scaffold)\n\nDESC\ncode: rename directories (git mv), update all\n[…]\nmechanical rename of 3 npm packages across the entire\n monorepo — 104 files changed with zero logic changes\n\nCloses #393\n\nCo-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(root): #393 rename packages for npm publish readiness (#394)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T16:30:45Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b197974bbeffe413ac305704337e23ae6d4b2ceb",
"body": "… easing modes (#392)\n\nDESC\n===\n\ncode:\n- Add --enter-animation, --enter-easing, --enter-duration CSS variables in animated.scss with backward-compatible defaults\n- Add .slide-enter-fast easing mode class (cubic-bezier(0.165, 0.84, 0.44, 1))\n- Connect Homepage.vue to slide-enter-content with homepage\n[…]\non\n\nsummarize:\n- Allow pages to customize animation direction and speed via inherited CSS custom properties without fighting global specificity\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #388 expose progressive entrance animation variables and…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T09:50:08Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "0b531c61a9bd9342092bbfe5e9d0696e2a3cd11f",
"body": "…S inspection (#391)\n\nDESC\n===\n\ncode:\n- Add explore.mjs script with 4 Playwright actions: eval, html, screenshot, computed-styles\n- Add SKILL.md with action reference, common workflows, and output contract\n- Add references/playwright-snippets.md with reusable JS snippets by task category\n- Add comma\n[…]\ntput and symlink structure\n\nsummarize:\n- Enable AI agents to inspect live browser state via headless Chromium for debugging and design research\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: #389 add tool-explore-playwright agent skill for browser DOM/CS…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T09:49:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "501dce4bd7983a132294d7fa2b722d5add6ba486",
"body": "…390)\n\nDESC\n===\n\ncode:\n- Add tool-preview skill with SKILL.md, command wrapper, and start-preview.sh\n- start-preview.sh auto-allocates port from 5000, supports --mode dev|preview and --site testbed|demo|intro\n- Unify PORT env var across all three site package.json scripts\n- Remove hardcoded port 400\n[…]\nill 100% pass rate vs without-skill 66.7%\n\nsummarize:\n- One-command local preview with automatic port allocation for parallel agent development\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #387 add tool-preview skill with auto port allocation (#…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T09:49:18Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "735bec5fd9500cc7366974da22726f7ba4702d35",
"body": "…t (#386)\n\nAdd 6 CSS variable keys (vp-c-bg-alt, vp-c-brand-2, vp-c-text-2,\nvp-c-divider, vp-code-bg, vp-code-block-bg) to the config.toml theme\nsystem. Replace ad-hoc defaults with Obsidian's real color palette from\napp.css v1.12.7. 7 brand presets with verified design-system values.\n\nCloses #385\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #385 expand color system to 15 vars with Obsidian defaul…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T09:04:55Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "99605fd0ee042152f09c64627652c9cc4afe35ee",
"body": "…I (#382)\n\nDESC\n===\n\ncode:\n- Replace error-card count assertion with console error monitoring for page stability\n- Update negative samples to use syntax more likely to trigger renderer edge cases\n\ntest:\n- PostMermaid E2E neg test now verifies zero console errors instead of brittle count\n- All 5 Post\n[…]\nlly with build:testbed\n\nsummarize:\n- Remove brittle .mermaid-error count assertion that fails when mermaid SVG handles broken syntax gracefully\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #381 stabilize PostMermaid E2E negative samples test on C…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T06:59:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "24084fa403565f8c455d92d46388131602ef2151",
"body": "…to) via config.toml (#379)\n\nDESC\n===\n\ncode:\n- Add MermaidRenderMode type (auto|ascii|svg) and mermaid_render TOML config field\n- Extend mermaidPlugin with renderMode option wired from configProvider to PostMermaid\n- Add renderWithBeautifulMermaidSvg path using upstream beautiful-mermaid public API\n\n[…]\nnegative mermaid samples rendering as error cards\n\nsummarize:\n- Make Mermaid render output selectable while defaulting to beautiful-mermaid SVG\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #377 add configurable Mermaid render modes (svg/ascii/au…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T06:32:42Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a3bb2dd6dfbb31b6e8a0f4b6951355cefe19b373",
"body": "…#380)\n\nDESC\n===\n\ncode:\n- swap moment.js (~100 KB) for dayjs (~2 KB) in datetime.ts and useMeta.ts\n- add customParseFormat plugin for strict multi-format date parsing\n- spread format array before passing to dayjs to prevent input mutation\n- use strict parsing in _checkTimeFormat to reject invalid mo\n[…]\neduced from 680 KB to 632 KB\n- pnpm typecheck + pnpm lint: clean\n\nsummarize:\n- replace moment.js with dayjs and fix dev:packages race condition\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #378 replace moment.js with dayjs to reduce bundle size (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-23T06:26:14Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "70e29e83b73fe62f438208518177b777f33e9238",
"body": "DESC\n===\n\ncode:\n- Share pageCandidate href resolution between wikilinks and Markdown links.\n- Format unresolved internal targets as target URL 404 hrefs instead of /../ paths.\n- Preserve base handling boundaries so Markdown links avoid double base output.\n\ntest:\n- Update wikilinkPlugin unit tests fo\n[…]\n2E coverage for unresolved wikilink href output.\n\nsummarize:\n- Keep broken internal links inside the site base while preserving broken markers.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #375 normalize broken internal link hrefs (#376)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-21T10:15:53Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "8ce20a07083a43b73ff66c618a9b33cfe3e754f0",
"body": "DESC\n===\n\ncode:\n- Add shared link target classification for page candidates, assets, anchors, external URLs, and protocol-relative URLs.\n- Split page href formatting so Markdown links leave base handling to VitePress while custom wikilinks remain base-aware.\n- Reuse the classifier in client broken-l\n[…]\n-safe page hrefs.\n\nsummarize:\n- Prevent resource links from being styled as broken pages and avoid double base prefixes on Markdown page links.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #373 classify markdown link targets (#374)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-21T07:44:03Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4969b646e38d6699ccbb182c77ee9b0b5474eda0",
"body": "DESC\n===\n\ncode:\n- Apply VitePress base and cleanUrls-aware page suffixes to resolved wikilinks and Markdown internal links.\n- Align sidebar page links with the same href rules used by inline content links.\n\ntest:\n- Add focused wikilink plugin coverage for base paths, cleanUrls, and query/hash suffix\n[…]\n WikiLinks and SidebarLink E2E assertions for matching page hrefs.\n\nsummarize:\n- Prevent internal page links from escaping subpath deployments.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #363 normalize internal page hrefs (#366)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-21T01:54:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "76cf6a6c6743235af25b526b846f242ecc732322",
"body": "…#365)\n\nDESC\n===\n\ncode:\n- add pnpm install to workflow-git-pr Step 0 after checking for changes\n- add pnpm install to post-pr cleanup script after process cleanup\n- update tool-post-pr SKILL.md to document the new dependency refresh step\n\ntest:\n- confirmed pnpm install runs during pre-flight and cle\n[…]\nages are ready for typecheck and unit test after install\n\nsummarize:\n- keep workspace dependencies in a known-good state across the PR workflow\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore: #364 run pnpm install in workflow-git-pr and post-pr cleanup (…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-21T01:46:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "458123ad4ee2bd8ac78c59c5ddd27a36bb5bd082",
"body": "DESC\n===\n\ncode:\n- replace awk-based detection with cwd-scoped matching against repo worktree roots\n- discover cleanup roots across sibling codespace worktree directories\n- terminate candidate process groups with TERM then KILL fallback\n- wait up to 5 s for pids to exit before reporting killed count\n\n[…]\nch for unrelated processes in other repositories\n\nsummarize:\n- fix cleanup script so it reliably detects and terminates stale preview processes\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(tool-post-pr): #361 kill repo-scoped preview processes by cwd (#362)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-21T01:26:53Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4476a45d59635a1ddaacdbc6b8103427a67202a7",
"body": "DESC\n===\n\ncode:\n- keep node-only theme plugin integrations in devDependencies\n- bundle analyzer, callout, config, image-dimension, and llms into the theme node entry\n- update the pnpm lockfile to match the dependency grouping\n\ntest:\n- pnpm install\n- pnpm build:packages\n- pnpm typecheck\n- checked the\n[…]\noutput for external callout, config, and image-dimension imports\n\nsummarize:\n- reduce external runtime dependencies for node-only theme plugins\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "chore(theme): #359 bundle node-only plugin dependencies (#360)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T15:25:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "1ab6b340e36d9c29b24293a7fe58cc6fda3c2706",
"body": null,
"is_bot": false,
"headline": "refactor(plugin-config): #355 consolidate config toml lookup (#358)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T14:45:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2f92c0d55932aa8065f55d15e583f77ce25591bb",
"body": "…dependency (#357)\n\nDESC\n===\n\ncode:\n- inline getPageBackLinks/getPageOutgoingLinks as direct property access in SidebarLink.vue\n- add local PageLink/PageMetadata/SitePages types in src/types/analyzer.ts\n- redirect all client type-only imports from vitepress-plugin-analyzer/types to local types\n- mov\n[…]\ncies to dependencies (#354)\n\ntest:\n- update title.spec.ts PageLink import to use local analyzer types\n\nsummarize:\n- analyzer client imports were thin data accessors, inlined to make it build-time only",
"is_bot": false,
"headline": "refactor(theme): #356 inline analyzer client accessors, drop runtime …",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T14:01:50Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "bafefbea22050f08af3870caa4a21dedd321d0a9",
"body": "DESC:\ncode:\n- collect footnote body content after markdown-it-footnote generates tail tokens\n- pass FooterRef props as encoded Vue dynamic props so rendered markdown content stays intact\n- keep clickable card keyboard handlers from treating keyboard events as route targets\n- tighten FooterRef and Bl\n[…]\nlogCardItem.spec.ts e2e/FooterRef.spec.ts\n\nsummarize:\n- fixes built footnote pages so hovering inline references shows rendered tooltip content\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #350 restore footnote tooltip content (#351)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T10:05:23Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "42ad99a7a39cf85aa633ba7668e06ac78f28ee60",
"body": "DESC\n===\n\ncode:\n- Preserve markdown-it footnote reference and target anchors when rendering FooterRef.\n- Let FooterRef use explicit anchor props while keeping id-only manual usage compatible.\n\ntest:\n- Add E2E coverage for repeated footnote backlinks targeting unique references.\n- pnpm lint\n\nsummarize:\n- Keep repeated footnote backlinks navigable by matching markdown-it generated anchors.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #352 preserve repeated footnote backlinks (#353)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T09:28:49Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2e36e3f022ec24e36f49a4e64d308a1c8fe86b5d",
"body": "DESC\n===\n\ncode:\n- Expose analyzer internal link resolution and use it for analyzer metadata generation.\n- Replace body wikilink rendering with a build-time MarkdownIt rule backed by the shared resolver.\n- Resolve regular internal Markdown links through the same path logic and mark unresolved links a\n[…]\n tests, and targeted WikiLinks E2E.\n\nsummarize:\n- Keep inline body links, sidebar metadata, backlinks, and graph links aligned on one resolver.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #348 unify internal link resolution (#349)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-20T07:07:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cd686ab10fe5f64398bc549edb064fb2a3005d50",
"body": "…ADME (#347)\n\n- Add `image_dimension` field to template config.toml with full sub-option docs\n- Fix `render_title` comment to include `file_name` option\n- Add `docs/example.md` as a minimal blog post template with frontmatter\n- Show per-package-manager scaffold commands in main README, add `@latest`\n- Unify content directory references to `docs/` across both READMEs\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(template): #346 polish scaffold config, add example post, fix RE…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T14:58:03Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "5f8f812e87a8ed483a9de3dcf684f6bfa7e3e67b",
"body": "DESC:\ncode:\n- add a tool-pnpm build_preview.sh script that builds the testbed and starts a VitePress production preview\n- update workflow-git-pr to use build preview output and document a standard reviewer entry route in PR bodies\n- remove the old workflow-local dev smoke script and make post-PR cle\n[…]\nost-pr/scripts/post-pr-cleanup.sh\n\nsummarize:\n- replace misleading localhost dev smoke output with build-based preview tooling for PR workflows\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(root): #341 add build preview workflow tooling (#345)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T14:07:21Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "a3eed0e4a8f92aa850d249f615fc1bebcfd6e5df",
"body": "DESC:\ncode:\n- Remove Mermaid temporary render containers after successful SVG rendering.\n- Remove Mermaid temporary render containers after render failures.\n\ntest:\n- Add unit coverage for cleanup after successful and failed Mermaid rendering.\n- Run lint, Mermaid unit tests, typecheck, and browser validation.\n\nsummarize:\n- Prevent Mermaid's body-level temporary error SVGs from remaining in pages.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #343 remove mermaid temporary error svg containers (#344)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T07:11:21Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "d920733f414f3149db38bd86fc5f13ce4d633d96",
"body": "DESC:\ncode:\n- Return a typed Mermaid render error result when SVG rendering fails.\n- Show a bounded PostMermaid error block instead of rendering Mermaid's oversized error SVG.\n\ntest:\n- Add unit coverage for Mermaid render failure results.\n- Run lint, targeted Mermaid unit tests, and typecheck.\n\nsummarize:\n- Prevent invalid Mermaid diagrams from breaking the page layout.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #319 contain mermaid render failures (#342)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T06:44:17Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "411bd3437a8d8ee7024500de4c2e5aaf8d6bbd3d",
"body": "DESC\n===\n\ncode:\n- route D3 page and site node labels through the shared title resolver\n- pass the configured render_title mode into D3 title resolution\n- normalize leading slashes before matching posts to generated regular paths\n\ntest:\n- add title resolver coverage for file_name, alias, and first_he\n[…]\n3 transform coverage for site graph labels and page/site consistency\n\nsummarize:\n- ensure D3 graph labels match configured page title rendering\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #338 unify d3 graph node labels (#340)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T04:01:50Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "95a0a50551d173bef5eff29ad6776609fbe56c4c",
"body": "DESC:\ncode: add a local search font CSS variable and apply it to the VitePress search input, results, excerpts, and empty state.\ntest: pnpm lint; pnpm typecheck; bash scripts/check-e2e-coverage.sh; pnpm test:unit; pnpm build.\nsummarize: local search can now use the theme serif stack independently from VitePress defaults.\n\nCloses #337\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #337 make local search font configurable (#339)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-19T04:01:35Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "59dcafec37b0c3c84555a1965c83cd38cc29aab3",
"body": "…nsion coverage (#336)\n\nDESC\n===\n\ncode:\n- Add 5 config sections to demo config.toml: datetime, blog, outline, timeline, links\n- Add render_title and link_style settings to the markdown section\n- Create 24 new markdown documents organized into 6 semantic groups\n- Collections: 4 documents including Ch\n[…]\nsite from 6 blog posts to 35 documents with full Markdown extension coverage, wikilinks cross-reference network, and semantic content grouping.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(docs): #320 expand demo with semantic grouping and Markdown exte…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T16:29:07Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "cd5639aa8f89eb8a6298812d1e86732d874ea680",
"body": "DESC\ncode:\n- add vitepress-plugin-image-dimension to normalize image size syntax into width and height attributes\n- wire the plugin into theme markdown config with config.toml options and remove legacy alt-suffix width CSS\n- extend config schema and theme tests for image_dimension settings\n\ntest:\n- \n[…]\npm typecheck\n- pnpm build:packages\n- pnpm lint\n\nsummarize:\n- Support migrated Markdown image sizing conventions through one server-side parser.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #318 add markdown image dimension parser (#335)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T16:28:16Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "07d85e81529a0c0d63e9bf8c576d9b636e9fa323",
"body": "…e composable (#334)\n\nDESC\n===\n\ncode:\n- Add useClickAble composable that wraps router.go(withBase(path)) for SPA navigation\n- Migrate BlogCardItem from window.location.href to composable (fixes full page reload)\n- Migrate BlogListItem, Tags, DocBanner, Homepage to shared navigation handler\n- Migrate\n[…]\nth one composable, fix BlogCardItem full-reload bug, and add consistent keyboard accessibility across all non-D3 post-navigation click targets.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor(theme): #321 extract post navigation into shared useClickAbl…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T13:54:24Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d096648b8eea08c8e678b88d65b976dc411687ff",
"body": "DESC\n====\n\ncode:\n- Add Vite as a root devDependency so tsconfig.base.json can resolve vite/client during vue-tsc project builds\n- Add VitePress as a create-blog-template devDependency because its checked template config imports vitepress\n- Refresh pnpm-lock.yaml to make the clean install dependency \n[…]\n- pnpm test:unit\n- pnpm build\n\nsummarize:\n- Prevent clean CI Type Check from failing when root project references Vite/VitePress type libraries\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(root): #332 declare Vite deps for clean typecheck installs (#333)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T10:51:25Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "b4909f4b64cf6e9032717529cbc857bb78ff735f",
"body": "DESC\n===\n\ncode:\n- Add tsconfig.base.json with shared compilerOptions and workspace source-first paths\n- Add root tsconfig.typecheck.json orchestrating composite project references\n- Add per-package and per-site tsconfig.typecheck.json for all 11 workspace units\n- Change typecheck script to vue-tsc -\n[…]\n root vue-tsc devDependency\n\nsummarize:\n- Separate TypeScript checking from production builds via project references and CI artifact boundaries\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: #330 decouple TypeScript typecheck from package builds (#331)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T09:49:13Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "98b9bccbf4319603359466537919edb72ca708fe",
"body": "DESC:\ncode:\n- Remove the root .npmrc that forced pnpm-only hoisting options to be read by npm.\n- Add direct dependencies for packages that previously relied on hoisted modules.\n- Refresh pnpm-lock.yaml after declaring missing workspace dependencies.\n\ntest:\n- pnpm lint\n- clean install with pnpm insta\n[…]\nfilepath test.json\n\nsummarize:\n- Replace implicit hoisting with explicit package dependencies so npm tools run without unknown config warnings.\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(root): #305 remove pnpm-only npmrc config warnings (#328)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T09:48:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7ac66b28863506709670b9921c8790e38c1eabef",
"body": "…eanup (#327)\n\nDESC\n===\n\ncode:\n- Collect stale PID list to variable before piping to xargs kill\n- Guard kill with emptiness check to avoid xargs running without arguments\n- Add || true inside command substitution to handle grep no-match exit code\n\ntest:\n- Ran smoke-dev.sh locally — pre_cleanup no lo\n[…]\ns and reports VitePress URL successfully\n\nsummarize:\n- Fix set -euo pipefail + grep exit code + xargs no-arg interaction that caused early exit\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(workflow): #326 prevent smoke-dev.sh from exiting early in pre_cl…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-18T07:42:35Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "6ef369eba07043300e36f095a3616ff0f92389a3",
"body": "DESC\n===\n\ncode:\n- add data-link-style-target for markdown-rendered links and make wiki decoration depend on that marker\n- remove legacy data-wikilink-broken while keeping broken-link and data-link-broken as the unified broken state\n- render hashtags through a HashtagTag client component so tag chips\n[…]\n, hashtag tags, and broken links\n\nsummarize:\n- keep wiki-style link presentation scoped to markdown content without affecting theme UI controls\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(theme): #322 prevent wiki link styles leaking into UI (#324)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-17T17:10:30Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "901bb0ad19df1b31e075c6fb15be7d40cda74678",
"body": "DESC\n===\n\ncode:\n- add markdown.link_style config validation and expose linkStyle through Vite defines and theme config\n- rename render_title plumbing to generic renderTitle and __RENDER_TITLE__ for wiki and markdown links\n- mark internal links with data-link-internal and use a unified broken-link st\n[…]\nn, and broken link decoration\n\nsummarize:\n- make internal link presentation configurable while keeping link semantics explicit and test-covered\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #316 add configurable internal link styles (#317)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-17T14:46:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "4274dabf3505fd19e3d4acf721f9ae35166c5422",
"body": "DESC\n===\n\ncode:\n- Extract inline index.html from deploy.yml to .github/workflows/index.html\n- Replace heredoc cat with cp command in deploy.yml\n\ntest:\n- Deploy workflow output must be identical to before\n\nsummarize:\n- Improve readability of deploy workflow by separating markup from pipeline\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "refactor: #314 extract deploy landing page to standalone file (#315)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-17T12:06:28Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "b4a5639b843e5608a813cc5366a3e92d7945acec",
"body": "DESC\n===\n\ncode:\n- Update push.paths triggers from packages/ to sites/ for demo and testbed\n- Update cp commands to copy build artifacts from sites/ paths\n- Add root index.html landing page linking to /demo/ and /testbed/\n\ntest:\n- Deploy workflow must complete successfully on push to master\n- Landing page must be served at the root GitHub Pages URL\n\nsummarize:\n- Fix deploy workflow broken by #308 monorepo restructure\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: #312 update deploy workflow paths for sites/ restructure (#313)",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-17T11:54:00Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "8f3f7b0a17ac027c05f91ac23b21aca0f511dce3",
"body": "…ageSizeList (#311)\n\nDESC\n===\n\ncode:\n- add pageSizeCard and pageSizeList optional fields to page schema in plugin-config\n- wire new fields through configProvider into themeConfig\n- BlogCardPagination resolves pageSizeCard || pageSize || 9\n- BlogListPagination resolves pageSizeList || pageSize || 4\n-\n[…]\nBlogMain/BlogCardPagination/BlogListPagination E2E\n\nsummarize:\n- card and list views on /pages can now have independent posts-per-page settings\n\nCo-authored-by: Claude Opus 4.7 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(theme): #309 add per-view pagination controls pageSizeCard and p…",
"author_name": "Albert26193",
"author_login": "Albert26193",
"committed_at": "2026-05-17T11:29:01Z",
"body_truncated": true,
"is_coding_agent": true
}
],
"releases_count": 0,
"commits_last_year": 238,
"latest_release_at": null,
"latest_release_tag": null,
"releases_from_tags": false,
"days_since_last_push": 5,
"active_weeks_last_year": 13,
"days_since_latest_release": null,
"mean_days_between_releases": null
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": false,
"has_contributing": false,
"health_percentage": 28,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "vitepress-theme-link",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"theme",
"blog",
"vue"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-theme-link",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2894,
"first_published_at": "2026-06-23T07:30:15.255000Z",
"latest_published_at": "2026-07-19T09:52:47.908000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-config",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"config",
"toml"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-config",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2989,
"first_published_at": "2026-06-23T07:29:56.667000Z",
"latest_published_at": "2026-07-19T09:52:30.297000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-hashtag",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"hashtag",
"tag"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-hashtag",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2931,
"first_published_at": "2026-06-23T07:30:04.367000Z",
"latest_published_at": "2026-07-19T09:52:37.149000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-analyzer",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"analyzer",
"backlink"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-analyzer",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2500,
"first_published_at": "2026-06-23T07:29:45.667000Z",
"latest_published_at": "2026-07-19T09:52:20.086000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-callouts",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"callout",
"admonition"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-callouts",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2472,
"first_published_at": "2026-06-23T07:29:49.586000Z",
"latest_published_at": "2026-07-19T09:52:23.577000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "create-vitepress-theme-link",
"exists": true,
"license": "MIT",
"keywords": [
"create",
"vitepress",
"theme",
"blog",
"scaffold"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/create-vitepress-theme-link",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 1028,
"first_published_at": "2026-06-23T07:30:19.531000Z",
"latest_published_at": "2026-07-19T09:52:51.262000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-details-block",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"details",
"component"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-details-block",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2482,
"first_published_at": "2026-06-23T07:30:00.399000Z",
"latest_published_at": "2026-07-19T09:52:33.650000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
},
{
"name": "vitepress-plugin-codeblock-fold",
"exists": true,
"license": "MIT",
"keywords": [
"vitepress",
"plugin",
"codeblock",
"fold"
],
"ecosystem": "npm",
"matches_repo": true,
"registry_url": "https://www.npmjs.com/package/vitepress-plugin-codeblock-fold",
"is_deprecated": false,
"latest_version": "0.1.0-beta.8",
"repository_url": "https://github.com/Albert26193/vitepress-theme-link",
"versions_count": 9,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": 1,
"monthly_downloads": 2462,
"first_published_at": "2026-06-23T07:29:52.991000Z",
"latest_published_at": "2026-07-19T09:52:27.004000Z",
"latest_version_yanked": null,
"days_since_latest_publish": 5
}
]
},
"popularity": {
"forks": 0,
"stars": 3,
"watchers": 1,
"fork_history": {
"days": [],
"complete": true,
"collected": 0,
"total_forks": 0
},
"star_history": null,
"open_issues_and_prs": 15
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [
"demos"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [
"packages/theme/tsconfig.json",
"packages/vitepress-plugin-analyzer/tsconfig.json",
"packages/vitepress-plugin-callouts/tsconfig.json",
"packages/vitepress-plugin-codeblock-fold/tsconfig.json",
"packages/vitepress-plugin-config/tsconfig.json",
"packages/vitepress-plugin-details-block/tsconfig.json",
"packages/vitepress-plugin-hashtag/tsconfig.json",
"tsconfig.json"
],
"toolchain_manifests": [],
"largest_source_bytes": 27393,
"source_files_sampled": 202,
"oversized_source_files": 0,
"agent_instruction_files": [
".agents/AGENTS.md",
"agents.md"
],
"agent_instruction_max_bytes": 17025
},
"dependencies": {
"manifests": [
"package.json"
],
"advisories": {
"error": null,
"scope": "published_package",
"source": "osv",
"findings": [
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 7.3,
"advisory_ids": [
"GHSA-f88m-g3jw-g9cj"
],
"fixed_version": "0.35.0",
"advisory_count": 1,
"oldest_advisory_days": 3
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 291,
"malicious_count": 0,
"assessed_package": "npm:vitepress-theme-link@0.1.0-beta.8",
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"npm"
],
"dependencies": [
{
"name": "@iconify-json/carbon",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^1.2.22"
},
{
"name": "@vueuse/core",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^14.3.0"
},
{
"name": "beautiful-mermaid",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^1.1.3"
},
{
"name": "d3-drag",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-force",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-scale",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.2"
},
{
"name": "d3-selection",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "d3-zoom",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.0"
},
{
"name": "dayjs",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^1.11.21"
},
{
"name": "gray-matter",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.3"
},
{
"name": "heti",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^0.9.6"
},
{
"name": "markdown-it",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^14.2.0"
},
{
"name": "markdown-it-footnote",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.0"
},
{
"name": "markdown-it-mathjax3",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^5.2.0"
},
{
"name": "markdown-it-task-lists",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^2.1.1"
},
{
"name": "mermaid",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^11.15.0"
},
{
"name": "photoswipe",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^5.4.4"
},
{
"name": "smol-toml",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.1"
},
{
"name": "vitepress-plugin-analyzer",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-callouts",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-codeblock-fold",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-config",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-details-block",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-hashtag",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-image-dimension",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-llms",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^1.13.1"
},
{
"name": "vitepress-plugin-rss",
"manifest": "packages/theme/package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.4"
},
{
"name": "gray-matter",
"manifest": "packages/vitepress-plugin-analyzer/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.3"
},
{
"name": "markdown-it",
"manifest": "packages/vitepress-plugin-analyzer/package.json",
"ecosystem": "npm",
"version_constraint": "^14.2.0"
},
{
"name": "neverthrow",
"manifest": "packages/vitepress-plugin-analyzer/package.json",
"ecosystem": "npm",
"version_constraint": "^8.2.0"
},
{
"name": "markdown-it",
"manifest": "packages/vitepress-plugin-callouts/package.json",
"ecosystem": "npm",
"version_constraint": "^14.2.0"
},
{
"name": "smol-toml",
"manifest": "packages/vitepress-plugin-config/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.1"
},
{
"name": "zod",
"manifest": "packages/vitepress-plugin-config/package.json",
"ecosystem": "npm",
"version_constraint": "^4.4.3"
},
{
"name": "markdown-it",
"manifest": "packages/vitepress-plugin-hashtag/package.json",
"ecosystem": "npm",
"version_constraint": "^14.2.0"
},
{
"name": "markdown-it-hashtag",
"manifest": "packages/vitepress-plugin-hashtag/package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.0"
},
{
"name": "markdown-it",
"manifest": "packages/vitepress-plugin-image-dimension/package.json",
"ecosystem": "npm",
"version_constraint": "^14.2.0"
},
{
"name": "vitepress",
"manifest": "sites/intro/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.4"
},
{
"name": "vitepress-theme-link",
"manifest": "sites/intro/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-callouts",
"manifest": "sites/intro/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-config",
"manifest": "sites/intro/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "@types/markdown-it-footnote",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^3.0.4"
},
{
"name": "markdown-it-footnote",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^4.0.0"
},
{
"name": "smol-toml",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.1"
},
{
"name": "vitepress",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^1.6.4"
},
{
"name": "vitepress-plugin-analyzer",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-callouts",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-config",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-hashtag",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
},
{
"name": "vitepress-plugin-rss",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^0.4.4"
},
{
"name": "vitepress-sidebar",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "^1.36.1"
},
{
"name": "vitepress-theme-link",
"manifest": "sites/testbed/package.json",
"ecosystem": "npm",
"version_constraint": "workspace:*"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "@iconify-json/carbon",
"direct": true,
"version": "1.2.22",
"ecosystem": "npm"
},
{
"name": "@iconify-json/carbon",
"direct": true,
"version": "^1.2.16",
"ecosystem": "npm"
},
{
"name": "@iconify-json/carbon",
"direct": true,
"version": "^1.2.22",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it-footnote",
"direct": true,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it-footnote",
"direct": true,
"version": "^3.0.4",
"ecosystem": "npm"
},
{
"name": "@vueuse/core",
"direct": true,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/core",
"direct": true,
"version": "14.3.0",
"ecosystem": "npm"
},
{
"name": "@vueuse/core",
"direct": true,
"version": "^14.3.0",
"ecosystem": "npm"
},
{
"name": "beautiful-mermaid",
"direct": true,
"version": "1.1.3",
"ecosystem": "npm"
},
{
"name": "beautiful-mermaid",
"direct": true,
"version": "^1.1.3",
"ecosystem": "npm"
},
{
"name": "d3-drag",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-drag",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-force",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-force",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": true,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-scale",
"direct": true,
"version": "^4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-selection",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-selection",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-zoom",
"direct": true,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-zoom",
"direct": true,
"version": "^3.0.0",
"ecosystem": "npm"
},
{
"name": "dayjs",
"direct": true,
"version": "1.11.21",
"ecosystem": "npm"
},
{
"name": "dayjs",
"direct": true,
"version": "^1.11.21",
"ecosystem": "npm"
},
{
"name": "gray-matter",
"direct": true,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "gray-matter",
"direct": true,
"version": "^4.0.3",
"ecosystem": "npm"
},
{
"name": "heti",
"direct": true,
"version": "0.9.6",
"ecosystem": "npm"
},
{
"name": "heti",
"direct": true,
"version": "^0.9.6",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": true,
"version": "14.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-it",
"direct": true,
"version": "^14.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-footnote",
"direct": true,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-footnote",
"direct": true,
"version": "^4.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-hashtag",
"direct": true,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-hashtag",
"direct": true,
"version": "^0.4.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-mathjax3",
"direct": true,
"version": "4.3.2",
"ecosystem": "npm"
},
{
"name": "markdown-it-mathjax3",
"direct": true,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-mathjax3",
"direct": true,
"version": "^5.2.0",
"ecosystem": "npm"
},
{
"name": "markdown-it-task-lists",
"direct": true,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "markdown-it-task-lists",
"direct": true,
"version": "^2.1.1",
"ecosystem": "npm"
},
{
"name": "mermaid",
"direct": true,
"version": "11.15.0",
"ecosystem": "npm"
},
{
"name": "mermaid",
"direct": true,
"version": "^11.15.0",
"ecosystem": "npm"
},
{
"name": "neverthrow",
"direct": true,
"version": "8.2.0",
"ecosystem": "npm"
},
{
"name": "neverthrow",
"direct": true,
"version": "^8.2.0",
"ecosystem": "npm"
},
{
"name": "photoswipe",
"direct": true,
"version": "5.4.4",
"ecosystem": "npm"
},
{
"name": "photoswipe",
"direct": true,
"version": "^5.4.4",
"ecosystem": "npm"
},
{
"name": "smol-toml",
"direct": true,
"version": "1.6.1",
"ecosystem": "npm"
},
{
"name": "smol-toml",
"direct": true,
"version": "^1.6.1",
"ecosystem": "npm"
},
{
"name": "vitepress",
"direct": true,
"version": "1.6.3",
"ecosystem": "npm"
},
{
"name": "vitepress",
"direct": true,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "vitepress",
"direct": true,
"version": "^1.6.4",
"ecosystem": "npm"
},
{
"name": "vitepress-plugin-llms",
"direct": true,
"version": "1.13.1",
"ecosystem": "npm"
},
{
"name": "vitepress-plugin-llms",
"direct": true,
"version": "^1.13.1",
"ecosystem": "npm"
},
{
"name": "vitepress-plugin-rss",
"direct": true,
"version": "0.4.4",
"ecosystem": "npm"
},
{
"name": "vitepress-plugin-rss",
"direct": true,
"version": "^0.4.4",
"ecosystem": "npm"
},
{
"name": "vitepress-sidebar",
"direct": true,
"version": "1.36.1",
"ecosystem": "npm"
},
{
"name": "vitepress-sidebar",
"direct": true,
"version": "^1.36.1",
"ecosystem": "npm"
},
{
"name": "vitepress-theme-link",
"direct": true,
"version": "0.1.0-beta.8",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "4.4.3",
"ecosystem": "npm"
},
{
"name": "zod",
"direct": true,
"version": "^4.4.3",
"ecosystem": "npm"
},
{
"name": "@algolia/abtesting",
"direct": false,
"version": "1.19.0",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-core",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-plugin-algolia-insights",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-preset-algolia",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/autocomplete-shared",
"direct": false,
"version": "1.17.7",
"ecosystem": "npm"
},
{
"name": "@algolia/client-abtesting",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-analytics",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-common",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-insights",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-personalization",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-query-suggestions",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/client-search",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/ingestion",
"direct": false,
"version": "1.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/monitoring",
"direct": false,
"version": "1.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/recommend",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-browser-xhr",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-fetch",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@algolia/requester-node-http",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "@antfu/install-pkg",
"direct": false,
"version": "1.1.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/generator",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-globals",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.27.1",
"ecosystem": "npm"
},
{
"name": "@babel/helper-string-parser",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/helper-validator-identifier",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"direct": false,
"version": "7.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/parser",
"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.28.5",
"ecosystem": "npm"
},
{
"name": "@babel/types",
"direct": false,
"version": "7.29.7",
"ecosystem": "npm"
},
{
"name": "@bcoe/v8-coverage",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@braintree/sanitize-url",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "@bramus/specificity",
"direct": false,
"version": "2.4.2",
"ecosystem": "npm"
},
{
"name": "@chevrotain/types",
"direct": false,
"version": "11.1.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/cli",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-conventional",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/config-validator",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/ensure",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/execute-rule",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/format",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/is-ignored",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/lint",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/load",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/message",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/parse",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/read",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/resolve-extends",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/rules",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/to-lines",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@commitlint/top-level",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "@commitlint/types",
"direct": false,
"version": "21.0.1",
"ecosystem": "npm"
},
{
"name": "@conventional-changelog/git-client",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "@csstools/color-helpers",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "@csstools/css-calc",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "@csstools/css-color-parser",
"direct": false,
"version": "4.1.1",
"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.4",
"ecosystem": "npm"
},
{
"name": "@csstools/css-tokenizer",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "@docsearch/css",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@docsearch/js",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@docsearch/react",
"direct": false,
"version": "3.8.2",
"ecosystem": "npm"
},
{
"name": "@emnapi/core",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/runtime",
"direct": false,
"version": "1.10.0",
"ecosystem": "npm"
},
{
"name": "@emnapi/wasi-threads",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@epic-web/invariant",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/aix-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/android-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/darwin-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/freebsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-loong64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-mips64el",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-ppc64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-riscv64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-s390x",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/linux-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/netbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/openbsd-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/openharmony-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/sunos-x64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-arm64",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-ia32",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "@esbuild/win32-x64",
"direct": false,
"version": "0.27.7",
"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.6.0",
"ecosystem": "npm"
},
{
"name": "@eslint/core",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "@eslint/js",
"direct": false,
"version": "10.0.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": "@iconify-json/simple-icons",
"direct": false,
"version": "1.2.37",
"ecosystem": "npm"
},
{
"name": "@iconify-json/simple-icons",
"direct": false,
"version": "1.2.84",
"ecosystem": "npm"
},
{
"name": "@iconify/types",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@iconify/utils",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@iconify/utils",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "@img/colour",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-darwin-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-darwin-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-ppc64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-riscv64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-s390x",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linux-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-arm64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-libvips-linuxmusl-x64",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-ppc64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-riscv64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-s390x",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linux-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-linuxmusl-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-wasm32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-arm64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-ia32",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@img/sharp-win32-x64",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "@isaacs/cliui",
"direct": false,
"version": "8.0.2",
"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": "@mermaid-js/parser",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.2",
"ecosystem": "npm"
},
{
"name": "@napi-rs/wasm-runtime",
"direct": false,
"version": "1.1.4",
"ecosystem": "npm"
},
{
"name": "@one-ini/wasm",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm-eabi",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm-eabi",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm64",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-android-arm64",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-arm64",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-arm64",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-x64",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-darwin-x64",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-freebsd-x64",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-freebsd-x64",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-gnueabihf",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-gnueabihf",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-musleabihf",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm-musleabihf",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-gnu",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-gnu",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-musl",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-arm64-musl",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-ppc64-gnu",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-ppc64-gnu",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-gnu",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-gnu",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-musl",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-riscv64-musl",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-s390x-gnu",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-s390x-gnu",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-gnu",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-gnu",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-musl",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-linux-x64-musl",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-openharmony-arm64",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-openharmony-arm64",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-wasm32-wasi",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-wasm32-wasi",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-arm64-msvc",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-arm64-msvc",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-ia32-msvc",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-ia32-msvc",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-x64-msvc",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-parser/binding-win32-x64-msvc",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "@oxc-project/types",
"direct": false,
"version": "0.133.0",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-android-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-darwin-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-darwin-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-freebsd-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm64-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-arm64-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-x64-glibc",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-linux-x64-musl",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-arm64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-ia32",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@parcel/watcher-win32-x64",
"direct": false,
"version": "2.5.6",
"ecosystem": "npm"
},
{
"name": "@pkgjs/parseargs",
"direct": false,
"version": "0.11.0",
"ecosystem": "npm"
},
{
"name": "@pkgr/core",
"direct": false,
"version": "0.3.6",
"ecosystem": "npm"
},
{
"name": "@playwright/test",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "@playwright/test",
"direct": false,
"version": "^1.60.0",
"ecosystem": "npm"
},
{
"name": "@polka/url",
"direct": false,
"version": "1.0.0-next.29",
"ecosystem": "npm"
},
{
"name": "@quansync/fs",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-android-arm64",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-arm64",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-darwin-x64",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-freebsd-x64",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm-gnueabihf",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-gnu",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-arm64-musl",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-ppc64-gnu",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-s390x-gnu",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-gnu",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-linux-x64-musl",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-openharmony-arm64",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-wasm32-wasi",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-arm64-msvc",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/binding-win32-x64-msvc",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "@rolldown/pluginutils",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm-eabi",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-android-arm64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-arm64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-darwin-x64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-arm64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-freebsd-x64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-gnueabihf",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm-musleabihf",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-arm64-musl",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-loong64-musl",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-ppc64-musl",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-riscv64-musl",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-s390x-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-linux-x64-musl",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openbsd-x64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-openharmony-arm64",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-arm64-msvc",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-ia32-msvc",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-gnu",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@rollup/rollup-win32-x64-msvc",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-darwin-arm64",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-darwin-x64",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-linux-arm64-gnu",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-linux-arm64-musl",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-linux-x64-gnu",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-linux-x64-musl",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-win32-arm64-msvc",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@se-oss/deasync-win32-x64-msvc",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "@shikijs/core",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-javascript",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/engine-oniguruma",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/langs",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/themes",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/transformers",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/types",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "@shikijs/vscode-textmate",
"direct": false,
"version": "10.0.2",
"ecosystem": "npm"
},
{
"name": "@simple-libs/child-process-utils",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@simple-libs/hosted-git-info",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "@simple-libs/stream-utils",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "@standard-schema/spec",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "@sugarat/theme-shared",
"direct": false,
"version": "0.0.7",
"ecosystem": "npm"
},
{
"name": "@trivago/prettier-plugin-sort-imports",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "@trivago/prettier-plugin-sort-imports",
"direct": false,
"version": "^6.0.2",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.1",
"ecosystem": "npm"
},
{
"name": "@tybys/wasm-util",
"direct": false,
"version": "0.10.2",
"ecosystem": "npm"
},
{
"name": "@types/chai",
"direct": false,
"version": "5.2.3",
"ecosystem": "npm"
},
{
"name": "@types/d3",
"direct": false,
"version": "7.4.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-array",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-axis",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-brush",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-chord",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-color",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-contour",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-delaunay",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-dispatch",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-drag",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-drag",
"direct": false,
"version": "^3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-dsv",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-ease",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-fetch",
"direct": false,
"version": "3.0.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-force",
"direct": false,
"version": "3.0.10",
"ecosystem": "npm"
},
{
"name": "@types/d3-force",
"direct": false,
"version": "^3.0.10",
"ecosystem": "npm"
},
{
"name": "@types/d3-format",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-geo",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@types/d3-hierarchy",
"direct": false,
"version": "3.1.7",
"ecosystem": "npm"
},
{
"name": "@types/d3-interpolate",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-path",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "@types/d3-polygon",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-quadtree",
"direct": false,
"version": "3.0.6",
"ecosystem": "npm"
},
{
"name": "@types/d3-random",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale",
"direct": false,
"version": "4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale",
"direct": false,
"version": "^4.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-scale-chromatic",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "@types/d3-selection",
"direct": false,
"version": "3.0.11",
"ecosystem": "npm"
},
{
"name": "@types/d3-selection",
"direct": false,
"version": "^3.0.11",
"ecosystem": "npm"
},
{
"name": "@types/d3-shape",
"direct": false,
"version": "3.1.8",
"ecosystem": "npm"
},
{
"name": "@types/d3-time",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/d3-time-format",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "@types/d3-timer",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/d3-transition",
"direct": false,
"version": "3.0.9",
"ecosystem": "npm"
},
{
"name": "@types/d3-zoom",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "@types/d3-zoom",
"direct": false,
"version": "^3.0.8",
"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.9",
"ecosystem": "npm"
},
{
"name": "@types/fs-extra",
"direct": false,
"version": "11.0.4",
"ecosystem": "npm"
},
{
"name": "@types/fs-extra",
"direct": false,
"version": "^11.0.4",
"ecosystem": "npm"
},
{
"name": "@types/geojson",
"direct": false,
"version": "7946.0.16",
"ecosystem": "npm"
},
{
"name": "@types/hast",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "@types/json-schema",
"direct": false,
"version": "7.0.15",
"ecosystem": "npm"
},
{
"name": "@types/jsonfile",
"direct": false,
"version": "6.1.4",
"ecosystem": "npm"
},
{
"name": "@types/linkify-it",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it",
"direct": false,
"version": "14.1.2",
"ecosystem": "npm"
},
{
"name": "@types/markdown-it",
"direct": false,
"version": "^14.1.2",
"ecosystem": "npm"
},
{
"name": "@types/mdast",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "@types/mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@types/ms",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "25.9.1",
"ecosystem": "npm"
},
{
"name": "@types/node",
"direct": false,
"version": "^25.9.1",
"ecosystem": "npm"
},
{
"name": "@types/normalize-package-data",
"direct": false,
"version": "2.4.4",
"ecosystem": "npm"
},
{
"name": "@types/trusted-types",
"direct": false,
"version": "2.0.7",
"ecosystem": "npm"
},
{
"name": "@types/unist",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "@types/web-bluetooth",
"direct": false,
"version": "0.0.21",
"ecosystem": "npm"
},
{
"name": "@types/whatwg-mimetype",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "@types/ws",
"direct": false,
"version": "8.18.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/eslint-plugin",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/parser",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/project-service",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/scope-manager",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/tsconfig-utils",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/type-utils",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/types",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/typescript-estree",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/utils",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@typescript-eslint/visitor-keys",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "@ungap/structured-clone",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "@unocss/cli",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/cli",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/config",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/config",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/core",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/core",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/extractor-arbitrary-variants",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/extractor-arbitrary-variants",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/inspector",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/inspector",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-attributify",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-attributify",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-icons",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-icons",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-mini",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-mini",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-tagify",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-tagify",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-typography",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-typography",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-uno",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-uno",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-web-fonts",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-web-fonts",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind3",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind3",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind4",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/preset-wind4",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/rule-utils",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/rule-utils",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-attributify-jsx",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-attributify-jsx",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-compile-class",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-compile-class",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-directives",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-directives",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-variant-group",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/transformer-variant-group",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@unocss/vite",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "@unocss/vite",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "@upsetjs/venn.js",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "5.2.4",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "6.0.7",
"ecosystem": "npm"
},
{
"name": "@vitejs/plugin-vue",
"direct": false,
"version": "^6.0.7",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-v8",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/coverage-v8",
"direct": false,
"version": "^4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/expect",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/mocker",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/pretty-format",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/runner",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/snapshot",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/spy",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@vitest/utils",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "@volar/language-core",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/source-map",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@volar/typescript",
"direct": false,
"version": "2.4.28",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-core",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-core",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-dom",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-dom",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-sfc",
"direct": false,
"version": "^3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-ssr",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/compiler-ssr",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-api",
"direct": false,
"version": "7.7.6",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-api",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-kit",
"direct": false,
"version": "7.7.6",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-kit",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-shared",
"direct": false,
"version": "7.7.6",
"ecosystem": "npm"
},
{
"name": "@vue/devtools-shared",
"direct": false,
"version": "7.7.9",
"ecosystem": "npm"
},
{
"name": "@vue/language-core",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/reactivity",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-core",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-core",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-dom",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/runtime-dom",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/server-renderer",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/server-renderer",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.16",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "@vue/shared",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "@vue/test-utils",
"direct": false,
"version": "2.4.10",
"ecosystem": "npm"
},
{
"name": "@vue/test-utils",
"direct": false,
"version": "^2.4.10",
"ecosystem": "npm"
},
{
"name": "@vueuse/integrations",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/metadata",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/metadata",
"direct": false,
"version": "14.3.0",
"ecosystem": "npm"
},
{
"name": "@vueuse/shared",
"direct": false,
"version": "12.8.2",
"ecosystem": "npm"
},
{
"name": "@vueuse/shared",
"direct": false,
"version": "14.3.0",
"ecosystem": "npm"
},
{
"name": "@xmldom/xmldom",
"direct": false,
"version": "0.9.10",
"ecosystem": "npm"
},
{
"name": "abbrev",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.15.0",
"ecosystem": "npm"
},
{
"name": "acorn",
"direct": false,
"version": "8.16.0",
"ecosystem": "npm"
},
{
"name": "acorn-jsx",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "6.15.0",
"ecosystem": "npm"
},
{
"name": "ajv",
"direct": false,
"version": "8.20.0",
"ecosystem": "npm"
},
{
"name": "algoliasearch",
"direct": false,
"version": "5.53.0",
"ecosystem": "npm"
},
{
"name": "alien-signals",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "ansi-colors",
"direct": false,
"version": "4.1.3",
"ecosystem": "npm"
},
{
"name": "ansi-escapes",
"direct": false,
"version": "7.3.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": "6.2.3",
"ecosystem": "npm"
},
{
"name": "any-promise",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "1.0.10",
"ecosystem": "npm"
},
{
"name": "argparse",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "array-ify",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "assertion-error",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ast-v8-to-istanbul",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "bail",
"direct": false,
"version": "2.0.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": "bidi-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "birpc",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "boolbase",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "brace-expansion",
"direct": false,
"version": "5.0.6",
"ecosystem": "npm"
},
{
"name": "bundle-require",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "6.7.14",
"ecosystem": "npm"
},
{
"name": "cac",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "callsites",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "ccount",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "chai",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "character-entities",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "character-entities-html4",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "character-entities-legacy",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "cheerio",
"direct": false,
"version": "1.0.0-rc.10",
"ecosystem": "npm"
},
{
"name": "cheerio",
"direct": false,
"version": "1.2.0",
"ecosystem": "npm"
},
{
"name": "cheerio-select",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "cheerio-select",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "chokidar",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cli-cursor",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "cli-truncate",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "cliui",
"direct": false,
"version": "9.0.1",
"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": "colorette",
"direct": false,
"version": "2.0.20",
"ecosystem": "npm"
},
{
"name": "comma-separated-tokens",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "10.0.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "13.1.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "6.2.1",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "commander",
"direct": false,
"version": "8.3.0",
"ecosystem": "npm"
},
{
"name": "commitlint",
"direct": false,
"version": "21.0.2",
"ecosystem": "npm"
},
{
"name": "compare-func",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "confbox",
"direct": false,
"version": "0.1.8",
"ecosystem": "npm"
},
{
"name": "config-chain",
"direct": false,
"version": "1.1.13",
"ecosystem": "npm"
},
{
"name": "consola",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "conventional-changelog",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-angular",
"direct": false,
"version": "8.3.1",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-conventionalcommits",
"direct": false,
"version": "9.3.1",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-preset-loader",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-changelog-writer",
"direct": false,
"version": "8.4.0",
"ecosystem": "npm"
},
{
"name": "conventional-commits-filter",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "conventional-commits-parser",
"direct": false,
"version": "6.4.0",
"ecosystem": "npm"
},
{
"name": "convert-source-map",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "copy-anything",
"direct": false,
"version": "3.0.5",
"ecosystem": "npm"
},
{
"name": "copy-anything",
"direct": false,
"version": "4.0.5",
"ecosystem": "npm"
},
{
"name": "cose-base",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "cose-base",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "cosmiconfig",
"direct": false,
"version": "9.0.1",
"ecosystem": "npm"
},
{
"name": "cosmiconfig-typescript-loader",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "cpx2",
"direct": false,
"version": "9.0.0",
"ecosystem": "npm"
},
{
"name": "cross-env",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "cross-spawn",
"direct": false,
"version": "7.0.6",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "4.3.0",
"ecosystem": "npm"
},
{
"name": "css-select",
"direct": false,
"version": "5.2.2",
"ecosystem": "npm"
},
{
"name": "css-tree",
"direct": false,
"version": "3.2.1",
"ecosystem": "npm"
},
{
"name": "css-what",
"direct": false,
"version": "6.2.2",
"ecosystem": "npm"
},
{
"name": "cssesc",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "csstype",
"direct": false,
"version": "3.2.3",
"ecosystem": "npm"
},
{
"name": "cytoscape",
"direct": false,
"version": "3.33.4",
"ecosystem": "npm"
},
{
"name": "cytoscape-cose-bilkent",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "cytoscape-fcose",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "d3",
"direct": false,
"version": "7.9.0",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": false,
"version": "2.12.1",
"ecosystem": "npm"
},
{
"name": "d3-array",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "d3-axis",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-brush",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "d3-chord",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-color",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-contour",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "d3-delaunay",
"direct": false,
"version": "6.0.4",
"ecosystem": "npm"
},
{
"name": "d3-dispatch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-dsv",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-ease",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-fetch",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-format",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-geo",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "d3-hierarchy",
"direct": false,
"version": "3.1.2",
"ecosystem": "npm"
},
{
"name": "d3-interpolate",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "1.0.9",
"ecosystem": "npm"
},
{
"name": "d3-path",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-polygon",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-quadtree",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-random",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-sankey",
"direct": false,
"version": "0.12.3",
"ecosystem": "npm"
},
{
"name": "d3-scale-chromatic",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": false,
"version": "1.3.7",
"ecosystem": "npm"
},
{
"name": "d3-shape",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "d3-time",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "d3-time-format",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "d3-timer",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "d3-transition",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "dagre-d3-es",
"direct": false,
"version": "7.0.14",
"ecosystem": "npm"
},
{
"name": "data-urls",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "debounce",
"direct": false,
"version": "3.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": "decode-named-character-reference",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "deep-is",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "defu",
"direct": false,
"version": "6.1.7",
"ecosystem": "npm"
},
{
"name": "delaunator",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "dequal",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "destr",
"direct": false,
"version": "2.0.5",
"ecosystem": "npm"
},
{
"name": "detect-libc",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "devlop",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "dom-serializer",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "domelementtype",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "3.3.0",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "4.3.1",
"ecosystem": "npm"
},
{
"name": "domhandler",
"direct": false,
"version": "5.0.3",
"ecosystem": "npm"
},
{
"name": "dompurify",
"direct": false,
"version": "3.4.7",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "2.8.0",
"ecosystem": "npm"
},
{
"name": "domutils",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "dot-prop",
"direct": false,
"version": "5.3.0",
"ecosystem": "npm"
},
{
"name": "duplexer",
"direct": false,
"version": "0.1.2",
"ecosystem": "npm"
},
{
"name": "eastasianwidth",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "editorconfig",
"direct": false,
"version": "1.0.7",
"ecosystem": "npm"
},
{
"name": "elkjs",
"direct": false,
"version": "0.11.1",
"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": "emoji-regex",
"direct": false,
"version": "9.2.2",
"ecosystem": "npm"
},
{
"name": "emoji-regex-xs",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "encoding-sniffer",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "4.5.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "entities",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "env-paths",
"direct": false,
"version": "2.2.1",
"ecosystem": "npm"
},
{
"name": "environment",
"direct": false,
"version": "1.1.0",
"ecosystem": "npm"
},
{
"name": "error-ex",
"direct": false,
"version": "1.3.4",
"ecosystem": "npm"
},
{
"name": "es-module-lexer",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "es-toolkit",
"direct": false,
"version": "1.47.0",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.21.5",
"ecosystem": "npm"
},
{
"name": "esbuild",
"direct": false,
"version": "0.27.7",
"ecosystem": "npm"
},
{
"name": "escalade",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "escape-goat",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "escape-string-regexp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "10.4.1",
"ecosystem": "npm"
},
{
"name": "eslint-config-prettier",
"direct": false,
"version": "10.1.8",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-prettier",
"direct": false,
"version": "5.5.6",
"ecosystem": "npm"
},
{
"name": "eslint-plugin-vue",
"direct": false,
"version": "10.9.1",
"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": "esm",
"direct": false,
"version": "3.2.25",
"ecosystem": "npm"
},
{
"name": "espree",
"direct": false,
"version": "11.2.0",
"ecosystem": "npm"
},
{
"name": "esprima",
"direct": false,
"version": "4.0.1",
"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": "2.0.2",
"ecosystem": "npm"
},
{
"name": "estree-walker",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "esutils",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "eventemitter3",
"direct": false,
"version": "5.0.4",
"ecosystem": "npm"
},
{
"name": "expect-type",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "extend",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "extend-shallow",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fast-deep-equal",
"direct": false,
"version": "3.1.3",
"ecosystem": "npm"
},
{
"name": "fast-diff",
"direct": false,
"version": "1.3.0",
"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.2",
"ecosystem": "npm"
},
{
"name": "fault",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "fd-package-json",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "fdir",
"direct": false,
"version": "6.5.0",
"ecosystem": "npm"
},
{
"name": "feed",
"direct": false,
"version": "5.2.1",
"ecosystem": "npm"
},
{
"name": "file-entry-cache",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "find-index",
"direct": false,
"version": "0.1.1",
"ecosystem": "npm"
},
{
"name": "find-up",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "fix-dts-default-cjs-exports",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "flat-cache",
"direct": false,
"version": "4.0.1",
"ecosystem": "npm"
},
{
"name": "flatted",
"direct": false,
"version": "3.4.2",
"ecosystem": "npm"
},
{
"name": "focus-trap",
"direct": false,
"version": "7.6.5",
"ecosystem": "npm"
},
{
"name": "focus-trap",
"direct": false,
"version": "7.8.0",
"ecosystem": "npm"
},
{
"name": "foreground-child",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "format",
"direct": false,
"version": "0.2.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.2",
"ecosystem": "npm"
},
{
"name": "fsevents",
"direct": false,
"version": "2.3.3",
"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": "git-raw-commits",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "10.5.0",
"ecosystem": "npm"
},
{
"name": "glob",
"direct": false,
"version": "13.0.6",
"ecosystem": "npm"
},
{
"name": "glob-parent",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "glob2base",
"direct": false,
"version": "0.0.12",
"ecosystem": "npm"
},
{
"name": "global-directory",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "globals",
"direct": false,
"version": "17.6.0",
"ecosystem": "npm"
},
{
"name": "gzip-size",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "hachure-fill",
"direct": false,
"version": "0.5.2",
"ecosystem": "npm"
},
{
"name": "handlebars",
"direct": false,
"version": "4.7.9",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "20.9.0",
"ecosystem": "npm"
},
{
"name": "happy-dom",
"direct": false,
"version": "^20.9.0",
"ecosystem": "npm"
},
{
"name": "has-flag",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "hast-util-to-html",
"direct": false,
"version": "9.0.5",
"ecosystem": "npm"
},
{
"name": "hast-util-whitespace",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "heti-findandreplacedomtext",
"direct": false,
"version": "0.5.0",
"ecosystem": "npm"
},
{
"name": "hookable",
"direct": false,
"version": "5.5.3",
"ecosystem": "npm"
},
{
"name": "hosted-git-info",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "html-encoding-sniffer",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "html-escaper",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "html-link-extractor",
"direct": false,
"version": "1.0.5",
"ecosystem": "npm"
},
{
"name": "html-void-elements",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "10.1.0",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "htmlparser2",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "husky",
"direct": false,
"version": "9.1.7",
"ecosystem": "npm"
},
{
"name": "iconv-lite",
"direct": false,
"version": "0.6.3",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "5.3.2",
"ecosystem": "npm"
},
{
"name": "ignore",
"direct": false,
"version": "7.0.5",
"ecosystem": "npm"
},
{
"name": "immutable",
"direct": false,
"version": "5.1.6",
"ecosystem": "npm"
},
{
"name": "import-fresh",
"direct": false,
"version": "3.3.1",
"ecosystem": "npm"
},
{
"name": "import-meta-resolve",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "imurmurhash",
"direct": false,
"version": "0.1.4",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "1.3.8",
"ecosystem": "npm"
},
{
"name": "ini",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "internmap",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "is-arrayish",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "is-extendable",
"direct": false,
"version": "0.1.1",
"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-fullwidth-code-point",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "is-glob",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "is-obj",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "is-plain-obj",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "is-potential-custom-element-name",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "is-what",
"direct": false,
"version": "4.1.16",
"ecosystem": "npm"
},
{
"name": "is-what",
"direct": false,
"version": "5.5.0",
"ecosystem": "npm"
},
{
"name": "isexe",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-coverage",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "istanbul-lib-report",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "istanbul-reports",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "jackspeak",
"direct": false,
"version": "3.4.3",
"ecosystem": "npm"
},
{
"name": "javascript-natural-sort",
"direct": false,
"version": "0.7.1",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.6.1",
"ecosystem": "npm"
},
{
"name": "jiti",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "joycon",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "js-beautify",
"direct": false,
"version": "1.15.4",
"ecosystem": "npm"
},
{
"name": "js-cookie",
"direct": false,
"version": "3.0.8",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "js-tokens",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "3.14.2",
"ecosystem": "npm"
},
{
"name": "js-yaml",
"direct": false,
"version": "4.2.0",
"ecosystem": "npm"
},
{
"name": "jsdom",
"direct": false,
"version": "29.1.1",
"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-parse-even-better-errors",
"direct": false,
"version": "2.3.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": "juice",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "katex",
"direct": false,
"version": "0.16.47",
"ecosystem": "npm"
},
{
"name": "keyv",
"direct": false,
"version": "4.5.4",
"ecosystem": "npm"
},
{
"name": "khroma",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "kind-of",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "layout-base",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "layout-base",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "levn",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "lightningcss",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-android-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-arm64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-darwin-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-freebsd-x64",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm-gnueabihf",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-arm64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-gnu",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-linux-x64-musl",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-arm64-msvc",
"direct": false,
"version": "1.32.0",
"ecosystem": "npm"
},
{
"name": "lightningcss-win32-x64-msvc",
"direct": false,
"version": "1.32.0",
"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": "linkify-it",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "lint-staged",
"direct": false,
"version": "17.0.7",
"ecosystem": "npm"
},
{
"name": "listr2",
"direct": false,
"version": "10.2.1",
"ecosystem": "npm"
},
{
"name": "load-tsconfig",
"direct": false,
"version": "0.2.5",
"ecosystem": "npm"
},
{
"name": "locate-path",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "lodash-es",
"direct": false,
"version": "4.18.1",
"ecosystem": "npm"
},
{
"name": "log-update",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "longest-streak",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "10.4.3",
"ecosystem": "npm"
},
{
"name": "lru-cache",
"direct": false,
"version": "11.5.1",
"ecosystem": "npm"
},
{
"name": "magic-regexp",
"direct": false,
"version": "0.10.0",
"ecosystem": "npm"
},
{
"name": "magic-string",
"direct": false,
"version": "0.30.21",
"ecosystem": "npm"
},
{
"name": "magicast",
"direct": false,
"version": "0.5.3",
"ecosystem": "npm"
},
{
"name": "make-dir",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mark.js",
"direct": false,
"version": "8.11.1",
"ecosystem": "npm"
},
{
"name": "markdown-it-container",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "markdown-link-extractor",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "markdown-link-extractor",
"direct": false,
"version": "^4.0.3",
"ecosystem": "npm"
},
{
"name": "markdown-title",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "16.4.2",
"ecosystem": "npm"
},
{
"name": "marked",
"direct": false,
"version": "17.0.6",
"ecosystem": "npm"
},
{
"name": "mathjax-full",
"direct": false,
"version": "3.2.2",
"ecosystem": "npm"
},
{
"name": "mathxyjax3",
"direct": false,
"version": "0.8.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-from-markdown",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "mdast-util-frontmatter",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-phrasing",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-hast",
"direct": false,
"version": "13.2.1",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-markdown",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "mdast-util-to-string",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "mdn-data",
"direct": false,
"version": "2.27.1",
"ecosystem": "npm"
},
{
"name": "mdurl",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "mensch",
"direct": false,
"version": "0.3.4",
"ecosystem": "npm"
},
{
"name": "meow",
"direct": false,
"version": "13.2.0",
"ecosystem": "npm"
},
{
"name": "mhchemparser",
"direct": false,
"version": "4.2.1",
"ecosystem": "npm"
},
{
"name": "micromark",
"direct": false,
"version": "4.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-core-commonmark",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "micromark-extension-frontmatter",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "micromark-factory-destination",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-label",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-space",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-title",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-factory-whitespace",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-character",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-chunked",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-classify-character",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-combine-extensions",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-numeric-character-reference",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "micromark-util-decode-string",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-encode",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-html-tag-name",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-normalize-identifier",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-resolve-all",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-sanitize-uri",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-subtokenize",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "micromark-util-symbol",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "micromark-util-types",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "millify",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "mime",
"direct": false,
"version": "2.6.0",
"ecosystem": "npm"
},
{
"name": "mimic-function",
"direct": false,
"version": "5.0.1",
"ecosystem": "npm"
},
{
"name": "minimatch",
"direct": false,
"version": "10.2.5",
"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": "minisearch",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "minisearch",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "mitt",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "mj-context-menu",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "mlly",
"direct": false,
"version": "1.8.0",
"ecosystem": "npm"
},
{
"name": "mlly",
"direct": false,
"version": "1.8.2",
"ecosystem": "npm"
},
{
"name": "mrmime",
"direct": false,
"version": "2.0.1",
"ecosystem": "npm"
},
{
"name": "ms",
"direct": false,
"version": "2.1.3",
"ecosystem": "npm"
},
{
"name": "muggle-string",
"direct": false,
"version": "0.4.1",
"ecosystem": "npm"
},
{
"name": "mz",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.11",
"ecosystem": "npm"
},
{
"name": "nanoid",
"direct": false,
"version": "3.3.12",
"ecosystem": "npm"
},
{
"name": "natural-compare",
"direct": false,
"version": "1.4.0",
"ecosystem": "npm"
},
{
"name": "neo-async",
"direct": false,
"version": "2.6.2",
"ecosystem": "npm"
},
{
"name": "node-addon-api",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "node-fetch",
"direct": false,
"version": "2.7.0",
"ecosystem": "npm"
},
{
"name": "node-fetch-native",
"direct": false,
"version": "1.6.7",
"ecosystem": "npm"
},
{
"name": "nopt",
"direct": false,
"version": "7.2.1",
"ecosystem": "npm"
},
{
"name": "normalize-package-data",
"direct": false,
"version": "7.0.1",
"ecosystem": "npm"
},
{
"name": "nth-check",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "object-assign",
"direct": false,
"version": "4.1.1",
"ecosystem": "npm"
},
{
"name": "obug",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "ofetch",
"direct": false,
"version": "1.5.1",
"ecosystem": "npm"
},
{
"name": "onetime",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "oniguruma-to-es",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "optionator",
"direct": false,
"version": "0.9.4",
"ecosystem": "npm"
},
{
"name": "oxc-parser",
"direct": false,
"version": "0.115.0",
"ecosystem": "npm"
},
{
"name": "oxc-parser",
"direct": false,
"version": "0.131.0",
"ecosystem": "npm"
},
{
"name": "oxc-walker",
"direct": false,
"version": "0.7.0",
"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": "p-map",
"direct": false,
"version": "7.0.4",
"ecosystem": "npm"
},
{
"name": "package-json-from-dist",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "package-manager-detector",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "parent-module",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "parse-imports-exports",
"direct": false,
"version": "0.2.4",
"ecosystem": "npm"
},
{
"name": "parse-json",
"direct": false,
"version": "5.2.0",
"ecosystem": "npm"
},
{
"name": "parse-statements",
"direct": false,
"version": "1.0.11",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "7.3.0",
"ecosystem": "npm"
},
{
"name": "parse5",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "parse5-htmlparser2-tree-adapter",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "parse5-parser-stream",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "path-browserify",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "path-data-parser",
"direct": false,
"version": "0.1.0",
"ecosystem": "npm"
},
{
"name": "path-exists",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "path-key",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "1.11.1",
"ecosystem": "npm"
},
{
"name": "path-scurry",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "path-to-regexp",
"direct": false,
"version": "6.3.0",
"ecosystem": "npm"
},
{
"name": "pathe",
"direct": false,
"version": "2.0.3",
"ecosystem": "npm"
},
{
"name": "perfect-debounce",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "perfect-debounce",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "picocolors",
"direct": false,
"version": "1.1.1",
"ecosystem": "npm"
},
{
"name": "picomatch",
"direct": false,
"version": "4.0.4",
"ecosystem": "npm"
},
{
"name": "pirates",
"direct": false,
"version": "4.0.7",
"ecosystem": "npm"
},
{
"name": "pkg-types",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "playwright",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "playwright-core",
"direct": false,
"version": "1.60.0",
"ecosystem": "npm"
},
{
"name": "points-on-curve",
"direct": false,
"version": "0.2.0",
"ecosystem": "npm"
},
{
"name": "points-on-path",
"direct": false,
"version": "0.2.1",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.15",
"ecosystem": "npm"
},
{
"name": "postcss",
"direct": false,
"version": "8.5.6",
"ecosystem": "npm"
},
{
"name": "postcss-load-config",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "postcss-selector-parser",
"direct": false,
"version": "7.1.1",
"ecosystem": "npm"
},
{
"name": "preact",
"direct": false,
"version": "10.29.2",
"ecosystem": "npm"
},
{
"name": "prelude-ls",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "prettier",
"direct": false,
"version": "3.8.3",
"ecosystem": "npm"
},
{
"name": "prettier-linter-helpers",
"direct": false,
"version": "1.0.1",
"ecosystem": "npm"
},
{
"name": "prettier-plugin-tailwindcss",
"direct": false,
"version": "0.8.0",
"ecosystem": "npm"
},
{
"name": "pretty-bytes",
"direct": false,
"version": "7.1.0",
"ecosystem": "npm"
},
{
"name": "property-information",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "proto-list",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "punycode",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "punycode.js",
"direct": false,
"version": "2.3.1",
"ecosystem": "npm"
},
{
"name": "qsu",
"direct": false,
"version": "1.12.1",
"ecosystem": "npm"
},
{
"name": "quansync",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "4.1.2",
"ecosystem": "npm"
},
{
"name": "readdirp",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "regex",
"direct": false,
"version": "6.1.0",
"ecosystem": "npm"
},
{
"name": "regex-recursion",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "regex-utilities",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "regexp-tree",
"direct": false,
"version": "0.1.27",
"ecosystem": "npm"
},
{
"name": "remark",
"direct": false,
"version": "15.0.1",
"ecosystem": "npm"
},
{
"name": "remark-frontmatter",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "remark-parse",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "remark-stringify",
"direct": false,
"version": "11.0.0",
"ecosystem": "npm"
},
{
"name": "require-directory",
"direct": false,
"version": "2.1.1",
"ecosystem": "npm"
},
{
"name": "require-from-string",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "resolve-from",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "restore-cursor",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "rfdc",
"direct": false,
"version": "1.4.1",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "6.1.3",
"ecosystem": "npm"
},
{
"name": "rimraf",
"direct": false,
"version": "^6.1.3",
"ecosystem": "npm"
},
{
"name": "robust-predicates",
"direct": false,
"version": "3.0.3",
"ecosystem": "npm"
},
{
"name": "rolldown",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "rollup",
"direct": false,
"version": "4.61.0",
"ecosystem": "npm"
},
{
"name": "roughjs",
"direct": false,
"version": "4.6.6",
"ecosystem": "npm"
},
{
"name": "rw",
"direct": false,
"version": "1.3.3",
"ecosystem": "npm"
},
{
"name": "safer-buffer",
"direct": false,
"version": "2.1.2",
"ecosystem": "npm"
},
{
"name": "sass",
"direct": false,
"version": "1.100.0",
"ecosystem": "npm"
},
{
"name": "sass",
"direct": false,
"version": "^1.100.0",
"ecosystem": "npm"
},
{
"name": "sass",
"direct": false,
"version": "^1.97.2",
"ecosystem": "npm"
},
{
"name": "sax",
"direct": false,
"version": "1.6.0",
"ecosystem": "npm"
},
{
"name": "saxes",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "search-insights",
"direct": false,
"version": "2.17.3",
"ecosystem": "npm"
},
{
"name": "section-matter",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "semver",
"direct": false,
"version": "7.8.1",
"ecosystem": "npm"
},
{
"name": "sharp",
"direct": false,
"version": "0.34.5",
"ecosystem": "npm"
},
{
"name": "shebang-command",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "shebang-regex",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "shell-quote",
"direct": false,
"version": "1.8.4",
"ecosystem": "npm"
},
{
"name": "shiki",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "siginfo",
"direct": false,
"version": "2.0.0",
"ecosystem": "npm"
},
{
"name": "signal-exit",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "sirv",
"direct": false,
"version": "3.0.2",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "7.1.2",
"ecosystem": "npm"
},
{
"name": "slice-ansi",
"direct": false,
"version": "8.0.0",
"ecosystem": "npm"
},
{
"name": "slick",
"direct": false,
"version": "1.12.2",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.6.1",
"ecosystem": "npm"
},
{
"name": "source-map",
"direct": false,
"version": "0.7.6",
"ecosystem": "npm"
},
{
"name": "source-map-js",
"direct": false,
"version": "1.2.1",
"ecosystem": "npm"
},
{
"name": "space-separated-tokens",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "spdx-correct",
"direct": false,
"version": "3.2.0",
"ecosystem": "npm"
},
{
"name": "spdx-exceptions",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "spdx-expression-parse",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "spdx-license-ids",
"direct": false,
"version": "3.0.23",
"ecosystem": "npm"
},
{
"name": "speakingurl",
"direct": false,
"version": "14.0.1",
"ecosystem": "npm"
},
{
"name": "speech-rule-engine",
"direct": false,
"version": "4.1.4",
"ecosystem": "npm"
},
{
"name": "sprintf-js",
"direct": false,
"version": "1.0.3",
"ecosystem": "npm"
},
{
"name": "stackback",
"direct": false,
"version": "0.0.2",
"ecosystem": "npm"
},
{
"name": "std-env",
"direct": false,
"version": "4.1.0",
"ecosystem": "npm"
},
{
"name": "string-argv",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "4.2.3",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "5.1.2",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "string-width",
"direct": false,
"version": "8.2.1",
"ecosystem": "npm"
},
{
"name": "stringify-entities",
"direct": false,
"version": "4.0.4",
"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-bom-string",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "stylis",
"direct": false,
"version": "4.4.0",
"ecosystem": "npm"
},
{
"name": "subarg",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "sucrase",
"direct": false,
"version": "3.35.1",
"ecosystem": "npm"
},
{
"name": "superjson",
"direct": false,
"version": "2.2.2",
"ecosystem": "npm"
},
{
"name": "superjson",
"direct": false,
"version": "2.2.6",
"ecosystem": "npm"
},
{
"name": "supports-color",
"direct": false,
"version": "7.2.0",
"ecosystem": "npm"
},
{
"name": "symbol-tree",
"direct": false,
"version": "3.2.4",
"ecosystem": "npm"
},
{
"name": "synckit",
"direct": false,
"version": "0.11.13",
"ecosystem": "npm"
},
{
"name": "tabbable",
"direct": false,
"version": "6.2.0",
"ecosystem": "npm"
},
{
"name": "tabbable",
"direct": false,
"version": "6.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": "tinybench",
"direct": false,
"version": "2.9.0",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "0.3.2",
"ecosystem": "npm"
},
{
"name": "tinyexec",
"direct": false,
"version": "1.2.4",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.15",
"ecosystem": "npm"
},
{
"name": "tinyglobby",
"direct": false,
"version": "0.2.17",
"ecosystem": "npm"
},
{
"name": "tinyrainbow",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "tldts",
"direct": false,
"version": "7.4.2",
"ecosystem": "npm"
},
{
"name": "tldts-core",
"direct": false,
"version": "7.4.2",
"ecosystem": "npm"
},
{
"name": "tokenx",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "totalist",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "tough-cookie",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "0.0.3",
"ecosystem": "npm"
},
{
"name": "tr46",
"direct": false,
"version": "6.0.0",
"ecosystem": "npm"
},
{
"name": "tree-kill",
"direct": false,
"version": "1.2.2",
"ecosystem": "npm"
},
{
"name": "trim-lines",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "trough",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "ts-api-utils",
"direct": false,
"version": "2.5.0",
"ecosystem": "npm"
},
{
"name": "ts-dedent",
"direct": false,
"version": "2.2.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": "tsup",
"direct": false,
"version": "8.5.1",
"ecosystem": "npm"
},
{
"name": "tsup",
"direct": false,
"version": "^8.5.1",
"ecosystem": "npm"
},
{
"name": "type-check",
"direct": false,
"version": "0.4.0",
"ecosystem": "npm"
},
{
"name": "type-fest",
"direct": false,
"version": "4.41.0",
"ecosystem": "npm"
},
{
"name": "type-level-regexp",
"direct": false,
"version": "0.1.17",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^6.0.3",
"ecosystem": "npm"
},
{
"name": "typescript-eslint",
"direct": false,
"version": "8.60.1",
"ecosystem": "npm"
},
{
"name": "uc.micro",
"direct": false,
"version": "2.1.0",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.2",
"ecosystem": "npm"
},
{
"name": "ufo",
"direct": false,
"version": "1.6.4",
"ecosystem": "npm"
},
{
"name": "uglify-js",
"direct": false,
"version": "3.19.3",
"ecosystem": "npm"
},
{
"name": "unconfig",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "unconfig-core",
"direct": false,
"version": "7.5.0",
"ecosystem": "npm"
},
{
"name": "undici",
"direct": false,
"version": "7.27.0",
"ecosystem": "npm"
},
{
"name": "undici-types",
"direct": false,
"version": "7.24.6",
"ecosystem": "npm"
},
{
"name": "unified",
"direct": false,
"version": "11.0.5",
"ecosystem": "npm"
},
{
"name": "unist-util-is",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "unist-util-position",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-remove",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-stringify-position",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit",
"direct": false,
"version": "5.1.0",
"ecosystem": "npm"
},
{
"name": "unist-util-visit-parents",
"direct": false,
"version": "6.0.2",
"ecosystem": "npm"
},
{
"name": "unocss",
"direct": false,
"version": "66.6.7",
"ecosystem": "npm"
},
{
"name": "unocss",
"direct": false,
"version": "66.7.0",
"ecosystem": "npm"
},
{
"name": "unocss",
"direct": false,
"version": "^66.0.0",
"ecosystem": "npm"
},
{
"name": "unplugin",
"direct": false,
"version": "2.3.11",
"ecosystem": "npm"
},
{
"name": "unplugin-utils",
"direct": false,
"version": "0.3.1",
"ecosystem": "npm"
},
{
"name": "uri-js",
"direct": false,
"version": "4.4.1",
"ecosystem": "npm"
},
{
"name": "util-deprecate",
"direct": false,
"version": "1.0.2",
"ecosystem": "npm"
},
{
"name": "uuid",
"direct": false,
"version": "14.0.0",
"ecosystem": "npm"
},
{
"name": "valid-data-url",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "validate-npm-package-license",
"direct": false,
"version": "3.0.4",
"ecosystem": "npm"
},
{
"name": "vfile",
"direct": false,
"version": "6.0.3",
"ecosystem": "npm"
},
{
"name": "vfile-message",
"direct": false,
"version": "4.0.3",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "5.4.21",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "8.0.16",
"ecosystem": "npm"
},
{
"name": "vite",
"direct": false,
"version": "^8.0.16",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "4.1.8",
"ecosystem": "npm"
},
{
"name": "vitest",
"direct": false,
"version": "^4.1.8",
"ecosystem": "npm"
},
{
"name": "vscode-uri",
"direct": false,
"version": "3.1.0",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "3.5.26",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "3.5.35",
"ecosystem": "npm"
},
{
"name": "vue",
"direct": false,
"version": "^3.5.35",
"ecosystem": "npm"
},
{
"name": "vue-component-type-helpers",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "vue-eslint-parser",
"direct": false,
"version": "10.4.0",
"ecosystem": "npm"
},
{
"name": "vue-tsc",
"direct": false,
"version": "3.3.3",
"ecosystem": "npm"
},
{
"name": "vue-tsc",
"direct": false,
"version": "^3.3.3",
"ecosystem": "npm"
},
{
"name": "w3c-xmlserializer",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "walk-up-path",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "web-resource-inliner",
"direct": false,
"version": "6.0.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "3.0.1",
"ecosystem": "npm"
},
{
"name": "webidl-conversions",
"direct": false,
"version": "8.0.1",
"ecosystem": "npm"
},
{
"name": "webpack-virtual-modules",
"direct": false,
"version": "0.6.2",
"ecosystem": "npm"
},
{
"name": "whatwg-encoding",
"direct": false,
"version": "3.1.1",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "3.0.0",
"ecosystem": "npm"
},
{
"name": "whatwg-mimetype",
"direct": false,
"version": "4.0.0",
"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": "whatwg-url",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "which",
"direct": false,
"version": "2.0.2",
"ecosystem": "npm"
},
{
"name": "why-is-node-running",
"direct": false,
"version": "2.3.0",
"ecosystem": "npm"
},
{
"name": "wicked-good-xpath",
"direct": false,
"version": "1.3.0",
"ecosystem": "npm"
},
{
"name": "word-wrap",
"direct": false,
"version": "1.2.5",
"ecosystem": "npm"
},
{
"name": "wordwrap",
"direct": false,
"version": "1.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "10.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "7.0.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "8.1.0",
"ecosystem": "npm"
},
{
"name": "wrap-ansi",
"direct": false,
"version": "9.0.2",
"ecosystem": "npm"
},
{
"name": "ws",
"direct": false,
"version": "8.21.0",
"ecosystem": "npm"
},
{
"name": "xml-js",
"direct": false,
"version": "1.6.11",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "4.0.0",
"ecosystem": "npm"
},
{
"name": "xml-name-validator",
"direct": false,
"version": "5.0.0",
"ecosystem": "npm"
},
{
"name": "xmlchars",
"direct": false,
"version": "2.2.0",
"ecosystem": "npm"
},
{
"name": "y18n",
"direct": false,
"version": "5.0.8",
"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": "zwitch",
"direct": false,
"version": "2.0.4",
"ecosystem": "npm"
}
],
"collected": true,
"truncated": false,
"total_count": 1150,
"direct_count": 57,
"indirect_count": 1093
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 223,
"open_issues": 15,
"closed_ratio": 0.948,
"closed_issues": 271,
"closed_unmerged_prs": 4
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "Albert26193",
"commits": 363,
"avatar_url": "https://avatars.githubusercontent.com/u/56572585?v=4"
},
{
"type": "User",
"login": "airene",
"commits": 58,
"avatar_url": "https://avatars.githubusercontent.com/u/4494476?v=4"
}
],
"contributors_sampled": 2,
"top_contributor_share": 0.862
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"deploy.yml",
"npm-publish-beta.yml",
"package-consumer-validation.yml"
],
"has_docs_dir": false,
"linter_configs": [
"eslint.config.js"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"pnpm-lock.yaml"
],
"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": "30 out of 30 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/30 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": 0,
"reason": "no 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": 10,
"reason": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 0,
"reason": "30 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "8e4cb66b25cc0ba7ed524185f29e099097abfe3f",
"ran_at": "2026-07-25T06:57:25Z",
"aggregate_score": 3.5,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-19T09:53:03Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-19T09:34:34Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 54,
"created_at": "2026-05-05T07:23:29Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 55,
"created_at": "2026-05-05T07:23:30Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 56,
"created_at": "2026-05-05T07:23:32Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 64,
"created_at": "2026-05-05T07:23:48Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 65,
"created_at": "2026-05-05T07:23:50Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 67,
"created_at": "2026-05-05T07:23:53Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 70,
"created_at": "2026-05-05T07:23:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 71,
"created_at": "2026-05-05T07:24:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 88,
"created_at": "2026-05-05T07:24:33Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 89,
"created_at": "2026-05-05T07:24:36Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 296,
"created_at": "2026-05-16T07:53:17Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 306,
"created_at": "2026-05-17T08:21:01Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 323,
"created_at": "2026-05-17T16:25:52Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 438,
"created_at": "2026-05-30T04:23:27Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 440,
"created_at": "2026-05-30T04:57:57Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/Albert26193/vitepress-theme-link",
"host": "github.com",
"name": "vitepress-theme-link",
"owner": "Albert26193"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 53,
"inputs": {
"security": 45,
"vitality": 44,
"community": 38,
"governance": 58,
"engineering": 76
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 44,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "good",
"name": "Development activity",
"note": null,
"notes": [],
"value": 73,
"inputs": {
"commits_last_year": 238,
"human_commit_share": 1,
"days_since_last_push": 5,
"active_weeks_last_year": 13
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 5 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 5
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "13/52 weeks with commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 13
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "238 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 238
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "critical",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"releases_count": 0
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "no releases published",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases_published",
"params": {}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "no releases",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_releases",
"params": {}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 5,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 5 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 5
}
}
],
"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": 38,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "critical",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 5,
"inputs": {
"forks": 0,
"stars": 3,
"watchers": 1,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "3 stars",
"points": 4.9,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 3
}
}
],
"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": "1 watchers",
"points": 0,
"status": "missed",
"details": [
{
"code": "watchers",
"params": {
"count": 1
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (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": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
},
{
"key": "ecosystem_adoption",
"band": "good",
"name": "Ecosystem adoption (downloads)",
"note": "Excluded from scoring (no data or not applicable): Registry dependents. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"registry_dependents"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 72,
"inputs": {
"packages": [
"vitepress-theme-link",
"vitepress-plugin-config",
"vitepress-plugin-hashtag",
"vitepress-plugin-analyzer",
"vitepress-plugin-callouts",
"create-vitepress-theme-link",
"vitepress-plugin-details-block",
"vitepress-plugin-codeblock-fold"
],
"dependents": null,
"ecosystems": "npm",
"total_downloads": null,
"monthly_downloads": 19758
},
"components": [
{
"key": "monthly_downloads",
"name": "Monthly downloads",
"detail": "19,758 downloads/month across npm",
"points": 57.3,
"status": "partial",
"details": [
{
"code": "downloads_monthly",
"params": {
"count": 19758,
"ecosystems": "npm"
}
}
],
"max_points": 80
},
{
"key": "registry_dependents",
"name": "Registry dependents",
"detail": "not reported by this ecosystem",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_reported_by_this_ecosystem",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "moderate",
"name": "Sustainability & Governance",
"value": 58,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 15,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 2,
"top_contributor_share": 0.862
},
"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 86% of commits",
"points": 3.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 86
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "2 contributors",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 2
}
}
],
"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": "good",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 82,
"inputs": {
"merged_prs": 223,
"open_issues": 15,
"closed_issues": 271,
"issue_closed_ratio": 0.948,
"closed_unmerged_prs": 4
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "95% of issues closed",
"points": 44.3,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 95
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "223/227 decided PRs merged",
"points": 37.6,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 223,
"decided": 227
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 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": 54,
"inputs": {
"followers": 32,
"owner_type": "User",
"is_verified": null,
"owner_login": "Albert26193",
"public_repos": 27,
"account_age_days": 2475
},
"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": "32 followers of Albert26193",
"points": 10.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 32,
"login": "Albert26193"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "27 public repos, account ~6 yr old",
"points": 22.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 27
}
},
{
"code": "account_age_years",
"params": {
"years": 6
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "excellent",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"vitepress-theme-link",
"vitepress-plugin-config",
"vitepress-plugin-hashtag",
"vitepress-plugin-analyzer",
"vitepress-plugin-callouts",
"create-vitepress-theme-link",
"vitepress-plugin-details-block",
"vitepress-plugin-codeblock-fold"
],
"ecosystems": "npm",
"any_deprecated": false,
"min_days_since_publish": 5
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "8 package(s) on npm",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 8,
"ecosystems": "npm"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 5 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 5
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "9 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 9
}
}
],
"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": 76,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "4 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 4
}
}
],
"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": "eslint.config.js",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "30 out of 30 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://albert26193.github.io/vitepress-theme-link/",
"has_readme": true,
"has_docs_dir": false,
"has_description": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": "https://albert26193.github.io/vitepress-theme-link/",
"points": 15,
"status": "met",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 0,
"status": "missed",
"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": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 45,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging, Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging",
"signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 35,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 15,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 3,
"scorecard_aggregate": 3.5
},
"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": "30 out of 30 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/30 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": "no update tool detected",
"points": 0,
"status": "missed",
"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": "30 commit(s) and 30 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "30 existing vulnerabilities detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "excellent",
"name": "Dependency advisories",
"note": "Matched the npm:vitepress-theme-link@0.1.0-beta.8 runtime dependency closure — what installing the published package pulls in — 291 packages. Reachability is not analyzed.",
"notes": [
{
"code": "advisories_scope_published",
"params": {
"package": "npm:vitepress-theme-link@0.1.0-beta.8",
"assessed": 291
}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 85,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 291,
"unassessed_packages": 0,
"affected_by_severity": "high 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "1 affected: sharp 0.34.5 (high 7.3)",
"points": 10.4,
"status": "partial",
"details": [
{
"code": "advisories_affected",
"params": {
"count": 1,
"packages": "sharp 0.34.5 (high 7.3)"
}
}
],
"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": 291,
"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": 1
},
"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": "good",
"name": "AI Readiness",
"value": 72,
"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": 1,
"agent_instruction_files": [
".agents/AGENTS.md",
"agents.md"
],
"agent_instruction_max_bytes": 17025
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": ".agents/AGENTS.md, agents.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".agents/AGENTS.md, agents.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": "100 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 100,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 64,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"pnpm-lock.yaml"
],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [
"packages/theme/tsconfig.json",
"packages/vitepress-plugin-analyzer/tsconfig.json",
"packages/vitepress-plugin-callouts/tsconfig.json",
"packages/vitepress-plugin-codeblock-fold/tsconfig.json",
"packages/vitepress-plugin-config/tsconfig.json",
"packages/vitepress-plugin-details-block/tsconfig.json",
"packages/vitepress-plugin-hashtag/tsconfig.json",
"tsconfig.json"
],
"agent_commit_share": 0.92,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": "eslint.config.js",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "eslint.config.js"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "packages/theme/tsconfig.json, packages/vitepress-plugin-analyzer/tsconfig.json, packages/vitepress-plugin-callouts/tsconfig.json, packages/vitepress-plugin-codeblock-fold/tsconfig.json, packages/vitepress-plugin-config/tsconfig.json, packages/vitepress-plugin-details-block/tsconfig.json, packages/vitepress-plugin-hashtag/tsconfig.json, tsconfig.json",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "packages/theme/tsconfig.json, packages/vitepress-plugin-analyzer/tsconfig.json, packages/vitepress-plugin-callouts/tsconfig.json, packages/vitepress-plugin-codeblock-fold/tsconfig.json, packages/vitepress-plugin-config/tsconfig.json, packages/vitepress-plugin-details-block/tsconfig.json, packages/vitepress-plugin-hashtag/tsconfig.json, tsconfig.json"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "92 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 92,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "TypeScript",
"largest_source_bytes": 27393,
"source_files_sampled": 202,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "TypeScript (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "TypeScript"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/202 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 202,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "at_risk",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"demos"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": "demos",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "demos"
}
}
],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token"
],
"report_type": "repository",
"generated_at": "2026-07-25T06:57:41.070633Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/Albert26193/vitepress-theme-link.svg",
"full_name": "Albert26193/vitepress-theme-link",
"license_state": "standard",
"license_spdx": "MIT"
}