pm-dedup-core 2.2.1 → 2.2.2

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.
Files changed (50) hide show
  1. package/dist/clusterOverrides.js +34 -0
  2. package/dist/clusterOverrides.js.map +1 -0
  3. package/dist/clusterOverrides.test.js +84 -0
  4. package/dist/clusterOverrides.test.js.map +1 -0
  5. package/dist/createPackageFilter.test.js +0 -1
  6. package/dist/createPackageFilter.test.js.map +1 -1
  7. package/dist/definitions/clusterOverrides.d.ts +41 -0
  8. package/dist/definitions/clusterOverrides.d.ts.map +1 -0
  9. package/dist/definitions/clusterOverrides.test.d.ts +2 -0
  10. package/dist/definitions/clusterOverrides.test.d.ts.map +1 -0
  11. package/dist/definitions/identifyLockstepClusterFixes.d.ts +0 -1
  12. package/dist/definitions/identifyLockstepClusterFixes.d.ts.map +1 -1
  13. package/dist/definitions/index.d.ts +2 -0
  14. package/dist/definitions/index.d.ts.map +1 -1
  15. package/dist/definitions/planClusterApply.d.ts +6 -2
  16. package/dist/definitions/planClusterApply.d.ts.map +1 -1
  17. package/dist/definitions/renderDuplicatesReport.d.ts.map +1 -1
  18. package/dist/definitions/unconditionalOverrides.d.ts +2 -1
  19. package/dist/definitions/unconditionalOverrides.d.ts.map +1 -1
  20. package/dist/identifyLockstepClusterFixes.js +18 -47
  21. package/dist/identifyLockstepClusterFixes.js.map +1 -1
  22. package/dist/identifyLockstepClusterFixes.test.js +212 -10
  23. package/dist/identifyLockstepClusterFixes.test.js.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/planClusterApply.js +7 -5
  27. package/dist/planClusterApply.js.map +1 -1
  28. package/dist/planClusterApply.test.js +28 -19
  29. package/dist/planClusterApply.test.js.map +1 -1
  30. package/dist/renderDuplicatesReport.js +0 -5
  31. package/dist/renderDuplicatesReport.js.map +1 -1
  32. package/dist/renderDuplicatesReport.test.js +0 -8
  33. package/dist/renderDuplicatesReport.test.js.map +1 -1
  34. package/dist/unconditionalOverrides.js +2 -1
  35. package/dist/unconditionalOverrides.js.map +1 -1
  36. package/dist/unconditionalOverrides.test.js +0 -1
  37. package/dist/unconditionalOverrides.test.js.map +1 -1
  38. package/package.json +1 -1
  39. package/src/clusterOverrides.test.ts +125 -0
  40. package/src/clusterOverrides.ts +84 -0
  41. package/src/createPackageFilter.test.ts +0 -1
  42. package/src/identifyLockstepClusterFixes.test.ts +244 -10
  43. package/src/identifyLockstepClusterFixes.ts +23 -67
  44. package/src/index.ts +9 -0
  45. package/src/planClusterApply.test.ts +31 -19
  46. package/src/planClusterApply.ts +10 -5
  47. package/src/renderDuplicatesReport.test.ts +0 -9
  48. package/src/renderDuplicatesReport.ts +0 -7
  49. package/src/unconditionalOverrides.test.ts +0 -1
  50. package/src/unconditionalOverrides.ts +2 -1
@@ -0,0 +1,34 @@
1
+ /**
2
+ * One key per open range still resolving away from the version the workspace
3
+ * anchors its family at. A reuse fix removes no duplicate, so the duplicate set
4
+ * cannot tell whether it took; the detector can, by no longer reporting it.
5
+ */
6
+ export const reuseKeys = (fixes) => new Set(fixes.flatMap((fix) => fix.reuseFixes.map((reuse) => `${reuse.requesterName}>${reuse.packageName}@${reuse.to}`)));
7
+ const isDuplicated = (duplicates, packageName) => [...duplicates].some((resolution) => resolution.startsWith(`${packageName}@`));
8
+ /**
9
+ * The overrides still worth writing: their package is duplicated, the edge they
10
+ * repoint still resolves elsewhere, or — for a converging member — the package
11
+ * sits on another version. That last case is a member nothing duplicates on its
12
+ * own, yet whose exact pins on its siblings keep the family apart until it moves.
13
+ */
14
+ export const outstandingOverrides = (overrides, { duplicates, versions, reuses }) => overrides.filter((override) => isDuplicated(duplicates, override.packageName) ||
15
+ [...reuses].some((key) => key.endsWith(`>${override.packageName}@${override.version}`)) ||
16
+ (override.reason === "converge" &&
17
+ (versions.get(override.packageName) ?? []).some((version) => version !== override.version)));
18
+ /**
19
+ * The overrides whose effect is there in `end`, compared with `start`, the
20
+ * state the round began from. A package duplicated at the start holds once it
21
+ * no longer is, whichever version it collapsed onto, so this never contradicts
22
+ * the dedupe summary. One that was not duplicated only holds once it sits on
23
+ * the override's version alone: not moving is not holding.
24
+ */
25
+ export const heldOverrides = (overrides, { start, end, reuseHeld }) => overrides.filter((override) => {
26
+ if (override.reason === "reuse")
27
+ return reuseHeld?.(override) ?? false;
28
+ if (isDuplicated(start.duplicates, override.packageName)) {
29
+ return !isDuplicated(end.duplicates, override.packageName);
30
+ }
31
+ const versions = end.versions.get(override.packageName) ?? [];
32
+ return versions.length === 1 && versions[0] === override.version;
33
+ });
34
+ //# sourceMappingURL=clusterOverrides.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusterOverrides.js","sourceRoot":"","sources":["../src/clusterOverrides.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAmB,EAAe,EAAE,CAC5D,IAAI,GAAG,CACL,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CACpB,GAAG,CAAC,UAAU,CAAC,GAAG,CAChB,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,EAAE,CACrE,CACF,CACF,CAAC;AAEJ,MAAM,YAAY,GAAG,CACnB,UAA6B,EAC7B,WAAmB,EACV,EAAE,CACX,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAClC,UAAU,CAAC,UAAU,CAAC,GAAG,WAAW,GAAG,CAAC,CACzC,CAAC;AAQJ;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA4B,EAC5B,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAuB,EAClC,EAAE,CACrB,SAAS,CAAC,MAAM,CACd,CAAC,QAAQ,EAAE,EAAE,CACX,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC;IAC9C,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC,CAC7D;IACD,CAAC,QAAQ,CAAC,MAAM,KAAK,UAAU;QAC7B,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAC7C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,OAAO,CAC1C,CAAC,CACP,CAAC;AAYJ;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,SAA4B,EAC5B,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAuB,EAC3B,EAAE,CACrB,SAAS,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;IAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO;QAAE,OAAO,SAAS,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IACvE,IAAI,YAAY,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC9D,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,OAAO,CAAC;AACnE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,84 @@
1
+ import { describe, expect, it } from "bun:test";
2
+ import { heldOverrides, outstandingOverrides } from "./clusterOverrides.js";
3
+ const converge = (packageName, version) => ({
4
+ packageName,
5
+ version,
6
+ reason: "converge",
7
+ });
8
+ const reuse = (packageName, version) => ({
9
+ packageName,
10
+ version,
11
+ reason: "reuse",
12
+ });
13
+ const names = (overrides) => overrides.map((override) => override.packageName);
14
+ describe("outstandingOverrides", () => {
15
+ const state = {
16
+ duplicates: new Set(["dup@1.0.0", "dup@2.0.0"]),
17
+ versions: new Map([
18
+ ["dup", ["1.0.0", "2.0.0"]],
19
+ ["parent", ["8.65.0"]],
20
+ ["settled", ["8.63.0"]],
21
+ ["anchored", ["1.30.1", "1.33.0"]],
22
+ ["repointed", ["1.30.1", "1.33.0"]],
23
+ ]),
24
+ reuses: new Set(["plugin>anchored@1.30.1"]),
25
+ };
26
+ it("keeps a converging member nothing duplicates while it sits elsewhere", () => {
27
+ expect(names(outstandingOverrides([converge("parent", "8.63.0")], state))).toEqual(["parent"]);
28
+ });
29
+ it("drops a converging member already on the version", () => {
30
+ expect(outstandingOverrides([converge("settled", "8.63.0")], state)).toEqual([]);
31
+ });
32
+ it("keeps an override whose package is duplicated", () => {
33
+ expect(names(outstandingOverrides([converge("dup", "1.0.0")], state))).toEqual(["dup"]);
34
+ });
35
+ it("keeps a reuse override whose edge is still open", () => {
36
+ expect(names(outstandingOverrides([reuse("anchored", "1.30.1")], state))).toEqual(["anchored"]);
37
+ });
38
+ it("drops a reuse override whose edge took, even with other versions left", () => {
39
+ expect(outstandingOverrides([reuse("repointed", "1.30.1")], state)).toEqual([]);
40
+ });
41
+ });
42
+ describe("heldOverrides", () => {
43
+ const start = { duplicates: new Set(["dup@1.0.0", "dup@2.0.0"]) };
44
+ const held = (overrides, end, reuseHeld = () => true) => names(heldOverrides(overrides, {
45
+ start,
46
+ end: {
47
+ duplicates: new Set(end.duplicates),
48
+ versions: new Map(end.versions),
49
+ },
50
+ reuseHeld,
51
+ }));
52
+ it("holds a duplicated package that collapsed onto another version", () => {
53
+ expect(held([converge("dup", "1.0.0")], {
54
+ duplicates: [],
55
+ versions: [["dup", ["2.0.0"]]],
56
+ })).toEqual(["dup"]);
57
+ });
58
+ it("does not hold a package still duplicated", () => {
59
+ expect(held([converge("dup", "1.0.0")], {
60
+ duplicates: ["dup@1.0.0", "dup@2.0.0"],
61
+ versions: [["dup", ["1.0.0", "2.0.0"]]],
62
+ })).toEqual([]);
63
+ });
64
+ it("does not hold a member that never moved", () => {
65
+ expect(held([converge("parent", "8.63.0")], {
66
+ duplicates: [],
67
+ versions: [["parent", ["8.65.0"]]],
68
+ })).toEqual([]);
69
+ });
70
+ it("holds a member now on the version alone", () => {
71
+ expect(held([converge("parent", "8.63.0")], {
72
+ duplicates: [],
73
+ versions: [["parent", ["8.63.0"]]],
74
+ })).toEqual(["parent"]);
75
+ });
76
+ it("asks the lockfile about a reuse override", () => {
77
+ const end = { duplicates: [], versions: [] };
78
+ expect(held([reuse("anchored", "1.30.1")], end, () => false)).toEqual([]);
79
+ expect(held([reuse("anchored", "1.30.1")], end, () => true)).toEqual([
80
+ "anchored",
81
+ ]);
82
+ });
83
+ });
84
+ //# sourceMappingURL=clusterOverrides.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusterOverrides.test.js","sourceRoot":"","sources":["../src/clusterOverrides.test.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,6 @@ const clusterFix = (members) => ({
12
12
  excludedMembers: [],
13
13
  anchor: null,
14
14
  reuseFixes: [],
15
- floatingMembers: [],
16
15
  workspaceChanges: [],
17
16
  reResolutionSet: [],
18
17
  externalConstraints: [],
@@ -1 +1 @@
1
- {"version":3,"file":"createPackageFilter.test.js","sourceRoot":"","sources":["../src/createPackageFilter.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createPackageFilter.test.js","sourceRoot":"","sources":["../src/createPackageFilter.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import type { DuplicateSnapshot } from "./duplicateSnapshot.ts";
2
+ import type { ClusterFix } from "./identifyLockstepClusterFixes.ts";
3
+ import type { PlannedOverride } from "./planClusterApply.ts";
4
+ import type { VersionsSnapshot } from "./versionsSnapshot.ts";
5
+ /**
6
+ * One key per open range still resolving away from the version the workspace
7
+ * anchors its family at. A reuse fix removes no duplicate, so the duplicate set
8
+ * cannot tell whether it took; the detector can, by no longer reporting it.
9
+ */
10
+ export declare const reuseKeys: (fixes: ClusterFix[]) => Set<string>;
11
+ export interface OverrideTargetState {
12
+ duplicates: DuplicateSnapshot;
13
+ versions: VersionsSnapshot;
14
+ reuses: Set<string>;
15
+ }
16
+ /**
17
+ * The overrides still worth writing: their package is duplicated, the edge they
18
+ * repoint still resolves elsewhere, or — for a converging member — the package
19
+ * sits on another version. That last case is a member nothing duplicates on its
20
+ * own, yet whose exact pins on its siblings keep the family apart until it moves.
21
+ */
22
+ export declare const outstandingOverrides: (overrides: PlannedOverride[], { duplicates, versions, reuses }: OverrideTargetState) => PlannedOverride[];
23
+ export interface OverrideRoundStates {
24
+ start: {
25
+ duplicates: DuplicateSnapshot;
26
+ };
27
+ end: {
28
+ duplicates: DuplicateSnapshot;
29
+ versions: VersionsSnapshot;
30
+ };
31
+ reuseHeld?: (override: PlannedOverride) => boolean;
32
+ }
33
+ /**
34
+ * The overrides whose effect is there in `end`, compared with `start`, the
35
+ * state the round began from. A package duplicated at the start holds once it
36
+ * no longer is, whichever version it collapsed onto, so this never contradicts
37
+ * the dedupe summary. One that was not duplicated only holds once it sits on
38
+ * the override's version alone: not moving is not holding.
39
+ */
40
+ export declare const heldOverrides: (overrides: PlannedOverride[], { start, end, reuseHeld }: OverrideRoundStates) => PlannedOverride[];
41
+ //# sourceMappingURL=clusterOverrides.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusterOverrides.d.ts","sourceRoot":"","sources":["../../src/clusterOverrides.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,SAAS,UAAW,UAAU,EAAE,KAAG,GAAG,CAAC,MAAM,CAOvD,CAAC;AAUJ,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,cACpB,eAAe,EAAE,oCACM,mBAAmB,KACpD,eAAe,EAWf,CAAC;AAEJ,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE;QAAE,UAAU,EAAE,iBAAiB,CAAA;KAAE,CAAC;IACzC,GAAG,EAAE;QAAE,UAAU,EAAE,iBAAiB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC;IAKnE,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,OAAO,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,cACb,eAAe,EAAE,6BACD,mBAAmB,KAC7C,eAAe,EAQd,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=clusterOverrides.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clusterOverrides.test.d.ts","sourceRoot":"","sources":["../../src/clusterOverrides.test.ts"],"names":[],"mappings":""}
@@ -56,7 +56,6 @@ export interface ClusterFix {
56
56
  excludedMembers: ClusterExcludedMember[];
57
57
  anchor: string | null;
58
58
  reuseFixes: ClusterReuseFix[];
59
- floatingMembers: string[];
60
59
  workspaceChanges: ClusterWorkspaceChange[];
61
60
  reResolutionSet: string[];
62
61
  externalConstraints: ClusterExternalConstraint[];
@@ -1 +1 @@
1
- {"version":3,"file":"identifyLockstepClusterFixes.d.ts","sourceRoot":"","sources":["../../src/identifyLockstepClusterFixes.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IAExC,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAGD,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,EAAE,EAAE,MAAM,CAAC;CACZ;AAID,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAMnE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAI5B,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAGzC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,UAAU,EAAE,eAAe,EAAE,CAAC;IAG9B,eAAe,EAAE,MAAM,EAAE,CAAC;IAI1B,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAG3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,yBAAyB,EAAE,CAAC;IAEjD,cAAc,EAAE,OAAO,CAAC;IAGxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAmDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,4BAA4B,aAC7B,MAAM,EAAE,EAAE,WACX,iBAAiB,cACd,oBAAoB,KAC/B,UAAU,EAmZZ,CAAC"}
1
+ {"version":3,"file":"identifyLockstepClusterFixes.d.ts","sourceRoot":"","sources":["../../src/identifyLockstepClusterFixes.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IAExC,SAAS,EAAE,MAAM,CAAC;IAElB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAGD,MAAM,WAAW,sBAAuB,SAAQ,yBAAyB;IACvE,EAAE,EAAE,MAAM,CAAC;CACZ;AAID,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAGD,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAID,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAMnE,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAKD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;IAEtD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAE3C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAI5B,aAAa,EAAE,MAAM,EAAE,CAAC;IAGxB,eAAe,EAAE,qBAAqB,EAAE,CAAC;IAGzC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtB,UAAU,EAAE,eAAe,EAAE,CAAC;IAI9B,gBAAgB,EAAE,sBAAsB,EAAE,CAAC;IAG3C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,mBAAmB,EAAE,yBAAyB,EAAE,CAAC;IAEjD,cAAc,EAAE,OAAO,CAAC;IAGxB,UAAU,EAAE,OAAO,CAAC;CACrB;AAmDD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,4BAA4B,aAC7B,MAAM,EAAE,EAAE,WACX,iBAAiB,cACd,oBAAoB,KAC/B,UAAU,EA0WZ,CAAC"}
@@ -39,6 +39,8 @@ export { planClusterApply } from "./planClusterApply.ts";
39
39
  export type { ClusterApplyPlan, PlannedManifestEdit, PlannedOverride, } from "./planClusterApply.ts";
40
40
  export { diffDuplicates } from "./duplicateSnapshot.ts";
41
41
  export type { DuplicateDiff, DuplicateSnapshot } from "./duplicateSnapshot.ts";
42
+ export { heldOverrides, outstandingOverrides, reuseKeys, } from "./clusterOverrides.ts";
43
+ export type { OverrideRoundStates, OverrideTargetState, } from "./clusterOverrides.ts";
42
44
  export { partitionUnconditionalOverrides } from "./unconditionalOverrides.ts";
43
45
  export type { PartitionedOverrides, RejectedOverride, } from "./unconditionalOverrides.ts";
44
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,0BAA0B,EAC1B,gCAAgC,EAChC,aAAa,EACb,kBAAkB,GACnB,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,qBAAqB,EACrB,2BAA2B,GAC5B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EACV,aAAa,EACb,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,YAAY,EACV,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,UAAU,EACV,aAAa,EACb,qBAAqB,EACrB,iBAAiB,EACjB,eAAe,EACf,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EACL,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,6BAA6B,EAC7B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,4BAA4B,EAC5B,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC1E,YAAY,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,gCAAgC,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EAAE,iCAAiC,EAAE,MAAM,+BAA+B,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACV,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,YAAY,EACV,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC/D,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,uBAAuB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC/E,YAAY,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACV,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,GAChB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC/E,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,SAAS,GACV,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,YAAY,EACV,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC"}
@@ -33,7 +33,11 @@ export interface ClusterApplyPlan {
33
33
  * `excludedMembers` lists.
34
34
  *
35
35
  * `reuseFixes` come first: they converge on `anchor`, the version the user
36
- * pinned, and a pin outranks a version the detector merely computed.
36
+ * pinned, and a pin outranks a version the detector merely computed. A package
37
+ * manager that cannot hold a reuse without an override passes `reuse: false`,
38
+ * so they are left out before they can outrank a convergence.
37
39
  */
38
- export declare const planClusterApply: (fixes: ClusterFix[]) => ClusterApplyPlan;
40
+ export declare const planClusterApply: (fixes: ClusterFix[], { reuse }?: {
41
+ reuse?: boolean;
42
+ }) => ClusterApplyPlan;
39
43
  //# sourceMappingURL=planClusterApply.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"planClusterApply.d.ts","sourceRoot":"","sources":["../../src/planClusterApply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,SAAS,EAAE,eAAe,EAAE,CAAC;IAG7B,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEpE,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,gBAAgB,UAAW,UAAU,EAAE,KAAG,gBA+DtD,CAAC"}
1
+ {"version":3,"file":"planClusterApply.d.ts","sourceRoot":"","sources":["../../src/planClusterApply.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAEhB,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,mBAAmB,EAAE,CAAC;IACrC,SAAS,EAAE,eAAe,EAAE,CAAC;IAG7B,SAAS,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAEpE,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,gBAAgB,UACpB,UAAU,EAAE,cACD;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,KACpC,gBA+DF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"renderDuplicatesReport.d.ts","sourceRoot":"","sources":["../../src/renderDuplicatesReport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EACX,MAAM,mCAAmC,CAAC;AAM3C,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IAInB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IAKd,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAK5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAID,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IAGjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IAEtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AA8dD,eAAO,MAAM,sBAAsB,gIAWhC,uBAAuB,KAAG,IA+E5B,CAAC"}
1
+ {"version":3,"file":"renderDuplicatesReport.d.ts","sourceRoot":"","sources":["../../src/renderDuplicatesReport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,UAAU,EACX,MAAM,mCAAmC,CAAC;AAM3C,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IAInB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IAKd,eAAe,CAAC,EAAE,MAAM,CAAC;IAIzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAK5B,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAID,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IAGX,SAAS,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;CACrC;AAED,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,uBAAuB,EAAE,CAAC;IACvC,UAAU,EAAE,sBAAsB,EAAE,CAAC;IACrC,MAAM,EAAE,mBAAmB,EAAE,CAAC;CAC/B;AAID,MAAM,MAAM,qBAAqB,GAAG,YAAY,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IAGjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IAEtB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAudD,eAAO,MAAM,sBAAsB,gIAWhC,uBAAuB,KAAG,IA+E5B,CAAC"}
@@ -17,7 +17,8 @@ export interface PartitionedOverrides {
17
17
  * dependent onto a version it never allowed.
18
18
  *
19
19
  * The `converge` overrides are safe by construction: the detector only converges
20
- * a member no third-party range holds elsewhere. A `reuse` override is derived
20
+ * a member no third-party range holds elsewhere, and only re-resolves one no
21
+ * in-cluster requester pins elsewhere either. A `reuse` override is derived
21
22
  * from a single requester's range, and another requester can still reject it.
22
23
  */
23
24
  export declare const partitionUnconditionalOverrides: (fixes: ClusterFix[], overrides: PlannedOverride[]) => PartitionedOverrides;
@@ -1 +1 @@
1
- {"version":3,"file":"unconditionalOverrides.d.ts","sourceRoot":"","sources":["../../src/unconditionalOverrides.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,yBAAyB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AASD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B,UACnC,UAAU,EAAE,aACR,eAAe,EAAE,KAC3B,oBAoBF,CAAC"}
1
+ {"version":3,"file":"unconditionalOverrides.d.ts","sourceRoot":"","sources":["../../src/unconditionalOverrides.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,yBAAyB,EACzB,UAAU,EACX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,eAAe,CAAC;IAC1B,UAAU,EAAE,yBAAyB,EAAE,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,EAAE,CAAC;IACxB,QAAQ,EAAE,gBAAgB,EAAE,CAAC;CAC9B;AASD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,+BAA+B,UACnC,UAAU,EAAE,aACR,eAAe,EAAE,KAC3B,oBAoBF,CAAC"}
@@ -175,25 +175,6 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
175
175
  const floor = rangeFloor(range);
176
176
  return floor !== null && semver.eq(floor, version);
177
177
  });
178
- // Whether a member could hold a version it does not hold today. When every
179
- // requester asks through an open range (`*`, `0.83 - 0.86`), its current
180
- // version is an accident of resolution rather than a constraint: the
181
- // resolver is free to land it elsewhere, and which version that is is not
182
- // ours to name. Anything exactly pinned, or pinned to the line it already
183
- // carries (`^0.87.0` on an 0.87.0), is not re-resolvable.
184
- const isReResolvable = (member) => {
185
- const ranges = externalRangesOn(member);
186
- if (ranges.length === 0)
187
- return true;
188
- const floors = ranges.map(rangeFloor);
189
- if (floors.includes(null))
190
- return false;
191
- const highestFloor = floors
192
- .filter((floor) => floor !== null)
193
- .toSorted((a, b) => semver.rcompare(a, b))[0];
194
- return (ranges.every((range) => accepts(highestFloor, range)) &&
195
- !isInstalled(member, highestFloor));
196
- };
197
178
  const duplicatedSet = new Set(duplicatedMembers);
198
179
  // Members that end up on `version`, as a fixed point: start from those free
199
180
  // to move — a duplicated one also has to already carry the version, since
@@ -201,18 +182,11 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
201
182
  // whoever an in-cluster requester pins elsewhere. Iterating matters because
202
183
  // such a requester only stops pinning if it converges too, and the family's
203
184
  // dependency edges run both ways.
204
- // Members whose version the resolver will choose: they hold a version the
205
- // family is leaving, and nothing pins them to it. Their current pins do not
206
- // block the family — the install round-trip moves them — but the version
207
- // they land on has to be verified afterwards, not asserted here.
208
- const floatingFor = (version) => new Set(clusterMembers.filter((member) =>
209
- // a duplicated member is what the fix is about: it converges or it
210
- // is excluded, never "the resolver will sort it out"
211
- !duplicatedSet.has(member) &&
212
- !isInstalled(member, version) &&
213
- !canReResolve(member, version) &&
214
- isReResolvable(member)));
215
- const convergentSetFor = (version, floating) => {
185
+ //
186
+ // A requester its own requesters only ask for through an open range (`*`,
187
+ // `^21.0.2`) is no exception: a resolver keeps a locked version they still
188
+ // accept, so nothing moves it, and its pins block like any other.
189
+ const convergentSetFor = (version) => {
216
190
  const converging = new Set(clusterMembers.filter((member) => canMove(member, version) &&
217
191
  canReResolve(member, version) &&
218
192
  (!duplicatedSet.has(member) || isInstalled(member, version))));
@@ -221,8 +195,7 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
221
195
  settled = true;
222
196
  for (const member of converging) {
223
197
  const pinnedElsewhere = (internalByMember.get(member) ?? []).some((internal) => !accepts(version, internal.range) &&
224
- !converging.has(internal.requesterName) &&
225
- !floating.has(internal.requesterName));
198
+ !converging.has(internal.requesterName));
226
199
  if (pinnedElsewhere) {
227
200
  converging.delete(member);
228
201
  settled = false;
@@ -232,14 +205,12 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
232
205
  return converging;
233
206
  };
234
207
  const candidates = candidateVersions.map((version) => {
235
- const floating = floatingFor(version);
236
- const converging = convergentSetFor(version, floating);
208
+ const converging = convergentSetFor(version);
237
209
  return {
238
210
  version,
239
- floatingMembers: [...floating].toSorted((a, b) => a.localeCompare(b)),
211
+ converging,
240
212
  // a pin the user would have to edit makes a candidate a last resort
241
- pinsToEdit: workspaceConstraints.filter((constraint) => !floating.has(constraint.packageName) &&
242
- !accepts(version, constraint.range)),
213
+ pinsToEdit: workspaceConstraints.filter((constraint) => !accepts(version, constraint.range)),
243
214
  convergentMembers: duplicatedMembers.filter((member) => converging.has(member)),
244
215
  excluded: new Map(duplicatedMembers
245
216
  .filter((member) => !converging.has(member))
@@ -295,7 +266,6 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
295
266
  excludedMembers: [],
296
267
  anchor,
297
268
  reuseFixes,
298
- floatingMembers: [],
299
269
  workspaceChanges: [],
300
270
  reResolutionSet: [],
301
271
  externalConstraints,
@@ -308,13 +278,17 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
308
278
  const workspaceChanges = best.pinsToEdit
309
279
  .filter((constraint) => canMove(constraint.packageName, target))
310
280
  .map((constraint) => ({ ...constraint, to: target }));
281
+ // Editing the pin moves the anchor along with it: a range repointed at the
282
+ // version being left would split the family again.
283
+ const movesAnchor = workspaceChanges.some((change) => change.range === anchor);
311
284
  // re-resolution set: members free to move that are pulled from outside the
312
285
  // cluster and do not carry the target version, so a pure-lock copy is
313
- // impossible. Internal-only members cascade from these.
314
- const floatingSet = new Set(best.floatingMembers);
286
+ // impossible. Internal-only members cascade from these. A member that is
287
+ // not duplicated also has to survive the converging fixed point: one an
288
+ // excluded sibling pins elsewhere would only become a new duplicate.
315
289
  const reResolutionSet = clusterMembers
316
290
  .filter((member) => membersWithExternalDependent.has(member) &&
317
- !floatingSet.has(member) &&
291
+ (duplicatedSet.has(member) || best.converging.has(member)) &&
318
292
  canMove(member, target) &&
319
293
  canReResolve(member, target) &&
320
294
  !isInstalled(member, target))
@@ -336,13 +310,10 @@ export const identifyLockstepClusterFixes = (clusters, members, dependents) => {
336
310
  blockedBy,
337
311
  })),
338
312
  anchor,
339
- reuseFixes,
340
- floatingMembers: best.floatingMembers,
313
+ reuseFixes: movesAnchor ? [] : reuseFixes,
341
314
  workspaceChanges,
342
315
  reResolutionSet,
343
- needsRoundTrip: reResolutionSet.length > 0 ||
344
- workspaceChanges.length > 0 ||
345
- best.floatingMembers.length > 0,
316
+ needsRoundTrip: reResolutionSet.length > 0 || workspaceChanges.length > 0,
346
317
  externalConstraints,
347
318
  applicable: true,
348
319
  });
@@ -1 +1 @@
1
- {"version":3,"file":"identifyLockstepClusterFixes.js","sourceRoot":"","sources":["../src/identifyLockstepClusterFixes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"identifyLockstepClusterFixes.js","sourceRoot":"","sources":["../src/identifyLockstepClusterFixes.ts"],"names":[],"mappings":"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"}