UNPKG

liquibase-linter

Version:
27 lines (26 loc) 1.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.check = void 0; var breakingChanges = ["dropColumn", "dropTable", "renameColumn", "renameTable"]; var hasBreakingChange = function (changes) { for (var _i = 0, breakingChanges_1 = breakingChanges; _i < breakingChanges_1.length; _i++) { var breakingChange = breakingChanges_1[_i]; if (changes.has(breakingChange)) { return true; } } return false; }; var getBreakingChanges = function (changes) { return breakingChanges.filter(function (breakingChange) { return changes.has(breakingChange); }); }; var check = function (changeset, reporter) { changeset.changes.forEach(function (change) { var typeOfChanges = new Set(Object.keys(change)); if (hasBreakingChange(typeOfChanges)) { var includedBreakingChanges = getBreakingChanges(typeOfChanges); reporter.error("The changeset contains the following breaking changes " + includedBreakingChanges + "!", changeset.id); } }); }; exports.check = check;