@telorun/cli 0.74.0 → 0.76.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.
Files changed (60) hide show
  1. package/dist/bundle/manifest-text.d.ts +28 -0
  2. package/dist/bundle/manifest-text.d.ts.map +1 -0
  3. package/dist/bundle/manifest-text.js +92 -0
  4. package/dist/bundle/manifest-text.js.map +1 -0
  5. package/dist/bundle/module-payload.d.ts +157 -0
  6. package/dist/bundle/module-payload.d.ts.map +1 -0
  7. package/dist/bundle/module-payload.js +313 -0
  8. package/dist/bundle/module-payload.js.map +1 -0
  9. package/dist/bundle/partition-layers.d.ts.map +1 -1
  10. package/dist/bundle/partition-layers.js +26 -1
  11. package/dist/bundle/partition-layers.js.map +1 -1
  12. package/dist/bundle/payload-drift.d.ts +14 -8
  13. package/dist/bundle/payload-drift.d.ts.map +1 -1
  14. package/dist/bundle/payload-drift.js +23 -3
  15. package/dist/bundle/payload-drift.js.map +1 -1
  16. package/dist/bundle/select-files.d.ts +16 -4
  17. package/dist/bundle/select-files.d.ts.map +1 -1
  18. package/dist/bundle/select-files.js +25 -7
  19. package/dist/bundle/select-files.js.map +1 -1
  20. package/dist/cli.js +2 -0
  21. package/dist/cli.js.map +1 -1
  22. package/dist/commands/publish.d.ts +7 -18
  23. package/dist/commands/publish.d.ts.map +1 -1
  24. package/dist/commands/publish.js +60 -250
  25. package/dist/commands/publish.js.map +1 -1
  26. package/dist/commands/release.d.ts +16 -0
  27. package/dist/commands/release.d.ts.map +1 -0
  28. package/dist/commands/release.js +376 -0
  29. package/dist/commands/release.js.map +1 -0
  30. package/dist/logger.d.ts.map +1 -1
  31. package/dist/logger.js +17 -2
  32. package/dist/logger.js.map +1 -1
  33. package/dist/output.d.ts +40 -0
  34. package/dist/output.d.ts.map +1 -1
  35. package/dist/output.js +86 -2
  36. package/dist/output.js.map +1 -1
  37. package/dist/publishers/npm.d.ts.map +1 -1
  38. package/dist/publishers/npm.js +8 -0
  39. package/dist/publishers/npm.js.map +1 -1
  40. package/dist/release/apply-plan.d.ts +38 -0
  41. package/dist/release/apply-plan.d.ts.map +1 -0
  42. package/dist/release/apply-plan.js +103 -0
  43. package/dist/release/apply-plan.js.map +1 -0
  44. package/dist/release/evidence.d.ts +56 -0
  45. package/dist/release/evidence.d.ts.map +1 -0
  46. package/dist/release/evidence.js +245 -0
  47. package/dist/release/evidence.js.map +1 -0
  48. package/dist/release/ledger-store.d.ts +27 -0
  49. package/dist/release/ledger-store.d.ts.map +1 -0
  50. package/dist/release/ledger-store.js +62 -0
  51. package/dist/release/ledger-store.js.map +1 -0
  52. package/dist/release/render.d.ts +17 -0
  53. package/dist/release/render.d.ts.map +1 -0
  54. package/dist/release/render.js +71 -0
  55. package/dist/release/render.js.map +1 -0
  56. package/dist/release/workspace.d.ts +58 -0
  57. package/dist/release/workspace.d.ts.map +1 -0
  58. package/dist/release/workspace.js +138 -0
  59. package/dist/release/workspace.js.map +1 -0
  60. package/package.json +6 -6
@@ -27,7 +27,14 @@ export function partitionLayers(claims, files, assetPatterns) {
27
27
  // `siblings` as declared fields rather than through a non-null assertion —
28
28
  // the claim type is a discriminated union precisely so this is checked.
29
29
  const controllers = claims.filter((claim) => claim.role === "controller");
30
+ const libraries = claims.filter((claim) => claim.role === "library");
30
31
  const claimedAssets = claims.filter((claim) => claim.role === "assets");
32
+ /** Library entry points, by path: a file claimed as both a controller entry and
33
+ * a library entry belongs to the LIBRARY layer. That is the weaker
34
+ * precondition — a consumer resolving this module's specifier must reach the
35
+ * file without loading this module's controllers — and a module whose
36
+ * controllers are selected out of its one bundle is exactly that case. */
37
+ const libraryFiles = new Set(libraries.map((claim) => claim.path));
31
38
  // A claimed file is part of the payload because the manifest names it, not
32
39
  // because `files:` restates it. `files:` keeps its role for everything the
33
40
  // manifest cannot otherwise see — static files, sidecars — and a module whose
@@ -46,8 +53,21 @@ export function partitionLayers(claims, files, assetPatterns) {
46
53
  // would break the "a declaration never costs correctness" guarantee.
47
54
  const bySelector = new Map();
48
55
  const unmatchedSiblings = [];
56
+ // Library layers first, so a dual-claimed entry point is already spoken for
57
+ // when the controller pass runs and is not copied into both.
58
+ for (const claim of libraries) {
59
+ const key = `library\0${selectorKey(claim.selector)}`;
60
+ let plan = bySelector.get(key);
61
+ if (!plan) {
62
+ plan = { role: "library", selector: claim.selector, files: [] };
63
+ bySelector.set(key, plan);
64
+ }
65
+ unclaimed.delete(claim.path);
66
+ if (!plan.files.includes(claim.path))
67
+ plan.files.push(claim.path);
68
+ }
49
69
  for (const claim of controllers) {
50
- const key = selectorKey(claim.selector);
70
+ const key = `controller\0${selectorKey(claim.selector)}`;
51
71
  let plan = bySelector.get(key);
52
72
  if (!plan) {
53
73
  plan = { role: "controller", selector: claim.selector, files: [] };
@@ -62,6 +82,11 @@ export function partitionLayers(claims, files, assetPatterns) {
62
82
  }
63
83
  for (const file of [claim.path, ...siblings]) {
64
84
  unclaimed.delete(file);
85
+ // A controller entry point that is also this module's library entry point
86
+ // ships once, in the library layer; the controller layer would be a second
87
+ // copy of the same bytes under a different digest.
88
+ if (libraryFiles.has(file))
89
+ continue;
65
90
  if (!plan.files.includes(file))
66
91
  plan.files.push(file);
67
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"partition-layers.js","sourceRoot":"","sources":["../../src/bundle/partition-layers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"partition-layers.js","sourceRoot":"","sources":["../../src/bundle/partition-layers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,4 @@
1
- import { type ArtifactSelector } from "@telorun/analyzer";
2
- import { type PayloadFile } from "@telorun/kernel";
1
+ import { type LayerDigests } from "@telorun/analyzer";
3
2
  /**
4
3
  * Does the payload we are about to publish differ from what is already published
5
4
  * at this `metadata.version`?
@@ -27,18 +26,25 @@ export interface LayerDrift {
27
26
  * the build no longer produces this layer. */
28
27
  built?: string;
29
28
  }
30
- export interface BuiltLayer {
31
- role: string;
32
- selector?: ArtifactSelector;
33
- files: PayloadFile[];
34
- }
29
+ import type { BuiltLayer } from "./module-payload.js";
30
+ export type { BuiltLayer };
31
+ /**
32
+ * The per-layer integrity the registry serves at `<destination>@<version>`, or
33
+ * `null` when nothing is published there.
34
+ *
35
+ * The **registry's own numbers**, read off the published `layers:` index rather
36
+ * than recomputed from anything local. That is what makes it the authority half
37
+ * of the ledger's cache: `telo release verify` compares the committed digests
38
+ * against these, and `--write` records these.
39
+ */
40
+ export declare function readPublishedDigests(destination: string, version: string, registry: string): Promise<LayerDigests | null>;
35
41
  /**
36
42
  * Compare the built payload against the published one at the same version.
37
43
  *
38
44
  * Returns `null` when nothing is published at that ref — a new version, so there
39
45
  * is nothing to disagree with. Returns an empty array when the payloads match.
40
46
  */
41
- export declare function findPayloadDrift(destination: string, version: string, built: BuiltLayer[], registry: string): Promise<LayerDrift[] | null>;
47
+ export declare function findPayloadDrift(destination: string, version: string, built: readonly BuiltLayer[], registry: string): Promise<LayerDrift[] | null>;
42
48
  /** The message shown when the gate fires. It names the version to bump, because
43
49
  * that — not a re-push — is the fix: overwriting a published tag would change
44
50
  * what an existing pinned import resolves to. */
@@ -1 +1 @@
1
- {"version":3,"file":"payload-drift.d.ts","sourceRoot":"","sources":["../../src/bundle/payload-drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAmD,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAGpG;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;+EAC2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AA2DD;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,UAAU,EAAE,EACnB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CA6B9B;AAED;;kDAEkD;AAClD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAc7F"}
1
+ {"version":3,"file":"payload-drift.d.ts","sourceRoot":"","sources":["../../src/bundle/payload-drift.ts"],"names":[],"mappings":"AAAA,OAAO,EAOL,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAI3B;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;+EAC2E;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;mDAC+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAKD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,YAAY,EAAE,UAAU,EAAE,CAAC;AA2D3B;;;;;;;;GAQG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAQ9B;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,SAAS,UAAU,EAAE,EAC5B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,CA6B9B;AAED;;kDAEkD;AAClD,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,MAAM,CAe7F"}
@@ -1,4 +1,4 @@
1
- import { describeSelector, parseLayerIndex, selectorKey, } from "@telorun/analyzer";
1
+ import { describeSelector, layerDigestKey, parseLayerIndex, selectorKey, } from "@telorun/analyzer";
2
2
  import { computeFilesIntegrity, defaultTransportRegistry } from "@telorun/kernel";
3
3
  import { parseAllDocuments } from "yaml";
4
4
  /** Identity of a layer within an artifact: its role, plus its selector for the
@@ -51,6 +51,25 @@ async function readPublishedLayers(ref, registry) {
51
51
  }
52
52
  return [];
53
53
  }
54
+ /**
55
+ * The per-layer integrity the registry serves at `<destination>@<version>`, or
56
+ * `null` when nothing is published there.
57
+ *
58
+ * The **registry's own numbers**, read off the published `layers:` index rather
59
+ * than recomputed from anything local. That is what makes it the authority half
60
+ * of the ledger's cache: `telo release verify` compares the committed digests
61
+ * against these, and `--write` records these.
62
+ */
63
+ export async function readPublishedDigests(destination, version, registry) {
64
+ const published = await readPublishedLayers(`${destination}@${version}`, registry);
65
+ if (published === null)
66
+ return null;
67
+ const digests = {};
68
+ for (const layer of published) {
69
+ digests[layerDigestKey(layer.role, layer.selector)] = layer.integrity;
70
+ }
71
+ return digests;
72
+ }
54
73
  /**
55
74
  * Compare the built payload against the published one at the same version.
56
75
  *
@@ -103,7 +122,8 @@ export function describeDrift(moduleRef, version, drift) {
103
122
  lines.join("\n") +
104
123
  `\nA bundle inlines its dependencies, so a change in a shared library or the ` +
105
124
  `lockfile alters these bytes without touching this module's own files. ` +
106
- `Add a changie fragment for this module so metadata.version moves republishing ` +
107
- `over the existing tag would change what an already-pinned import resolves to.`);
125
+ `Run \`telo release status\` to see what would bump and why, then ` +
126
+ `\`telo release apply\` to move metadata.version republishing over the ` +
127
+ `existing tag would change what an already-pinned import resolves to.`);
108
128
  }
109
129
  //# sourceMappingURL=payload-drift.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payload-drift.js","sourceRoot":"","sources":["../../src/bundle/payload-drift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payload-drift.js","sourceRoot":"","sources":["../../src/bundle/payload-drift.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,8 @@ export declare function selectFiles(manifestDir: string, patterns: string[], opt
15
15
  applyDefaultIgnore?: boolean;
16
16
  }): string[];
17
17
  /**
18
- * Reject any path that resolves — via a symlink — outside `manifestDir`.
18
+ * Reject any payload path that does not exist, or that resolves — via a symlink
19
+ * — outside `manifestDir`.
19
20
  *
20
21
  * Separate from {@link selectFiles} because a `files:` pattern is no longer the
21
22
  * only route into the payload: a bundled controller's `path=` entry joins it
@@ -23,8 +24,19 @@ export declare function selectFiles(manifestDir: string, patterns: string[], opt
23
24
  * than what a pattern happened to match. Applied to the whole partition, so
24
25
  * every file in every layer passes it.
25
26
  *
26
- * A missing file is reported here too publish is about to read it, and
27
- * "declared but absent" is the same class of mistake as "declared but outside".
27
+ * A missing file is reported here because publish is about to read it, and
28
+ * "declared but absent" is the same class of mistake as "declared but outside"
29
+ * both fail only on a consumer's machine if they get through. Missing paths are
30
+ * **aggregated**, since a manifest that names three files it does not have
31
+ * should say so once rather than three times.
32
+ *
33
+ * `supplied` names paths whose CONTENT the caller already holds in memory
34
+ * rather than on disk. That is not a loophole but the normal case now: a bundled
35
+ * controller's `path=` entry point is a gitignored build artifact, built from
36
+ * its source by the kernel during this very publish, so on a fresh clone it does
37
+ * not exist and must not — demanding it back was demanding a build step this
38
+ * design removed. Confinement still applies to it through the source it was
39
+ * built from.
28
40
  */
29
- export declare function assertWithinModule(manifestDir: string, rels: Iterable<string>): void;
41
+ export declare function assertWithinModule(manifestDir: string, rels: Iterable<string>, supplied?: ReadonlySet<string>): void;
30
42
  //# sourceMappingURL=select-files.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-files.d.ts","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,MAAM,EAAE,CAoBV;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,IAAI,CAoBpF"}
1
+ {"version":3,"file":"select-files.d.ts","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAAE,EAClB,IAAI,GAAE;IAAE,kBAAkB,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,MAAM,EAAE,CAoBV;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EACtB,QAAQ,GAAE,WAAW,CAAC,MAAM,CAAa,GACxC,IAAI,CAyBN"}
@@ -35,7 +35,8 @@ export function selectFiles(manifestDir, patterns, opts = {}) {
35
35
  return selected;
36
36
  }
37
37
  /**
38
- * Reject any path that resolves — via a symlink — outside `manifestDir`.
38
+ * Reject any payload path that does not exist, or that resolves — via a symlink
39
+ * — outside `manifestDir`.
39
40
  *
40
41
  * Separate from {@link selectFiles} because a `files:` pattern is no longer the
41
42
  * only route into the payload: a bundled controller's `path=` entry joins it
@@ -43,25 +44,42 @@ export function selectFiles(manifestDir, patterns, opts = {}) {
43
44
  * than what a pattern happened to match. Applied to the whole partition, so
44
45
  * every file in every layer passes it.
45
46
  *
46
- * A missing file is reported here too publish is about to read it, and
47
- * "declared but absent" is the same class of mistake as "declared but outside".
47
+ * A missing file is reported here because publish is about to read it, and
48
+ * "declared but absent" is the same class of mistake as "declared but outside"
49
+ * both fail only on a consumer's machine if they get through. Missing paths are
50
+ * **aggregated**, since a manifest that names three files it does not have
51
+ * should say so once rather than three times.
52
+ *
53
+ * `supplied` names paths whose CONTENT the caller already holds in memory
54
+ * rather than on disk. That is not a loophole but the normal case now: a bundled
55
+ * controller's `path=` entry point is a gitignored build artifact, built from
56
+ * its source by the kernel during this very publish, so on a fresh clone it does
57
+ * not exist and must not — demanding it back was demanding a build step this
58
+ * design removed. Confinement still applies to it through the source it was
59
+ * built from.
48
60
  */
49
- export function assertWithinModule(manifestDir, rels) {
61
+ export function assertWithinModule(manifestDir, rels, supplied = new Set()) {
50
62
  const realManifestDir = fs.realpathSync(manifestDir) + path.sep;
63
+ const missing = [];
51
64
  for (const rel of rels) {
65
+ if (supplied.has(rel))
66
+ continue;
52
67
  let real;
53
68
  try {
54
69
  real = fs.realpathSync(path.resolve(manifestDir, rel));
55
70
  }
56
71
  catch {
57
- throw new Error(`'${rel}' is declared as part of this module's payload but does not exist. ` +
58
- `A bundled controller's entry point is built from its source — run the module's ` +
59
- `build before publishing.`);
72
+ missing.push(rel);
73
+ continue;
60
74
  }
61
75
  if (!real.startsWith(realManifestDir)) {
62
76
  throw new Error(`'${rel}' resolves outside the module directory. ` +
63
77
  `Bundling files from outside the module root is not allowed.`);
64
78
  }
65
79
  }
80
+ if (missing.length > 0) {
81
+ throw new Error(`Manifest names ${missing.length} file(s) that do not exist: ${missing.join(", ")}. ` +
82
+ `Paths are relative to the module root — the directory holding telo.yaml.`);
83
+ }
66
84
  }
67
85
  //# sourceMappingURL=select-files.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-files.js","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,WAAmB,EACnB,QAAkB,EAClB,OAAyC,EAAE;IAE3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE;QAChD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IAEH,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,WAAmB,EAAE,IAAsB;IAC5E,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAChE,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,IAAI,GAAG,qEAAqE;gBAC1E,iFAAiF;gBACjF,0BAA0B,CAC7B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,IAAI,GAAG,2CAA2C;gBAChD,6DAA6D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"select-files.js","sourceRoot":"","sources":["../../src/bundle/select-files.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,WAAW,CACzB,WAAmB,EACnB,QAAkB,EAClB,OAAyC,EAAE;IAE3C,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,8EAA8E;IAC9E,2EAA2E;IAC3E,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IACtF,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,yEAAyE;QACzE,mDAAmD;QACnD,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAAE,SAAS;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE;QAChD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;KAC5C,CAAC,CAAC;IAEH,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC1C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,kBAAkB,CAChC,WAAmB,EACnB,IAAsB,EACtB,WAAgC,IAAI,GAAG,EAAE;IAEzC,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC;IAChE,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAChC,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,IAAI,GAAG,2CAA2C;gBAChD,6DAA6D,CAChE,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,KAAK,CACb,kBAAkB,OAAO,CAAC,MAAM,+BAA+B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YACnF,0EAA0E,CAC7E,CAAC;IACJ,CAAC;AACH,CAAC"}
package/dist/cli.js CHANGED
@@ -8,6 +8,7 @@ import { installCommand } from "./commands/install.js";
8
8
  import { migrateCommand } from "./commands/migrate.js";
9
9
  import { moduleCommand } from "./commands/module.js";
10
10
  import { publishCommand } from "./commands/publish.js";
11
+ import { releaseCommand } from "./commands/release.js";
11
12
  import { runCommand } from "./commands/run.js";
12
13
  import { searchCommand } from "./commands/search.js";
13
14
  import { upgradeCommand } from "./commands/upgrade.js";
@@ -20,6 +21,7 @@ cli = installCommand(cli);
20
21
  cli = migrateCommand(cli);
21
22
  cli = moduleCommand(cli);
22
23
  cli = publishCommand(cli);
24
+ cli = releaseCommand(cli);
23
25
  cli = runCommand(cli);
24
26
  cli = searchCommand(cli);
25
27
  cli = upgradeCommand(cli);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,UAAU,CAAC,MAAM,CAAC;KAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEnC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AACpC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAe,CAAC;AACtC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAe,CAAC;AACvC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AACpC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAe,CAAC;AACvC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AAExC,GAAG;KACA,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,wBAAwB;CACnC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,8BAA8B;CACzC,CAAC;KACD,MAAM,CAAC,kBAAkB,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,4BAA4B;CACvC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,2CAA2C;CACtD,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EACN,sKAAsK;CACzK,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,MAAe;IACxB,QAAQ,EACN,6NAA6N;CAChO,CAAC;IACF,4EAA4E;IAC5E,2EAA2E;KAC1E,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;KAC3E,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC;KAC3D,MAAM,EAAE;KACR,IAAI,EAAE;KACN,OAAO,EAAE;KACT,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,IAAI,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KACnC,UAAU,CAAC,MAAM,CAAC;KAClB,KAAK,CAAC,wBAAwB,CAAC,CAAC;AAEnC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AACpC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAe,CAAC;AACtC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAe,CAAC;AACvC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AACxC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;AACpC,GAAG,GAAG,aAAa,CAAC,GAAG,CAAe,CAAC;AACvC,GAAG,GAAG,cAAc,CAAC,GAAG,CAAe,CAAC;AAExC,GAAG;KACA,MAAM,CAAC,SAAS,EAAE;IACjB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,wBAAwB;CACnC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,8BAA8B;CACzC,CAAC;KACD,MAAM,CAAC,kBAAkB,EAAE;IAC1B,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,4BAA4B;CACvC,CAAC;KACD,MAAM,CAAC,OAAO,EAAE;IACf,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,2CAA2C;CACtD,CAAC;KACD,MAAM,CAAC,aAAa,EAAE;IACrB,IAAI,EAAE,SAAS;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EACN,sKAAsK;CACzK,CAAC;KACD,MAAM,CAAC,QAAQ,EAAE;IAChB,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,cAAc;IACvB,OAAO,EAAE,MAAe;IACxB,QAAQ,EACN,6NAA6N;CAChO,CAAC;IACF,4EAA4E;IAC5E,2EAA2E;KAC1E,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC;KAC3E,aAAa,CAAC,CAAC,EAAE,yCAAyC,CAAC;KAC3D,MAAM,EAAE;KACR,IAAI,EAAE;KACN,OAAO,EAAE;KACT,KAAK,EAAE,CAAC"}
@@ -1,30 +1,19 @@
1
- import { Loader } from "@telorun/analyzer";
2
- import { LocalFileSource } from "@telorun/kernel";
3
1
  import type { Argv } from "yargs";
2
+ import { type ModulePayload } from "../bundle/module-payload.js";
4
3
  import { type Logger } from "../logger.js";
5
4
  import type { BumpLevel } from "../publishers/interface.js";
6
- export declare function expandAndInlineIncludes(content: string, manifestDir: string): string;
7
- /** Read the first doc's `files:` glob patterns (empty when none declared). */
8
- export declare function readFilesPatterns(content: string): string[];
9
- /** Read the first doc's `assets:` glob patterns — the author-claimed subset of
10
- * `files:` that ships in the lazily materialized asset layer. */
11
- export declare function readAssetPatterns(content: string): string[];
12
- export declare function canonicalizeRelativeImports(content: string, manifestPath: string, destination: string, loader: Loader, localFileSource: LocalFileSource): Promise<{
13
- content: string;
14
- refs: string[];
15
- }>;
16
- export declare function pinImports(content: string, registry: string, frozen: boolean, log: Logger): Promise<{
17
- content: string;
18
- pinned: number;
19
- unresolved: string[];
20
- }>;
5
+ export { expandAndInlineIncludes, readAssetPatterns, readFilesPatterns, } from "../bundle/manifest-text.js";
6
+ /** Exported under a test-only name because the check is publish-internal but
7
+ * its regression a comparison that silently never ran — is only observable
8
+ * through it. */
9
+ export declare const verifyImportPinsForTest: typeof verifyImportPins;
10
+ declare function verifyImportPins(payload: ModulePayload, registry: string, log: Logger): Promise<void>;
21
11
  export declare function publish(argv: {
22
12
  paths: string[];
23
13
  registry: string;
24
14
  bump?: BumpLevel;
25
15
  dryRun: boolean;
26
16
  skipControllers: boolean;
27
- frozen: boolean;
28
17
  }): Promise<void>;
29
18
  export declare function publishCommand(yargs: Argv): Argv;
30
19
  //# sourceMappingURL=publish.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,MAAM,EAAuG,MAAM,mBAAmB,CAAC;AAC3K,OAAO,EAAE,eAAe,EAA4B,MAAM,iBAAiB,CAAC;AAI5E,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAIlC,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AA8F9E,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAyDpF;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AAED;kEACkE;AAClE,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3D;AA8BD,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,EACnB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,eAAe,GAC/B,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAwC9C;AAaD,wBAAsB,UAAU,CAC9B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,EACf,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoCpE;AAoaD,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA4ChD"}
1
+ {"version":3,"file":"publish.d.ts","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAGlC,OAAO,EAAwB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGvF,OAAO,EAA2C,KAAK,MAAM,EAAE,MAAM,cAAc,CAAC;AAEpF,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,4BAA4B,CAAC;AAM9E,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAsGpC;;kBAEkB;AAClB,eAAO,MAAM,uBAAuB,yBAAmB,CAAC;AAExD,iBAAe,gBAAgB,CAC7B,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,IAAI,CAAC,CAaf;AAiWD,wBAAsB,OAAO,CAAC,IAAI,EAAE;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;CAC1B,GAAG,OAAO,CAAC,IAAI,CAAC,CAsEhB;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,GAAG,IAAI,CA2ChD"}