@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.
- package/dist/bookkeeping.d.ts +15 -2
- package/dist/bookkeeping.d.ts.map +1 -1
- package/dist/bookkeeping.js +20 -4
- package/dist/bookkeeping.js.map +1 -1
- package/dist/consumers.d.ts +7 -3
- package/dist/consumers.d.ts.map +1 -1
- package/dist/consumers.js +20 -19
- package/dist/consumers.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts +4 -0
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js.map +1 -1
- package/dist/overview.d.ts +2 -0
- package/dist/overview.d.ts.map +1 -1
- package/dist/overview.js +40 -2
- package/dist/overview.js.map +1 -1
- package/dist/propagate.d.ts +4 -2
- package/dist/propagate.d.ts.map +1 -1
- package/dist/propagate.js +231 -126
- package/dist/propagate.js.map +1 -1
- package/dist/ship.d.ts +9 -0
- package/dist/ship.d.ts.map +1 -1
- package/dist/ship.js +163 -58
- package/dist/ship.js.map +1 -1
- package/dist/train.d.ts +28 -1
- package/dist/train.d.ts.map +1 -1
- package/dist/train.js +30 -2
- package/dist/train.js.map +1 -1
- package/package.json +1 -1
package/dist/bookkeeping.d.ts
CHANGED
|
@@ -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/
|
|
6
|
-
/** Every `uses: plexus-ms/
|
|
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":"
|
|
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"}
|
package/dist/bookkeeping.js
CHANGED
|
@@ -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(
|
|
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/
|
|
24
|
-
/** Every `uses: plexus-ms/
|
|
25
|
-
export const bumpWorkflowRefs = (text, train) => text.replace(/(plexus-ms\/
|
|
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). */
|
package/dist/bookkeeping.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bookkeeping.js","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,qEAAqE;AACrE,+EAA+E;AAC/E,wEAAwE;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,yGAAyG;AACzG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE,CACvE,IAAI,CAAC,OAAO,CAAC,4BAA4B,EAAE,KAAK,KAAK,EAAE,CAAC,CAAC;AAE3D,2HAA2H;AAC3H,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,KAAa;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"bookkeeping.js","sourceRoot":"","sources":["../src/bookkeeping.ts"],"names":[],"mappings":"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"}
|
package/dist/consumers.d.ts
CHANGED
|
@@ -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
|
|
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
|
package/dist/consumers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumers.d.ts","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"
|
|
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
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
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
|
|
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
|
|
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
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
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
|
}
|
package/dist/consumers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consumers.js","sourceRoot":"","sources":["../src/consumers.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,
|
|
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
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,UAAU,EACV,KAAK,
|
|
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,
|
|
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. */
|
package/dist/model.d.ts.map
CHANGED
|
@@ -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":"
|
|
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"}
|
package/dist/overview.d.ts
CHANGED
|
@@ -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
|
package/dist/overview.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview.d.ts","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"
|
|
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
|
-
|
|
39
|
-
|
|
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);
|
package/dist/overview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,yEAAyE;AACzE,4EAA4E;AAC5E,6EAA6E;AAC7E,uEAAuE;AACvE,EAAE;AACF,wDAAwD;AACxD,iDAAiD;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAiC,SAAS,EAAE,WAAW,EAAsB,MAAM,YAAY,CAAC;AAEvG,2GAA2G;AAC3G,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC;IAC5B,cAAc;IACd,KAAK;IACL,MAAM;IACN,OAAO;IACP,OAAO;IACP,QAAQ;IACR,aAAa;IACb,MAAM;IACN,OAAO;IACP,KAAK;IACL,SAAS;IACT,OAAO;IACP,MAAM;IACN,aAAa;IACb,QAAQ;IACR,QAAQ;IACR,aAAa;IACb,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,SAAS;CACV,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../src/overview.ts"],"names":[],"mappings":"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"}
|
package/dist/propagate.d.ts
CHANGED
|
@@ -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
|
package/dist/propagate.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagate.d.ts","sourceRoot":"","sources":["../src/propagate.ts"],"names":[],"mappings":"
|
|
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"}
|