MCPcopy Create free account
hub / github.com/CodeForBreakfast/eventsourcing / compareDependencyChanges

Function compareDependencyChanges

scripts/validate-changesets.ts:358–389  ·  view source on GitHub ↗
(
  beforeContent: unknown,
  afterContent: unknown
)

Source from the content-addressed store, hash-verified

356};
357
358const compareDependencyChanges = (
359 beforeContent: unknown,
360 afterContent: unknown
361): {
362 readonly onlyDevDepsChanged: boolean;
363 readonly onlyDepsChanged: boolean;
364 readonly hasChanges: boolean;
365} => {
366 const before = beforeContent as Record<string, unknown>;
367 const after = afterContent as Record<string, unknown>;
368
369 const beforeDevDeps = extractDependencies(before, 'devDependencies');
370 const afterDevDeps = extractDependencies(after, 'devDependencies');
371 const beforeDeps = extractDependencies(before, 'dependencies');
372 const afterDeps = extractDependencies(after, 'dependencies');
373
374 const devDepsChanged = JSON.stringify(beforeDevDeps) !== JSON.stringify(afterDevDeps);
375 const depsChanged = JSON.stringify(beforeDeps) !== JSON.stringify(afterDeps);
376
377 const otherFieldsChanged = Object.keys({ ...before, ...after }).some(
378 (key) =>
379 key !== 'devDependencies' &&
380 key !== 'dependencies' &&
381 JSON.stringify(before[key]) !== JSON.stringify(after[key])
382 );
383
384 return {
385 onlyDevDepsChanged: devDepsChanged && !depsChanged && !otherFieldsChanged,
386 onlyDepsChanged: depsChanged && !devDepsChanged && !otherFieldsChanged,
387 hasChanges: devDepsChanged || depsChanged || otherFieldsChanged,
388 };
389};
390
391const processAfterContent = (beforeContent: unknown) => (afterContent: unknown) =>
392 Effect.if(!beforeContent || !afterContent, {

Callers 1

processAfterContentFunction · 0.85

Calls 1

extractDependenciesFunction · 0.85

Tested by

no test coverage detected