pnpm-dedup 2.1.0 → 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.
- package/README.md +15 -5
- package/dist/applyClusterFixes.js +103 -80
- package/dist/applyClusterFixes.js.map +1 -1
- package/dist/applyClusterFixes.test.js +257 -29
- package/dist/applyClusterFixes.test.js.map +1 -1
- package/dist/bin/pnpm-dedupe.js +0 -0
- package/dist/bin/pnpm-why-duplicate.js +0 -0
- package/dist/bin/pnpm-why-duplicate.test.js +17 -8
- package/dist/bin/pnpm-why-duplicate.test.js.map +1 -1
- package/dist/dedupe.js +15 -4
- package/dist/dedupe.js.map +1 -1
- package/dist/dedupeCheckConsistency.test.js +53 -59
- package/dist/dedupeCheckConsistency.test.js.map +1 -1
- package/dist/dedupeEndToEnd.test.js +3 -3
- package/dist/dedupeEndToEnd.test.js.map +1 -1
- package/dist/dedupePeers.test.js +1 -1
- package/dist/dedupePeers.test.js.map +1 -1
- package/dist/definitions/applyClusterFixes.d.ts +6 -3
- package/dist/definitions/applyClusterFixes.d.ts.map +1 -1
- package/dist/definitions/dedupe.d.ts.map +1 -1
- package/dist/definitions/helpers/describeUnheldOverride.d.ts +10 -0
- package/dist/definitions/helpers/describeUnheldOverride.d.ts.map +1 -0
- package/dist/definitions/helpers/describeUnheldOverride.test.d.ts +2 -0
- package/dist/definitions/helpers/describeUnheldOverride.test.d.ts.map +1 -0
- package/dist/definitions/helpers/pnpmWorkspaceYaml.d.ts +1 -5
- package/dist/definitions/helpers/pnpmWorkspaceYaml.d.ts.map +1 -1
- package/dist/definitions/pnpmLockTypes.d.ts +1 -0
- package/dist/definitions/pnpmLockTypes.d.ts.map +1 -1
- package/dist/definitions/readPnpmLock.d.ts +7 -0
- package/dist/definitions/readPnpmLock.d.ts.map +1 -1
- package/dist/definitions/readPnpmLock.test.d.ts +2 -0
- package/dist/definitions/readPnpmLock.test.d.ts.map +1 -0
- package/dist/displayMany.test.js +3 -4
- package/dist/displayMany.test.js.map +1 -1
- package/dist/helpers/buildIdentifiedFixesMap.test.js +1 -1
- package/dist/helpers/buildIdentifiedFixesMap.test.js.map +1 -1
- package/dist/helpers/buildPnpmPackagesMap.test.js +1 -1
- package/dist/helpers/buildPnpmPackagesMap.test.js.map +1 -1
- package/dist/helpers/collectDependentRanges.test.js +1 -1
- package/dist/helpers/collectDependentRanges.test.js.map +1 -1
- package/dist/helpers/collectPnpmDependents.test.js +1 -1
- package/dist/helpers/collectPnpmDependents.test.js.map +1 -1
- package/dist/helpers/describeUnheldOverride.js +30 -0
- package/dist/helpers/describeUnheldOverride.js.map +1 -0
- package/dist/helpers/describeUnheldOverride.test.js +80 -0
- package/dist/helpers/describeUnheldOverride.test.js.map +1 -0
- package/dist/helpers/parsePnpmLockPackages.test.js +1 -1
- package/dist/helpers/parsePnpmLockPackages.test.js.map +1 -1
- package/dist/helpers/pnpmWorkspaceYaml.js +2 -17
- package/dist/helpers/pnpmWorkspaceYaml.js.map +1 -1
- package/dist/helpers/pnpmWorkspaceYaml.test.js +3 -5
- package/dist/helpers/pnpmWorkspaceYaml.test.js.map +1 -1
- package/dist/helpers/readInstalledManifest.test.js +1 -1
- package/dist/helpers/readInstalledManifest.test.js.map +1 -1
- package/dist/helpers/toLockstepGraph.test.js +1 -1
- package/dist/helpers/toLockstepGraph.test.js.map +1 -1
- package/dist/identifyClusterFixes.test.js +22 -41
- package/dist/identifyClusterFixes.test.js.map +1 -1
- package/dist/identifyResolutionFixes.test.js +8 -7
- package/dist/identifyResolutionFixes.test.js.map +1 -1
- package/dist/readPnpmLock.js +21 -2
- package/dist/readPnpmLock.js.map +1 -1
- package/dist/readPnpmLock.test.js +43 -0
- package/dist/readPnpmLock.test.js.map +1 -0
- package/package.json +4 -3
- package/src/applyClusterFixes.test.ts +398 -36
- package/src/applyClusterFixes.ts +178 -125
- package/src/bin/pnpm-why-duplicate.test.ts +31 -8
- package/src/dedupe.ts +22 -7
- package/src/dedupeCheckConsistency.test.ts +84 -100
- package/src/dedupeEndToEnd.test.ts +84 -77
- package/src/dedupePeers.test.ts +1 -1
- package/src/displayMany.test.ts +4 -4
- package/src/helpers/buildIdentifiedFixesMap.test.ts +1 -1
- package/src/helpers/buildPnpmPackagesMap.test.ts +1 -1
- package/src/helpers/collectDependentRanges.test.ts +1 -1
- package/src/helpers/collectPnpmDependents.test.ts +1 -1
- package/src/helpers/describeUnheldOverride.test.ts +100 -0
- package/src/helpers/describeUnheldOverride.ts +53 -0
- package/src/helpers/parsePnpmLockPackages.test.ts +1 -1
- package/src/helpers/pnpmWorkspaceYaml.test.ts +2 -5
- package/src/helpers/pnpmWorkspaceYaml.ts +5 -20
- package/src/helpers/readInstalledManifest.test.ts +1 -1
- package/src/helpers/toLockstepGraph.test.ts +1 -1
- package/src/identifyClusterFixes.test.ts +27 -58
- package/src/identifyResolutionFixes.test.ts +8 -7
- package/src/pnpmLockTypes.ts +1 -0
- package/src/readPnpmLock.test.ts +65 -0
- package/src/readPnpmLock.ts +26 -2
package/README.md
CHANGED
|
@@ -154,11 +154,21 @@ The cluster pass edits workspace `package.json` ranges and adds overrides to
|
|
|
154
154
|
`pnpm-workspace.yaml`, then re-resolves without them: overrides are scaffolding,
|
|
155
155
|
and a fix that holds on its own has them removed again.
|
|
156
156
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
so
|
|
160
|
-
|
|
161
|
-
|
|
157
|
+
Nothing is ever left standing in your configuration. When some overrides do not
|
|
158
|
+
hold, the run starts over from before the overrides with only those that did,
|
|
159
|
+
so a merge that holds is kept without dragging along the edges the others moved
|
|
160
|
+
for nothing. Each package left unmerged is reported with the edges that keep it
|
|
161
|
+
apart, in two groups: _not merged even with an override_ (a declared range
|
|
162
|
+
rejects the version) and _pnpm resolves these back without an override_.
|
|
163
|
+
|
|
164
|
+
An open range that resolved past the version the workspace pins (`"*"` on 0.87.0
|
|
165
|
+
beside a pinned 0.84.5) is reported by `pnpm-why-duplicate` but never planned:
|
|
166
|
+
pnpm resolves an open range to the highest copy still in the tree, so pointing
|
|
167
|
+
it at the pinned one only lasts as long as an override.
|
|
168
|
+
|
|
169
|
+
pnpm-dedup 2.2 kept such overrides under an `# Added by pnpm-dedup.` comment.
|
|
170
|
+
They still apply on every resolution, so a run that finds them says so: remove
|
|
171
|
+
them and run again to see what holds on its own.
|
|
162
172
|
|
|
163
173
|
Convergence overrides (`"pkg@": "1.2.3"`, an empty range selector) are what make
|
|
164
174
|
this safe: they rewrite an edge only when the declared range accepts that exact
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync } from "node:fs";
|
|
2
2
|
import { join, relative } from "node:path";
|
|
3
|
-
import { applyWorkspaceRangeEdit, captureFiles, createPackageFilter, describeSkippedClusterFix, diffDuplicates, partitionUnconditionalOverrides, planClusterApply, renderApplyPlan, restoreFiles, selectClusterFixes, shouldColorize, } from "pm-dedup-core";
|
|
3
|
+
import { applyWorkspaceRangeEdit, captureFiles, createPackageFilter, describeSkippedClusterFix, diffDuplicates, heldOverrides, outstandingOverrides, partitionUnconditionalOverrides, planClusterApply, renderApplyPlan, restoreFiles, reuseKeys, selectClusterFixes, shouldColorize, } from "pm-dedup-core";
|
|
4
4
|
import { buildPnpmPackagesMap } from "./helpers/buildPnpmPackagesMap.js";
|
|
5
|
+
import { collectDependentRanges } from "./helpers/collectDependentRanges.js";
|
|
6
|
+
import { describeUnheldOverride } from "./helpers/describeUnheldOverride.js";
|
|
5
7
|
import { readDuplicateSnapshot } from "./helpers/duplicateSnapshot.js";
|
|
6
8
|
import { parsePnpmLockPackages } from "./helpers/parsePnpmLockPackages.js";
|
|
7
9
|
import { convergenceOverridesMinVersion, readPnpmVersion, supportsConvergenceOverrides, } from "./helpers/pnpmVersion.js";
|
|
@@ -9,6 +11,7 @@ import { addOverrides, overrideKey } from "./helpers/pnpmWorkspaceYaml.js";
|
|
|
9
11
|
import { lockPathOf } from "./helpers/projectDir.js";
|
|
10
12
|
import { createManifestReader } from "./helpers/readInstalledManifest.js";
|
|
11
13
|
import { runPnpm } from "./helpers/runPnpm.js";
|
|
14
|
+
import { readVersionsSnapshot } from "./helpers/versionsSnapshot.js";
|
|
12
15
|
import { identifyClusterFixes } from "./identifyClusterFixes.js";
|
|
13
16
|
import { readPnpmLock } from "./readPnpmLock.js";
|
|
14
17
|
const issuesUrl = "https://github.com/christophehurpeau/pm-tools/issues";
|
|
@@ -18,27 +21,17 @@ const defaultReadFixes = (projectDir) => {
|
|
|
18
21
|
};
|
|
19
22
|
const manifestPathOf = (projectDir, importerPath) => join(projectDir, importerPath === "." ? "" : importerPath, "package.json");
|
|
20
23
|
const describeOverride = (override, convergence) => `"${overrideKey(override.packageName, convergence)}": "${override.version}"`;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
* repeated here.
|
|
26
|
-
*/
|
|
27
|
-
const stickyOverrideReason = [
|
|
28
|
-
"Added by pnpm-dedup.",
|
|
29
|
-
"Removing these makes `pnpm dedupe` resolve them back to a duplicate, so they",
|
|
30
|
-
"are what holds the deduplicated result. Keeping them is a workaround: no fix",
|
|
31
|
-
"was found that survives on its own. Please report this cluster so it can be",
|
|
32
|
-
`handled without a standing override: ${issuesUrl}`,
|
|
33
|
-
];
|
|
34
|
-
const reuseKeys = (fixes) => new Set(fixes.flatMap((fix) => fix.reuseFixes.map((reuse) => `${reuse.requesterName}>${reuse.packageName}@${reuse.to}`)));
|
|
24
|
+
const defaultReadDependentRanges = (projectDir, packageNames) => collectDependentRanges(readPnpmLock(lockPathOf(projectDir)), packageNames, createManifestReader(projectDir));
|
|
25
|
+
// Each round only drops overrides, so this bounds a run that keeps losing one to
|
|
26
|
+
// a companion it held alongside.
|
|
27
|
+
const maxOverrideRounds = 3;
|
|
35
28
|
export const applyClusterFixes = ({ projectDir, dryRun = false, log = console.log,
|
|
36
29
|
// `pnpm dedupe`, not `pnpm install`: an override is applied by a read-package
|
|
37
30
|
// hook that only runs during a real resolution, and an incremental install
|
|
38
31
|
// reports "Already up to date" without ever re-reading a manifest. `dedupe`
|
|
39
32
|
// re-resolves, and is also what runs right after this, so it is the only
|
|
40
33
|
// honest thing to verify against.
|
|
41
|
-
resolve = () => runPnpm(["dedupe"], { cwd: projectDir }).status, readFixes = defaultReadFixes, readDuplicates = readDuplicateSnapshot, pnpmVersion = () => readPnpmVersion(), convergenceOverrides = true, filter, packageManagerResiduals, color = shouldColorize(), }) => {
|
|
34
|
+
resolve = () => runPnpm(["dedupe"], { cwd: projectDir }).status, readFixes = defaultReadFixes, readDuplicates = readDuplicateSnapshot, readVersions = readVersionsSnapshot, readDependentRanges = defaultReadDependentRanges, pnpmVersion = () => readPnpmVersion(), convergenceOverrides = true, filter, packageManagerResiduals, color = shouldColorize(), }) => {
|
|
42
35
|
const packageFilter = createPackageFilter(filter);
|
|
43
36
|
const readSelectedFixes = (dir) => selectClusterFixes(readFixes(dir), packageFilter);
|
|
44
37
|
const lockPath = lockPathOf(projectDir);
|
|
@@ -52,7 +45,10 @@ resolve = () => runPnpm(["dedupe"], { cwd: projectDir }).status, readFixes = def
|
|
|
52
45
|
plannedChangeCount,
|
|
53
46
|
});
|
|
54
47
|
const { selected: fixes, skipped: filteredOut } = readSelectedFixes(projectDir);
|
|
55
|
-
|
|
48
|
+
// pnpm resolves an open range to the highest copy still in the tree, so a
|
|
49
|
+
// reuse of the pinned version comes apart as soon as its override is removed.
|
|
50
|
+
// The report still names those ranges; the plan does not chase them.
|
|
51
|
+
const plan = planClusterApply(fixes, { reuse: false });
|
|
56
52
|
const skipped = [
|
|
57
53
|
...filteredOut.map(describeSkippedClusterFix),
|
|
58
54
|
...plan.unresolvableChanges.map((unresolvable) => `${unresolvable}: no workspace file recorded for it`),
|
|
@@ -147,6 +143,7 @@ resolve = () => runPnpm(["dedupe"], { cwd: projectDir }).status, readFixes = def
|
|
|
147
143
|
// gone from its output once the edge points at the anchored version.
|
|
148
144
|
const readState = () => ({
|
|
149
145
|
duplicates: readDuplicates(lockPath),
|
|
146
|
+
versions: readVersions(lockPath),
|
|
150
147
|
reuses: reuseKeys(readSelectedFixes(projectDir).selected),
|
|
151
148
|
});
|
|
152
149
|
// A step keeps its edits as long as it broke nothing: a widened range often
|
|
@@ -178,75 +175,101 @@ resolve = () => runPnpm(["dedupe"], { cwd: projectDir }).status, readFixes = def
|
|
|
178
175
|
const withoutOverridesSnapshot = captureFiles(touchedPaths);
|
|
179
176
|
const workspaceYamlBefore = withoutOverridesSnapshot.find((snapshot) => snapshot.path === workspaceYamlPath);
|
|
180
177
|
const remaining = readState();
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
178
|
+
const outstanding = outstandingOverrides(plannedOverrides, remaining);
|
|
179
|
+
const keptOutcome = (after, stickyOverrides) => ({
|
|
180
|
+
status: "applied",
|
|
181
|
+
before,
|
|
182
|
+
after,
|
|
183
|
+
stickyOverrides,
|
|
184
|
+
plannedChangeCount: changeCount,
|
|
185
|
+
});
|
|
185
186
|
if (outstanding.length === 0) {
|
|
186
|
-
return
|
|
187
|
-
status: "applied",
|
|
188
|
-
before,
|
|
189
|
-
after: remaining.duplicates,
|
|
190
|
-
stickyOverrides: [],
|
|
191
|
-
plannedChangeCount: changeCount,
|
|
192
|
-
};
|
|
193
|
-
}
|
|
194
|
-
log(`Adding ${convergenceOverrides ? "convergence" : "plain"} overrides to pnpm-workspace.yaml:`);
|
|
195
|
-
for (const override of outstanding) {
|
|
196
|
-
log(` ${describeOverride(override, convergenceOverrides)} (${override.reason})`);
|
|
197
|
-
}
|
|
198
|
-
writeFileSync(workspaceYamlPath, addOverrides(workspaceYamlBefore.content, new Map(outstanding.map((override) => [override.packageName, override.version])), { convergence: convergenceOverrides }));
|
|
199
|
-
const withOverrides = resolveAndCheck("the overrides");
|
|
200
|
-
if (withOverrides === null) {
|
|
201
|
-
revertTo(withoutOverridesSnapshot);
|
|
202
|
-
return unchanged("reverted", changeCount);
|
|
187
|
+
return keptOutcome(remaining.duplicates, []);
|
|
203
188
|
}
|
|
204
|
-
//
|
|
205
|
-
//
|
|
206
|
-
|
|
207
|
-
restoreFiles([workspaceYamlBefore]);
|
|
208
|
-
if (resolve() !== 0) {
|
|
209
|
-
log(" `pnpm dedupe` failed without the overrides — reverting");
|
|
189
|
+
// The range edits already held on their own, so dropping the overrides keeps
|
|
190
|
+
// them: only a run that made none of those has nothing left to show.
|
|
191
|
+
const withoutOverrides = (stickyOverrides) => {
|
|
210
192
|
revertTo(withoutOverridesSnapshot);
|
|
211
|
-
return
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
comment: stickyOverrideReason.join("\n"),
|
|
223
|
-
}));
|
|
224
|
-
if (resolve() !== 0) {
|
|
225
|
-
log(" `pnpm dedupe` failed with the overrides back — reverting");
|
|
226
|
-
revertTo(withoutOverridesSnapshot);
|
|
227
|
-
return unchanged("reverted", changeCount);
|
|
193
|
+
return plan.manifestEdits.length > 0
|
|
194
|
+
? keptOutcome(readDuplicates(lockPath), stickyOverrides)
|
|
195
|
+
: { ...unchanged("reverted", changeCount), stickyOverrides };
|
|
196
|
+
};
|
|
197
|
+
const heldIn = (overrides, end) => heldOverrides(overrides, { start: remaining, end });
|
|
198
|
+
// Overrides are scaffolding: they are written, pnpm resolves with them, and
|
|
199
|
+
// what counts is what is still there once they are removed again.
|
|
200
|
+
const overrideRound = (overrides) => {
|
|
201
|
+
log(`Adding ${convergenceOverrides ? "convergence" : "plain"} overrides to pnpm-workspace.yaml:`);
|
|
202
|
+
for (const override of overrides) {
|
|
203
|
+
log(` ${describeOverride(override, convergenceOverrides)} (${override.reason})`);
|
|
228
204
|
}
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
205
|
+
writeFileSync(workspaceYamlPath, addOverrides(workspaceYamlBefore.content, new Map(overrides.map((override) => [override.packageName, override.version])), { convergence: convergenceOverrides }));
|
|
206
|
+
const withOverrides = resolveAndCheck("the overrides");
|
|
207
|
+
if (withOverrides === null)
|
|
208
|
+
return null;
|
|
209
|
+
const heldWith = heldIn(overrides, withOverrides);
|
|
210
|
+
log("Removing the overrides and re-resolving to check the result holds:");
|
|
211
|
+
restoreFiles([workspaceYamlBefore]);
|
|
212
|
+
const after = resolveAndCheck("removing the overrides");
|
|
213
|
+
if (after === null)
|
|
214
|
+
return null;
|
|
215
|
+
return { heldWith, heldAfter: heldIn(overrides, after), after };
|
|
216
|
+
};
|
|
217
|
+
// A member nothing duplicates only moves for its family's sake, so the
|
|
218
|
+
// family's duplicated members already say what did not merge.
|
|
219
|
+
const reportDropped = (dropped) => {
|
|
220
|
+
const reported = dropped.filter(({ override }) => [...remaining.duplicates].some((resolution) => resolution.startsWith(`${override.packageName}@`)));
|
|
221
|
+
if (reported.length === 0)
|
|
222
|
+
return;
|
|
223
|
+
const ranges = readDependentRanges(projectDir, new Set(reported.map(({ override }) => override.packageName)));
|
|
224
|
+
const logGroup = (title, entries) => {
|
|
225
|
+
if (entries.length === 0)
|
|
226
|
+
return;
|
|
227
|
+
log(title);
|
|
228
|
+
for (const { override } of entries) {
|
|
229
|
+
log(` ${override.packageName} onto ${override.version}:`);
|
|
230
|
+
for (const line of describeUnheldOverride(override, ranges.get(override.packageName) ?? [])) {
|
|
231
|
+
log(` ${line}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
logGroup("Not merged even with an override:", reported.filter((entry) => !entry.heldWithOverrides));
|
|
236
|
+
logGroup("pnpm resolves these back without an override, so they are not merged:", reported.filter((entry) => entry.heldWithOverrides));
|
|
237
|
+
log(`No override is left behind. If one of these should merge, please report it at ${issuesUrl}`);
|
|
238
|
+
};
|
|
239
|
+
const dropped = [];
|
|
240
|
+
let candidates = outstanding;
|
|
241
|
+
for (let round = 1; round <= maxOverrideRounds; round++) {
|
|
242
|
+
if (round > 1) {
|
|
243
|
+
log("Retrying with only the overrides that held:");
|
|
244
|
+
restoreFiles(withoutOverridesSnapshot);
|
|
232
245
|
}
|
|
233
|
-
|
|
234
|
-
|
|
246
|
+
const result = overrideRound(candidates);
|
|
247
|
+
if (result === null)
|
|
248
|
+
return withoutOverrides([]);
|
|
249
|
+
const { heldWith, heldAfter, after } = result;
|
|
250
|
+
for (const override of candidates) {
|
|
251
|
+
if (!heldAfter.includes(override)) {
|
|
252
|
+
dropped.push({
|
|
253
|
+
override,
|
|
254
|
+
heldWithOverrides: heldWith.includes(override),
|
|
255
|
+
});
|
|
256
|
+
}
|
|
235
257
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
258
|
+
if (heldAfter.length === candidates.length) {
|
|
259
|
+
reportDropped(dropped);
|
|
260
|
+
return keptOutcome(after.duplicates, dropped.map(({ override }) => override));
|
|
261
|
+
}
|
|
262
|
+
candidates = heldAfter;
|
|
263
|
+
if (candidates.length === 0)
|
|
264
|
+
break;
|
|
243
265
|
}
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
266
|
+
log(candidates.length === 0
|
|
267
|
+
? " No override holds on its own — reverting them"
|
|
268
|
+
: ` Overrides still came apart after ${maxOverrideRounds} rounds — reverting them`);
|
|
269
|
+
// what is left only held alongside overrides the last round dropped
|
|
270
|
+
dropped.push(...candidates.map((override) => ({ override, heldWithOverrides: true })));
|
|
271
|
+
const outcome = withoutOverrides(dropped.map(({ override }) => override));
|
|
272
|
+
reportDropped(dropped);
|
|
273
|
+
return outcome;
|
|
251
274
|
};
|
|
252
275
|
//# sourceMappingURL=applyClusterFixes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applyClusterFixes.js","sourceRoot":"","sources":["../src/applyClusterFixes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"applyClusterFixes.js","sourceRoot":"","sources":["../src/applyClusterFixes.ts"],"names":[],"mappings":"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"}
|