report-cycles.js 465 B

1234567891011121314151617181920
  1. "use strict";
  2. const log = require("npmlog");
  3. const { ValidationError } = require("@lerna/validation-error");
  4. module.exports.reportCycles = reportCycles;
  5. function reportCycles(paths, rejectCycles) {
  6. if (!paths.length) {
  7. return;
  8. }
  9. const cycleMessage = ["Dependency cycles detected, you should fix these!"].concat(paths).join("\n");
  10. if (rejectCycles) {
  11. throw new ValidationError("ECYCLE", cycleMessage);
  12. }
  13. log.warn("ECYCLE", cycleMessage);
  14. }