@kanonak-protocol/cli 8.5.1 → 8.7.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.
@@ -21,6 +21,10 @@
21
21
  * Prints the hash on stdout and `--verbose` also prints the
22
22
  * canonical form (the JSON that was hashed) on stderr so a user
23
23
  * debugging a hash divergence can compare forms.
24
+ *
25
+ * Every import is read at the version it states, never at a lock's pin
26
+ * or the newest release (kanonak-protocol 4.8.0, `stated-version-rule`),
27
+ * so one version hashes one way wherever and whenever it's hashed.
24
28
  */
25
29
  export declare function hashCommand(target: string, options?: {
26
30
  verbose?: boolean;
@@ -0,0 +1,21 @@
1
+ /**
2
+ * `kanonak release-lock` — record the release lock of every published version in this folder that has none
3
+ * (kanonak-protocol 4.9.0, `release-lock-rule`): the version and the closure it resolves to now, written beside its
4
+ * source as `{name}.kanonak.lock`, for `kanonak publish` and `kanonak serve` to serve at the discovery document's
5
+ * `release_lock_url_template`.
6
+ *
7
+ * A published version is a source named for its version, `{version}.kan.yml` or `{package}@{version}.kan.yml`,
8
+ * whose bytes never change, as `kanonak upgrade` reads it. A release lock is recorded once and never changes, so one
9
+ * already recorded is left as it is: run this when a version is published, and commit what it writes. With `check`,
10
+ * nothing is written, and it exits 1 when a version has none.
11
+ *
12
+ * With `files`, only those versions are recorded, each of which must be a published version. A version published
13
+ * before release locks were recorded gets its own by running this at the commit that published it, naming the
14
+ * versions that commit added, so it resolves against the versions held then. Run that with `offline`, and an empty
15
+ * package cache: a dependency the folder didn't hold then is refused, naming it, rather than resolved to the newest
16
+ * version a registry serves today, which that version's closure never held.
17
+ */
18
+ export declare function releaseLockCommand(options: {
19
+ check?: boolean;
20
+ offline?: boolean;
21
+ }, files?: string[]): Promise<void>;
@@ -11,7 +11,12 @@
11
11
  * change, so the new version is written beside it under its own name. Any
12
12
  * other source is the package's one file, and is edited in place. With
13
13
  * `check`, nothing is written, and it exits 1 when anything would change.
14
+ *
15
+ * `sourceOf` names the publishers whose source this folder is: their versions
16
+ * are the ones it holds, and their lock is never fetched, as a folder holding
17
+ * a gated publisher's sources needs.
14
18
  */
15
19
  export declare function upgradeCommand(options: {
16
20
  check?: boolean;
21
+ sourceOf?: string[];
17
22
  }): Promise<void>;