@@ -714,6 +714,24 @@ function expectControllerDependenciesListedAsPeerDependencies(
714714 }
715715}
716716
717+ function getInconsistentDependenciesAndDevDependencies ( dependencyIdent , dependenciesByRange ) {
718+ const ALLOWED_INCONSISTENT_DEPENDENCIES = Object . entries ( {
719+ // '@metamask/foo': ['^1.0.0'],
720+ } ) ;
721+ for ( const [ allowedPackage , ignoredRange ] of ALLOWED_INCONSISTENT_DEPENDENCIES ) {
722+ if ( allowedPackage === dependencyIdent ) {
723+ return new Map (
724+ Object . entries (
725+ dependenciesByRange
726+ ) . filter (
727+ ( [ range ] ) => ! ignoredRange . includes ( range )
728+ )
729+ )
730+ }
731+ }
732+ return dependenciesByRange ;
733+ }
734+
717735/**
718736 * Expect that all version ranges in `dependencies` and `devDependencies` for
719737 * the same dependency across the entire monorepo are the same. As it is
@@ -732,9 +750,11 @@ function expectConsistentDependenciesAndDevDependencies(Yarn) {
732750 dependencyIdent ,
733751 dependenciesByRange ,
734752 ] of nonPeerDependenciesByIdent . entries ( ) ) {
735- const dependencyRanges = [ ...dependenciesByRange . keys ( ) ] . sort ( ) ;
753+ const dependenciesToConsider =
754+ getInconsistentDependenciesAndDevDependencies ( dependencyIdent , dependenciesByRange ) ;
755+ const dependencyRanges = [ ...dependenciesToConsider . keys ( ) ] . sort ( ) ;
736756 if ( dependenciesByRange . size > 1 ) {
737- for ( const dependencies of dependenciesByRange . values ( ) ) {
757+ for ( const dependencies of dependenciesToConsider . values ( ) ) {
738758 for ( const dependency of dependencies ) {
739759 dependency . error (
740760 `Expected version range for ${ dependencyIdent } (in ${
0 commit comments