blacksmith-organization-system 1.2.0 → 1.3.1
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/README.md +6 -0
- package/dist/bridges/git.d.ts +2 -0
- package/dist/bridges/git.js +11 -0
- package/dist/bridges/git.js.map +1 -1
- package/dist/core/version.d.ts +1 -0
- package/dist/core/version.js +8 -0
- package/dist/core/version.js.map +1 -1
- package/dist/main.d.ts +8 -1
- package/dist/main.js +37 -3
- package/dist/main.js.map +1 -1
- package/dist/models/_index.d.ts +1 -1
- package/dist/models/_index.js +1 -1
- package/dist/models/_index.js.map +1 -1
- package/dist/models/settings/data.d.ts +7 -1
- package/dist/models/settings/data.js +4 -2
- package/dist/models/settings/data.js.map +1 -1
- package/dist/models/settings/load.d.ts +1 -0
- package/dist/models/settings/load.js +13 -1
- package/dist/models/settings/load.js.map +1 -1
- package/dist/procedures/_index.d.ts +1 -0
- package/dist/procedures/_index.js +1 -0
- package/dist/procedures/_index.js.map +1 -1
- package/dist/procedures/bumping/context.d.ts +1 -0
- package/dist/procedures/bumping/context.js.map +1 -1
- package/dist/procedures/bumping/steps.js +12 -5
- package/dist/procedures/bumping/steps.js.map +1 -1
- package/dist/procedures/reconciling/_index.d.ts +4 -0
- package/dist/procedures/reconciling/_index.js +9 -0
- package/dist/procedures/reconciling/_index.js.map +1 -0
- package/dist/procedures/reconciling/context.d.ts +21 -0
- package/dist/procedures/reconciling/context.js +4 -0
- package/dist/procedures/reconciling/context.js.map +1 -0
- package/dist/procedures/reconciling/steps.d.ts +4 -0
- package/dist/procedures/reconciling/steps.js +46 -0
- package/dist/procedures/reconciling/steps.js.map +1 -0
- package/dist/tools/flow.js +32 -1
- package/dist/tools/flow.js.map +1 -1
- package/dist/views/flow.js +2 -1
- package/dist/views/flow.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -19,6 +19,12 @@
|
|
|
19
19
|
[](https://blacksmith-organization-system.readthedocs.io/)
|
|
20
20
|
[](https://github.com/Sarverott/blacksmith-organization-system/wiki)
|
|
21
21
|
[](https://github.com/Sarverott/blacksmith-organization-system/blob/master/LICENSE)
|
|
22
|
+
[](https://bundlephobia.com/package/blacksmith-organization-system)
|
|
23
|
+
[](https://socket.dev/npm/package/blacksmith-organization-system)
|
|
24
|
+
[](https://snyk.io/advisor/npm-package/blacksmith-organization-system)
|
|
25
|
+
[](https://npmgraph.js.org/?q=blacksmith-organization-system)
|
|
26
|
+
[](https://github.com/Sarverott/blacksmith-organization-system/releases/tag/latest)
|
|
27
|
+
[](https://github.com/Sarverott/blacksmith-organization-system/releases/tag/nightly)
|
|
22
28
|
|
|
23
29
|
---
|
|
24
30
|
|
package/dist/bridges/git.d.ts
CHANGED
package/dist/bridges/git.js
CHANGED
|
@@ -16,6 +16,17 @@ export class Git {
|
|
|
16
16
|
tagExists(tag) {
|
|
17
17
|
return this.git(["tag", "--list", tag]) === tag;
|
|
18
18
|
}
|
|
19
|
+
// the tags that match a glob, e.g. v1.2.*
|
|
20
|
+
tags(pattern) {
|
|
21
|
+
return this.git(["tag", "--list", pattern]).split("\n").filter(Boolean);
|
|
22
|
+
}
|
|
23
|
+
// a three-way merge of files into ours (git merge-file); true when it has conflicts
|
|
24
|
+
mergeFile(ours, base, theirs) {
|
|
25
|
+
const { status, stderr } = this.host.run("git", ["merge-file", ours, base, theirs], { cwd: this.cwd });
|
|
26
|
+
if (status < 0 || status > 127)
|
|
27
|
+
throw new Error(`git merge-file: ${stderr.trim()}`);
|
|
28
|
+
return status > 0;
|
|
29
|
+
}
|
|
19
30
|
// everyone in the history of HEAD, oldest first: author, committer and each
|
|
20
31
|
// Co-authored-by trailer, as "Name <email>" lines (repeated; the caller dedupes)
|
|
21
32
|
identities() {
|
package/dist/bridges/git.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/bridges/git.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG;IACL,IAAI,CAAO;IACpB,kCAAkC;IACzB,GAAG,CAAS;IAErB,YAAY,IAAU,EAAE,GAAW;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,IAAI,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrG,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAClD,CAAC;IAED,4EAA4E;IAC5E,iFAAiF;IACjF,UAAU;QACR,MAAM,MAAM,GAAG,+EAA+E,CAAC;QAC/F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/G,8CAA8C;QAC9C,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/bridges/git.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG;IACL,IAAI,CAAO;IACpB,kCAAkC;IACzB,GAAG,CAAS;IAErB,YAAY,IAAU,EAAE,GAAW;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,GAAG,CAAC,IAAc;QAChB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACjF,IAAI,MAAM,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrG,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAED,8DAA8D;IAC9D,SAAS,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAClD,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,OAAe;QAClB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,CAAC;IAED,oFAAoF;IACpF,SAAS,CAAC,IAAY,EAAE,IAAY,EAAE,MAAc;QAClD,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QACvG,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACpF,OAAO,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,4EAA4E;IAC5E,iFAAiF;IACjF,UAAU;QACR,MAAM,MAAM,GAAG,+EAA+E,CAAC;QAC/F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,YAAY,MAAM,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC/G,8CAA8C;QAC9C,IAAI,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC5B,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;CACF"}
|
package/dist/core/version.d.ts
CHANGED
|
@@ -3,4 +3,5 @@ export type LoopEvent = (typeof EVENTS)[number];
|
|
|
3
3
|
export declare function isLoopEvent(value: string): value is LoopEvent;
|
|
4
4
|
export declare function bumpSemver(version: string, event: LoopEvent): string;
|
|
5
5
|
export declare function bumpGrih(version: string, event: LoopEvent): string;
|
|
6
|
+
export declare function compareSemver(a: string, b: string): number;
|
|
6
7
|
export declare const GRIH_START = "0.0.0.0";
|
package/dist/core/version.js
CHANGED
|
@@ -33,5 +33,13 @@ export function bumpSemver(version, event) {
|
|
|
33
33
|
export function bumpGrih(version, event) {
|
|
34
34
|
return raise(parse(version, 4, "GRIH"), GRIH_DIGIT[event]);
|
|
35
35
|
}
|
|
36
|
+
// <0, 0, >0 like a sort comparator: "1.10.0" is after "1.9.3"
|
|
37
|
+
export function compareSemver(a, b) {
|
|
38
|
+
const [x, y] = [parse(a, 3, "semver"), parse(b, 3, "semver")];
|
|
39
|
+
for (let i = 0; i < 3; i++)
|
|
40
|
+
if (x[i] !== y[i])
|
|
41
|
+
return (x[i] ?? 0) - (y[i] ?? 0);
|
|
42
|
+
return 0;
|
|
43
|
+
}
|
|
36
44
|
export const GRIH_START = "0.0.0.0";
|
|
37
45
|
//# sourceMappingURL=version.js.map
|
package/dist/core/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,8BAA8B;AAC9B,gCAAgC;AAChC,wDAAwD;AACxD,EAAE;AACF,gCAAgC;AAChC,gCAAgC;AAChC,gCAAgC;AAChC,gCAAgC;AAChC,6FAA6F;AAE7F,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,CAAU,CAAC;AAGtE,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAQ,MAA4B,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,KAAK,CAAC,OAAe,EAAE,KAAa,EAAE,MAAc;IAC3D,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9E,MAAM,IAAI,KAAK,CAAC,IAAI,OAAO,cAAc,MAAM,aAAa,KAAK,gCAAgC,CAAC,CAAC;IACrG,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,sDAAsD;AACtD,SAAS,KAAK,CAAC,OAAiB,EAAE,KAAa;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,YAAY,GAA8B,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC7F,MAAM,UAAU,GAA8B,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAE3F,6FAA6F;AAC7F,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,KAAgB;IAC1D,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;AACjE,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,KAAgB;IACxD,OAAO,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/core/version.ts"],"names":[],"mappings":"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"}
|
package/dist/main.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { Host } from "./core/host.ts";
|
|
2
2
|
import type { LoopEvent } from "./core/version.ts";
|
|
3
3
|
import { type Loop, type Project, type Settings, type VersioningData, Workshop } from "./models/_index.ts";
|
|
4
|
-
import { type BootstrapContext, type BumpOutcome, type CreditOutcome, type FlowOutcome, type VersionContext, type WorkshopEvent, type WorkshopReport } from "./procedures/_index.ts";
|
|
4
|
+
import { type BootstrapContext, type BumpOutcome, type CreditOutcome, type FlowOutcome, type ReconcileOutcome, type VersionContext, type WorkshopEvent, type WorkshopReport } from "./procedures/_index.ts";
|
|
5
5
|
export type BOSOptions = {
|
|
6
6
|
workshop?: string;
|
|
7
7
|
};
|
|
@@ -39,6 +39,13 @@ export declare class BOS {
|
|
|
39
39
|
dir?: string;
|
|
40
40
|
dryRun?: boolean;
|
|
41
41
|
}): Promise<BumpOutcome>;
|
|
42
|
+
bumpCommit({ dir, dryRun }?: {
|
|
43
|
+
dir?: string;
|
|
44
|
+
dryRun?: boolean;
|
|
45
|
+
}): Promise<BumpOutcome>;
|
|
46
|
+
mergeVersion(base: string, ours: string, theirs: string, { dir }?: {
|
|
47
|
+
dir?: string;
|
|
48
|
+
}): Promise<ReconcileOutcome>;
|
|
42
49
|
authors({ dir, dryRun }?: {
|
|
43
50
|
dir?: string;
|
|
44
51
|
dryRun?: boolean;
|
package/dist/main.js
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
import { Git } from "./bridges/git.js";
|
|
6
6
|
import { GitHub } from "./bridges/github.js";
|
|
7
7
|
import { createContext } from "./core/context.js";
|
|
8
|
-
import { authorsFile, loopOfSettings, projectAround, settingsOf, versioningOf, Workshop, } from "./models/_index.js";
|
|
9
|
-
import { automerging, bootstrapping, bumping, crediting, emptyReport, inspecting, proposing, unbumped, uncredited, undecided, versioning, watching, } from "./procedures/_index.js";
|
|
8
|
+
import { authorsFile, branchMatches, loopOfSettings, projectAround, settingsOf, versioningOf, Workshop, } from "./models/_index.js";
|
|
9
|
+
import { automerging, bootstrapping, bumping, crediting, emptyReport, inspecting, proposing, reconciling, unbumped, uncredited, undecided, unreconciled, versioning, watching, } from "./procedures/_index.js";
|
|
10
10
|
export class BOS {
|
|
11
11
|
host;
|
|
12
12
|
options;
|
|
@@ -50,7 +50,7 @@ export class BOS {
|
|
|
50
50
|
const { project, loop } = this.settings(dir);
|
|
51
51
|
return { project, loop };
|
|
52
52
|
}
|
|
53
|
-
// bump the project's version for work landing on a station (
|
|
53
|
+
// bump the project's version for work landing on a station (once the line it leaves is released)
|
|
54
54
|
async bump(station, { dir, dryRun = false } = {}) {
|
|
55
55
|
const { project, versioning } = this.settings(dir);
|
|
56
56
|
const git = new Git(this.host, project.path);
|
|
@@ -58,12 +58,46 @@ export class BOS {
|
|
|
58
58
|
...createContext(this.host, { dryRun }),
|
|
59
59
|
projectPath: project.path,
|
|
60
60
|
station,
|
|
61
|
+
everyCommit: false,
|
|
61
62
|
versioning,
|
|
62
63
|
git,
|
|
63
64
|
outcome: unbumped(),
|
|
64
65
|
};
|
|
65
66
|
return (await bumping.run(context)).outcome;
|
|
66
67
|
}
|
|
68
|
+
// the bump of one commit on a contributor's branch (versioning.commits): every
|
|
69
|
+
// commit has its own version; other branches bump nothing here
|
|
70
|
+
async bumpCommit({ dir, dryRun = false } = {}) {
|
|
71
|
+
const { project, versioning } = this.settings(dir);
|
|
72
|
+
const branch = project.report().git?.branch ?? null;
|
|
73
|
+
if (!branch || !branchMatches(branch, versioning.commits.branches)) {
|
|
74
|
+
const where = branch ?? "a detached HEAD";
|
|
75
|
+
return { ...unbumped(), reason: `${where} is not one of ${versioning.commits.branches.join(", ")}: no bump` };
|
|
76
|
+
}
|
|
77
|
+
const context = {
|
|
78
|
+
...createContext(this.host, { dryRun }),
|
|
79
|
+
projectPath: project.path,
|
|
80
|
+
station: branch,
|
|
81
|
+
everyCommit: true,
|
|
82
|
+
versioning,
|
|
83
|
+
git: new Git(this.host, project.path),
|
|
84
|
+
outcome: unbumped(),
|
|
85
|
+
};
|
|
86
|
+
return (await bumping.run(context)).outcome;
|
|
87
|
+
}
|
|
88
|
+
// git's merge driver for package.json / package-lock.json: the higher version on
|
|
89
|
+
// every side, then a usual three-way merge into ours
|
|
90
|
+
async mergeVersion(base, ours, theirs, { dir } = {}) {
|
|
91
|
+
const { project } = this.loop(dir);
|
|
92
|
+
const context = {
|
|
93
|
+
...createContext(this.host),
|
|
94
|
+
git: new Git(this.host, project.path),
|
|
95
|
+
files: { base, ours, theirs },
|
|
96
|
+
texts: { base: "", ours: "", theirs: "" },
|
|
97
|
+
outcome: unreconciled(),
|
|
98
|
+
};
|
|
99
|
+
return (await reconciling.run(context)).outcome;
|
|
100
|
+
}
|
|
67
101
|
// name everyone of the project's commits in its .github/AUTHORS
|
|
68
102
|
async authors({ dir, dryRun = false } = {}) {
|
|
69
103
|
const { project } = this.loop(dir);
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,kFAAkF;AAClF,yBAAyB;AACzB,8EAA8E;AAC9E,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGlD,OAAO,EACL,WAAW,
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
package/dist/models/_index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { projectAround } from "./project/around.ts";
|
|
|
12
12
|
export { Project, type ProjectReport } from "./project/class.ts";
|
|
13
13
|
export { SCOPE_FILE, Scope } from "./scope/class.ts";
|
|
14
14
|
export { BUMPS, type Bump, DEFAULT_VERSIONING, type SettingsData, type VersioningData } from "./settings/data.ts";
|
|
15
|
-
export { type Settings, settingsFile, settingsOf, versioningOf } from "./settings/load.ts";
|
|
15
|
+
export { branchMatches, type Settings, settingsFile, settingsOf, versioningOf } from "./settings/load.ts";
|
|
16
16
|
export { System } from "./system/class.ts";
|
|
17
17
|
export { Data, Nests, Setup } from "./system/parts.ts";
|
|
18
18
|
export { Logs, Manifests, Storylines, Ttystories } from "./system/storylines.ts";
|
package/dist/models/_index.js
CHANGED
|
@@ -13,7 +13,7 @@ export { projectAround } from "./project/around.js";
|
|
|
13
13
|
export { Project } from "./project/class.js";
|
|
14
14
|
export { SCOPE_FILE, Scope } from "./scope/class.js";
|
|
15
15
|
export { BUMPS, DEFAULT_VERSIONING } from "./settings/data.js";
|
|
16
|
-
export { settingsFile, settingsOf, versioningOf } from "./settings/load.js";
|
|
16
|
+
export { branchMatches, settingsFile, settingsOf, versioningOf } from "./settings/load.js";
|
|
17
17
|
export { System } from "./system/class.js";
|
|
18
18
|
export { Data, Nests, Setup } from "./system/parts.js";
|
|
19
19
|
export { Logs, Manifests, Storylines, Ttystories } from "./system/storylines.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/models/_index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,SAAS,EACT,OAAO,EACP,WAAW,EAEX,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAa,kBAAkB,EAA0C,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAiB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/models/_index.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAGL,SAAS,EACT,OAAO,EACP,WAAW,EAEX,MAAM,EACN,KAAK,EACL,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAoB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,EAAc,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,IAAI,EAAiB,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAsB,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,KAAK,EAAa,kBAAkB,EAA0C,MAAM,oBAAoB,CAAC;AAClH,OAAO,EAAE,aAAa,EAAiB,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC1G,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,oBAAoB,EAEpB,cAAc,EAEd,OAAO,EACP,gBAAgB,EAChB,YAAY,GACb,MAAM,sBAAsB,CAAC"}
|
|
@@ -4,9 +4,15 @@ export type Bump = (typeof BUMPS)[number];
|
|
|
4
4
|
export type VersioningData = {
|
|
5
5
|
bumps: Record<string, Bump>;
|
|
6
6
|
tagPrefix: string;
|
|
7
|
+
commits: {
|
|
8
|
+
branches: string[];
|
|
9
|
+
bump: Bump;
|
|
10
|
+
};
|
|
7
11
|
};
|
|
8
12
|
export declare const DEFAULT_VERSIONING: VersioningData;
|
|
9
13
|
export type SettingsData = {
|
|
10
14
|
loop?: Partial<LoopData>;
|
|
11
|
-
versioning?: Partial<VersioningData
|
|
15
|
+
versioning?: Partial<Omit<VersioningData, "commits">> & {
|
|
16
|
+
commits?: Partial<VersioningData["commits"]>;
|
|
17
|
+
};
|
|
12
18
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// how far a version moves: semver X, Y or Z
|
|
2
2
|
export const BUMPS = ["major", "minor", "patch"];
|
|
3
|
-
// the routine of phase 2:
|
|
4
|
-
//
|
|
3
|
+
// the routine of phase 2: every commit on a contributor's branch is a patch,
|
|
4
|
+
// landing on revision is a minor bump, reaching master without it a patch
|
|
5
|
+
// ("hotfix"); a station bumps only when the version's line is released
|
|
5
6
|
export const DEFAULT_VERSIONING = {
|
|
6
7
|
bumps: { revision: "minor", master: "patch" },
|
|
7
8
|
tagPrefix: "v",
|
|
9
|
+
commits: { branches: ["dev/*"], bump: "patch" },
|
|
8
10
|
};
|
|
9
11
|
//# sourceMappingURL=data.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/models/settings/data.ts"],"names":[],"mappings":"AAKA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/models/settings/data.ts"],"names":[],"mappings":"AAKA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAU,CAAC;AAa1D,6EAA6E;AAC7E,0EAA0E;AAC1E,uEAAuE;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAAmB;IAChD,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7C,SAAS,EAAE,GAAG;IACd,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE;CAChD,CAAC"}
|
|
@@ -7,3 +7,4 @@ export type Settings = {
|
|
|
7
7
|
export declare function settingsFile(projectPath: string): string;
|
|
8
8
|
export declare function settingsOf(host: Host, projectPath: string): Settings;
|
|
9
9
|
export declare function versioningOf(settings: Settings): VersioningData;
|
|
10
|
+
export declare function branchMatches(branch: string, patterns: string[]): boolean;
|
|
@@ -21,7 +21,15 @@ export function settingsOf(host, projectPath) {
|
|
|
21
21
|
}
|
|
22
22
|
export function versioningOf(settings) {
|
|
23
23
|
const own = settings.data.versioning ?? {};
|
|
24
|
-
const versioning = {
|
|
24
|
+
const versioning = {
|
|
25
|
+
...DEFAULT_VERSIONING,
|
|
26
|
+
...own,
|
|
27
|
+
bumps: { ...DEFAULT_VERSIONING.bumps, ...own.bumps },
|
|
28
|
+
commits: { ...DEFAULT_VERSIONING.commits, ...own.commits },
|
|
29
|
+
};
|
|
30
|
+
if (!BUMPS.includes(versioning.commits.bump)) {
|
|
31
|
+
throw new Error(`${settings.source}: versioning.commits.bump is "${versioning.commits.bump}", not one of ${BUMPS.join(", ")}`);
|
|
32
|
+
}
|
|
25
33
|
for (const [branch, bump] of Object.entries(versioning.bumps)) {
|
|
26
34
|
if (!BUMPS.includes(bump)) {
|
|
27
35
|
throw new Error(`${settings.source}: versioning.bumps.${branch} is "${bump}", not one of ${BUMPS.join(", ")}`);
|
|
@@ -29,4 +37,8 @@ export function versioningOf(settings) {
|
|
|
29
37
|
}
|
|
30
38
|
return versioning;
|
|
31
39
|
}
|
|
40
|
+
// does a branch match one of the patterns ("dev/*": a prefix, else the name)
|
|
41
|
+
export function branchMatches(branch, patterns) {
|
|
42
|
+
return patterns.some((p) => (p.endsWith("*") ? branch.startsWith(p.slice(0, -1)) : branch === p));
|
|
43
|
+
}
|
|
32
44
|
//# sourceMappingURL=load.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/models/settings/load.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAA0C,MAAM,WAAW,CAAC;AAI9F,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,WAAmB;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1D,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAClH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,GAAG,
|
|
1
|
+
{"version":3,"file":"load.js","sourceRoot":"","sources":["../../../src/models/settings/load.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAA0C,MAAM,WAAW,CAAC;AAI9F,MAAM,UAAU,YAAY,CAAC,WAAmB;IAC9C,OAAO,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU,EAAE,WAAmB;IACxD,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;IAC1D,IAAI,IAAa,CAAC;IAClB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,iBAAiB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpG,CAAC;IACD,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mBAAmB,CAAC,CAAC;IAClH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAoB,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAAkB;IAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC3C,MAAM,UAAU,GAAmB;QACjC,GAAG,kBAAkB;QACrB,GAAG,GAAG;QACN,KAAK,EAAE,EAAE,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,EAAE;QACpD,OAAO,EAAE,EAAE,GAAG,kBAAkB,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE;KAC3D,CAAC;IACF,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CACb,GAAG,QAAQ,CAAC,MAAM,iCAAiC,UAAU,CAAC,OAAO,CAAC,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC9G,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,CAAC,MAAM,sBAAsB,MAAM,QAAQ,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjH,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,aAAa,CAAC,MAAc,EAAE,QAAkB;IAC9D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;AACpG,CAAC"}
|
|
@@ -4,5 +4,6 @@ export { type BumpContext, type BumpOutcome, bumping, unbumped } from "./bumping
|
|
|
4
4
|
export { type CreditContext, type CreditOutcome, crediting, uncredited } from "./crediting/_index.ts";
|
|
5
5
|
export { emptyReport, type Finding, type InspectContext, inspecting, type ScopeReport, type WorkshopReport, } from "./inspecting/_index.ts";
|
|
6
6
|
export { type FlowOutcome, type ProposeContext, proposing, undecided } from "./proposing/_index.ts";
|
|
7
|
+
export { type ReconcileContext, type ReconcileOutcome, reconciling, unreconciled } from "./reconciling/_index.ts";
|
|
7
8
|
export { type VersionContext, versioning } from "./versioning/_index.ts";
|
|
8
9
|
export { classify, isNoise, type WatchContext, type WorkshopEvent, watching } from "./watching/_index.ts";
|
|
@@ -6,6 +6,7 @@ export { bumping, unbumped } from "./bumping/_index.js";
|
|
|
6
6
|
export { crediting, uncredited } from "./crediting/_index.js";
|
|
7
7
|
export { emptyReport, inspecting, } from "./inspecting/_index.js";
|
|
8
8
|
export { proposing, undecided } from "./proposing/_index.js";
|
|
9
|
+
export { reconciling, unreconciled } from "./reconciling/_index.js";
|
|
9
10
|
export { versioning } from "./versioning/_index.js";
|
|
10
11
|
export { classify, isNoise, watching } from "./watching/_index.js";
|
|
11
12
|
//# sourceMappingURL=_index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/procedures/_index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AAExE,OAAO,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAyB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAsC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAA0C,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EACL,WAAW,EAGX,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAyC,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAyC,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
|
|
1
|
+
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../src/procedures/_index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wEAAwE;AAExE,OAAO,EAAyB,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC7E,OAAO,EAAyB,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAsC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC5F,OAAO,EAA0C,SAAS,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACtG,OAAO,EACL,WAAW,EAGX,UAAU,GAGX,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAyC,SAAS,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACpG,OAAO,EAAgD,WAAW,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAClH,OAAO,EAAuB,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAyC,QAAQ,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/bumping/context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/bumping/context.ts"],"names":[],"mappings":"AAsBA,MAAM,UAAU,QAAQ;IACtB,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AAC1E,CAAC"}
|
|
@@ -11,17 +11,24 @@ export function read(context) {
|
|
|
11
11
|
if (!version)
|
|
12
12
|
throw new Error(`no version in ${join(context.projectPath, "package.json")}`);
|
|
13
13
|
outcome.from = version;
|
|
14
|
-
outcome.bump = context.versioning.bumps[station] ?? null;
|
|
14
|
+
outcome.bump = context.everyCommit ? context.versioning.commits.bump : (context.versioning.bumps[station] ?? null);
|
|
15
15
|
if (!outcome.bump)
|
|
16
16
|
outcome.reason = `nothing bumps on ${station}: ${version} stays`;
|
|
17
17
|
}
|
|
18
|
+
// the tags that release the line a bump leaves: patch 1.2.3 → v1.2.3,
|
|
19
|
+
// minor → v1.2.*, major → v1.*
|
|
20
|
+
function lineOf(context, version, bump) {
|
|
21
|
+
const [x, y] = version.split(".");
|
|
22
|
+
const prefix = context.versioning.tagPrefix;
|
|
23
|
+
return bump === "patch" ? `${prefix}${version}` : bump === "minor" ? `${prefix}${x}.${y}.*` : `${prefix}${x}.*`;
|
|
24
|
+
}
|
|
18
25
|
export function check(context) {
|
|
19
26
|
const { outcome } = context;
|
|
20
|
-
if (outcome.reason || !outcome.from)
|
|
27
|
+
if (outcome.reason || !outcome.from || !outcome.bump || context.everyCommit)
|
|
21
28
|
return;
|
|
22
|
-
const
|
|
23
|
-
if (
|
|
24
|
-
Object.assign(outcome, { action: "kept", to: outcome.from, reason: `${
|
|
29
|
+
const line = lineOf(context, outcome.from, outcome.bump);
|
|
30
|
+
if (context.git.tags(line).length === 0) {
|
|
31
|
+
Object.assign(outcome, { action: "kept", to: outcome.from, reason: `${line} is not released yet: it stays` });
|
|
25
32
|
}
|
|
26
33
|
}
|
|
27
34
|
export function write(context) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/bumping/steps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAkB,MAAM,uBAAuB,CAAC;AAInE,MAAM,QAAQ,GAA4B,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAIhG,SAAS,YAAY,CAAC,OAAoB,EAAE,IAAY;IACtD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IACpE,OAAO,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAc,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,IAAI,CAAC,OAAoB;IACvC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAC/D,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC;IACvB,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/bumping/steps.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Procedure } from "../../core/procedure.js";
|
|
2
|
+
import { align, merge, read } from "./steps.js";
|
|
3
|
+
export { unreconciled } from "./context.js";
|
|
4
|
+
export const reconciling = new Procedure("reconciling", [
|
|
5
|
+
{ name: "read", run: read },
|
|
6
|
+
{ name: "align", run: align },
|
|
7
|
+
{ name: "merge", run: merge },
|
|
8
|
+
]);
|
|
9
|
+
//# sourceMappingURL=_index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_index.js","sourceRoot":"","sources":["../../../src/procedures/reconciling/_index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EAAgD,YAAY,EAAE,MAAM,cAAc,CAAC;AAE1F,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,SAAS,CAAmB,aAAa,EAAE;IACxE,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE;IAC3B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;IAC7B,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;CAC9B,CAAC,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { Git } from "../../bridges/git.ts";
|
|
2
|
+
import type { Context } from "../../core/context.ts";
|
|
3
|
+
export type ReconcileOutcome = {
|
|
4
|
+
action: "merged" | "conflict";
|
|
5
|
+
version: string | null;
|
|
6
|
+
};
|
|
7
|
+
export type ReconcileContext = Context & {
|
|
8
|
+
git: Git;
|
|
9
|
+
files: {
|
|
10
|
+
base: string;
|
|
11
|
+
ours: string;
|
|
12
|
+
theirs: string;
|
|
13
|
+
};
|
|
14
|
+
texts: {
|
|
15
|
+
base: string;
|
|
16
|
+
ours: string;
|
|
17
|
+
theirs: string;
|
|
18
|
+
};
|
|
19
|
+
outcome: ReconcileOutcome;
|
|
20
|
+
};
|
|
21
|
+
export declare function unreconciled(): ReconcileOutcome;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/procedures/reconciling/context.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,YAAY;IAC1B,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { compareSemver } from "../../core/version.js";
|
|
2
|
+
function parse(text) {
|
|
3
|
+
try {
|
|
4
|
+
const data = JSON.parse(text);
|
|
5
|
+
return typeof data === "object" && data !== null && !Array.isArray(data) ? data : null;
|
|
6
|
+
}
|
|
7
|
+
catch {
|
|
8
|
+
return null;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
const SIDES = ["base", "ours", "theirs"];
|
|
12
|
+
export function read(context) {
|
|
13
|
+
for (const side of SIDES) {
|
|
14
|
+
const text = context.host.readText(context.files[side]);
|
|
15
|
+
if (text === null)
|
|
16
|
+
throw new Error(`no ${side} file: ${context.files[side]}`);
|
|
17
|
+
context.texts[side] = text;
|
|
18
|
+
}
|
|
19
|
+
const versions = [context.texts.ours, context.texts.theirs]
|
|
20
|
+
.map((text) => parse(text)?.version)
|
|
21
|
+
.filter((version) => typeof version === "string" && /^\d+\.\d+\.\d+$/.test(version));
|
|
22
|
+
context.outcome.version = versions.sort(compareSemver).at(-1) ?? null;
|
|
23
|
+
}
|
|
24
|
+
// the same version on every side (a lock also carries it in packages[""])
|
|
25
|
+
export function align(context) {
|
|
26
|
+
const { version } = context.outcome;
|
|
27
|
+
if (!version)
|
|
28
|
+
return;
|
|
29
|
+
for (const side of SIDES) {
|
|
30
|
+
const manifest = parse(context.texts[side]);
|
|
31
|
+
if (!manifest || manifest.version === undefined)
|
|
32
|
+
continue;
|
|
33
|
+
manifest.version = version;
|
|
34
|
+
const root = manifest.packages?.[""];
|
|
35
|
+
if (root?.version !== undefined)
|
|
36
|
+
root.version = version;
|
|
37
|
+
// npm writes JSON with two spaces and a final newline
|
|
38
|
+
context.host.writeText(context.files[side], `${JSON.stringify(manifest, null, 2)}\n`);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
export function merge(context) {
|
|
42
|
+
const { base, ours, theirs } = context.files;
|
|
43
|
+
if (context.git.mergeFile(ours, base, theirs))
|
|
44
|
+
context.outcome.action = "conflict";
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=steps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"steps.js","sourceRoot":"","sources":["../../../src/procedures/reconciling/steps.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/flow.js
CHANGED
|
@@ -61,7 +61,7 @@ export const flowTools = [
|
|
|
61
61
|
tool({
|
|
62
62
|
model: "flow",
|
|
63
63
|
name: "bump",
|
|
64
|
-
info: "bump the project's version for work landing on a station (.github/bos.json versioning); only
|
|
64
|
+
info: "bump the project's version for work landing on a station (.github/bos.json versioning); only once the line it leaves is released",
|
|
65
65
|
readOnly: false,
|
|
66
66
|
args: [
|
|
67
67
|
{
|
|
@@ -77,5 +77,36 @@ export const flowTools = [
|
|
|
77
77
|
run: (bos, input) => bos.bump(String(input.station), { dir: dir(input.dir), dryRun: Boolean(input.dryRun) }),
|
|
78
78
|
render: bumpText,
|
|
79
79
|
}),
|
|
80
|
+
tool({
|
|
81
|
+
model: "flow",
|
|
82
|
+
name: "bump-commit",
|
|
83
|
+
info: "bump the version for one commit on a contributor's branch (versioning.commits; the pre-commit hook runs it)",
|
|
84
|
+
readOnly: false,
|
|
85
|
+
args: [dirArg, { name: "dryRun", type: "boolean", info: "only say what the version would become" }],
|
|
86
|
+
run: (bos, input) => bos.bumpCommit({ dir: dir(input.dir), dryRun: Boolean(input.dryRun) }),
|
|
87
|
+
render: bumpText,
|
|
88
|
+
}),
|
|
89
|
+
tool({
|
|
90
|
+
model: "flow",
|
|
91
|
+
name: "merge-version",
|
|
92
|
+
info: "git merge driver of package.json and its lock: the higher version on every side, then a three-way merge",
|
|
93
|
+
readOnly: false,
|
|
94
|
+
args: [
|
|
95
|
+
{ name: "base", type: "string", info: "the common ancestor's file (%O)", positional: true, required: true },
|
|
96
|
+
{ name: "ours", type: "string", info: "our file, the result goes here (%A)", positional: true, required: true },
|
|
97
|
+
{ name: "theirs", type: "string", info: "their file (%B)", positional: true, required: true },
|
|
98
|
+
dirArg,
|
|
99
|
+
],
|
|
100
|
+
run: async (bos, input) => {
|
|
101
|
+
const outcome = await bos.mergeVersion(String(input.base), String(input.ours), String(input.theirs), {
|
|
102
|
+
dir: dir(input.dir),
|
|
103
|
+
});
|
|
104
|
+
// a conflict must fail the driver, so git leaves the file conflicted
|
|
105
|
+
if (outcome.action === "conflict")
|
|
106
|
+
throw new Error(`conflicts besides the version (${outcome.version})`);
|
|
107
|
+
return outcome;
|
|
108
|
+
},
|
|
109
|
+
render: (outcome) => `merged; version ${outcome.version ?? "none"}`,
|
|
110
|
+
}),
|
|
80
111
|
];
|
|
81
112
|
//# sourceMappingURL=flow.js.map
|
package/dist/tools/flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/tools/flow.ts"],"names":[],"mappings":"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"}
|
package/dist/views/flow.js
CHANGED
|
@@ -13,7 +13,8 @@ export function explainText({ source, steps, data, versioning }) {
|
|
|
13
13
|
` ${contributors.pattern.padEnd(14)} → ${contributors.into.padEnd(12)} a person merges`,
|
|
14
14
|
"",
|
|
15
15
|
`pull requests of forward steps are opened ${autocreate ? "by the loop" : "by people (autocreate is off)"}; releases on ${release}`,
|
|
16
|
-
`version bumps: ${bumps.join(", ") || "none"}
|
|
16
|
+
`version bumps: ${bumps.join(", ") || "none"}, each once the line it leaves is released (${versioning.tagPrefix}<line>)`,
|
|
17
|
+
`every commit on ${versioning.commits.branches.join(", ")}: ${versioning.commits.bump}`,
|
|
17
18
|
].join("\n");
|
|
18
19
|
}
|
|
19
20
|
export function outcomeText(outcome) {
|
package/dist/views/flow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/views/flow.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;AAC3E,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAa;IACxE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;IAC/F,OAAO;QACL,eAAe,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,GAAG;QACpE,EAAE;QACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB;QACxF,EAAE;QACF,6CAA6C,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,iBAAiB,OAAO,EAAE;QACnI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"flow.js","sourceRoot":"","sources":["../../src/views/flow.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,QAAQ,CAAC,IAAc;IACrC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB,CAAC;IACtE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;AAC3E,CAAC;AAID,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAa;IACxE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACnD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,OAAO,MAAM,EAAE,CAAC,CAAC;IAC/F,OAAO;QACL,eAAe,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,GAAG;QACpE,EAAE;QACF,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7C,KAAK,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB;QACxF,EAAE;QACF,6CAA6C,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,+BAA+B,iBAAiB,OAAO,EAAE;QACnI,kBAAkB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,+CAA+C,UAAU,CAAC,SAAS,SAAS;QACxH,mBAAmB,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,EAAE;KACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAoB;IAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;AACtD,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAoB;IAC3C,OAAO,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;AAC1C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "blacksmith-organization-system",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1",
|
|
4
4
|
"description": "Blacksmith Organization System (BOS) core: the workshop as code - build its base, listen to its changes, inspect it as one coherent environment",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"bos",
|