MCPcopy Create free account
hub / github.com/dmno-dev/bumpy / getChangedCatalogEntries

Function getChangedCatalogEntries

packages/bumpy/src/commands/check.ts:413–443  ·  view source on GitHub ↗

* Compute which catalog entries changed between the base ref and HEAD. * Returns Map >. Empty if no catalog files changed.

(
  rootDir: string,
  baseBranch: string,
  changedFiles: string[],
)

Source from the content-addressed store, hash-verified

411 after.devDependencies as Record<string, string> | undefined,
412 releaseTriggeringDevDeps,
413 )
414 ) {
415 return true;
416 }
417 }
418 return false;
419}
420
421/** Whether any devDependency matching `releaseTriggeringDevDeps` was added/removed/changed. */
422function releaseTriggeringDevDepsChanged(
423 before: Record<string, string> = {},
424 after: Record<string, string> = {},
425 releaseTriggeringDevDeps?: string[],
426): boolean {
427 if (!releaseTriggeringDevDeps?.length) return false;
428 const names = new Set([...Object.keys(before ?? {}), ...Object.keys(after ?? {})]);
429 for (const name of names) {
430 if (before?.[name] === after?.[name]) continue;
431 if (releaseTriggeringDevDeps.some((pattern) => matchGlob(name, pattern))) return true;
432 }
433 return false;
434}
435
436/** Structural equality for parsed JSON values (objects compared key-insensitive to order). */
437function deepEqual(a: unknown, b: unknown): boolean {
438 if (a === b) return true;
439 if (typeof a !== typeof b || a === null || b === null) return false;
440 if (typeof a !== 'object') return false;
441 if (Array.isArray(a) || Array.isArray(b)) {
442 if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) return false;
443 return a.every((v, i) => deepEqual(v, b[i]));
444 }
445 const ao = a as Record<string, unknown>;
446 const bo = b as Record<string, unknown>;

Callers 1

findChangedPackagesFunction · 0.85

Calls 8

getBaseCompareRefFunction · 0.90
detectPackageManagerFunction · 0.90
catalogYamlFileFunction · 0.90
existsFunction · 0.90
readTextFunction · 0.90
parseCatalogsFunction · 0.90
readFileAtRefFunction · 0.90
diffCatalogMapsFunction · 0.90

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…