/**
 * Minified by jsDelivr using Terser v5.39.0.
 * Original file: /npm/check-peer-dependencies@4.3.4/dist/checkPeerDependencies.js
 *
 * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files
 */
#!/usr/bin/env node
"use strict";var __assign=this&&this.__assign||function(){return __assign=Object.assign||function(e){for(var n,o=1,s=arguments.length;o<s;o++)for(var r in n=arguments[o])Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r]);return e},__assign.apply(this,arguments)};exports.__esModule=!0,exports.checkPeerDependencies=void 0;var semver=require("semver"),shelljs_1=require("shelljs"),packageManager_1=require("./packageManager"),packageUtils_1=require("./packageUtils"),solution_1=require("./solution");function getAllNestedPeerDependencies(e){return packageUtils_1.gatherPeerDependencies(".",e).map((function(e){var n=packageUtils_1.getInstalledVersion(e),o=!!n&&semver.satisfies(n,e.version,{includePrerelease:!0}),s=null==n?void 0:n.endsWith("-yalc");return __assign(__assign({},e),{installedVersion:n,semverSatisfies:o,isYalc:s})})).map((function(n){var o=e.ignore.includes(n.name);return __assign(__assign({},n),{isIgnored:o})}))}var recursiveCount=0,isProblem=function(e){return!(e.semverSatisfies||e.isIgnored||e.isYalc||e.isPeerOptionalDependency&&!e.installedVersion)},reportPeerDependencyStatus=function(e,n,o,s){var r=n?e.depender.name+"@"+e.depender.version+" requires "+e.name+" "+e.version:e.name+" "+e.version+" is required by "+e.depender.name+"@"+e.depender.version;e.semverSatisfies?o&&console.log("  ✅  "+r+" ("+e.installedVersion+" is installed)"):e.isYalc?console.log("  ☑️  "+r+" ("+e.installedVersion+" is installed via yalc)"):e.isIgnored?s&&console.log("  ☑️   "+r+" IGNORED ("+e.name+" is not installed)"):e.installedVersion?e.isPeerOptionalDependency?console.log("  ❌  "+r+") OPTIONAL ("+e.installedVersion+" is installed)"):console.log("  ❌  "+r+") ("+e.installedVersion+" is installed)"):e.isPeerOptionalDependency?s&&console.log("  ☑️   "+r+" OPTIONAL ("+e.name+" is not installed)"):console.log("  ❌  "+r+" ("+e.name+" is not installed)")};function findSolutions(e,n){console.log(),console.log("Searching for solutions for "+e.length+" missing dependencies..."),console.log();var o=solution_1.findPossibleResolutions(e,n),s=o.filter((function(e){return e.resolution})),r=o.filter((function(e){return!e.resolution}));return r.forEach((function(e){var o=e.problem.name,s="Unable to find a version of "+o+" that satisfies the following peerDependencies:",r=n.filter((function(e){return e.name===o})).reduce((function(e,n){return e.includes(n.version)?e:e.concat(n.version)}),[]);console.error("  ❌  "+s+" "+r.join(" and "))})),r.length>0&&console.error(),{resolutionsWithSolutions:s,nosolution:r}}function installPeerDependencies(e,n,o,s){console.log("Installing peerDependencies..."),console.log(),e.forEach((function(e){console.log("$ "+e),shelljs_1.exec(e),console.log()}));var r=getAllNestedPeerDependencies(n).filter((function(e){return isProblem(e)})).filter((function(e){return!o.some((function(n){return packageUtils_1.isSameDep(n.problem,e)}))}));if(0===o.length&&0===r.length&&console.log("All peer dependencies are met"),r.length>0){if(console.log("Found "+r.length+" new unmet peerDependencies..."),++recursiveCount<5)return checkPeerDependencies(s,n);console.error("Recursion limit reached (5)"),process.exit(5)}}function report(e,n){"depender"===e.orderBy?n.sort((function(e,n){return(""+e.depender+e.name).localeCompare(""+n.depender+n.name)})):"dependee"==e.orderBy&&n.sort((function(e,n){return(""+e.name+e.depender).localeCompare(""+n.name+n.depender)})),n.forEach((function(o){var s=n.filter((function(e){return e.name===o.name&&e!==o})),r=e.verbose||s.some((function(e){return isProblem(e)}));reportPeerDependencyStatus(o,"depender"===e.orderBy,r,e.verbose)}))}function checkPeerDependencies(e,n){var o=getAllNestedPeerDependencies(n);report(n,o);var s=o.filter((function(e){return isProblem(e)}));if(s.length){if(n.install){var r=findSolutions(s,o),i=r.nosolution,l=r.resolutionsWithSolutions;if((t=packageManager_1.getCommandLines(e,l)).length)return installPeerDependencies(t,n,i,e)}else if(n.findSolutions){var t;l=findSolutions(s,o).resolutionsWithSolutions;(t=packageManager_1.getCommandLines(e,l)).length&&(console.log(),console.log("Install peerDependencies using "+(t.length>1?"these commands:":"this command")+":"),console.log(),t.forEach((function(e){return console.log(e)})),console.log())}else console.log(),console.log("Search for solutions using this command:"),console.log(),console.log("npx check-peer-dependencies --findSolutions"),console.log(),console.log("Install peerDependencies using this command:"),console.log(),console.log("npx check-peer-dependencies --install"),console.log();process.exit(1)}else console.log("  ✅  All peer dependencies are met")}exports.checkPeerDependencies=checkPeerDependencies;
//# sourceMappingURL=/sm/5ff0c5775a412785c1861b96f6559445b82f3ecbce95b86caa3f7a74839392d7.map