1 | "use strict";
|
2 |
|
3 | const semver = require("semver");
|
4 |
|
5 | module.exports.isBreakingChange = isBreakingChange;
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 | function isBreakingChange(currentVersion, nextVersion) {
|
12 | const releaseType = semver.diff(currentVersion, nextVersion);
|
13 | let breaking;
|
14 |
|
15 | if (releaseType === "major") {
|
16 |
|
17 | breaking = true;
|
18 | } else if (releaseType === "minor") {
|
19 |
|
20 | breaking = semver.lt(currentVersion, "1.0.0");
|
21 | } else if (releaseType === "patch") {
|
22 |
|
23 | breaking = semver.lt(currentVersion, "0.1.0");
|
24 | } else {
|
25 |
|
26 | breaking = false;
|
27 | }
|
28 |
|
29 | return breaking;
|
30 | }
|