@kaisers-io/refs 0.9.0 → 0.10.0
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 +46 -1
- package/dist/refs.mjs +61 -89
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,50 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.10.0] - 2026-08-13
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- `refs resolve` now verifies that the package it routes to is actually where the config says
|
|
15
|
+
it is. A configured `path` is only a locator; the package name is its identity, and upstream
|
|
16
|
+
repos restructure on their own schedule. Previously a package that had moved — or a different
|
|
17
|
+
package that had taken over its directory — was handed back regardless, so an agent read the
|
|
18
|
+
wrong source and answered confidently. That failure produced no error and no warning.
|
|
19
|
+
|
|
20
|
+
`package.status` now reports what was established: `verified`, `relocated` (found at exactly
|
|
21
|
+
one new path, which is returned in place of the stale one), `unmaterialized` (no checkout yet),
|
|
22
|
+
`unverifiable` (verification could not complete — `reason` says why), `ambiguous` (the name
|
|
23
|
+
exists at several paths, listed in `candidates`), or `missing`. All six exit `0`; see
|
|
24
|
+
`docs/commands.md` for the full contract.
|
|
25
|
+
|
|
26
|
+
`relocated` corrects the answer for that call only and never writes to `config.toml`. Persist
|
|
27
|
+
it with `refs edit <ref> --package <name> path <new-path>`.
|
|
28
|
+
|
|
29
|
+
### Changed
|
|
30
|
+
|
|
31
|
+
- **`resolve`'s `package.local_path` can now be `null`.** It is `null` for `missing` and
|
|
32
|
+
`ambiguous`, where no safe location is known. A caller that treated a zero exit as "here is a
|
|
33
|
+
usable path" must check `package.status` first; previously the field was always a string.
|
|
34
|
+
|
|
35
|
+
- Workspace detection now reports why it found nothing. An unreadable or malformed workspace
|
|
36
|
+
declaration, an unreadable manifest, a candidate resolving outside the repo, an unsupported
|
|
37
|
+
pattern, a package directory reachable only through a symlink — each used to collapse into the
|
|
38
|
+
same empty result, leaving a transient read error indistinguishable from "every package was
|
|
39
|
+
removed". Each is now reported, and a scan carrying any of them is treated as possibly
|
|
40
|
+
incomplete: it can neither conclude that a package is gone nor that a single sighting of one is
|
|
41
|
+
unique. `refs add` is unaffected — it consumes the same best-effort list it always has.
|
|
42
|
+
|
|
43
|
+
A manifest that reads fine but declares no usable `name` is reported too, but does **not** make
|
|
44
|
+
a scan incomplete: there is demonstrably no resolvable package at that path. Nameless manifests
|
|
45
|
+
are common enough (zod's own repository root has none) that treating them as failures would
|
|
46
|
+
permanently suppress detection for those repos.
|
|
47
|
+
|
|
48
|
+
One limit is deliberate and worth knowing: a scan only covers what the repo's workspace
|
|
49
|
+
declaration points at. A package registered by `refs add`'s npm fallback — at `path: "."`, or
|
|
50
|
+
the packument's `directory` — lives outside that coverage, so if it moves, `resolve` reports
|
|
51
|
+
`unverifiable` rather than guessing. It never reports `missing` from a scan that had nowhere
|
|
52
|
+
to look.
|
|
53
|
+
|
|
10
54
|
## [0.9.0] - 2026-08-13
|
|
11
55
|
|
|
12
56
|
### Added
|
|
@@ -470,7 +514,8 @@ trusted-publishing pipeline end to end.
|
|
|
470
514
|
installed git hooks.
|
|
471
515
|
- Agent skill (`skills/refs/`) documenting the investigate/add/maintain workflows.
|
|
472
516
|
|
|
473
|
-
[Unreleased]: https://github.com/kaisers-io/refs/compare/v0.
|
|
517
|
+
[Unreleased]: https://github.com/kaisers-io/refs/compare/v0.10.0...HEAD
|
|
518
|
+
[0.10.0]: https://github.com/kaisers-io/refs/compare/v0.9.0...v0.10.0
|
|
474
519
|
[0.9.0]: https://github.com/kaisers-io/refs/compare/v0.8.3...v0.9.0
|
|
475
520
|
[0.8.3]: https://github.com/kaisers-io/refs/compare/v0.8.2...v0.8.3
|
|
476
521
|
[0.8.2]: https://github.com/kaisers-io/refs/compare/v0.8.1...v0.8.2
|