@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.
- package/dist/renderer/astro/components/Catalog.d.ts.map +1 -1
- package/dist/renderer/astro/components/Catalog.js +2 -1
- package/dist/renderer/astro/components/Catalog.js.map +1 -1
- package/dist/renderer/astro/components/Catalog.tsx +3 -2
- package/dist/renderer/astro/layouts/Base.astro +8 -4
- package/dist/renderer/astro/lib/base.d.ts +10 -0
- package/dist/renderer/astro/lib/base.d.ts.map +1 -0
- package/dist/renderer/astro/lib/base.js +18 -0
- package/dist/renderer/astro/lib/base.js.map +1 -0
- package/dist/renderer/astro/lib/base.ts +24 -0
- package/dist/renderer/astro/pages/p/[...slug].astro +2 -1
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +11 -1
- package/dist/renderer/index.js.map +1 -1
- package/package.json +1 -1
- package/templates/reusable/gitlab-index-ci.yml +23 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Catalog.d.ts","sourceRoot":"","sources":["../../../../src/renderer/astro/components/Catalog.tsx"],"names":[],"mappings":"
|
|
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}
|
|
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":"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
|
|
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=
|
|
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,
|
|
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"}
|
package/dist/renderer/index.js
CHANGED
|
@@ -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: {
|
|
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":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/renderer/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -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
|