Skip to content

Commit ed32062

Browse files
authored
Merge pull request #143 from kategengler/master
2 parents 8093cdb + de82c68 commit ed32062

File tree

6 files changed

+27
-20
lines changed

6 files changed

+27
-20
lines changed

generate-local.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ function exit() {
1818
}
1919

2020
function semverVersion(value) {
21-
if (!/^\d+\.\d+\.\d+$/.test(value)) {
22-
throw new InvalidArgumentError('Not a correctly defined semver version i.e. major.minor.patch');
21+
if (!/^\d+\.\d+\.\d+(-[0-9A-Za-z-.]+)?$/.test(value)) {
22+
throw new InvalidArgumentError(
23+
'Not a correctly defined semver version i.e. major.minor.patch or with prerelease',
24+
);
2325
}
2426
return value;
2527
}

index.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@ import { program, Option, InvalidArgumentError } from 'commander';
55
import chalk from 'chalk';
66

77
function semverVersion(value) {
8-
if (!/^\d+\.\d+\.\d+$/.test(value)) {
9-
throw new InvalidArgumentError('Not a correctly defined semver version i.e. major.minor.patch');
8+
if (!/^\d+\.\d+\.\d+(-[0-9A-Za-z-.]+)?$/.test(value)) {
9+
throw new InvalidArgumentError(
10+
'Not a correctly defined semver version i.e. major.minor.patch or with prerelease',
11+
);
1012
}
1113
return value;
1214
}

lib/get-latest-patch-versions.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
import { groupBy } from 'lodash-es';
2-
import semverCompare from 'semver-compare';
3-
import semverUtils from 'semver-utils';
2+
import semver from 'semver';
43

54
export function getLatestPatchVersions(versions) {
65
let groupedVersions = groupBy(
7-
versions.sort(semverCompare).map(semverUtils.parse),
8-
v => `${v.major}.${v.minor}`,
6+
versions.sort((a, b) => semver.rcompare(a, b)),
7+
v => `${semver.major(v)}.${semver.minor(v)}`,
98
);
10-
return Object.values(groupedVersions).map(verGroup => verGroup.pop().version);
9+
return Object.values(groupedVersions).map(verGroup => verGroup[0]);
1110
}

lib/normalize-ids.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,9 @@ function extractRelationship({ id, type }) {
1313
return { id, type };
1414
}
1515

16-
function filterForVersion(version) {
16+
function filterForVersion(project, version) {
1717
return ({ relationships }) => {
18-
const projectVersion = relationships['project-version'].data.id.split('-').pop();
18+
const projectVersion = relationships['project-version'].data.id.replace(`${project}-`, '');
1919
return version.version === projectVersion;
2020
};
2121
}
@@ -56,7 +56,7 @@ async function normalizeIDs(pVersions, projectName) {
5656

5757
let projectVersions = pVersions.map(version => {
5858
let classes = findType(jsonapidoc, 'class')
59-
.filter(filterForVersion(version))
59+
.filter(filterForVersion(projectName, version))
6060
.filter(removeLongDocsBecauseEmber1HasWeirdDocs);
6161

6262
let namespaces = classes.filter(({ attributes }) => attributes.static === 1);
@@ -67,7 +67,7 @@ async function normalizeIDs(pVersions, projectName) {
6767
namespaces.forEach(ns => (ns.type = 'namespace'));
6868

6969
let modules = findType(jsonapidoc, 'module')
70-
.filter(filterForVersion(version))
70+
.filter(filterForVersion(projectName, version))
7171
.filter(curry(filter176)(projectName, version.version));
7272

7373
return {

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@
5454
"semver-compare": "^1.0.0",
5555
"semver-extra": "^3.0.0",
5656
"semver-utils": "^1.1.4",
57-
"yuidoc-to-jsonapi": "^0.4.1"
57+
"yuidoc-to-jsonapi": "^0.4.1",
58+
"semver": "^7.7.2"
5859
},
5960
"devDependencies": {
6061
"chai": "^4.2.0",

pnpm-lock.yaml

Lines changed: 9 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)