@plexus-ms/lib 0.8.1 → 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.
@@ -1,10 +1,23 @@
1
1
  /** `galaxy.yml` mirrors the tag: SCM installs record this version and reinstall on any different one. */
2
2
  export declare const bumpGalaxyVersion: (text: string, train: string) => string;
3
+ /** The git source of the `plexus.platform` collection, as a platform repo's requirements name it. */
4
+ export declare const COLLECTION_SOURCE = "plexus-ms/primitives.git";
3
5
  /** The `plexus.platform` collection's pin in a platform repo's requirements; another collection in the same file stays. */
4
6
  export declare function bumpCollectionPin(text: string, train: string): string;
5
- export declare const WORKFLOW_REF = "plexus-ms/ci-cd/.github/workflows/";
6
- /** Every `uses: plexus-ms/ci-cd/.github/workflows/<file>@<ref>` pinned to the train. */
7
+ export declare const WORKFLOW_REF = "plexus-ms/primitives/.github/workflows/";
8
+ /** Every `uses: plexus-ms/primitives/.github/workflows/<file>@<ref>` pinned to the train. */
7
9
  export declare const bumpWorkflowRefs: (text: string, train: string) => string;
10
+ /** A package manifest's own `version`: the first one in the file, which is the top-level field. */
11
+ export declare const bumpManifestVersion: (text: string, train: string) => string;
12
+ /** The plx pin in a `mise.toml`, exact, in either spelling: `"npm:@plexus-ms/cli" = "N"` or `= { version = "N", ... }`. */
13
+ export declare const PLX_PIN = "npm:@plexus-ms/cli";
14
+ export declare const bumpPlxPin: (text: string, train: string) => string;
15
+ /**
16
+ * The `@plexus-ms/config` dependency in a package manifest, exact and without
17
+ * a caret: a workspace or catalog reference (the upstream repos' own) is not a pin and stays.
18
+ */
19
+ export declare const CONFIG_PIN = "@plexus-ms/config";
20
+ export declare const bumpConfigPin: (text: string, train: string) => string;
8
21
  /** The map's frontmatter carries the train version and the date it was cut (§ 1.5 PLX). */
9
22
  export declare const stampStandard: (text: string, train: string, today: string) => string;
10
23
  /** `changed: <train>` on a module page: replaced in place, or inserted after `binds:` (the field order of § 1.3 PLX). */
@@ -1 +1 @@
1
- {"version":3,"file":"bookkeeping.d.ts","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"AAMA,yGAAyG;AACzG,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACN,CAAC;AAE3D,2HAA2H;AAC3H,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYrE;AAED,eAAO,MAAM,YAAY,uCAAuC,CAAC;AAEjE,wFAAwF;AACxF,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACqC,CAAC;AAErG,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MACW,CAAC;AAEvF,yHAAyH;AACzH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACM,CAAC;AAElE,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAAkC,CAAC;AAErF,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,OAA4C,CAAC;AAEpG;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,4DAA4D;AAC5D,wBAAgB,KAAK,CAAC,GAAG,OAAa,GAAG,MAAM,CAG9C"}
1
+ {"version":3,"file":"bookkeeping.d.ts","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"AASA,yGAAyG;AACzG,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACN,CAAC;AAE3D,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,6BAA6B,CAAC;AAE5D,2HAA2H;AAC3H,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYrE;AAED,eAAO,MAAM,YAAY,4CAA4C,CAAC;AAEtE,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MAC0C,CAAC;AAE1G,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACH,CAAC;AAEhE,2HAA2H;AAC3H,eAAO,MAAM,OAAO,uBAAuB,CAAC;AAC5C,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACyC,CAAC;AAEnG;;;GAGG;AACH,eAAO,MAAM,UAAU,sBAAsB,CAAC;AAC9C,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACiC,CAAC;AAE9F,2FAA2F;AAC3F,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,EAAE,OAAO,MAAM,KAAG,MACW,CAAC;AAEvF,yHAAyH;AACzH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,KAAG,MACM,CAAC;AAElE,8DAA8D;AAC9D,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,OAAkC,CAAC;AAErF,sEAAsE;AACtE,eAAO,MAAM,kBAAkB,GAAI,WAAW,MAAM,KAAG,OAA4C,CAAC;AAEpG;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,4DAA4D;AAC5D,wBAAgB,KAAK,CAAC,GAAG,OAAa,GAAG,MAAM,CAG9C"}
@@ -2,13 +2,18 @@
2
2
  // carries becomes the train version, so cross-repo pins are right by
3
3
  // construction (§ 1.5 PLX). Pure functions from a file's text to its new text;
4
4
  // `ship` reads, transforms and plans a write for each one that changed.
5
+ //
6
+ // One writer per pin (§ 1 PLX-Updates): the pins below are the train's and
7
+ // nobody else's; the update bot is told to leave them alone.
5
8
  import { setFrontmatterField } from "./frontmatter.js";
6
9
  /** `galaxy.yml` mirrors the tag: SCM installs record this version and reinstall on any different one. */
7
10
  export const bumpGalaxyVersion = (text, train) => text.replace(/^(version: )\d+\.\d+\.\d+/m, `$1${train}`);
11
+ /** The git source of the `plexus.platform` collection, as a platform repo's requirements name it. */
12
+ export const COLLECTION_SOURCE = 'plexus-ms/primitives.git';
8
13
  /** The `plexus.platform` collection's pin in a platform repo's requirements; another collection in the same file stays. */
9
14
  export function bumpCollectionPin(text, train) {
10
15
  const lines = text.split('\n');
11
- const start = lines.findIndex((l) => l.includes('plexus-ms/platform.git'));
16
+ const start = lines.findIndex((l) => l.includes(COLLECTION_SOURCE));
12
17
  if (start === -1)
13
18
  return text;
14
19
  for (let i = start; i < lines.length; i++) {
@@ -20,9 +25,20 @@ export function bumpCollectionPin(text, train) {
20
25
  }
21
26
  return lines.join('\n');
22
27
  }
23
- export const WORKFLOW_REF = 'plexus-ms/ci-cd/.github/workflows/';
24
- /** Every `uses: plexus-ms/ci-cd/.github/workflows/<file>@<ref>` pinned to the train. */
25
- export const bumpWorkflowRefs = (text, train) => text.replace(/(plexus-ms\/ci-cd\/\.github\/workflows\/[A-Za-z0-9._-]+)@v?[0-9.]+/g, `$1@${train}`);
28
+ export const WORKFLOW_REF = 'plexus-ms/primitives/.github/workflows/';
29
+ /** Every `uses: plexus-ms/primitives/.github/workflows/<file>@<ref>` pinned to the train. */
30
+ export const bumpWorkflowRefs = (text, train) => text.replace(/(plexus-ms\/primitives\/\.github\/workflows\/[A-Za-z0-9._-]+)@v?[0-9.]+/g, `$1@${train}`);
31
+ /** A package manifest's own `version`: the first one in the file, which is the top-level field. */
32
+ export const bumpManifestVersion = (text, train) => text.replace(/^(\s*"version":\s*")[^"]*(")/m, `$1${train}$2`);
33
+ /** The plx pin in a `mise.toml`, exact, in either spelling: `"npm:@plexus-ms/cli" = "N"` or `= { version = "N", ... }`. */
34
+ export const PLX_PIN = 'npm:@plexus-ms/cli';
35
+ export const bumpPlxPin = (text, train) => text.replace(/("npm:@plexus-ms\/cli"\s*=\s*(?:\{\s*version\s*=\s*)?")[^"]*(")/g, `$1${train}$2`);
36
+ /**
37
+ * The `@plexus-ms/config` dependency in a package manifest, exact and without
38
+ * a caret: a workspace or catalog reference (the upstream repos' own) is not a pin and stays.
39
+ */
40
+ export const CONFIG_PIN = '@plexus-ms/config';
41
+ export const bumpConfigPin = (text, train) => text.replace(/("@plexus-ms\/config":\s*")(?!workspace:|catalog:)[^"]*(")/g, `$1${train}$2`);
26
42
  /** The map's frontmatter carries the train version and the date it was cut (§ 1.5 PLX). */
27
43
  export const stampStandard = (text, train, today) => setFrontmatterField(setFrontmatterField(text, 'version', train), 'timestamp', today);
28
44
  /** `changed: <train>` on a module page: replaced in place, or inserted after `binds:` (the field order of § 1.3 PLX). */
@@ -1 +1 @@
1
- {"version":3,"file":"bookkeeping.js","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bookkeeping.js","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"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"}
@@ -11,21 +11,25 @@ export interface Site {
11
11
  export interface Consumer {
12
12
  path: string;
13
13
  rel: string;
14
+ /** The branch the train lands on: the expected one, or the checkout's own when the marker names none. */
14
15
  branch: string;
15
16
  expected?: 'main' | 'develop';
17
+ /** The URL of `origin`, which the scratch clone is made from. */
18
+ origin?: string;
16
19
  /** Why the consumer is left untouched this run, if it is. */
17
20
  skipped?: string;
18
21
  /** Its sites in tree order: the repo root before its apps. */
19
22
  sites: Site[];
20
23
  }
21
- /** The branch a consumer must be on for an update to touch it; undefined when the marker says neither. */
22
- export declare function expectedBranch(declaration?: Declaration): Consumer['expected'];
24
+ /** The branch a consumer is updated on; undefined when the marker says neither. */
25
+ export declare function expectedBranch(declaration?: Declaration, answers?: Record<string, unknown>): Consumer['expected'];
23
26
  /** The template source copier records for a preset of the upstream organisation. */
24
27
  export declare const presetSource: (preset: string) => string;
25
28
  /**
26
29
  * The consumers under a scanned workspace (`overview` with git facets), for
27
30
  * the given presets. A site inside a template directory is the template's own
28
- * and never a consumer; a site outside any git repo is reported, not updated.
31
+ * and never a consumer; a site outside any git repo is reported, not updated;
32
+ * a repo without an origin has nowhere to clone from and is skipped.
29
33
  */
30
34
  export declare function findConsumers(ctx: Context, root: Directory, presets: readonly string[]): Promise<Consumer[]>;
31
35
  //# sourceMappingURL=consumers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,0GAA0G;AAC1G,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,CAK9E;AAED,oFAAoF;AACpF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAAkC,CAAC;AAEjF;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAyClH"}
1
+ {"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,yGAAyG;IACzG,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,WAAW,CAAC,EAAE,WAAW,EAAE,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,QAAQ,CAAC,UAAU,CAAC,CAKrH;AAED,oFAAoF;AACpF,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAAkC,CAAC;AAEjF;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAuClH"}
package/dist/consumers.js CHANGED
@@ -1,19 +1,20 @@
1
1
  // The consumers of the presets: every copier-managed site in a workspace
2
- // (tenant repo roots and their apps/*) and the repo each belongs to, with the
3
- // rule that protects a consumer from an update it did not ask for: a repo is
4
- // touched only on its expected branch and with no tracked modifications;
5
- // untracked files do not block. The expected branch is read from the repo's
6
- // marker (§ 1.4 PLX): a platform repo (declares PLX-Platform) rides main, an
7
- // app repo (declares PLX-Repo) rides develop.
2
+ // (tenant repo roots and their apps/*) and the repo each belongs to. A
3
+ // consumer is updated in a scratch clone of its origin, never in the workspace
4
+ // checkout, on the branch the train lands on: a platform repo (declares
5
+ // PLX-Platform) rides main, an app repo (declares PLX-Repo) rides develop
6
+ // (§ 3 PLX-Delivery), and a package repo (its root answers say
7
+ // `publishes_packages`) is trunk-based on main (§ 5 PLX-Delivery). A repo
8
+ // whose marker says neither is taken on the branch its checkout is on.
8
9
  import { relative } from 'node:path';
9
- /** The branch a consumer must be on for an update to touch it; undefined when the marker says neither. */
10
- export function expectedBranch(declaration) {
10
+ /** The branch a consumer is updated on; undefined when the marker says neither. */
11
+ export function expectedBranch(declaration, answers = {}) {
11
12
  if (!declaration)
12
13
  return undefined;
13
14
  if (declaration.modules.includes('PLX-Platform'))
14
15
  return 'main';
15
16
  if (declaration.modules.includes('PLX-Repo'))
16
- return 'develop';
17
+ return answers.publishes_packages === true ? 'main' : 'develop';
17
18
  return undefined;
18
19
  }
19
20
  /** The template source copier records for a preset of the upstream organisation. */
@@ -21,7 +22,8 @@ export const presetSource = (preset) => `gh:plexus-ms/${preset}`;
21
22
  /**
22
23
  * The consumers under a scanned workspace (`overview` with git facets), for
23
24
  * the given presets. A site inside a template directory is the template's own
24
- * and never a consumer; a site outside any git repo is reported, not updated.
25
+ * and never a consumer; a site outside any git repo is reported, not updated;
26
+ * a repo without an origin has nowhere to clone from and is skipped.
25
27
  */
26
28
  export async function findConsumers(ctx, root, presets) {
27
29
  const sources = new Map(presets.map((p) => [presetSource(p), p]));
@@ -38,11 +40,12 @@ export async function findConsumers(ctx, root, presets) {
38
40
  else {
39
41
  let consumer = consumers.get(here.path);
40
42
  if (!consumer) {
43
+ const expected = expectedBranch(here.declaration, here.copier?.answers);
41
44
  consumer = {
42
45
  path: here.path,
43
46
  rel: relative(root.path, here.path) || '.',
44
- branch: here.git?.branch ?? '?',
45
- expected: expectedBranch(here.declaration),
47
+ branch: expected ?? here.git?.branch ?? 'main',
48
+ expected,
46
49
  sites: [],
47
50
  };
48
51
  consumers.set(here.path, consumer);
@@ -57,13 +60,11 @@ export async function findConsumers(ctx, root, presets) {
57
60
  for (const site of orphans)
58
61
  ctx.say(`⚠ ${site.rel}: not inside a git repo — skipped`);
59
62
  for (const c of consumers.values()) {
60
- if (c.expected && c.branch !== c.expected) {
61
- c.skipped = `on '${c.branch}', expected '${c.expected}'`;
62
- continue;
63
- }
64
- const tracked = (await ctx.read('git', ['status', '--porcelain', '--untracked-files=no'], { cwd: c.path })).trim();
65
- if (tracked !== '')
66
- c.skipped = 'has uncommitted changes';
63
+ const origin = (await ctx.read('git', ['remote', 'get-url', 'origin'], { cwd: c.path }).catch(() => '')).trim();
64
+ if (origin === '')
65
+ c.skipped = 'no origin remote';
66
+ else
67
+ c.origin = origin;
67
68
  }
68
69
  return [...consumers.values()];
69
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consumers.js","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { bumpCollectionPin, bumpGalaxyVersion, bumpWorkflowRefs, hasConflictMarkers, hasUnmergedEntries, stampChanged, stampStandard, syncMarker, today, } from './bookkeeping.ts';
1
+ export { bumpCollectionPin, bumpConfigPin, bumpGalaxyVersion, bumpManifestVersion, bumpPlxPin, bumpWorkflowRefs, COLLECTION_SOURCE, CONFIG_PIN, hasConflictMarkers, hasUnmergedEntries, PLX_PIN, stampChanged, stampStandard, syncMarker, today, WORKFLOW_REF, } from './bookkeeping.ts';
2
2
  export { CATALOG_DIRS, type Catalog, type Module, parseModule, readCatalog } from './catalog.ts';
3
3
  export { type ChangedApps, type ChangedAppsInput, type Reason, readChangedApps, selectChangedApps, } from './changedApps.ts';
4
4
  export { CHANGESET_DIR, type Changeset, type ChangesetInput, changesetPath, type DependencyChange, type Manifest, parseCatalogs, planChangeset, readChangeset, workspaceGlobs, } from './changeset.ts';
@@ -17,6 +17,6 @@ export { body, describe, type Plan, run, type Step, write } from './plan.ts';
17
17
  export { isClean, propagate, type Summary } from './propagate.ts';
18
18
  export { type CompendiumCheck, checkCompendium, extractRequirements, MAP_PAGE, modulePages, type PageMode, type Scan, scanPage, } from './requirements.ts';
19
19
  export { preflightSelf, SELF_PACKAGE } from './self.ts';
20
- export { type ShipOptions, type ShipResult, ship } from './ship.ts';
21
- export { isTrainVersion, latestTag, nextMinor, preflightRelease, readTrain, resolveVersion, TRAIN_REPOS, type Train, type TrainRepo, UPSTREAM, UsageError, } from './train.ts';
20
+ export { type PublishWait, type ShipOptions, type ShipResult, ship } from './ship.ts';
21
+ export { isTrainVersion, latestTag, nextMinor, PHASES, PRIMITIVES, phasesOf, preflightForge, preflightRelease, readTrain, resolveVersion, TRAIN_PACKAGES, TRAIN_REPOS, type Train, type TrainRepo, UPSTREAM, UsageError, } from './train.ts';
22
22
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -6,7 +6,7 @@
6
6
  // package is an adapter that maps argv onto this. The parsers of Plexus's own
7
7
  // file shapes (marker.ts, copier.ts) live here, once, for every verb.
8
8
  // Conventions: compendium/miscellaneous/cli-design.md.
9
- export { bumpCollectionPin, bumpGalaxyVersion, bumpWorkflowRefs, hasConflictMarkers, hasUnmergedEntries, stampChanged, stampStandard, syncMarker, today, } from "./bookkeeping.js";
9
+ export { bumpCollectionPin, bumpConfigPin, bumpGalaxyVersion, bumpManifestVersion, bumpPlxPin, bumpWorkflowRefs, COLLECTION_SOURCE, CONFIG_PIN, hasConflictMarkers, hasUnmergedEntries, PLX_PIN, stampChanged, stampStandard, syncMarker, today, WORKFLOW_REF, } from "./bookkeeping.js";
10
10
  export { CATALOG_DIRS, parseModule, readCatalog } from "./catalog.js";
11
11
  export { readChangedApps, selectChangedApps, } from "./changedApps.js";
12
12
  export { CHANGESET_DIR, changesetPath, parseCatalogs, planChangeset, readChangeset, workspaceGlobs, } from "./changeset.js";
@@ -26,5 +26,5 @@ export { isClean, propagate } from "./propagate.js";
26
26
  export { checkCompendium, extractRequirements, MAP_PAGE, modulePages, scanPage, } from "./requirements.js";
27
27
  export { preflightSelf, SELF_PACKAGE } from "./self.js";
28
28
  export { ship } from "./ship.js";
29
- export { isTrainVersion, latestTag, nextMinor, preflightRelease, readTrain, resolveVersion, TRAIN_REPOS, UPSTREAM, UsageError, } from "./train.js";
29
+ export { isTrainVersion, latestTag, nextMinor, PHASES, PRIMITIVES, phasesOf, preflightForge, preflightRelease, readTrain, resolveVersion, TRAIN_PACKAGES, TRAIN_REPOS, UPSTREAM, UsageError, } from "./train.js";
30
30
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,KAAK,GACN,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAA6B,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAIL,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EAGb,aAAa,EAGb,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAiB,cAAc,EAAE,aAAa,EAAE,YAAY,EAAa,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAgB,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EAAmC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAkB,QAAQ,EAAe,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAiB,SAAS,EAA6B,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAGL,SAAS,EAET,MAAM,EACN,WAAW,GAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAa,GAAG,EAAa,KAAK,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAGX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAqC,IAAI,EAAE,MAAM,WAAW,CAAC;AACpE,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,WAAW,EAGX,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,EAAE;AACF,6EAA6E;AAC7E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,sEAAsE;AACtE,uDAAuD;AACvD,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,YAAY,EACZ,aAAa,EACb,UAAU,EACV,KAAK,EACL,YAAY,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAA6B,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAIL,eAAe,EACf,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EAGb,aAAa,EAGb,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAiB,cAAc,EAAE,aAAa,EAAE,YAAY,EAAa,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,OAAO,EAAgB,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,YAAY,EAAgB,cAAc,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClH,OAAO,EAAmC,MAAM,EAAE,CAAC,IAAI,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACtG,OAAO,EAGL,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAkB,QAAQ,EAAe,MAAM,aAAa,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAiB,SAAS,EAA6B,MAAM,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3F,OAAO,EAGL,SAAS,EAET,MAAM,EACN,WAAW,GAEZ,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAoB,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAa,GAAG,EAAa,KAAK,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,SAAS,EAAgB,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAEL,eAAe,EACf,mBAAmB,EACnB,QAAQ,EACR,WAAW,EAGX,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACxD,OAAO,EAAuD,IAAI,EAAE,MAAM,WAAW,CAAC;AACtF,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,MAAM,EACN,UAAU,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,cAAc,EACd,cAAc,EACd,WAAW,EAGX,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC"}
package/dist/model.d.ts CHANGED
@@ -20,6 +20,10 @@ export interface GitFacet {
20
20
  tag?: string;
21
21
  /** The `origin` remote, shortened: `gh:org/repo` for GitHub. */
22
22
  remote?: string;
23
+ /** Commits on the branch not on its upstream; read only by a synced overview, and only with an upstream. */
24
+ ahead?: number;
25
+ /** Commits on the upstream not on the branch, as of the fetch a synced overview made. */
26
+ behind?: number;
23
27
  }
24
28
  export interface TemplateFacet {
25
29
  /** The template repo's most recent tag, if any. */
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAMjE;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAEjD"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,SAAS,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,QAAQ;IACvB,iEAAiE;IACjE,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,KAAK,EAAE,OAAO,CAAC;IACf,qEAAqE;IACrE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4GAA4G;IAC5G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yFAAyF;IACzF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,IAAI,GAAG,KAAK,GAAG,UAAU,GAAG,MAAM,CAAC;AAE/C,uEAAuE;AACvE,wBAAgB,MAAM,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAMjE;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAEjD"}
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAqCA,uEAAuE;AACvE,MAAM,UAAU,MAAM,CAAC,WAAwB;IAC7C,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,4FAA4F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClH,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,GAAc;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnG,CAAC"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAyCA,uEAAuE;AACvE,MAAM,UAAU,MAAM,CAAC,WAAwB;IAC7C,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,GAAG,CAAC,cAAc,CAAC;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO,MAAM,CAAC;IACnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,uFAAuF;AACvF,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,CAAC,GAAG,4FAA4F,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClH,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,SAAS,CAAC,GAAc;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACnG,CAAC"}
@@ -5,6 +5,8 @@ export declare const PRUNED: Set<string>;
5
5
  export interface ScanOptions {
6
6
  /** Read the git facets (four git calls per repo); off for verbs that only need markers. */
7
7
  git?: boolean;
8
+ /** Fetch every repo's remotes, then count commits ahead of and behind the upstream; slow, so opt-in. */
9
+ fetch?: boolean;
8
10
  }
9
11
  export declare function overview(ctx: Context, root: string, options?: ScanOptions): Promise<Directory>;
10
12
  //# sourceMappingURL=overview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,YAAY,CAAC;AAEvG,2GAA2G;AAC3G,eAAO,MAAM,MAAM,aAsBjB,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAElG"}
1
+ {"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAG5C,OAAO,EAAE,KAAK,SAAS,EAA6D,MAAM,YAAY,CAAC;AAEvG,2GAA2G;AAC3G,eAAO,MAAM,MAAM,aAsBjB,CAAC;AAEH,MAAM,WAAW,WAAW;IAC1B,2FAA2F;IAC3F,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,wGAAwG;IACxG,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAKD,wBAAsB,QAAQ,CAAC,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAKxG"}
package/dist/overview.js CHANGED
@@ -7,6 +7,7 @@
7
7
  //
8
8
  // plx overview # map the current directory
9
9
  // plx overview ~/dev # map somewhere else
10
+ // plx overview --sync # fetch every repo first, to show what is behind
10
11
  import { join } from 'node:path';
11
12
  import { ANSWERS_FILE, parseAnswers, TEMPLATE_FILES } from "./copier.js";
12
13
  import { MARKER_FILE, parseMarker } from "./marker.js";
@@ -35,8 +36,45 @@ export const PRUNED = new Set([
35
36
  '.terraform',
36
37
  '.gradle',
37
38
  ]);
38
- export function overview(ctx, root, options = {}) {
39
- return walk(ctx, root, root.replace(/\/+$/, '').split('/').pop() || root, { git: true, ...options });
39
+ /** Fetches in flight at once: enough to hide network latency, few enough not to trip a host's rate limit. */
40
+ const FETCHES = 8;
41
+ export async function overview(ctx, root, options = {}) {
42
+ const opts = { git: true, fetch: false, ...options };
43
+ const tree = await walk(ctx, root, root.replace(/\/+$/, '').split('/').pop() || root, opts);
44
+ if (opts.git && opts.fetch)
45
+ await syncAll(ctx, repos(tree));
46
+ return tree;
47
+ }
48
+ function repos(dir) {
49
+ return [...(dir.git ? [dir] : []), ...dir.children.flatMap(repos)];
50
+ }
51
+ async function syncAll(ctx, dirs) {
52
+ const queue = [...dirs];
53
+ const worker = async () => {
54
+ for (let dir = queue.shift(); dir; dir = queue.shift())
55
+ await sync(ctx, dir);
56
+ };
57
+ await Promise.all(Array.from({ length: Math.min(FETCHES, queue.length) }, worker));
58
+ }
59
+ /** Fetch all remotes (only remote-tracking refs change), then compare the branch with its upstream. */
60
+ async function sync(ctx, dir) {
61
+ const facet = dir.git;
62
+ if (!facet)
63
+ return;
64
+ try {
65
+ await ctx.read('git', ['fetch', '--all', '--quiet'], { cwd: dir.path });
66
+ }
67
+ catch (error) {
68
+ dir.problems ??= [];
69
+ dir.problems.push(`git fetch: ${error instanceof Error ? error.message : String(error)}`);
70
+ }
71
+ // No upstream (detached, or a branch never pushed) leaves nothing to compare against.
72
+ const counts = await git(ctx, dir.path, ['rev-list', '--left-right', '--count', 'HEAD...@{upstream}']);
73
+ const [ahead, behind] = (counts ?? '').split(/\s+/).map(Number);
74
+ if (ahead === undefined || behind === undefined || Number.isNaN(ahead) || Number.isNaN(behind))
75
+ return;
76
+ facet.ahead = ahead;
77
+ facet.behind = behind;
40
78
  }
41
79
  async function walk(ctx, path, name, options) {
42
80
  const entries = await ctx.readDir(path);
@@ -1 +1 @@
1
- {"version":3,"file":"overview.js","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overview.js","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"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"}
@@ -6,15 +6,17 @@ export interface Summary {
6
6
  /** Sites, relative to the workspace. */
7
7
  clean: string[];
8
8
  conflicted: string[];
9
- /** Sites whose update exited nonzero, and lockfiles that failed to refresh. */
9
+ /** Sites whose update exited nonzero, consumers that could not be cloned or pushed, and lockfiles that failed to refresh. */
10
10
  failed: string[];
11
11
  /** Consumers left untouched, with the reason. */
12
12
  skipped: {
13
13
  path: string;
14
14
  reason: string;
15
15
  }[];
16
+ /** The pull requests opened or updated, one per consumer that changed. */
17
+ pulls: string[];
16
18
  }
17
- /** True when nothing in the summary needs a human. */
19
+ /** True when nothing in the summary needs a human but the pull requests. */
18
20
  export declare const isClean: (s: Summary) => boolean;
19
21
  export declare function propagate(ctx: Context, workspace: string, train: string): Promise<Summary>;
20
22
  //# sourceMappingURL=propagate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"propagate.d.ts","sourceRoot":"","sources":["../src/propagate.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,+EAA+E;IAC/E,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,sDAAsD;AACtD,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,OACyC,CAAC;AAI/E,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAoEhG"}
1
+ {"version":3,"file":"propagate.d.ts","sourceRoot":"","sources":["../src/propagate.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAO5C,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,6HAA6H;IAC7H,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,0EAA0E;IAC1E,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,4EAA4E;AAC5E,eAAO,MAAM,OAAO,GAAI,GAAG,OAAO,KAAG,OACyC,CAAC;AAK/E,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAgDhG"}