@grimoire-rs/indexer 0.1.4 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../../../src/renderer/astro/components/Catalog.tsx"],"names":[],"mappings":"AACA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkE5E,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,gCAsLA"}
1
+ {"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../../../src/renderer/astro/components/Catalog.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkE5E,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,QAAQ,EACR,eAAe,GAChB,EAAE;IACD,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,gCAsLA"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime";
2
2
  import { useMemo, useState } from "preact/hooks";
3
+ import { withBase } from "../lib/base.js";
3
4
  import { timeAgo, vscodeUrl } from "../lib/catalog.js";
4
5
  // Known kinds get stable chip ordering + badge colors; unknown kinds
5
6
  // (future schema growth) still render with a neutral badge.
@@ -68,6 +69,6 @@ export default function Catalog({ packages, vscodeExtension, }) {
68
69
  ].some((field) => field.toLowerCase().includes(q));
69
70
  })
70
71
  .sort((a, b) => compare(a, b, sort));
71
- return (_jsxs("section", { children: [_jsxs("div", { class: "controls", children: [_jsx("input", { type: "search", placeholder: `Search ${packages.length} packages…`, value: query, onInput: (e) => setQuery(e.target.value), "aria-label": "Search packages" }), _jsxs("div", { class: "chips", role: "group", "aria-label": "Sort by", children: [_jsx("button", { type: "button", class: sort === "name" ? "chip active" : "chip", onClick: () => setSort("name"), children: "name" }), _jsx("button", { type: "button", class: sort === "updated" ? "chip active" : "chip", onClick: () => setSort("updated"), children: "updated" })] }), _jsxs("div", { class: "chips", role: "group", "aria-label": "Filter by kind", children: [_jsxs("button", { type: "button", class: kind === null ? "chip active" : "chip", onClick: () => setKind(null), children: ["all ", _jsx("small", { children: packages.length })] }), kinds.map(([k, count]) => (_jsxs("button", { type: "button", class: kind === k ? `chip active kind-${k}` : `chip kind-${k}`, onClick: () => setKind(kind === k ? null : k), children: [k, " ", _jsx("small", { children: count })] }, k)))] })] }), shown.length === 0 ? (_jsx("p", { class: "empty", children: "No packages match." })) : (_jsx("ul", { class: "grid", children: shown.map((p) => (_jsxs("li", { class: "card", children: [_jsxs("div", { class: "card-head", children: [p.logo ? (_jsx("img", { class: "card-logo", src: p.logo, alt: "", loading: "lazy" })) : (_jsx("span", { class: "card-logo card-logo-fallback", "aria-hidden": "true", style: { background: `var(--kind-${p.kind}, var(--muted))` }, children: p.name[0]?.toUpperCase() })), _jsx("h2", { children: _jsx("a", { href: `/p/${p.namespace}/${p.name}/`, children: p.name }) }), p.deprecated ? (_jsx("span", { class: "badge deprecated", children: "deprecated" })) : (_jsx("span", { class: `badge kind-${p.kind}`, children: p.kind }))] }), _jsx("p", { class: "namespace", children: p.namespace }), (p.version || p.license || p.created) && (_jsxs("div", { class: "meta-row", children: [p.version && _jsxs("span", { class: "pill version", children: ["v", p.version] }), p.license && _jsx("span", { class: "pill license", children: p.license }), p.created && timeAgo(p.created) && (_jsxs("time", { class: "updated", datetime: p.created, title: p.created, children: ["updated ", timeAgo(p.created)] }))] })), p.deprecated && (_jsxs("p", { class: "deprecated-strip", children: ["deprecated", p.replacedBy ? ` — replaced by ${p.replacedBy}` : ""] })), p.description && _jsx("p", { class: "description", children: p.description }), p.keywords && p.keywords.length > 0 && (_jsxs("div", { class: "keywords", children: [p.keywords.slice(0, 5).map((kw) => (_jsx("button", { type: "button", class: "chip keyword", onClick: () => setQuery(kw), children: kw }, kw))), p.keywords.length > 5 && (_jsxs("span", { class: "chip keyword overflow", children: ["+", p.keywords.length - 5] }))] })), _jsxs("div", { class: "card-foot", children: [_jsxs("div", { class: "copy-group", children: [_jsx(CopyButton, { command: `grim add ${p.ref}` }), _jsx(CopyButton, { command: `grim add --global ${p.ref}`, variant: "global" }), vscodeUrl(vscodeExtension, p.ref) && (_jsx("a", { class: "copy vscode", href: vscodeUrl(vscodeExtension, p.ref), title: "Open in VS Code", "aria-label": `Open ${p.name} in VS Code`, children: _jsx("svg", { viewBox: "0 0 24 24", width: "16", height: "16", "aria-hidden": "true", children: _jsx("path", { fill: "currentColor", d: "M23.15 2.587L18.21.21a1.494 1.494 0 0 0-1.705.29l-9.46 8.63-4.12-3.128a.999.999 0 0 0-1.276.057L.327 7.261A1 1 0 0 0 .326 8.74L3.899 12l-3.573 3.26a1 1 0 0 0 .001 1.479L1.65 17.94a.999.999 0 0 0 1.276.057l4.12-3.128 9.46 8.63a1.492 1.492 0 0 0 1.704.29l4.942-2.377A1.5 1.5 0 0 0 24 20.06V3.939a1.5 1.5 0 0 0-.85-1.352zm-5.146 14.861L10.826 12l7.178-5.448v10.896z" }) }) }))] }), p.repository && (_jsx("a", { class: "source", href: p.repository, target: "_blank", rel: "noopener noreferrer", children: "source" }))] })] }, `${p.namespace}/${p.name}`))) }))] }));
72
+ return (_jsxs("section", { children: [_jsxs("div", { class: "controls", children: [_jsx("input", { type: "search", placeholder: `Search ${packages.length} packages…`, value: query, onInput: (e) => setQuery(e.target.value), "aria-label": "Search packages" }), _jsxs("div", { class: "chips", role: "group", "aria-label": "Sort by", children: [_jsx("button", { type: "button", class: sort === "name" ? "chip active" : "chip", onClick: () => setSort("name"), children: "name" }), _jsx("button", { type: "button", class: sort === "updated" ? "chip active" : "chip", onClick: () => setSort("updated"), children: "updated" })] }), _jsxs("div", { class: "chips", role: "group", "aria-label": "Filter by kind", children: [_jsxs("button", { type: "button", class: kind === null ? "chip active" : "chip", onClick: () => setKind(null), children: ["all ", _jsx("small", { children: packages.length })] }), kinds.map(([k, count]) => (_jsxs("button", { type: "button", class: kind === k ? `chip active kind-${k}` : `chip kind-${k}`, onClick: () => setKind(kind === k ? null : k), children: [k, " ", _jsx("small", { children: count })] }, k)))] })] }), shown.length === 0 ? (_jsx("p", { class: "empty", children: "No packages match." })) : (_jsx("ul", { class: "grid", children: shown.map((p) => (_jsxs("li", { class: "card", children: [_jsxs("div", { class: "card-head", children: [p.logo ? (_jsx("img", { class: "card-logo", src: withBase(p.logo), alt: "", loading: "lazy" })) : (_jsx("span", { class: "card-logo card-logo-fallback", "aria-hidden": "true", style: { background: `var(--kind-${p.kind}, var(--muted))` }, children: p.name[0]?.toUpperCase() })), _jsx("h2", { children: _jsx("a", { href: withBase(`/p/${p.namespace}/${p.name}/`), children: p.name }) }), p.deprecated ? (_jsx("span", { class: "badge deprecated", children: "deprecated" })) : (_jsx("span", { class: `badge kind-${p.kind}`, children: p.kind }))] }), _jsx("p", { class: "namespace", children: p.namespace }), (p.version || p.license || p.created) && (_jsxs("div", { class: "meta-row", children: [p.version && _jsxs("span", { class: "pill version", children: ["v", p.version] }), p.license && _jsx("span", { class: "pill license", children: p.license }), p.created && timeAgo(p.created) && (_jsxs("time", { class: "updated", datetime: p.created, title: p.created, children: ["updated ", timeAgo(p.created)] }))] })), p.deprecated && (_jsxs("p", { class: "deprecated-strip", children: ["deprecated", p.replacedBy ? ` — replaced by ${p.replacedBy}` : ""] })), p.description && _jsx("p", { class: "description", children: p.description }), p.keywords && p.keywords.length > 0 && (_jsxs("div", { class: "keywords", children: [p.keywords.slice(0, 5).map((kw) => (_jsx("button", { type: "button", class: "chip keyword", onClick: () => setQuery(kw), children: kw }, kw))), p.keywords.length > 5 && (_jsxs("span", { class: "chip keyword overflow", children: ["+", p.keywords.length - 5] }))] })), _jsxs("div", { class: "card-foot", children: [_jsxs("div", { class: "copy-group", children: [_jsx(CopyButton, { command: `grim add ${p.ref}` }), _jsx(CopyButton, { command: `grim add --global ${p.ref}`, variant: "global" }), vscodeUrl(vscodeExtension, p.ref) && (_jsx("a", { class: "copy vscode", href: vscodeUrl(vscodeExtension, p.ref), title: "Open in VS Code", "aria-label": `Open ${p.name} in VS Code`, children: _jsx("svg", { viewBox: "0 0 24 24", width: "16", height: "16", "aria-hidden": "true", children: _jsx("path", { fill: "currentColor", d: "M23.15 2.587L18.21.21a1.494 1.494 0 0 0-1.705.29l-9.46 8.63-4.12-3.128a.999.999 0 0 0-1.276.057L.327 7.261A1 1 0 0 0 .326 8.74L3.899 12l-3.573 3.26a1 1 0 0 0 .001 1.479L1.65 17.94a.999.999 0 0 0 1.276.057l4.12-3.128 9.46 8.63a1.492 1.492 0 0 0 1.704.29l4.942-2.377A1.5 1.5 0 0 0 24 20.06V3.939a1.5 1.5 0 0 0-.85-1.352zm-5.146 14.861L10.826 12l7.178-5.448v10.896z" }) }) }))] }), p.repository && (_jsx("a", { class: "source", href: p.repository, target: "_blank", rel: "noopener noreferrer", children: "source" }))] })] }, `${p.namespace}/${p.name}`))) }))] }));
72
73
  }
73
74
  //# sourceMappingURL=Catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../../src/renderer/astro/components/Catalog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAuB,MAAM,mBAAmB,CAAC;AAE5E,qEAAqE;AACrE,4DAA4D;AAC5D,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAEhE,SAAS,SAAS,CAAC,IAAY;IAC7B,MAAM,CAAC,GAAG,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,CAAC;AAID,sEAAsE;AACtE,iDAAiD;AACjD,SAAS,OAAO,CAAC,CAAiB,EAAE,CAAiB,EAAE,IAAU;IAC/D,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC5D,IAAI,GAAG,KAAK,CAAC;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,IAAI,KAAK,MAAM;QAAE,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO;QAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;AACvE,CAAC;AAED,2EAA2E;AAC3E,0EAA0E;AAC1E,2EAA2E;AAC3E,+CAA+C;AAC/C,MAAM,aAAa,GACjB,kpBAAkpB,CAAC;AACrpB,MAAM,YAAY,GAChB,y+BAAy+B,CAAC;AAC5+B,MAAM,KAAK,GACT,wIAAwI,CAAC;AAE3I,SAAS,UAAU,CAAC,EAClB,OAAO,EACP,OAAO,GAAG,SAAS,GAIpB;IACC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE;YAC/C,SAAS,CAAC,IAAI,CAAC,CAAC;YAChB,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IACF,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EACtC,KAAK,EAAE,OAAO,gBACF,SAAS,OAAO,EAAE,EAC9B,OAAO,EAAE,IAAI,YAEb,cAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,cAAc,iBAAa,MAAM,YACpF,eAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,GAAI,GAC7E,GACC,CACV,CAAC;AACJ,CAAC;AAED,sEAAsE;AACtE,0EAA0E;AAC1E,gCAAgC;AAChC,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,EAC9B,QAAQ,EACR,eAAe,GAIhB;IACC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAO,MAAM,CAAC,CAAC;IAE/C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5E,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAC/B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;IACJ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,QAAQ;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QACZ,IAAI,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC;QAC1C,IAAI,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QACpB,OAAO;YACL,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,WAAW,IAAI,EAAE;YACnB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,GAAG;YACL,CAAC,CAAC,OAAO,IAAI,EAAE;YACf,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;SAC7B,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAEvC,OAAO,CACL,8BACE,eAAK,KAAK,EAAC,UAAU,aACnB,gBACE,IAAI,EAAC,QAAQ,EACb,WAAW,EAAE,UAAU,QAAQ,CAAC,MAAM,YAAY,EAClD,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAE,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC,gBACnD,iBAAiB,GAC5B,EACF,eAAK,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,gBAAY,SAAS,aAClD,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,qBAGvB,EACT,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAClD,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,wBAG1B,IACL,EACN,eAAK,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,gBAAY,gBAAgB,aACzD,kBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,EAC7C,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,qBAExB,0BAAQ,QAAQ,CAAC,MAAM,GAAS,IAC7B,EACR,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACzB,kBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,EAC9D,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,aAE5C,CAAC,OAAE,0BAAQ,KAAK,GAAS,KALrB,CAAC,CAMC,CACV,CAAC,IACE,IACF,EAEL,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CACpB,YAAG,KAAK,EAAC,OAAO,mCAAuB,CACxC,CAAC,CAAC,CAAC,CACF,aAAI,KAAK,EAAC,MAAM,YACb,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAChB,cAAqC,KAAK,EAAC,MAAM,aAC/C,eAAK,KAAK,EAAC,WAAW,aACnB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACR,cAAK,KAAK,EAAC,WAAW,EAAC,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,EAAC,EAAE,EAAC,OAAO,EAAC,MAAM,GAAG,CAC7D,CAAC,CAAC,CAAC,CACF,eACE,KAAK,EAAC,8BAA8B,iBACxB,MAAM,EAClB,KAAK,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,IAAI,iBAAiB,EAAE,YAE3D,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GACpB,CACR,EACD,uBACE,YAAG,IAAI,EAAE,MAAM,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,GAAG,YAAG,CAAC,CAAC,IAAI,GAAK,GAClD,EACJ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CACd,eAAM,KAAK,EAAC,kBAAkB,2BAAkB,CACjD,CAAC,CAAC,CAAC,CACF,eAAM,KAAK,EAAE,cAAc,CAAC,CAAC,IAAI,EAAE,YAAG,CAAC,CAAC,IAAI,GAAQ,CACrD,IACG,EACN,YAAG,KAAK,EAAC,WAAW,YAAE,CAAC,CAAC,SAAS,GAAK,EACrC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CACxC,eAAK,KAAK,EAAC,UAAU,aAClB,CAAC,CAAC,OAAO,IAAI,gBAAM,KAAK,EAAC,cAAc,kBAAG,CAAC,CAAC,OAAO,IAAQ,EAC3D,CAAC,CAAC,OAAO,IAAI,eAAM,KAAK,EAAC,cAAc,YAAE,CAAC,CAAC,OAAO,GAAQ,EAC1D,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAClC,gBAAM,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,yBAChD,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,IACtB,CACR,IACG,CACP,EACA,CAAC,CAAC,UAAU,IAAI,CACf,aAAG,KAAK,EAAC,kBAAkB,2BAExB,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,IACnD,CACL,EACA,CAAC,CAAC,WAAW,IAAI,YAAG,KAAK,EAAC,aAAa,YAAE,CAAC,CAAC,WAAW,GAAK,EAC3D,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACtC,eAAK,KAAK,EAAC,UAAU,aAClB,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAClC,iBAEE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,cAAc,EACpB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,YAE1B,EAAE,IALE,EAAE,CAMA,CACV,CAAC,EACD,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CACxB,gBAAM,KAAK,EAAC,uBAAuB,kBAC/B,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAClB,CACR,IACG,CACP,EACD,eAAK,KAAK,EAAC,WAAW,aACpB,eAAK,KAAK,EAAC,YAAY,aACrB,KAAC,UAAU,IAAC,OAAO,EAAE,YAAY,CAAC,CAAC,GAAG,EAAE,GAAI,EAC5C,KAAC,UAAU,IACT,OAAO,EAAE,qBAAqB,CAAC,CAAC,GAAG,EAAE,EACrC,OAAO,EAAC,QAAQ,GAChB,EACD,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CACpC,YACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAE,SAAS,CAAC,eAAe,EAAE,CAAC,CAAC,GAAG,CAAE,EACxC,KAAK,EAAC,iBAAiB,gBACX,QAAQ,CAAC,CAAC,IAAI,aAAa,YAEvC,cAAK,OAAO,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,iBAAa,MAAM,YAChE,eACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,4WAA4W,GAC9W,GACE,GACJ,CACL,IACG,EACL,CAAC,CAAC,UAAU,IAAI,CACf,YACE,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,CAAC,CAAC,UAAU,EAClB,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,uBAGvB,CACL,IACG,KA7FC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,CA8F9B,CACN,CAAC,GACC,CACN,IACO,CACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"Catalog.js","sourceRoot":"","sources":["../../../../src/renderer/astro/components/Catalog.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { useMemo, useState } from "preact/hooks";
2
+ import { withBase } from "../lib/base.js";
2
3
  import { timeAgo, vscodeUrl, type CatalogPackage } from "../lib/catalog.js";
3
4
 
4
5
  // Known kinds get stable chip ordering + badge colors; unknown kinds
@@ -156,7 +157,7 @@ export default function Catalog({
156
157
  <li key={`${p.namespace}/${p.name}`} class="card">
157
158
  <div class="card-head">
158
159
  {p.logo ? (
159
- <img class="card-logo" src={p.logo} alt="" loading="lazy" />
160
+ <img class="card-logo" src={withBase(p.logo)} alt="" loading="lazy" />
160
161
  ) : (
161
162
  <span
162
163
  class="card-logo card-logo-fallback"
@@ -167,7 +168,7 @@ export default function Catalog({
167
168
  </span>
168
169
  )}
169
170
  <h2>
170
- <a href={`/p/${p.namespace}/${p.name}/`}>{p.name}</a>
171
+ <a href={withBase(`/p/${p.namespace}/${p.name}/`)}>{p.name}</a>
171
172
  </h2>
172
173
  {p.deprecated ? (
173
174
  <span class="badge deprecated">deprecated</span>
@@ -3,6 +3,7 @@
3
3
  // sheet. Everything in the global block sits in `@layer grimoire`, so a
4
4
  // user CSS file (unlayered) wins over any of it regardless of specificity
5
5
  // or injection order — that layer is the entire theming contract.
6
+ import { withBase } from "../lib/base";
6
7
  import { data } from "../lib/data";
7
8
 
8
9
  interface Props {
@@ -12,6 +13,9 @@ interface Props {
12
13
  }
13
14
  const { config, css } = data;
14
15
  const { title, description, image = config.favicon } = Astro.props;
16
+ // Shown as well as linked: on a subpath deployment the bare path is not
17
+ // where the file is, so the label has to carry the prefix too.
18
+ const allJson = withBase("/all.json");
15
19
  // The mark is styled separately, so it only applies when it really is the
16
20
  // leading run of the brand — otherwise the header renders the plain text.
17
21
  const brandRest =
@@ -25,11 +29,11 @@ const brandRest =
25
29
  <meta charset="utf-8" />
26
30
  <meta name="viewport" content="width=device-width, initial-scale=1" />
27
31
  <meta name="description" content={description} />
28
- <link rel="icon" href={config.favicon} type="image/svg+xml" />
32
+ <link rel="icon" href={withBase(config.favicon)} type="image/svg+xml" />
29
33
  <title>{title}</title>
30
34
  <meta property="og:title" content={title} />
31
35
  <meta property="og:description" content={description} />
32
- <meta property="og:image" content={image} />
36
+ <meta property="og:image" content={withBase(image)} />
33
37
  <meta name="twitter:card" content="summary" />
34
38
  <script is:inline>
35
39
  // Before first paint: stored preference wins, else system scheme.
@@ -43,7 +47,7 @@ const brandRest =
43
47
  <body>
44
48
  <header>
45
49
  <div class="shell header-row">
46
- <a class="brand" href="/">
50
+ <a class="brand" href={withBase("/")}>
47
51
  {
48
52
  brandRest === null ? (
49
53
  config.brand
@@ -79,7 +83,7 @@ const brandRest =
79
83
  <footer>
80
84
  <div class="shell">
81
85
  <p>
82
- Raw data: <a href="/all.json"><code>/all.json</code></a>{
86
+ Raw data: <a href={allJson}><code>{allJson}</code></a>{
83
87
  config.footerNote ? ` · ${config.footerNote}` : ""
84
88
  }
85
89
  </p>
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Prefix a site-root-relative URL with the deployment base path.
3
+ *
4
+ * A site on GitHub/GitLab *project* Pages is served from a subdirectory, so
5
+ * a bare `/all.json` resolves against the domain root and 404s. Anything
6
+ * that is not root-relative — an absolute URL, `//host/…`, `vscode:`, a
7
+ * fragment — already resolves and is returned untouched.
8
+ */
9
+ export declare function withBase(url: string): string;
10
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../src/renderer/astro/lib/base.ts"],"names":[],"mappings":"AAUA;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAK5C"}
@@ -0,0 +1,18 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright 2026 The Grimoire Authors
3
+ /**
4
+ * Prefix a site-root-relative URL with the deployment base path.
5
+ *
6
+ * A site on GitHub/GitLab *project* Pages is served from a subdirectory, so
7
+ * a bare `/all.json` resolves against the domain root and 404s. Anything
8
+ * that is not root-relative — an absolute URL, `//host/…`, `vscode:`, a
9
+ * fragment — already resolves and is returned untouched.
10
+ */
11
+ export function withBase(url) {
12
+ if (!url.startsWith("/") || url.startsWith("//"))
13
+ return url;
14
+ // Base is `/` when the site is domain-rooted; drop it so the join never
15
+ // doubles the slash.
16
+ return __GRIMOIRE_BASE__.replace(/\/$/, "") + url;
17
+ }
18
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/renderer/astro/lib/base.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAStC;;;;;;;GAOG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW;IAClC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,GAAG,CAAC;IAC7D,wEAAwE;IACxE,qBAAqB;IACrB,OAAO,iBAAiB,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;AACpD,CAAC"}
@@ -0,0 +1,24 @@
1
+ // SPDX-License-Identifier: Apache-2.0
2
+ // Copyright 2026 The Grimoire Authors
3
+
4
+ // The second build-time bridge, and the one that is safe in the client
5
+ // bundle — `./data.ts` inlines the whole catalog, this inlines one string.
6
+ // `buildSite` derives it from the `site` URL's path and hands the same value
7
+ // to Astro as `base`, so what Astro prefixes automatically (`_astro/…`, the
8
+ // island scripts) and what the templates prefix by hand cannot drift.
9
+ declare const __GRIMOIRE_BASE__: string;
10
+
11
+ /**
12
+ * Prefix a site-root-relative URL with the deployment base path.
13
+ *
14
+ * A site on GitHub/GitLab *project* Pages is served from a subdirectory, so
15
+ * a bare `/all.json` resolves against the domain root and 404s. Anything
16
+ * that is not root-relative — an absolute URL, `//host/…`, `vscode:`, a
17
+ * fragment — already resolves and is returned untouched.
18
+ */
19
+ export function withBase(url: string): string {
20
+ if (!url.startsWith("/") || url.startsWith("//")) return url;
21
+ // Base is `/` when the site is domain-rooted; drop it so the join never
22
+ // doubles the slash.
23
+ return __GRIMOIRE_BASE__.replace(/\/$/, "") + url;
24
+ }
@@ -5,6 +5,7 @@
5
5
  import Base from "../../layouts/Base.astro";
6
6
  import VersionMenu from "../../components/VersionMenu.astro";
7
7
  import CopyButton from "../../components/CopyButton.astro";
8
+ import { withBase } from "../../lib/base";
8
9
  import { compareVersions, versionCascade, vscodeUrl, type CatalogPackage } from "../../lib/catalog";
9
10
  import { data } from "../../lib/data";
10
11
  import { getEntry, render } from "astro:content";
@@ -40,7 +41,7 @@ const addCommand = `grim add ${pkg.ref}`;
40
41
  <header class="detail-head">
41
42
  {
42
43
  pkg.logo ? (
43
- <img class="tile logo" src={pkg.logo} alt="" />
44
+ <img class="tile logo" src={withBase(pkg.logo)} alt="" />
44
45
  ) : (
45
46
  <div class="tile letter" style={`background: var(--kind-${pkg.kind}, var(--muted))`}>
46
47
  {pkg.name[0]?.toUpperCase()}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,+DAA+D;AAC/D,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AA4BD,mEAAmE;AACnE,eAAO,MAAM,aAAa,QAA2B,CAAC;AACtD,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,QAA4B,CAAC;AAkH5D,sEAAsE;AACtE,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCrE;AAED,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,gBAAgB;IAC/B,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,+DAA+D;AAC/D,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AA4BD,mEAAmE;AACnE,eAAO,MAAM,aAAa,QAA2B,CAAC;AACtD,2DAA2D;AAC3D,eAAO,MAAM,kBAAkB,QAA4B,CAAC;AAkH5D,sEAAsE;AACtE,wBAAsB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA6CrE;AAED,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC"}
@@ -158,6 +158,12 @@ export async function buildSite(opts) {
158
158
  const config = resolveConfig(opts.config);
159
159
  const packages = await readPackages(opts.outDir);
160
160
  const css = await readCustomCss(opts.root, config.customCss);
161
+ // A site on GitHub/GitLab *project* Pages lives under a path segment, and
162
+ // `site` is the only place that fact is recorded. Its path becomes Astro's
163
+ // `base` — which covers everything Astro emits itself — and the same value
164
+ // reaches the hand-written URLs through `astro/lib/base.ts`. Domain-rooted
165
+ // sites yield "/", Astro's own default, so nothing about them moves.
166
+ const base = new URL(config.site).pathname;
161
167
  const staged = await stage(opts.root, opts.outDir);
162
168
  // Astro routes its server build through `<cwd>/.astro/` whenever `outDir`
163
169
  // is not under `process.cwd()` (`getOutDirWithinCwd`). That fallback is
@@ -177,9 +183,13 @@ export async function buildSite(opts) {
177
183
  publicDir: path.join(staged.dir, "public"),
178
184
  outDir: opts.outDir,
179
185
  site: config.site,
186
+ base,
180
187
  integrations: [preact()],
181
188
  vite: {
182
- define: { __GRIMOIRE_DATA__: JSON.stringify({ config, packages, css }) },
189
+ define: {
190
+ __GRIMOIRE_DATA__: JSON.stringify({ config, packages, css }),
191
+ __GRIMOIRE_BASE__: JSON.stringify(base),
192
+ },
183
193
  plugins: [bundlePreactRenderer],
184
194
  },
185
195
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,sCAAsC;AAEtC,uEAAuE;AACvE,uEAAuE;AACvE,iEAAiE;AACjE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC;AAC9B,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,aAAa,EAAmB,MAAM,cAAc,CAAC;AAW9D,+DAA+D;AAC/D,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IACzC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,oBAAoB,GAAG;IAC3B,IAAI,EAAE,qCAAqC;IAC3C,iBAAiB,CAAC,KAAa,EAAE,OAA+C;QAC9E,wEAAwE;QACxE,sDAAsD;QACtD,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI;YAAE,OAAO;QACjD,OAAO,EAAE,OAAO,EAAE,EAAE,UAAU,EAAE,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF,CAAC;AAEF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,mEAAmE;AACnE,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,2DAA2D;AAC3D,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAE5D,KAAK,UAAU,YAAY,CAAC,MAAc;IACxC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3C,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,mDAAmD,CAAC,CAAC;QACzF,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,yBAAyB,CAAC,CAAC;IACzF,OAAQ,MAA2B,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnF,CAAC;AAED,KAAK,UAAU,MAAM,CAAC,MAAc;IAClC,OAAO,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAC3B,GAAG,EAAE,CAAC,IAAI,EACV,GAAG,EAAE,CAAC,KAAK,CACZ,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,SAAwB;IACjE,IAAI,CAAC,SAAS;QAAE,OAAO,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,gBAAgB,CAAC,8CAA8C,SAAS,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,IAAI,CAAC;QACH,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAK,GAA6B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrD,MAAM,IAAI,gBAAgB,CAAC,GAAG,IAAI,4BAA4B,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,YAAY,GAAG,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;AAE5D,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,KAAK,CAAC,IAAY,EAAE,MAAc;IAC/C,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;IACzD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAErD,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACjD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,0BAA0B;QACnF,MAAM,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,0EAA0E;IAC1E,yEAAyE;IACzE,mCAAmC;IACnC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACzC,IAAI,MAAM,MAAM,CAAC,MAAM,CAAC;QAAE,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,SAAS,CAAC,CAAC;IAExF,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/C,KAAK,MAAM,KAAK,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC;QAC5E,wEAAwE;QACxE,IAAI,MAAM,MAAM,CAAC,KAAK,CAAC;YAAE,MAAM,EAAE,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3F,CAAC;IACD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACtB,CAAC;AAED,sEAAsE;AACtE,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,IAAsB;IACpD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAE7D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACnD,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,uEAAuE;IACvE,iEAAiE;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,KAAK,CAAC;YACV,sDAAsD;YACtD,IAAI,EAAE,MAAM,CAAC,GAAG;YAChB,kEAAkE;YAClE,gDAAgD;YAChD,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,MAAM,CAAC,GAAG;YAClB,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC;YAC1C,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,YAAY,EAAE,CAAC,MAAM,EAAE,CAAC;YACxB,IAAI,EAAE;gBACJ,MAAM,EAAE,EAAE,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE;gBACxE,OAAO,EAAE,CAAC,oBAAoB,CAAC;aAChC;SACF,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACnB,MAAM,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grimoire-rs/indexer",
3
- "version": "0.1.4",
3
+ "version": "0.1.6",
4
4
  "description": "CLI + Astro integration for running your own grim package index",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -39,6 +39,29 @@ grim-indexer:validate:
39
39
  GIT_DEPTH: 0
40
40
  rules:
41
41
  - if: $CI_PIPELINE_SOURCE == "merge_request_event"
42
+ # The job image is picked for `npx`, and `node:*-alpine` ships no git —
43
+ # but this job diffs the merge request against its target branch, so git
44
+ # is not optional. GitLab's runner clones with a separate helper image, so
45
+ # nothing else puts git in here. Install it for whichever package manager
46
+ # the (overridable) image has.
47
+ #
48
+ # The trailing check is the load-bearing part: the gate's contract is
49
+ # "exit 0 = eligible for auto-merge", so a missing or failed-to-install
50
+ # tool must fail the job, never silently skip validation.
51
+ before_script:
52
+ - |
53
+ set -eu
54
+ if ! command -v git >/dev/null 2>&1; then
55
+ if command -v apk >/dev/null 2>&1; then
56
+ apk add --no-cache git
57
+ elif command -v apt-get >/dev/null 2>&1; then
58
+ apt-get update -qq && apt-get install -y -qq --no-install-recommends git
59
+ fi
60
+ fi
61
+ command -v git >/dev/null 2>&1 || {
62
+ echo "grim-indexer: the gate needs git, and ${GRIM_INDEXER_NODE_IMAGE} has none" >&2
63
+ exit 1
64
+ }
42
65
  script:
43
66
  - |
44
67
  set -eu