Skip to content

Commit 7d918f6

Browse files
Eunjae Leeshipjs
andauthored
fix(prepare): return correct releaseType (#885)
It calculate releaseType only with nextVersion Co-authored-by: shipjs <shipjs@test.com>
1 parent 6579294 commit 7d918f6

File tree

3 files changed

+19
-29
lines changed

3 files changed

+19
-29
lines changed

packages/shipjs-lib/src/lib/util/__tests__/getReleaseType.spec.js

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,16 @@ import getReleaseType from '../getReleaseType';
33
describe('getReleaseType', () => {
44
it('works', () => {
55
const list = [
6-
['1.2.3', '2.0.0', 'major'],
7-
['1.2.3', '1.3.0', 'minor'],
8-
['1.2.3', '1.2.4', 'patch'],
9-
['1.2.3', '1.2.4-alpha.0', 'prerelease'],
10-
11-
['1.2.4-alpha.0', '1.2.4-alpha.1', 'prerelease'],
12-
['1.2.4-alpha.0', '1.2.4', 'patch'],
13-
['1.2.4-alpha.0', '1.2.5', 'patch'],
14-
['1.2.4-alpha.0', '1.3.0', 'minor'],
15-
['1.2.4-alpha.0', '2.0.0', 'major'],
16-
17-
['1.3.0-alpha.0', '1.3.0', 'minor'],
6+
['2.0.0', 'major'],
7+
['1.3.0', 'minor'],
8+
['1.2.4', 'patch'],
9+
['1.2.5', 'patch'],
10+
['1.2.4-alpha.0', 'prerelease'],
1811
];
1912

20-
list.forEach(([currentVersion, nextVersion, expected]) => {
21-
const actual = getReleaseType(currentVersion, nextVersion);
22-
expect({ currentVersion, nextVersion, result: actual }).toEqual({
23-
currentVersion,
13+
list.forEach(([nextVersion, expected]) => {
14+
const actual = getReleaseType(nextVersion);
15+
expect({ nextVersion, result: actual }).toEqual({
2416
nextVersion,
2517
result: expected,
2618
});
Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
1-
import { diff, prerelease, minor, patch } from 'semver';
1+
import { prerelease, minor, patch } from 'semver';
22

3-
export default function getReleaseType(currentVersion, nextVersion) {
4-
if (prerelease(currentVersion) === null && prerelease(nextVersion) !== null) {
3+
export default function getReleaseType(nextVersion) {
4+
if (prerelease(nextVersion) !== null) {
55
return 'prerelease';
66
}
7-
if (prerelease(currentVersion) !== null && prerelease(nextVersion) === null) {
8-
if (patch(nextVersion) === 0) {
9-
if (minor(nextVersion) === 0) {
10-
return 'major';
11-
} else {
12-
return 'minor';
13-
}
7+
8+
if (patch(nextVersion) === 0) {
9+
if (minor(nextVersion) === 0) {
10+
return 'major';
1411
} else {
15-
return 'patch';
12+
return 'minor';
1613
}
14+
} else {
15+
return 'patch';
1716
}
18-
return diff(currentVersion, nextVersion);
1917
}

packages/shipjs/src/flow/prepare.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ async function prepare({
7070
nextVersion,
7171
dryRun,
7272
});
73-
const releaseType = getReleaseType(currentVersion, nextVersion);
73+
const releaseType = getReleaseType(nextVersion);
7474
await validatePreparationConditions({
7575
config,
7676
releaseType,

0 commit comments

Comments
 (0)