putitoutthere 0.1.14 → 0.1.15
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/cascade.d.ts +15 -3
- package/dist/cascade.d.ts.map +1 -1
- package/dist/cascade.js +16 -6
- package/dist/cascade.js.map +1 -1
- package/dist/plan.d.ts.map +1 -1
- package/dist/plan.js +9 -8
- package/dist/plan.js.map +1 -1
- package/package.json +1 -1
package/dist/cascade.d.ts
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
* the last release, returns the packages that will release.
|
|
4
4
|
*
|
|
5
5
|
* Two passes (plan.md §11.1):
|
|
6
|
-
* 1. Direct match: every package whose `paths` globs intersect
|
|
7
|
-
*
|
|
6
|
+
* 1. Direct match: every package whose `paths` globs intersect the
|
|
7
|
+
* files changed since *its own* last tag is cascaded.
|
|
8
8
|
* 2. Transitive match: repeat until stable — any package whose
|
|
9
9
|
* `depends_on` list contains an already-cascaded package gets
|
|
10
10
|
* added.
|
|
11
11
|
*
|
|
12
|
+
* Seed detection is strictly per-package: using the union of every
|
|
13
|
+
* package's diff lets commits that were already shipped under one
|
|
14
|
+
* package's prior tag spuriously re-trigger another package. See #126.
|
|
15
|
+
*
|
|
12
16
|
* Cycle detection per §11.3: cycles in depends_on are a config error
|
|
13
17
|
* and throw loudly before cascade runs. Dangling depends_on names also
|
|
14
18
|
* throw.
|
|
@@ -19,7 +23,15 @@
|
|
|
19
23
|
* Issue #7.
|
|
20
24
|
*/
|
|
21
25
|
import type { Package } from './config.js';
|
|
22
|
-
|
|
26
|
+
/**
|
|
27
|
+
* Per-package changed files keyed by package name. Each value is the
|
|
28
|
+
* set of files that changed between that package's last tag and HEAD.
|
|
29
|
+
* Packages without an entry are skipped in seed detection (e.g.
|
|
30
|
+
* first-release packages the caller force-cascades separately, or
|
|
31
|
+
* untagged packages).
|
|
32
|
+
*/
|
|
33
|
+
export type ChangedFilesByPackage = ReadonlyMap<string, ReadonlySet<string>>;
|
|
34
|
+
export declare function computeCascade(packages: readonly Package[], changedFilesByPackage: ChangedFilesByPackage): Package[];
|
|
23
35
|
/**
|
|
24
36
|
* Reject cycles and dangling depends_on refs. Runs a DFS from each
|
|
25
37
|
* node with a recursion-stack (gray) set to flag back-edges. Dangling
|
package/dist/cascade.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cascade.d.ts","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,WAAW,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAE7E,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,qBAAqB,EAAE,qBAAqB,GAC3C,OAAO,EAAE,CAoCX;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,IAAI,CAqCjE"}
|
package/dist/cascade.js
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
* the last release, returns the packages that will release.
|
|
4
4
|
*
|
|
5
5
|
* Two passes (plan.md §11.1):
|
|
6
|
-
* 1. Direct match: every package whose `paths` globs intersect
|
|
7
|
-
*
|
|
6
|
+
* 1. Direct match: every package whose `paths` globs intersect the
|
|
7
|
+
* files changed since *its own* last tag is cascaded.
|
|
8
8
|
* 2. Transitive match: repeat until stable — any package whose
|
|
9
9
|
* `depends_on` list contains an already-cascaded package gets
|
|
10
10
|
* added.
|
|
11
11
|
*
|
|
12
|
+
* Seed detection is strictly per-package: using the union of every
|
|
13
|
+
* package's diff lets commits that were already shipped under one
|
|
14
|
+
* package's prior tag spuriously re-trigger another package. See #126.
|
|
15
|
+
*
|
|
12
16
|
* Cycle detection per §11.3: cycles in depends_on are a config error
|
|
13
17
|
* and throw loudly before cascade runs. Dangling depends_on names also
|
|
14
18
|
* throw.
|
|
@@ -19,16 +23,22 @@
|
|
|
19
23
|
* Issue #7.
|
|
20
24
|
*/
|
|
21
25
|
import { matchesAny } from './glob.js';
|
|
22
|
-
export function computeCascade(packages,
|
|
26
|
+
export function computeCascade(packages, changedFilesByPackage) {
|
|
23
27
|
assertNoCycles(packages);
|
|
24
28
|
const byName = new Map();
|
|
25
29
|
for (const p of packages)
|
|
26
30
|
byName.set(p.name, p);
|
|
27
|
-
// Pass 1: direct glob matches.
|
|
31
|
+
// Pass 1: direct glob matches against this package's own diff.
|
|
28
32
|
const cascaded = new Set();
|
|
29
33
|
for (const p of packages) {
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
const files = changedFilesByPackage.get(p.name);
|
|
35
|
+
if (!files)
|
|
36
|
+
continue;
|
|
37
|
+
for (const f of files) {
|
|
38
|
+
if (matchesAny(p.paths, f)) {
|
|
39
|
+
cascaded.add(p.name);
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
32
42
|
}
|
|
33
43
|
}
|
|
34
44
|
// Pass 2: transitive via depends_on, iterate to stability.
|
package/dist/cascade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cascade.js","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"cascade.js","sourceRoot":"","sources":["../src/cascade.ts"],"names":[],"mappings":"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"}
|
package/dist/plan.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EAAQ,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7C,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAsC5D"}
|
package/dist/plan.js
CHANGED
|
@@ -27,8 +27,11 @@ export function plan(opts) {
|
|
|
27
27
|
// Compute cascade. For each package with a last tag, diff against
|
|
28
28
|
// that tag. Packages without a last tag are first-release: force-
|
|
29
29
|
// cascade without globbing (avoids walking the working tree).
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
//
|
|
31
|
+
// Seed detection is per-package: a package only cascades on its own
|
|
32
|
+
// diff, never on another package's pre-tag history. See #126.
|
|
33
|
+
const { changesByPackage, firstRelease } = collectChanges(config.packages, cwd);
|
|
34
|
+
const cascaded = new Set(computeCascade(config.packages, changesByPackage).map((p) => p.name));
|
|
32
35
|
for (const name of firstRelease)
|
|
33
36
|
cascaded.add(name);
|
|
34
37
|
// Trailer can additionally force-include packages by name.
|
|
@@ -48,19 +51,17 @@ export function plan(opts) {
|
|
|
48
51
|
}
|
|
49
52
|
/* ----------------------------- internals ----------------------------- */
|
|
50
53
|
function collectChanges(packages, cwd) {
|
|
51
|
-
const
|
|
54
|
+
const changesByPackage = new Map();
|
|
52
55
|
const firstRelease = new Set();
|
|
53
56
|
for (const p of packages) {
|
|
54
57
|
const tag = lastTag(p.name, { cwd });
|
|
55
58
|
if (tag === null) {
|
|
56
59
|
firstRelease.add(p.name);
|
|
60
|
+
continue;
|
|
57
61
|
}
|
|
58
|
-
|
|
59
|
-
for (const f of diffNames(tag, 'HEAD', { cwd }))
|
|
60
|
-
changes.add(f);
|
|
61
|
-
}
|
|
62
|
+
changesByPackage.set(p.name, new Set(diffNames(tag, 'HEAD', { cwd })));
|
|
62
63
|
}
|
|
63
|
-
return {
|
|
64
|
+
return { changesByPackage, firstRelease };
|
|
64
65
|
}
|
|
65
66
|
function nextVersion(pkg, trailerBump, cwd, trailerPackages) {
|
|
66
67
|
const tag = lastTag(pkg.name, { cwd });
|
package/dist/plan.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgB,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAErF,OAAO,EAAE,YAAY,EAAgB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAmBjE,MAAM,UAAU,IAAI,CAAC,IAAiB;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACnE,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEnC,mDAAmD;IACnD,MAAM,IAAI,GAAG,UAAU,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAE1C,IAAI,OAAO,EAAE,IAAI,KAAK,MAAM,EAAE,CAAC;QAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,kEAAkE;IAClE,kEAAkE;IAClE,8DAA8D;IAC9D,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"plan.js","sourceRoot":"","sources":["../src/plan.ts"],"names":[],"mappings":"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"}
|