@grimoire-rs/indexer 0.5.2 → 0.5.4
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/CHANGELOG.md +250 -270
- package/README.md +26 -0
- package/dist/cli/ratings.d.ts.map +1 -1
- package/dist/cli/ratings.js +29 -1
- package/dist/cli/ratings.js.map +1 -1
- package/dist/renderer/astro/components/CardLogo.d.ts +2 -2
- package/dist/renderer/astro/components/CardLogo.tsx +2 -2
- package/dist/renderer/astro/components/Catalog.d.ts +12 -4
- package/dist/renderer/astro/components/Catalog.js +290 -38
- package/dist/renderer/astro/components/Catalog.tsx +369 -57
- package/dist/renderer/astro/components/PackageCard.d.ts +2 -2
- package/dist/renderer/astro/components/PackageCard.tsx +2 -2
- package/dist/renderer/astro/components/PackageRow.d.ts +2 -2
- package/dist/renderer/astro/components/PackageRow.tsx +2 -2
- package/dist/renderer/astro/components/PickerMenu.astro +1 -0
- package/dist/renderer/astro/layouts/Base.astro +98 -22
- package/dist/renderer/astro/lib/catalog.d.ts +39 -2
- package/dist/renderer/astro/lib/catalog.js +42 -1
- package/dist/renderer/astro/lib/catalog.ts +82 -1
- package/dist/renderer/astro/lib/commands.d.ts +7 -0
- package/dist/renderer/astro/lib/commands.js +9 -2
- package/dist/renderer/astro/lib/commands.ts +17 -2
- package/dist/renderer/astro/lib/search.d.ts +17 -0
- package/dist/renderer/astro/lib/search.js +138 -0
- package/dist/renderer/astro/lib/search.ts +157 -0
- package/dist/renderer/astro/pages/index.astro +51 -3
- package/dist/renderer/astro/styles/tokens.css +6 -1
- package/dist/renderer/index.d.ts.map +1 -1
- package/dist/renderer/index.js +52 -0
- package/dist/renderer/index.js.map +1 -1
- package/package.json +6 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,303 +4,283 @@ All notable changes to `@grimoire-rs/indexer` are recorded here, in
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) format. This project
|
|
5
5
|
adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
> This file starts at `0.5.0`. Releases up to and including `v0.4.4` shipped
|
|
8
|
-
> before it existed and are not reconstructed here — the git tags and
|
|
9
|
-
> `git log v0.4.3..v0.4.4` are the record for those. Every release from the
|
|
10
|
-
> next one on is written down here.
|
|
11
|
-
|
|
12
7
|
Component overrides sit in the **Unstable** tier of the
|
|
13
8
|
[stability table](docs/reference/theme-overlay.md#stability): their file paths
|
|
14
9
|
and props may move in a minor release, and this file is where that is
|
|
15
|
-
announced. Everything in the Contract tier moves only in a major
|
|
10
|
+
announced. Everything in the Contract tier moves only in a major — so a commit
|
|
11
|
+
that moves one says which component and where, old → new, in its subject or
|
|
12
|
+
body, because that is all a reader gets here.
|
|
13
|
+
|
|
14
|
+
## [0.5.4] - 2026-09-01
|
|
15
|
+
|
|
16
|
+
### Added
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
`PackageRow`: `components/PackageRow.tsx` → `components/list/PackageRow.tsx`,
|
|
20
|
-
props `{ pkg }` → `{ pkg, compact }`.
|
|
18
|
+
- Publish the forge host in providers.rating_host *(ratings)*
|
|
19
|
+
- Carry the picked scope into the add-registry link *(renderer)*
|
|
21
20
|
|
|
22
|
-
## [
|
|
21
|
+
## [0.5.3] - 2026-08-31
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
|
|
25
|
+
- --bulk, to look at the catalog at corporate size *(dev)*
|
|
26
|
+
- Fuzzy search across every field, with a relevance order *(renderer)*
|
|
27
|
+
- Give the search field its own clear button *(renderer)*
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- Ship the island only the fields a card renders *(renderer)*
|
|
32
|
+
- Build a viewport of the catalog, not all of it *(renderer)*
|
|
33
|
+
|
|
34
|
+
### Fixed
|
|
35
|
+
|
|
36
|
+
- Hold the paint for a stored view and a kw deep link *(renderer)*
|
|
37
|
+
- Lift the agent badge to WCAG AA, and ratchet the floors *(renderer)*
|
|
38
|
+
- Verify the pack shape under both npm majors the matrix ships *(ci)*
|
|
39
|
+
- Restore the list view's subgrid columns *(renderer)*
|
|
40
|
+
- Keep the sort ring off a pointer interaction *(renderer)*
|
|
23
41
|
|
|
24
42
|
## [0.5.2] - 2026-08-31
|
|
25
43
|
|
|
26
44
|
### Fixed
|
|
27
45
|
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
off every bordered control in the toolbar together rather than off the one
|
|
34
|
-
that showed it: the search field, the keyword overflow menu's search, both
|
|
35
|
-
sort halves and both view picks. Keyword chips gain the same ring, having
|
|
36
|
-
taken the browser's default until now.
|
|
37
|
-
- **A long address no longer wraps the card's head onto a second line.** A
|
|
38
|
-
namespace breaks at its own slashes and dots, so a wide one took two rows and
|
|
39
|
-
left the card taller than its neighbours with the tail of the address against
|
|
40
|
-
the padding edge. It stays on one line and the overflow is trimmed from the
|
|
41
|
-
*front* — the registry host is on every address in an index and the
|
|
42
|
-
repository at the tail is what tells two apart — with the whole of it in the
|
|
43
|
-
element's `title`.
|
|
44
|
-
- **Keyword chips could stutter, or stop part-way through the rail's slide.**
|
|
45
|
-
The rail's FLIP pass inverted each chip with an inline `transition: none` and
|
|
46
|
-
a `translate`, then dropped both on the next animation frame; any commit
|
|
47
|
-
landing inside that window left the chip carrying the offset with its
|
|
48
|
-
transition disabled, and nothing else took those off. It also measured seats
|
|
49
|
-
with `getBoundingClientRect`, which reports where a chip is *drawn*, so a
|
|
50
|
-
chip caught mid-slide recorded its animated box and the next inversion
|
|
51
|
-
compounded the error instead of correcting it. Neither window was rare: the
|
|
52
|
-
rail's own fit measurement re-commits whenever a rescore changes how many
|
|
53
|
-
chips fit. Seats now come from `offsetLeft`/`offsetTop`, which ignore
|
|
54
|
-
transforms and scroll, and the slide is a Web Animation — it starts without a
|
|
55
|
-
frame, writes nothing to `style`, and clears itself when it finishes or is
|
|
56
|
-
cancelled. `prefers-reduced-motion` is honoured by the effect rather than by
|
|
57
|
-
the stylesheet, and `--grim-duration-slow` is still its length.
|
|
58
|
-
|
|
59
|
-
## [0.5.1] - 2026-08-31
|
|
46
|
+
- Merge the focus ring onto the control's own border *(renderer)*
|
|
47
|
+
- Trim a long card address from the front *(renderer)*
|
|
48
|
+
- Run the keyword rail's slide as a Web Animation *(renderer)*
|
|
49
|
+
|
|
50
|
+
## [0.5.1] - 2026-08-30
|
|
60
51
|
|
|
61
52
|
### Added
|
|
62
53
|
|
|
63
|
-
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
[Reuse shipped components](docs/how-to/reuse-components.md#code-blocks).
|
|
76
|
-
- **`data-slot="code-block"`**, for it. Contract tier, like every other slot.
|
|
77
|
-
- **A second argument on `registryAddCommand` and `registryScopeChoices`**,
|
|
78
|
-
the registry to build the command for — defaulting to the one in your config,
|
|
79
|
-
so nothing existing changes. It is what lets a setup page draw the "add
|
|
80
|
-
registry" bar for an index *other* than the site's own: a corporate index in
|
|
81
|
-
the hero and the public one further down.
|
|
82
|
-
- **A clear button on the keyword filters**, in the catalog toolbar. Rendered
|
|
83
|
-
only while a keyword is picked, and it lifts the keywords alone — Escape is
|
|
84
|
-
still what clears the search and the kinds with them.
|
|
54
|
+
- Add a --host flag to dev *(cli)*
|
|
55
|
+
- Add CodeBlock, a code block an index's page can use *(renderer)*
|
|
56
|
+
- Let the registry command builders take another index *(renderer)*
|
|
57
|
+
- Add a clear button to the keyword filters *(renderer)*
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
|
|
61
|
+
- Keep off-screen cards out of layout and paint *(renderer)*
|
|
62
|
+
|
|
63
|
+
### Documentation
|
|
64
|
+
|
|
65
|
+
- Record the unreleased changes *(changelog)*
|
|
85
66
|
|
|
86
67
|
### Fixed
|
|
87
68
|
|
|
88
|
-
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
trigger is a `<button>` rather than a `<summary>`, so the toolbar's arrow-key
|
|
95
|
-
navigation now reaches it.
|
|
96
|
-
- **The detail page's logo drifted down under a long description.** The header
|
|
97
|
-
centred the tile against the text beside it, so the same package's mark sat
|
|
98
|
-
at a different height on every page. It holds against the title now.
|
|
99
|
-
- **Dropped the tinted square behind a package logo**, on the cards, the list
|
|
100
|
-
rows and the detail header alike. A logo is a designed mark already sitting
|
|
101
|
-
on its own ground, so the slot framed it twice — most visibly for the many
|
|
102
|
-
logos that are themselves a rounded square, which then sat inside a slightly
|
|
103
|
-
larger one. The slot still reserves the same box, so nothing shifts. The
|
|
104
|
-
dashed frame the broken-logo state drew goes with it — it read as a fault in
|
|
105
|
-
the layout rather than in the image; the slashed glyph is what says the logo
|
|
106
|
-
failed, and `role="img"` with a label is what announces it. The
|
|
107
|
-
initial-letter tile a package with no logo gets is unchanged: there the
|
|
108
|
-
coloured ground is the mark.
|
|
109
|
-
- **The dev server's URL is a legal URL when the server binds an IPv6
|
|
110
|
-
address.** An unbracketed literal reads its own colons as a port, so
|
|
111
|
-
`http://::1:4321/` threw `ERR_INVALID_URL` at the first `new URL` against it
|
|
112
|
-
and took `dev:smoke` down with a message naming neither the address nor the
|
|
113
|
-
host. Wildcard binds still become `localhost`; anything carrying a colon is
|
|
114
|
-
bracketed.
|
|
115
|
-
- **The detail page's logo tile is a fixed square.** `aspect-ratio: 1` derived
|
|
116
|
-
its width from the height the box had *before* `align-self: stretch` grew it,
|
|
117
|
-
so it rendered 56x93 beside a logo and 56x70 beside a letter — portrait,
|
|
118
|
-
never square, and narrow enough to read as bounding the image rather than
|
|
119
|
-
framing it.
|
|
120
|
-
- **The list row's glyphs sit on the row's centre.** `vertical-align: middle`
|
|
121
|
-
aligns to half the parent's x-height, about 2px under the line's true middle
|
|
122
|
-
at this step, and the upvote arrow's optical nudge added a third pixel the
|
|
123
|
-
same way. The kind and rating cells are flex boxes now and centre their
|
|
124
|
-
contents as boxes.
|
|
125
|
-
- **Keyword chips could freeze part-way through the rail's slide.** The rail
|
|
126
|
-
animates a rescore by inverting each chip with an inline `translate` and
|
|
127
|
-
dropping it on the next animation frame. A rescore that also changes how many
|
|
128
|
-
chips fit commits a second time, and that commit cancelled the frame before
|
|
129
|
-
it ran — leaving every moved chip parked at its offset with transitions
|
|
130
|
-
disabled. Deselecting the last keyword hit it most often, because that
|
|
131
|
-
rescore is the largest. The offsets are now cleared before each measurement
|
|
132
|
-
and on cleanup, so an interrupted slide resolves instead of sticking.
|
|
133
|
-
- **Switching between the cards and list views repainted the whole catalog.**
|
|
134
|
-
Off-screen cards are skipped until they are scrolled to. The two views share
|
|
135
|
-
no element types, so a switch still rebuilds every item — past a few hundred
|
|
136
|
-
packages the answer is windowing the list, and this is not that.
|
|
69
|
+
- Bracket an IPv6 address in the dev server's URL *(renderer)*
|
|
70
|
+
- Make the detail page's logo tile a fixed square *(renderer)*
|
|
71
|
+
- Centre the list row's glyphs on the row, not the x-height *(renderer)*
|
|
72
|
+
- Open the keyword overflow menu in the top layer *(renderer)*
|
|
73
|
+
- Stop keyword chips freezing part-way through the rail's slide *(renderer)*
|
|
74
|
+
- Hold the detail logo against the title, and stop framing it *(renderer)*
|
|
137
75
|
|
|
138
76
|
## [0.5.0] - 2026-08-30
|
|
139
77
|
|
|
140
78
|
### Added
|
|
141
79
|
|
|
142
|
-
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
- **
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
- **`@grim/*` import specifier**, resolving to the renderer's sources so an
|
|
156
|
-
added page reaches the layout, components and helpers without a relative
|
|
157
|
-
path that encodes how deep it sits under `pages/`. It resolves *after* the
|
|
158
|
-
overlay, so an index that replaced a component imports its own.
|
|
159
|
-
- **`@grim-original/*`**, the same tree as it was *before* the overlay ran, so
|
|
160
|
-
an override can wrap the file it replaced instead of owning it outright.
|
|
161
|
-
`@grim/*` cannot serve that purpose once the theme has taken the path, and
|
|
162
|
-
the package's `exports` do not publish the Astro sources for a deep import.
|
|
163
|
-
- **One stderr line per overlaid path that replaces a shipped file**, naming
|
|
164
|
-
the path and the indexer version that shipped it. That is what makes the
|
|
165
|
-
Unstable tier below honest without a manifest. A path that only adds a file
|
|
166
|
-
is not logged.
|
|
167
|
-
- **`dev` mirrors `theme/**` edits** into the staged tree, so a page reloads as
|
|
168
|
-
it is saved. It creates `theme/` first if it is absent — a directory added
|
|
169
|
-
after the server started now mirrors instead of 404ing forever — and removes
|
|
170
|
-
it again on shutdown if you left it empty. Deletes are still not mirrored;
|
|
171
|
-
restart for those. A fault in the platform's recursive-watch backend disables
|
|
172
|
-
mirroring with a message rather than taking the server down.
|
|
173
|
-
- **`nav` config key.** An ordered `{label, href}` list that takes the header
|
|
174
|
-
over. Unset, it synthesizes exactly what the header has always shown, so an
|
|
175
|
-
index that predates the key renders unchanged; `[]` leaves the theme toggle
|
|
176
|
-
standing alone.
|
|
177
|
-
- **`notice` config key.** One line above the page content, in the site's own
|
|
178
|
-
width, on every page, carrying `data-slot="site-notice"`. Named `notice`
|
|
179
|
-
rather than `banner` because `--grim-color-banner-*` is the existing amber
|
|
180
|
-
palette for the deprecated-package banner, and a key called `banner` would
|
|
181
|
-
invite an index runner to override that token family by mistake.
|
|
182
|
-
- **`nav[].external` and `footerLinks[].external`.** Optional per entry, and it
|
|
183
|
-
decides only the new-tab affordance — the deployment base prefix is applied
|
|
184
|
-
either way. Unset keeps the old inference from the href's shape. `false` is
|
|
185
|
-
the case that inference cannot express: an absolute URL that is still your
|
|
186
|
-
own site, a staging host or an intranet mirror.
|
|
187
|
-
- **A build-time warning for a `nav` or `footerLinks` href that leads nowhere.**
|
|
188
|
-
A `/`-rooted href matching no emitted route and no `public/` file prints
|
|
189
|
-
`nav[0].href "/setup/": nothing is published at that path — the link will
|
|
190
|
-
404`. It warns and never fails: a path served by something outside the build
|
|
191
|
-
is indistinguishable from a typo, and refusing a whole site over a footer
|
|
192
|
-
typo is worse than the typo. Checked after the build, which is the one moment
|
|
193
|
-
both the emitted routes and every `public/` layer exist at once.
|
|
194
|
-
- **A warning for an unrecognised top-level key in `index.config.json`**,
|
|
195
|
-
naming the key. Without it a typo — or a config predating the `banner` →
|
|
196
|
-
`notice` rename — loaded clean and silently rendered nothing.
|
|
197
|
-
- **`init` scaffolds `theme/README.md` and a `tsconfig.json`** mapping
|
|
198
|
-
`@grim/*` for editors. The README states where a page goes and which parts of
|
|
199
|
-
the overlay are promised, which a `.gitkeep` could not; both reserve `theme/`
|
|
200
|
-
for git equally well. `theme/pages/` is no longer created empty. The build
|
|
201
|
-
does not read that tsconfig.
|
|
202
|
-
- **A documentation site** (MkDocs Material, Diátaxis), built `--strict` as the
|
|
203
|
-
docs' pre-merge gate and published to GitHub Pages. `task docs:build`,
|
|
204
|
-
`docs:serve`, `docs:clean` — deliberately not part of `task check`, which
|
|
205
|
-
must stay runnable with no Python toolchain.
|
|
206
|
-
- **Individually replaceable components**: `SiteHeader`, `SiteFooter`,
|
|
207
|
-
`CommandBar`, `CopyButton`, `CardLogo`, `PackageCard`, `PackageRow`.
|
|
208
|
-
- **This changelog**, which two docs pages already made the sole mitigation for
|
|
209
|
-
the Unstable tier. It ships in the npm tarball, so the copy that matches your
|
|
210
|
-
pinned version is `node_modules/@grimoire-rs/indexer/CHANGELOG.md`.
|
|
211
|
-
- **`npm run typecheck:tests`**, type-checking the `test` tree under its own
|
|
212
|
-
`tsconfig.test.json`. Deliberately not wired into `task check` yet: the tree
|
|
213
|
-
has 95 real type errors, which is its own piece of work.
|
|
80
|
+
- Carry the rating thread URL into the catalog *(renderer)*
|
|
81
|
+
- Redraw the package card, and keep the view across a visit *(renderer)*
|
|
82
|
+
- Give the detail page its right column back *(renderer)*
|
|
83
|
+
- Pick keyword chips by splitting power *(renderer)*
|
|
84
|
+
- Give the catalog a keyword facet and a list view *(renderer)*
|
|
85
|
+
- Ship square, behind one radius knob *(renderer)* **BREAKING**
|
|
86
|
+
- **Migration:** every corner is square by default. `--grim-radius-base` is the whole decision — `0px` now, `4px` restores the rounding of `0.4.x` and earlier in one line. The four measurement steps derive from it and hold their ratios; overriding one step directly still beats the derivation, so a consumer wanting square surfaces and rounded controls sets that step and ignores the knob. Four steps at 4/6/8/10px was a distinction nobody perceived — they were only pickable after their roles were written down, and the package list had already ended up on the wrong one silently. Square reads as the developer tool this is, and `pill` stays off the knob because a chip is a
|
|
87
|
+
- Show the package logo in the list view *(renderer)*
|
|
88
|
+
- Add nav and notice, behind one URL guard for every link value *(config)* **BREAKING**
|
|
89
|
+
- **Migration:** `footerLinks[].href` now accepts a site-root path as well as an absolute URL, and both link keys are validated when the config loads, so a
|
|
90
|
+
- Lay an index repo's theme/ over the shipped sources *(renderer)*
|
|
91
|
+
- Scaffold theme/README.md and an editor tsconfig that loads *(init)* **BREAKING**
|
|
92
|
+
- **Migration:** `init` no longer creates `theme/pages/.gitkeep`. An index scaffolded before this keeps its own copy; nothing removes it.
|
|
214
93
|
|
|
215
94
|
### Changed
|
|
216
95
|
|
|
217
|
-
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
96
|
+
- Name the radius tokens for their role *(renderer)* **BREAKING**
|
|
97
|
+
- **Migration:** `--grim-radius-sm`, `-md`, `-lg` and `-xl` are now `--grim-radius-code`, `-inset`, `-control` and `-surface`. `-pill` is unchanged and no value moved. A `customCss` override under an old name is silently ignored, like any unknown custom property; `README.md` carries the migration note. Every other family in `tokens.css` names the role a value plays rather than its size — that is the rule this sheet states about itself, and the radius scale was the one family breaking it. The cost was not cosmetic: with nothing saying which step a surface should take, the package list ended up on the control step next to cards on the surface step, and the two corners disagreed. That is fixed here too. The contract comment now publishes what each step is for, and warns against picking by eye — the same radius on a shorter box reads as more curve, so two corners that look different are often the same step.
|
|
98
|
+
- Lead the list row with logo, name, then kind *(renderer)*
|
|
99
|
+
- Put the kind mark before the name in the list *(renderer)*
|
|
100
|
+
- Make the header, footer, command bar and cards replaceable *(renderer)* **BREAKING**
|
|
101
|
+
- **Migration:** an `https://` footer link now opens in a new tab. Set
|
|
102
|
+
|
|
103
|
+
### Documentation
|
|
104
|
+
|
|
105
|
+
- Write down the local loop -- direnv, task, and the dev index
|
|
106
|
+
- Publish a documentation site, and start a changelog
|
|
107
|
+
|
|
108
|
+
### Fixed
|
|
109
|
+
|
|
110
|
+
- Hang the kind watermark off the corner by a share of its size *(renderer)*
|
|
111
|
+
- Point the dev fixture at the real extension id *(dev)*
|
|
112
|
+
|
|
113
|
+
## [0.4.4] - 2026-08-29
|
|
114
|
+
|
|
115
|
+
### Fixed
|
|
116
|
+
|
|
117
|
+
- Upload the tally -- a dotfile artifact was silently dropped *(ratings)*
|
|
118
|
+
|
|
119
|
+
## [0.4.3] - 2026-08-28
|
|
120
|
+
|
|
121
|
+
### Fixed
|
|
122
|
+
|
|
123
|
+
- Stop locking threads by default -- a locked one cannot be voted on *(ratings)* **BREAKING**
|
|
124
|
+
|
|
125
|
+
## [0.4.2] - 2026-08-28
|
|
126
|
+
|
|
127
|
+
### Added
|
|
128
|
+
|
|
129
|
+
- Publish zero-vote threads so a first vote can be cast *(ratings)* **BREAKING**
|
|
130
|
+
|
|
131
|
+
## [0.4.1] - 2026-08-28
|
|
132
|
+
|
|
133
|
+
### Added
|
|
134
|
+
|
|
135
|
+
- Make the whole theming surface a token contract *(renderer)* **BREAKING**
|
|
136
|
+
- **Migration:** every CSS custom property is renamed. The unnamespaced tokens (`--accent`, `--bg`, `--fg`, and the rest) are now `--grim-color-*`, and space, type, radius, border width, motion and elevation become overridable for the first time under `--grim-space-*`, `--grim-text-*`, `--grim-radius-*`, `--grim-border-width`, `--grim-duration-*` and `--grim-shadow-*`. A `theme.css` written against 0.4.0 or earlier stops applying silently rather than erroring.
|
|
137
|
+
- Publish a checkpoint, and seed the sidecars from it *(enrich)*
|
|
138
|
+
|
|
139
|
+
### Fixed
|
|
140
|
+
|
|
141
|
+
- Stop reading a large page as a transport failure *(ratings)*
|
|
142
|
+
- Stop every run dying on PAGE_SIZE at import *(ratings)*
|
|
143
|
+
|
|
144
|
+
## [0.4.0] - 2026-08-26
|
|
145
|
+
|
|
146
|
+
### Added
|
|
147
|
+
|
|
148
|
+
- Publish a stats.json sidecar from the index's own forge (#5) *(ratings)*
|
|
149
|
+
- Carry grim's annotation fields, and date every package *(enrich)*
|
|
150
|
+
- Show provenance and support, and publish the updated signal *(renderer)*
|
|
151
|
+
|
|
152
|
+
### Documentation
|
|
153
|
+
|
|
154
|
+
- Document the second stat, and release 0.4.0
|
|
155
|
+
|
|
156
|
+
## [0.3.1] - 2026-07-30
|
|
157
|
+
|
|
158
|
+
### Documentation
|
|
159
|
+
|
|
160
|
+
- Point at the index template repository
|
|
161
|
+
|
|
162
|
+
## [0.3.0] - 2026-07-30
|
|
163
|
+
|
|
164
|
+
### Added
|
|
165
|
+
|
|
166
|
+
- Own the pipeline in the index repo, and harden the gate *(ci)* **BREAKING**
|
|
167
|
+
- **Migration:** the reusable workflows `grimoire-rs/indexer/.github/workflows/index-{pages,validate}.yml` and the GitLab remote include are gone. An index scaffolded on 0.2.x keeps working on its pinned tag; to move, bump the dependency, add a `ci` block to index.config.json, run `npm run ci`, and delete the old thin callers - `ci --check` reports them as stale.
|
|
168
|
+
|
|
169
|
+
## [0.2.2] - 2026-07-28
|
|
278
170
|
|
|
279
171
|
### Fixed
|
|
280
172
|
|
|
281
|
-
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
[
|
|
173
|
+
- Stop defaulting the keys that name one specific index *(config)*
|
|
174
|
+
|
|
175
|
+
## [0.2.1] - 2026-07-28
|
|
176
|
+
|
|
177
|
+
### Fixed
|
|
178
|
+
|
|
179
|
+
- Stop gitignoring the index's own public/ directory *(init)*
|
|
180
|
+
|
|
181
|
+
## [0.2.0] - 2026-07-28
|
|
182
|
+
|
|
183
|
+
### Added
|
|
184
|
+
|
|
185
|
+
- Write a contents sidecar from the artifact payload *(enrich)*
|
|
186
|
+
- Add a header logo, and let an index drop the attribution *(config)*
|
|
187
|
+
- Rebuild the hero and the package page *(renderer)*
|
|
188
|
+
|
|
189
|
+
## [0.1.9] - 2026-07-28
|
|
190
|
+
|
|
191
|
+
### Added
|
|
192
|
+
|
|
193
|
+
- Offer the index as a one-click VS Code add-registry link *(renderer)*
|
|
194
|
+
|
|
195
|
+
## [0.1.8] - 2026-07-28
|
|
196
|
+
|
|
197
|
+
### Fixed
|
|
198
|
+
|
|
199
|
+
- Hand the gate every changed path, unfiltered *(validate)*
|
|
200
|
+
|
|
201
|
+
## [0.1.7] - 2026-07-28
|
|
202
|
+
|
|
203
|
+
### Added
|
|
204
|
+
|
|
205
|
+
- Read package READMEs, logos and versions from the registry (#1) *(enrich)*
|
|
206
|
+
|
|
207
|
+
## [0.1.6] - 2026-07-28
|
|
208
|
+
|
|
209
|
+
### Fixed
|
|
210
|
+
|
|
211
|
+
- Give the GitLab gate the git it shells out to *(ci)*
|
|
212
|
+
|
|
213
|
+
## [0.1.5] - 2026-07-28
|
|
214
|
+
|
|
215
|
+
### Fixed
|
|
216
|
+
|
|
217
|
+
- Resolve every internal URL against the site's base path *(renderer)*
|
|
218
|
+
|
|
219
|
+
## [0.1.4] - 2026-07-28
|
|
220
|
+
|
|
221
|
+
### Documentation
|
|
222
|
+
|
|
223
|
+
- Say the gate does not cover a first-party announce *(init)*
|
|
224
|
+
- Record what the live end-to-end trial settled
|
|
225
|
+
|
|
226
|
+
### Fixed
|
|
227
|
+
|
|
228
|
+
- Point --with-skills announce at the scaffolded repo *(init)*
|
|
229
|
+
- Name the status check branch protection can require *(init)*
|
|
230
|
+
|
|
231
|
+
## [0.1.3] - 2026-07-28
|
|
232
|
+
|
|
233
|
+
### Fixed
|
|
234
|
+
|
|
235
|
+
- Ship the reusable workflows the scaffold points at *(ci)*
|
|
236
|
+
|
|
237
|
+
## [0.1.2] - 2026-07-28
|
|
238
|
+
|
|
239
|
+
### Fixed
|
|
240
|
+
|
|
241
|
+
- Declare the repository provenance attests to
|
|
242
|
+
|
|
243
|
+
## [0.1.1] - 2026-07-28
|
|
244
|
+
|
|
245
|
+
### Added
|
|
246
|
+
|
|
247
|
+
- Add the grimoire-index renderer, gate and CLI
|
|
248
|
+
|
|
249
|
+
### Changed
|
|
250
|
+
|
|
251
|
+
- Publish as @grimoire-rs/indexer
|
|
252
|
+
- Name the binary grim-indexer
|
|
253
|
+
|
|
254
|
+
### Documentation
|
|
255
|
+
|
|
256
|
+
- State the real status and warn off the broken 0.1.0
|
|
257
|
+
|
|
258
|
+
### Fixed
|
|
259
|
+
|
|
260
|
+
- Declare a bin npm will not silently strip
|
|
261
|
+
|
|
262
|
+
[0.5.4]: https://github.com/grimoire-rs/indexer/compare/v0.5.3...v0.5.4
|
|
263
|
+
[0.5.3]: https://github.com/grimoire-rs/indexer/compare/v0.5.2...v0.5.3
|
|
304
264
|
[0.5.2]: https://github.com/grimoire-rs/indexer/compare/v0.5.1...v0.5.2
|
|
305
265
|
[0.5.1]: https://github.com/grimoire-rs/indexer/compare/v0.5.0...v0.5.1
|
|
306
266
|
[0.5.0]: https://github.com/grimoire-rs/indexer/compare/v0.4.4...v0.5.0
|
|
267
|
+
[0.4.4]: https://github.com/grimoire-rs/indexer/compare/v0.4.3...v0.4.4
|
|
268
|
+
[0.4.3]: https://github.com/grimoire-rs/indexer/compare/v0.4.2...v0.4.3
|
|
269
|
+
[0.4.2]: https://github.com/grimoire-rs/indexer/compare/v0.4.1...v0.4.2
|
|
270
|
+
[0.4.1]: https://github.com/grimoire-rs/indexer/compare/v0.4.0...v0.4.1
|
|
271
|
+
[0.4.0]: https://github.com/grimoire-rs/indexer/compare/v0.3.3...v0.4.0
|
|
272
|
+
[0.3.1]: https://github.com/grimoire-rs/indexer/compare/v0.3.0...v0.3.1
|
|
273
|
+
[0.3.0]: https://github.com/grimoire-rs/indexer/compare/v0.2.2...v0.3.0
|
|
274
|
+
[0.2.2]: https://github.com/grimoire-rs/indexer/compare/v0.2.1...v0.2.2
|
|
275
|
+
[0.2.1]: https://github.com/grimoire-rs/indexer/compare/v0.2.0...v0.2.1
|
|
276
|
+
[0.2.0]: https://github.com/grimoire-rs/indexer/compare/v0.1.9...v0.2.0
|
|
277
|
+
[0.1.9]: https://github.com/grimoire-rs/indexer/compare/v0.1.8...v0.1.9
|
|
278
|
+
[0.1.8]: https://github.com/grimoire-rs/indexer/compare/v0.1.7...v0.1.8
|
|
279
|
+
[0.1.7]: https://github.com/grimoire-rs/indexer/compare/v0.1.6...v0.1.7
|
|
280
|
+
[0.1.6]: https://github.com/grimoire-rs/indexer/compare/v0.1.5...v0.1.6
|
|
281
|
+
[0.1.5]: https://github.com/grimoire-rs/indexer/compare/v0.1.4...v0.1.5
|
|
282
|
+
[0.1.4]: https://github.com/grimoire-rs/indexer/compare/v0.1.3...v0.1.4
|
|
283
|
+
[0.1.3]: https://github.com/grimoire-rs/indexer/compare/v0.1.2...v0.1.3
|
|
284
|
+
[0.1.2]: https://github.com/grimoire-rs/indexer/compare/v0.1.1...v0.1.2
|
|
285
|
+
[0.1.1]: https://github.com/grimoire-rs/indexer/tree/v0.1.1
|
|
286
|
+
|
package/README.md
CHANGED
|
@@ -95,6 +95,32 @@ task dev -- --help
|
|
|
95
95
|
|
|
96
96
|
`task --list` has the rest; `task check` is the whole gate CI runs.
|
|
97
97
|
|
|
98
|
+
### Cutting a release
|
|
99
|
+
|
|
100
|
+
`CHANGELOG.md` is generated from git history by git-cliff and rewritten whole
|
|
101
|
+
on every release, so an entry is only ever as good as the commit subject it
|
|
102
|
+
came from — write the subject for the person reading the changelog. Non-`feat`,
|
|
103
|
+
non-`fix` types are grouped or skipped per `cliff.toml`. `task
|
|
104
|
+
release:changelog:preview` shows what the next release would say.
|
|
105
|
+
|
|
106
|
+
```sh
|
|
107
|
+
task release:prepare # menu: auto | patch | minor | major
|
|
108
|
+
task release:prepare BUMP=minor # or name the level outright
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
`auto` takes the level from those same subjects (`cliff.toml`'s `[bump]` rules:
|
|
112
|
+
a feat is a minor bump, a breaking change is not yet a major one). It is a
|
|
113
|
+
second opinion — a subject that undersells its change bumps too little, and the
|
|
114
|
+
other three levels are for saying so.
|
|
115
|
+
|
|
116
|
+
The task writes the version into `package.json` and the lockfile, regenerates
|
|
117
|
+
`CHANGELOG.md` under the new tag, and runs `task check`. Nothing is committed:
|
|
118
|
+
review the diff, then run the three commands it prints. Pushing the `v*` tag is
|
|
119
|
+
what publishes — see `.github/workflows/release.yml`.
|
|
120
|
+
|
|
121
|
+
`task release:changelog` regenerates the file without releasing, which is what
|
|
122
|
+
a commit landing between releases needs.
|
|
123
|
+
|
|
98
124
|
The docs site is a separate toolchain and deliberately not part of `check` —
|
|
99
125
|
`check` must stay runnable with no Python present. `task docs:serve` previews
|
|
100
126
|
it, `task docs:build` is the strict build the `pages` workflow gates PRs with.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ratings.d.ts","sourceRoot":"","sources":["../../src/cli/ratings.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ratings.d.ts","sourceRoot":"","sources":["../../src/cli/ratings.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkB,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAsG1D,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAgF7D"}
|