@plexus-ms/lib 0.101.0 → 0.102.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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/propagate.d.ts +25 -0
- package/dist/propagate.d.ts.map +1 -1
- package/dist/propagate.js +102 -110
- package/dist/propagate.js.map +1 -1
- package/dist/update.d.ts +12 -0
- package/dist/update.d.ts.map +1 -0
- package/dist/update.js +107 -0
- package/dist/update.js.map +1 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -19,4 +19,5 @@ export { type CompendiumCheck, checkCompendium, extractRequirements, MAP_PAGE, m
|
|
|
19
19
|
export { preflightSelf, SELF_PACKAGE } from './self.ts';
|
|
20
20
|
export { type PublishWait, type ShipOptions, type ShipResult, ship } from './ship.ts';
|
|
21
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
|
+
export { PRESETS, type UpdateOptions, update } from './update.ts';
|
|
22
23
|
//# 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":"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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
|
@@ -27,4 +27,5 @@ export { checkCompendium, extractRequirements, MAP_PAGE, modulePages, scanPage,
|
|
|
27
27
|
export { preflightSelf, SELF_PACKAGE } from "./self.js";
|
|
28
28
|
export { ship } from "./ship.js";
|
|
29
29
|
export { isTrainVersion, latestTag, nextMinor, PHASES, PRIMITIVES, phasesOf, preflightForge, preflightRelease, readTrain, resolveVersion, TRAIN_PACKAGES, TRAIN_REPOS, UPSTREAM, UsageError, } from "./train.js";
|
|
30
|
+
export { PRESETS, update } from "./update.js";
|
|
30
31
|
//# 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,cAAc,EACd,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"}
|
|
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,cAAc,EACd,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;AACpB,OAAO,EAAE,OAAO,EAAsB,MAAM,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/propagate.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type Consumer } from './consumers.ts';
|
|
1
2
|
import type { Context } from './context.ts';
|
|
2
3
|
export interface Summary {
|
|
3
4
|
train: string;
|
|
@@ -18,5 +19,29 @@ export interface Summary {
|
|
|
18
19
|
}
|
|
19
20
|
/** True when nothing in the summary needs a human but the pull requests. */
|
|
20
21
|
export declare const isClean: (s: Summary) => boolean;
|
|
22
|
+
export declare const emptySummary: (train: string, preview: boolean) => Summary;
|
|
23
|
+
export declare const trainBranch: (train: string) => string;
|
|
24
|
+
/** How a consumer takes the train: the knobs propagate and update set differently. */
|
|
25
|
+
export interface Take {
|
|
26
|
+
train: string;
|
|
27
|
+
/**
|
|
28
|
+
* Preview from the local preset checkouts under this upstream directory at
|
|
29
|
+
* main (propagate's dry run), instead of the published template.
|
|
30
|
+
*/
|
|
31
|
+
previewFrom?: string;
|
|
32
|
+
/** The template ref copier updates to; unset, copier takes the newest tag, which the train just cut. */
|
|
33
|
+
ref?: string;
|
|
34
|
+
/** Who opened the pull request, named in its body. */
|
|
35
|
+
opener: string;
|
|
36
|
+
}
|
|
21
37
|
export declare function propagate(ctx: Context, workspace: string, train: string): Promise<Summary>;
|
|
38
|
+
/**
|
|
39
|
+
* One consumer takes the train in `dir`, a scratch checkout of its branch:
|
|
40
|
+
* every site updated, the lockfile refreshed, the workflow refs bumped, then
|
|
41
|
+
* the commit, the branch and the pull request.
|
|
42
|
+
*/
|
|
43
|
+
export declare function takeTrain(ctx: Context, consumer: Consumer, dir: string, take: Take, summary: Summary): Promise<void>;
|
|
44
|
+
/** The URL of the open pull request from the train branch against the consumer's branch, if any. */
|
|
45
|
+
export declare function openPullUrl(ctx: Context, consumer: Consumer, dir: string, train: string): Promise<string>;
|
|
46
|
+
export declare const detail: (error: unknown) => string;
|
|
22
47
|
//# 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":"AA6BA,OAAO,EAAE,KAAK,QAAQ,EAA0C,MAAM,gBAAgB,CAAC;AACvF,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;AAE/E,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,SAAS,OAAO,KAAG,OAQ7D,CAAC;AAEH,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAA2B,CAAC;AAExE,sFAAsF;AACtF,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wGAAwG;IACxG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;CAChB;AAaD,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAqChG;AAED;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,iBAM1G;AAgKD,oGAAoG;AACpG,wBAAsB,WAAW,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAG/G;AAwFD,eAAO,MAAM,MAAM,GAAI,OAAO,OAAO,KAAG,MAIvC,CAAC"}
|
package/dist/propagate.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// version plx pins (copier.ts) at every site (the repo root, then its apps/*),
|
|
7
7
|
// the marker is synced to the answers file, the lockfile refreshed where
|
|
8
8
|
// manifests moved, the hand-owned workflows pinned to the train; then one
|
|
9
|
-
// commit, pushed as `
|
|
9
|
+
// commit, pushed as `plexus/<version>`, and a pull request against the branch.
|
|
10
10
|
// A conflict is committed with its markers and reported, and the pull request
|
|
11
11
|
// is opened all the same: that is where it gets resolved. Propagation never
|
|
12
12
|
// aborts the run: a failing or conflicting consumer is recorded and the rest
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
// through `Context.stage`: performed in every mode, since nothing the operator
|
|
20
20
|
// owns changes.
|
|
21
21
|
//
|
|
22
|
+
// The per-consumer work (`takeTrain`) is shared with `update` (update.ts), the
|
|
23
|
+
// same pull request opened from inside the consumer itself.
|
|
24
|
+
//
|
|
22
25
|
// plx propagate ~/dev # to the current train
|
|
23
26
|
// plx -n propagate ~/dev # preview in scratch clones
|
|
24
27
|
// plx -y propagate ~/dev --train 0.66.0 # unattended: copier takes defaults
|
|
@@ -32,28 +35,28 @@ import { run, write } from "./plan.js";
|
|
|
32
35
|
import { TRAIN_REPOS, UPSTREAM } from "./train.js";
|
|
33
36
|
/** True when nothing in the summary needs a human but the pull requests. */
|
|
34
37
|
export const isClean = (s) => s.conflicted.length === 0 && s.failed.length === 0 && s.skipped.length === 0;
|
|
35
|
-
const
|
|
36
|
-
|
|
38
|
+
export const emptySummary = (train, preview) => ({
|
|
39
|
+
train,
|
|
40
|
+
preview,
|
|
41
|
+
clean: [],
|
|
42
|
+
conflicted: [],
|
|
43
|
+
failed: [],
|
|
44
|
+
skipped: [],
|
|
45
|
+
pulls: [],
|
|
46
|
+
});
|
|
47
|
+
export const trainBranch = (train) => `plexus/${train}`;
|
|
37
48
|
/**
|
|
38
|
-
* copier at the version plx pins, through mise, with the
|
|
49
|
+
* copier at the version plx pins, through mise, with the consumer's own mise
|
|
39
50
|
* config ignored: copier needs no project tool, and a root `mise.toml` left
|
|
40
51
|
* with conflict markers by the root site's update would otherwise fail every
|
|
41
|
-
* later mise call in the
|
|
52
|
+
* later mise call in the directory, the apps' updates first of all.
|
|
42
53
|
*/
|
|
43
|
-
const copierIn = (
|
|
54
|
+
const copierIn = (dir, args) => [
|
|
44
55
|
'env',
|
|
45
|
-
[`MISE_IGNORED_CONFIG_PATHS=${
|
|
56
|
+
[`MISE_IGNORED_CONFIG_PATHS=${dir}`, 'mise', ...copierVia(args)],
|
|
46
57
|
];
|
|
47
58
|
export async function propagate(ctx, workspace, train) {
|
|
48
|
-
const summary =
|
|
49
|
-
train,
|
|
50
|
-
preview: ctx.dryRun,
|
|
51
|
-
clean: [],
|
|
52
|
-
conflicted: [],
|
|
53
|
-
failed: [],
|
|
54
|
-
skipped: [],
|
|
55
|
-
pulls: [],
|
|
56
|
-
};
|
|
59
|
+
const summary = emptySummary(train, ctx.dryRun);
|
|
57
60
|
const upstream = join(workspace, UPSTREAM);
|
|
58
61
|
const tree = await overview(ctx, workspace);
|
|
59
62
|
const upstreamDir = tree.children.find((c) => c.path === upstream);
|
|
@@ -68,6 +71,7 @@ export async function propagate(ctx, workspace, train) {
|
|
|
68
71
|
for (const preset of presets)
|
|
69
72
|
if (!consumers.some((c) => c.sites.some((s) => s.preset === preset)))
|
|
70
73
|
ctx.say(`• no consumers of ${presetSource(preset)} found under ${workspace}`);
|
|
74
|
+
const take = { train, opener: '`plx ship`', ...(ctx.dryRun ? { previewFrom: upstream } : {}) };
|
|
71
75
|
const scratch = (await ctx.stage(run('mktemp', ['-d'])))?.trim() ?? '';
|
|
72
76
|
try {
|
|
73
77
|
for (const consumer of consumers) {
|
|
@@ -77,18 +81,13 @@ export async function propagate(ctx, workspace, train) {
|
|
|
77
81
|
ctx.say(`→ ${consumer.rel}: clone ${consumer.origin} at ${consumer.branch}`);
|
|
78
82
|
try {
|
|
79
83
|
await ctx.stage(run('git', ['clone', '--quiet', '--branch', consumer.branch, consumer.origin, clone]));
|
|
80
|
-
await ctx.stage(run('git', ['tag', BASE_TAG], { cwd: clone }));
|
|
81
84
|
}
|
|
82
85
|
catch (error) {
|
|
83
86
|
ctx.say(` ✗ FAILED — clone${detail(error)}`);
|
|
84
87
|
summary.failed.push(consumer.rel);
|
|
85
88
|
continue;
|
|
86
89
|
}
|
|
87
|
-
|
|
88
|
-
await updateSite(ctx, consumer, site, clone, upstream, summary);
|
|
89
|
-
await refreshLockfile(ctx, consumer, clone, summary);
|
|
90
|
-
await bumpConsumerRefs(ctx, consumer, clone, train);
|
|
91
|
-
await openPull(ctx, consumer, clone, train, summary);
|
|
90
|
+
await takeTrain(ctx, consumer, clone, take, summary);
|
|
92
91
|
}
|
|
93
92
|
}
|
|
94
93
|
finally {
|
|
@@ -97,9 +96,22 @@ export async function propagate(ctx, workspace, train) {
|
|
|
97
96
|
}
|
|
98
97
|
return summary;
|
|
99
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* One consumer takes the train in `dir`, a scratch checkout of its branch:
|
|
101
|
+
* every site updated, the lockfile refreshed, the workflow refs bumped, then
|
|
102
|
+
* the commit, the branch and the pull request.
|
|
103
|
+
*/
|
|
104
|
+
export async function takeTrain(ctx, consumer, dir, take, summary) {
|
|
105
|
+
const base = (await ctx.read('git', ['rev-parse', 'HEAD'], { cwd: dir })).trim();
|
|
106
|
+
for (const site of consumer.sites)
|
|
107
|
+
await updateSite(ctx, consumer, site, dir, take, summary);
|
|
108
|
+
await refreshLockfile(ctx, consumer, dir, base, summary);
|
|
109
|
+
await bumpConsumerRefs(ctx, consumer, dir, take.train);
|
|
110
|
+
await openPull(ctx, consumer, dir, take, summary);
|
|
111
|
+
}
|
|
100
112
|
// Preview commits are plain plumbing on a throwaway clone: unsigned, no hooks, a stand-in identity.
|
|
101
|
-
const previewCommit = (ctx,
|
|
102
|
-
.stage(run('git', ['add', '-A'], { cwd:
|
|
113
|
+
const previewCommit = (ctx, dir, message) => ctx
|
|
114
|
+
.stage(run('git', ['add', '-A'], { cwd: dir }))
|
|
103
115
|
.then(() => ctx.stage(run('git', [
|
|
104
116
|
'-c',
|
|
105
117
|
'commit.gpgsign=false',
|
|
@@ -113,37 +125,39 @@ const previewCommit = (ctx, clone, message) => ctx
|
|
|
113
125
|
'--allow-empty',
|
|
114
126
|
'-m',
|
|
115
127
|
message,
|
|
116
|
-
], { cwd:
|
|
117
|
-
async function updateSite(ctx, consumer, site,
|
|
118
|
-
const target = join(
|
|
119
|
-
const localPreset = join(upstream, site.preset);
|
|
128
|
+
], { cwd: dir })));
|
|
129
|
+
async function updateSite(ctx, consumer, site, dir, take, summary) {
|
|
130
|
+
const target = join(dir, relative(consumer.path, site.path));
|
|
120
131
|
try {
|
|
121
|
-
if (
|
|
132
|
+
if (take.previewFrom) {
|
|
133
|
+
const localPreset = join(take.previewFrom, site.preset);
|
|
122
134
|
ctx.say(`→ ${site.rel}: copier update (preview from ${localPreset}@main)`);
|
|
123
|
-
// Point the
|
|
124
|
-
//
|
|
135
|
+
// Point the answers at the local preset so the preview reads it; copier
|
|
136
|
+
// refuses a dirty subproject, hence the commit.
|
|
125
137
|
const answers = await ctx.readFile(join(target, ANSWERS_FILE));
|
|
126
138
|
await ctx.stage(write(join(target, ANSWERS_FILE), answers.replace(/^_src_path: .*$/m, `_src_path: ${localPreset}`)));
|
|
127
|
-
await previewCommit(ctx,
|
|
128
|
-
await ctx.stage(run(...copierIn(
|
|
129
|
-
'update',
|
|
130
|
-
'--skip-answered',
|
|
131
|
-
'--trust',
|
|
132
|
-
'--defaults',
|
|
133
|
-
'--skip-tasks',
|
|
134
|
-
'--vcs-ref',
|
|
135
|
-
'main',
|
|
136
|
-
]), {
|
|
137
|
-
cwd: target,
|
|
138
|
-
}));
|
|
139
|
+
await previewCommit(ctx, dir, `plx preview: ${site.rel} reads ${localPreset} from the local checkout`);
|
|
140
|
+
await ctx.stage(run(...copierIn(dir, ['update', '--skip-answered', '--trust', '--defaults', '--skip-tasks', '--vcs-ref', 'main']), { cwd: target }));
|
|
139
141
|
}
|
|
140
142
|
else {
|
|
141
|
-
ctx.say(`→ ${site.rel}: copier update`);
|
|
143
|
+
ctx.say(`→ ${site.rel}: copier update${take.ref ? ` to ${take.ref}` : ''}`);
|
|
142
144
|
// Template tasks (mise install, hook setup) serve a developer's checkout,
|
|
143
145
|
// not a pull request. Unattended, a new question takes its default; on a
|
|
144
|
-
// terminal copier asks.
|
|
145
|
-
|
|
146
|
-
|
|
146
|
+
// terminal copier asks. A dry run previews on the scratch checkout, so
|
|
147
|
+
// the step is staged there rather than only announced.
|
|
148
|
+
const args = [
|
|
149
|
+
'update',
|
|
150
|
+
'--skip-answered',
|
|
151
|
+
'--trust',
|
|
152
|
+
'--skip-tasks',
|
|
153
|
+
...(take.ref ? ['--vcs-ref', take.ref] : []),
|
|
154
|
+
...(ctx.yes || ctx.dryRun ? ['--defaults'] : []),
|
|
155
|
+
];
|
|
156
|
+
const step = run(...copierIn(dir, args), { cwd: target, interactive: !ctx.dryRun });
|
|
157
|
+
if (ctx.dryRun)
|
|
158
|
+
await ctx.stage(step);
|
|
159
|
+
else
|
|
160
|
+
await ctx.apply([step]);
|
|
147
161
|
}
|
|
148
162
|
}
|
|
149
163
|
catch (error) {
|
|
@@ -176,15 +190,15 @@ async function updateSite(ctx, consumer, site, clone, upstream, summary) {
|
|
|
176
190
|
}
|
|
177
191
|
for (const line of status.split('\n').filter(Boolean))
|
|
178
192
|
ctx.say(` ${line}`);
|
|
179
|
-
// Each preview site is committed so the next site's answers
|
|
180
|
-
// from a clean tree.
|
|
181
|
-
// index entries, and copier's own git plumbing (`git
|
|
182
|
-
// index with those, so the next site's update would
|
|
183
|
-
// markers are in the tree and the index is whole.
|
|
184
|
-
if (
|
|
185
|
-
await previewCommit(ctx,
|
|
193
|
+
// Each preview-from-local site is committed so the next site's answers
|
|
194
|
+
// rewrite starts from a clean tree. Otherwise the site is staged: a conflict
|
|
195
|
+
// leaves unmerged index entries, and copier's own git plumbing (`git
|
|
196
|
+
// write-tree`) refuses an index with those, so the next site's update would
|
|
197
|
+
// fail; staged, the markers are in the tree and the index is whole.
|
|
198
|
+
if (take.previewFrom)
|
|
199
|
+
await previewCommit(ctx, dir, `plx preview: ${site.rel} updated`);
|
|
186
200
|
else
|
|
187
|
-
await ctx.stage(run('git', ['add', '-A'], { cwd:
|
|
201
|
+
await ctx.stage(run('git', ['add', '-A'], { cwd: dir }));
|
|
188
202
|
}
|
|
189
203
|
/** The marker's `plexus` follows the answers file's `_commit` after an update (bookkeeping.ts). */
|
|
190
204
|
async function syncSiteMarker(ctx, site, target) {
|
|
@@ -200,20 +214,20 @@ async function syncSiteMarker(ctx, site, target) {
|
|
|
200
214
|
ctx.say(` marker: plexus → ${commit} in ${site.rel}/${MARKER_FILE}`);
|
|
201
215
|
await ctx.stage(write(join(target, MARKER_FILE), synced));
|
|
202
216
|
}
|
|
203
|
-
/** Refresh the lockfile when the updates touched a manifest (`mise exec` trusts the
|
|
204
|
-
async function refreshLockfile(ctx, consumer,
|
|
205
|
-
if ((await ctx.readFile(join(
|
|
217
|
+
/** Refresh the lockfile when the updates touched a manifest (`mise exec` trusts the directory's own config). */
|
|
218
|
+
async function refreshLockfile(ctx, consumer, dir, base, summary) {
|
|
219
|
+
if ((await ctx.readFile(join(dir, 'pnpm-workspace.yaml')).catch(() => undefined)) === undefined)
|
|
206
220
|
return;
|
|
207
221
|
const manifests = ['*package.json', 'pnpm-workspace.yaml'];
|
|
208
222
|
const unchanged = await ctx
|
|
209
|
-
.read('git', ['diff', '--quiet',
|
|
223
|
+
.read('git', ['diff', '--quiet', base, '--', ...manifests], { cwd: dir })
|
|
210
224
|
.then(() => true)
|
|
211
225
|
.catch(() => false);
|
|
212
226
|
if (unchanged)
|
|
213
227
|
return;
|
|
214
228
|
ctx.say(`→ ${consumer.rel}: pnpm install (manifests changed)`);
|
|
215
229
|
try {
|
|
216
|
-
await ctx.apply([run('mise', ['exec', '--', 'pnpm', 'install', '--reporter=silent'], { cwd:
|
|
230
|
+
await ctx.apply([run('mise', ['exec', '--', 'pnpm', 'install', '--reporter=silent'], { cwd: dir })]);
|
|
217
231
|
}
|
|
218
232
|
catch (error) {
|
|
219
233
|
ctx.say(` ✗ pnpm install failed${detail(error)}`);
|
|
@@ -221,53 +235,63 @@ async function refreshLockfile(ctx, consumer, clone, summary) {
|
|
|
221
235
|
}
|
|
222
236
|
}
|
|
223
237
|
/** Consumers' hand-owned workflows pin the reusable workflows by tag; lockstep them to the train. */
|
|
224
|
-
async function bumpConsumerRefs(ctx, consumer,
|
|
225
|
-
const
|
|
226
|
-
const entries = await ctx.readDir(
|
|
238
|
+
async function bumpConsumerRefs(ctx, consumer, dir, train) {
|
|
239
|
+
const workflows = join(dir, '.github', 'workflows');
|
|
240
|
+
const entries = await ctx.readDir(workflows).catch(() => []);
|
|
227
241
|
const files = entries
|
|
228
242
|
.filter((e) => !e.directory && /\.ya?ml$/.test(e.name))
|
|
229
243
|
.map((e) => e.name)
|
|
230
244
|
.sort();
|
|
231
245
|
for (const f of files) {
|
|
232
|
-
const text = await ctx.readFile(join(
|
|
246
|
+
const text = await ctx.readFile(join(workflows, f));
|
|
233
247
|
if (!text.includes(WORKFLOW_REF))
|
|
234
248
|
continue;
|
|
235
249
|
const bumped = bumpWorkflowRefs(text, train);
|
|
236
250
|
if (bumped === text)
|
|
237
251
|
continue;
|
|
238
252
|
ctx.say(`→ ${consumer.rel}: ${f} workflow refs → @${train}`);
|
|
239
|
-
await ctx.stage(write(join(
|
|
253
|
+
await ctx.stage(write(join(workflows, f), bumped));
|
|
240
254
|
}
|
|
241
255
|
}
|
|
256
|
+
/** The URL of the open pull request from the train branch against the consumer's branch, if any. */
|
|
257
|
+
export async function openPullUrl(ctx, consumer, dir, train) {
|
|
258
|
+
const args = ['pr', 'list', '--head', trainBranch(train), '--base', consumer.branch, '--state', 'open'];
|
|
259
|
+
return (await ctx.read('gh', [...args, '--json', 'url', '--jq', '.[0].url'], { cwd: dir }).catch(() => '')).trim();
|
|
260
|
+
}
|
|
242
261
|
/**
|
|
243
262
|
* One commit, the train branch pushed, and a pull request against the
|
|
244
263
|
* consumer's branch: opened once, found again on a re-run. The branch is plx's
|
|
245
|
-
* own, so a re-run may move it, with a lease on what it fetched.
|
|
264
|
+
* own, so a re-run may move it, with a lease on what it fetched. Hooks are
|
|
265
|
+
* skipped: the checks are the pull request's job, and the mount's own
|
|
266
|
+
* checkout may carry the repo's hooks.
|
|
246
267
|
*/
|
|
247
|
-
async function openPull(ctx, consumer,
|
|
268
|
+
async function openPull(ctx, consumer, dir, take, summary) {
|
|
269
|
+
const { train } = take;
|
|
248
270
|
const branch = trainBranch(train);
|
|
249
271
|
if (ctx.dryRun) {
|
|
250
272
|
ctx.say(` (preview) ${consumer.rel}: would commit, push ${branch} and open a pull request against ${consumer.branch}`);
|
|
251
273
|
return;
|
|
252
274
|
}
|
|
253
|
-
if ((await ctx.read('git', ['status', '--porcelain'], { cwd:
|
|
275
|
+
if ((await ctx.read('git', ['status', '--porcelain'], { cwd: dir })).trim() === '') {
|
|
254
276
|
ctx.say(`• ${consumer.rel}: nothing changed — no pull request`);
|
|
255
277
|
return;
|
|
256
278
|
}
|
|
257
|
-
const head = `${consumer.origin} ${branch}`;
|
|
279
|
+
const head = `${consumer.origin ?? 'origin'} ${branch}`;
|
|
258
280
|
try {
|
|
259
281
|
await ctx.apply([
|
|
260
|
-
run('git', ['add', '-A'], { cwd:
|
|
261
|
-
run('git', ['commit', '--quiet', '--no-verify', '-m', `chore: train ${train}`], { cwd:
|
|
282
|
+
run('git', ['add', '-A'], { cwd: dir }),
|
|
283
|
+
run('git', ['commit', '--quiet', '--no-verify', '-m', `chore: train ${train}`], { cwd: dir }),
|
|
262
284
|
]);
|
|
263
285
|
// The lease needs the remote-tracking ref; a fresh clone has none for a branch it did not check out.
|
|
264
286
|
await ctx
|
|
265
287
|
.read('git', ['fetch', '--quiet', 'origin', `+refs/heads/${branch}:refs/remotes/origin/${branch}`], {
|
|
266
|
-
cwd:
|
|
288
|
+
cwd: dir,
|
|
267
289
|
})
|
|
268
290
|
.catch(() => '');
|
|
269
291
|
await ctx.apply([
|
|
270
|
-
run('git', ['push', '--quiet', '--force-with-lease', 'origin', `HEAD:refs/heads/${branch}`], {
|
|
292
|
+
run('git', ['push', '--quiet', '--no-verify', '--force-with-lease', 'origin', `HEAD:refs/heads/${branch}`], {
|
|
293
|
+
cwd: dir,
|
|
294
|
+
}),
|
|
271
295
|
]);
|
|
272
296
|
}
|
|
273
297
|
catch (error) {
|
|
@@ -275,22 +299,7 @@ async function openPull(ctx, consumer, clone, train, summary) {
|
|
|
275
299
|
summary.failed.push(consumer.rel);
|
|
276
300
|
return;
|
|
277
301
|
}
|
|
278
|
-
const existing =
|
|
279
|
-
.read('gh', [
|
|
280
|
-
'pr',
|
|
281
|
-
'list',
|
|
282
|
-
'--head',
|
|
283
|
-
branch,
|
|
284
|
-
'--base',
|
|
285
|
-
consumer.branch,
|
|
286
|
-
'--state',
|
|
287
|
-
'open',
|
|
288
|
-
'--json',
|
|
289
|
-
'url',
|
|
290
|
-
'--jq',
|
|
291
|
-
'.[0].url',
|
|
292
|
-
], { cwd: clone })
|
|
293
|
-
.catch(() => '')).trim();
|
|
302
|
+
const existing = await openPullUrl(ctx, consumer, dir, train);
|
|
294
303
|
if (existing) {
|
|
295
304
|
ctx.say(`• ${consumer.rel}: pull request updated: ${existing}`);
|
|
296
305
|
summary.pulls.push(existing);
|
|
@@ -303,7 +312,7 @@ async function openPull(ctx, consumer, clone, train, summary) {
|
|
|
303
312
|
conflicted.length > 0
|
|
304
313
|
? `Conflicts to resolve, committed with their markers: ${conflicted.join(', ')}.`
|
|
305
314
|
: 'Merged clean at every site.',
|
|
306
|
-
|
|
315
|
+
`Opened by ${take.opener}.`,
|
|
307
316
|
].join('\n\n');
|
|
308
317
|
try {
|
|
309
318
|
await ctx.apply([
|
|
@@ -318,7 +327,7 @@ async function openPull(ctx, consumer, clone, train, summary) {
|
|
|
318
327
|
`chore: train ${train}`,
|
|
319
328
|
'--body',
|
|
320
329
|
body,
|
|
321
|
-
], { cwd:
|
|
330
|
+
], { cwd: dir }),
|
|
322
331
|
]);
|
|
323
332
|
}
|
|
324
333
|
catch (error) {
|
|
@@ -326,28 +335,11 @@ async function openPull(ctx, consumer, clone, train, summary) {
|
|
|
326
335
|
summary.failed.push(consumer.rel);
|
|
327
336
|
return;
|
|
328
337
|
}
|
|
329
|
-
const url =
|
|
330
|
-
.read('gh', [
|
|
331
|
-
'pr',
|
|
332
|
-
'list',
|
|
333
|
-
'--head',
|
|
334
|
-
branch,
|
|
335
|
-
'--base',
|
|
336
|
-
consumer.branch,
|
|
337
|
-
'--state',
|
|
338
|
-
'open',
|
|
339
|
-
'--json',
|
|
340
|
-
'url',
|
|
341
|
-
'--jq',
|
|
342
|
-
'.[0].url',
|
|
343
|
-
], {
|
|
344
|
-
cwd: clone,
|
|
345
|
-
})
|
|
346
|
-
.catch(() => '')).trim();
|
|
338
|
+
const url = await openPullUrl(ctx, consumer, dir, train);
|
|
347
339
|
ctx.say(`• ${consumer.rel}: pull request opened${url ? `: ${url}` : ''}`);
|
|
348
340
|
summary.pulls.push(url || `${consumer.rel} ${branch}`);
|
|
349
341
|
}
|
|
350
|
-
const detail = (error) => {
|
|
342
|
+
export const detail = (error) => {
|
|
351
343
|
const message = error instanceof Error ? error.message : String(error);
|
|
352
344
|
const last = message.trim().split('\n').at(-1) ?? '';
|
|
353
345
|
return last && !/exited with/.test(last) ? `: ${last}` : '';
|
package/dist/propagate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propagate.js","sourceRoot":"","sources":["../src/propagate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"propagate.js","sourceRoot":"","sources":["../src/propagate.ts"],"names":[],"mappings":"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"}
|
package/dist/update.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Context } from './context.ts';
|
|
2
|
+
import { type Summary } from './propagate.ts';
|
|
3
|
+
/** The train repos that are templates: what a repo can be generated from. */
|
|
4
|
+
export declare const PRESETS: readonly string[];
|
|
5
|
+
export interface UpdateOptions {
|
|
6
|
+
/** The repo to update: a checkout whose root is a site of a repo preset. */
|
|
7
|
+
repo: string;
|
|
8
|
+
/** The train to take; default: the preset's newest release. */
|
|
9
|
+
train?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function update(ctx: Context, options: UpdateOptions): Promise<Summary>;
|
|
12
|
+
//# sourceMappingURL=update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAK5C,OAAO,EAAqC,KAAK,OAAO,EAA0B,MAAM,gBAAgB,CAAC;AAGzG,6EAA6E;AAC7E,eAAO,MAAM,OAAO,EAAE,SAAS,MAAM,EAAuD,CAAC;AAE7F,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAoEnF"}
|
package/dist/update.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
// update: a repo generated from the presets takes the train itself (§ 3
|
|
2
|
+
// PLX-Updates), from inside the repo: the same pull request `propagate` opens
|
|
3
|
+
// from the maintainers' workspace, opened by the tenant's own CI or by hand.
|
|
4
|
+
//
|
|
5
|
+
// The newest train is the preset's newest GitHub release (every train tag is
|
|
6
|
+
// locked by one, § 1.6 PLX), asked of the forge as an operator would
|
|
7
|
+
// (`gh api repos/plexus-ms/<preset>/releases/latest`). The work happens in a
|
|
8
|
+
// worktree of origin's branch, never in the checkout: a developer's branch and
|
|
9
|
+
// edits stay as they are, and in CI the worktree shares the checkout's
|
|
10
|
+
// credentials, so the push and the pull request need no second token. Then
|
|
11
|
+
// `takeTrain` (propagate.ts): copier update at every site, marker, lockfile,
|
|
12
|
+
// workflow refs, one commit on `plexus/<version>`, one pull request.
|
|
13
|
+
//
|
|
14
|
+
// The train is pulled once per repo: a `plexus/<version>` branch already on
|
|
15
|
+
// origin, from an earlier run, from `plx ship`, or from a human resolving its
|
|
16
|
+
// conflicts, is left alone, so a daily run never moves a branch somebody is
|
|
17
|
+
// working on; deleting the branch is how a pull is redone. A repo whose every
|
|
18
|
+
// site already records the train does nothing at all.
|
|
19
|
+
//
|
|
20
|
+
// plx update # this repo, to the newest train
|
|
21
|
+
// plx -n update # preview in a worktree, push nothing
|
|
22
|
+
// plx -y update --train 0.102.0 # unattended, an explicit train
|
|
23
|
+
import { basename, join } from 'node:path';
|
|
24
|
+
import { findConsumers, presetSource } from "./consumers.js";
|
|
25
|
+
import { ANSWERS_FILE, parseAnswers } from "./copier.js";
|
|
26
|
+
import { compareTrains } from "./doctor.js";
|
|
27
|
+
import { overview } from "./overview.js";
|
|
28
|
+
import { run } from "./plan.js";
|
|
29
|
+
import { detail, emptySummary, openPullUrl, takeTrain, trainBranch } from "./propagate.js";
|
|
30
|
+
import { isTrainVersion, preflightForge, TRAIN_REPOS, UsageError } from "./train.js";
|
|
31
|
+
/** The train repos that are templates: what a repo can be generated from. */
|
|
32
|
+
export const PRESETS = TRAIN_REPOS.filter((r) => r.startsWith('preset-'));
|
|
33
|
+
export async function update(ctx, options) {
|
|
34
|
+
const { repo } = options;
|
|
35
|
+
const name = basename(repo);
|
|
36
|
+
if (options.train !== undefined && !isTrainVersion(options.train))
|
|
37
|
+
throw new UsageError(`'${options.train}' is not plain semver (X.Y.Z, no v)`);
|
|
38
|
+
const tree = await overview(ctx, repo);
|
|
39
|
+
const consumer = (await findConsumers(ctx, tree, PRESETS)).find((c) => c.path === tree.path);
|
|
40
|
+
if (!consumer)
|
|
41
|
+
throw new Error(`${repo} is not a repo generated from the presets: no ${ANSWERS_FILE} at its root naming one of ${PRESETS.map(presetSource).join(', ')}`);
|
|
42
|
+
if (consumer.skipped)
|
|
43
|
+
throw new Error(`${name}: ${consumer.skipped}`);
|
|
44
|
+
// Sites are named from the repo, not from a workspace.
|
|
45
|
+
consumer.rel = name;
|
|
46
|
+
for (const s of consumer.sites)
|
|
47
|
+
s.rel = s.rel === '.' ? name : join(name, s.rel);
|
|
48
|
+
const root = consumer.sites.find((s) => s.path === consumer.path);
|
|
49
|
+
if (!root)
|
|
50
|
+
throw new Error(`${name}: its root is not a site of a repo preset`);
|
|
51
|
+
await preflightForge(ctx);
|
|
52
|
+
const train = options.train ?? (await newestTrain(ctx, root.preset));
|
|
53
|
+
const summary = emptySummary(train, ctx.dryRun);
|
|
54
|
+
const recorded = await Promise.all(consumer.sites.map(async (s) => parseAnswers(await ctx.readFile(join(s.path, ANSWERS_FILE))).commit));
|
|
55
|
+
if (recorded.every((c) => c === train)) {
|
|
56
|
+
ctx.say(`• ${name}: already at ${train}`);
|
|
57
|
+
return summary;
|
|
58
|
+
}
|
|
59
|
+
// copier refuses a downgrade; say so before a worktree is made for nothing.
|
|
60
|
+
const past = recorded.find((c) => c && isTrainVersion(c) && compareTrains(c, train) > 0);
|
|
61
|
+
if (past)
|
|
62
|
+
throw new Error(`${name} is at ${past}, past ${train}; a repo is never taken back to an older train`);
|
|
63
|
+
const branch = trainBranch(train);
|
|
64
|
+
const onOrigin = await ctx
|
|
65
|
+
.read('git', ['ls-remote', '--exit-code', '--heads', 'origin', `refs/heads/${branch}`], { cwd: repo })
|
|
66
|
+
.then(() => true)
|
|
67
|
+
.catch(() => false);
|
|
68
|
+
if (onOrigin) {
|
|
69
|
+
const url = await openPullUrl(ctx, consumer, repo, train);
|
|
70
|
+
ctx.say(`• ${name}: ${branch} is already on origin${url ? ` (${url})` : ''} — nothing to do; delete the branch to pull the train again`);
|
|
71
|
+
if (url)
|
|
72
|
+
summary.pulls.push(url);
|
|
73
|
+
return summary;
|
|
74
|
+
}
|
|
75
|
+
const scratch = (await ctx.stage(run('mktemp', ['-d'])))?.trim() ?? '';
|
|
76
|
+
const dir = join(scratch, name);
|
|
77
|
+
try {
|
|
78
|
+
ctx.say(`→ ${name}: worktree of origin/${consumer.branch}`);
|
|
79
|
+
try {
|
|
80
|
+
await ctx.stage(run('git', ['fetch', '--quiet', 'origin', consumer.branch], { cwd: repo }));
|
|
81
|
+
await ctx.stage(run('git', ['worktree', 'add', '--quiet', '--detach', dir, `origin/${consumer.branch}`], { cwd: repo }));
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
ctx.say(` ✗ FAILED — worktree of origin/${consumer.branch}${detail(error)}`);
|
|
85
|
+
summary.failed.push(name);
|
|
86
|
+
return summary;
|
|
87
|
+
}
|
|
88
|
+
await takeTrain(ctx, consumer, dir, { train, ref: train, opener: '`plx update`' }, summary);
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
await ctx.stage(run('git', ['worktree', 'remove', '--force', dir], { cwd: repo })).catch(() => undefined);
|
|
92
|
+
if (scratch)
|
|
93
|
+
await ctx.stage(run('rm', ['-rf', scratch]));
|
|
94
|
+
}
|
|
95
|
+
return summary;
|
|
96
|
+
}
|
|
97
|
+
/** The preset's newest release names the newest train (§ 1.6 PLX: every train tag has one). */
|
|
98
|
+
async function newestTrain(ctx, preset) {
|
|
99
|
+
const source = presetSource(preset).replace(/^gh:/, '');
|
|
100
|
+
const tag = (await ctx.read('gh', ['api', `repos/${source}/releases/latest`, '--jq', '.tag_name']).catch(() => '')).trim();
|
|
101
|
+
if (!tag)
|
|
102
|
+
throw new Error(`no release of ${source} found — pass the train explicitly (--train <version>)`);
|
|
103
|
+
if (!isTrainVersion(tag))
|
|
104
|
+
throw new Error(`the newest release of ${source} is '${tag}', not a train`);
|
|
105
|
+
return tag;
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update.js","sourceRoot":"","sources":["../src/update.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED