Skip to content

Commit

Permalink
feat: check duplicates from previously checked packages in monorepo
Browse files Browse the repository at this point in the history
  • Loading branch information
christophehurpeau committed Jul 7, 2022
1 parent 4d260e4 commit eec2e71
Show file tree
Hide file tree
Showing 4 changed files with 50 additions and 4 deletions.
2 changes: 1 addition & 1 deletion dist/check-package-with-workspaces.d.ts.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 11 additions & 2 deletions dist/index-node14.cjs.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion dist/index-node14.cjs.js.map

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions src/check-package-with-workspaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,7 @@ export function createCheckPackageWithWorkspaces(
monorepoDirectDuplicateDependenciesOnlyWarnsFor,
);

const previousCheckedWorkspaces = new Map<string, CheckPackageApi>();
checksWorkspaces.forEach((checkSubPackage, id) => {
const isPackageALibrary = isLibrary(id);
checkSubPackage.checkRecommended({
Expand Down Expand Up @@ -183,6 +184,7 @@ export function createCheckPackageWithWorkspaces(
'Monorepo Direct Duplicate Dependencies',
checkSubPackage.pkgPathName,
);
// Root
checkDuplicateDependencies(
reportMonorepoDDDError,
checkSubPackage.pkg,
Expand All @@ -193,6 +195,41 @@ export function createCheckPackageWithWorkspaces(
checkSubPackage.pkg.name,
),
);
// previous packages
previousCheckedWorkspaces.forEach((previousCheckSubPackage) => {
checkDuplicateDependencies(
reportMonorepoDDDError,
checkSubPackage.pkg,
'devDependencies',
['dependencies', 'devDependencies'],
previousCheckSubPackage.pkg,
monorepoDirectDuplicateDependenciesOnlyWarnsForCheck.createFor(
checkSubPackage.pkg.name,
),
);
checkDuplicateDependencies(
reportMonorepoDDDError,
checkSubPackage.pkg,
'dependencies',
['dependencies', 'devDependencies'],
previousCheckSubPackage.pkg,
monorepoDirectDuplicateDependenciesOnlyWarnsForCheck.createFor(
checkSubPackage.pkg.name,
),
);
checkDuplicateDependencies(
reportMonorepoDDDError,
checkSubPackage.pkg,
'peerDependencies',
['peerDependencies'],
previousCheckSubPackage.pkg,
monorepoDirectDuplicateDependenciesOnlyWarnsForCheck.createFor(
checkSubPackage.pkg.name,
),
);
});

previousCheckedWorkspaces.set(id, checkSubPackage);
});
reportNotWarnedForMapping(
createReportError(
Expand Down

0 comments on commit eec2e71

Please sign in to comment.