@bscotch/gamemaker-releases 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/feeds.d.ts.map +1 -1
- package/dist/feeds.js +4 -5
- package/dist/feeds.js.map +1 -1
- package/dist/feeds.lib.d.ts +13 -1
- package/dist/feeds.lib.d.ts.map +1 -1
- package/dist/feeds.lib.js +18 -43
- package/dist/feeds.lib.js.map +1 -1
- package/package.json +8 -8
package/dist/feeds.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../src/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,OAAO,
|
|
1
|
+
{"version":3,"file":"feeds.d.ts","sourceRoot":"","sources":["../src/feeds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAIvC,OAAO,EAGL,gBAAgB,EAChB,yBAAyB,EAK1B,MAAM,kBAAkB,CAAC;AAI1B,wBAAsB,+BAA+B,CACnD,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,KAAK,GAAE,KAAK,GAAG,MAA8B,GAC5C,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA4BtC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA0B1E"}
|
package/dist/feeds.js
CHANGED
|
@@ -34,14 +34,13 @@ export async function computeReleasesSummary() {
|
|
|
34
34
|
const ideArtifacts = await listArtifacts('ide');
|
|
35
35
|
const runtimeArtifacts = await listArtifacts('runtime');
|
|
36
36
|
const releases = [];
|
|
37
|
-
for (let i = 0
|
|
37
|
+
for (let i = 0; i < ideArtifacts.length; i++) {
|
|
38
38
|
const ide = ideArtifacts[i];
|
|
39
39
|
if (!ide.publishedAt) {
|
|
40
40
|
continue;
|
|
41
41
|
}
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
if (nextR === -1) {
|
|
42
|
+
const runtime = findPairedRuntime(runtimeArtifacts, ide);
|
|
43
|
+
if (!runtime) {
|
|
45
44
|
continue;
|
|
46
45
|
}
|
|
47
46
|
releases.push({
|
|
@@ -49,7 +48,7 @@ export async function computeReleasesSummary() {
|
|
|
49
48
|
summary: ide.summary,
|
|
50
49
|
publishedAt: ide.publishedAt,
|
|
51
50
|
ide,
|
|
52
|
-
runtime
|
|
51
|
+
runtime,
|
|
53
52
|
});
|
|
54
53
|
}
|
|
55
54
|
releases.sort((a, b) => new Date(b.publishedAt).getTime() - new Date(a.publishedAt).getTime());
|
package/dist/feeds.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.js","sourceRoot":"","sources":["../src/feeds.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,
|
|
1
|
+
{"version":3,"file":"feeds.js","sourceRoot":"","sources":["../src/feeds.ts"],"names":[],"mappings":"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"}
|
package/dist/feeds.lib.d.ts
CHANGED
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
import { RssFeedEntry, type GameMakerArtifact } from './feeds.types.js';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Get the runtime with the closest release date to the given IDE
|
|
4
|
+
*/
|
|
5
|
+
export declare function findPairedRuntime(runtimeFeed: GameMakerArtifact[], ide: GameMakerArtifact): {
|
|
6
|
+
type: "ide" | "runtime";
|
|
7
|
+
version: string;
|
|
8
|
+
channel: "lts" | "stable" | "beta" | "unstable";
|
|
9
|
+
feedUrl: string;
|
|
10
|
+
publishedAt: string;
|
|
11
|
+
notesUrl: string;
|
|
12
|
+
summary?: string | undefined;
|
|
13
|
+
link?: string | undefined;
|
|
14
|
+
} | undefined;
|
|
3
15
|
export declare function downloadRssFeed(url: string): Promise<RssFeedEntry[]>;
|
|
4
16
|
//# sourceMappingURL=feeds.lib.d.ts.map
|
package/dist/feeds.lib.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.lib.d.ts","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"feeds.lib.d.ts","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAEZ,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAG1B;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,iBAAiB,EAAE,EAChC,GAAG,EAAE,iBAAiB;;;;;;;;;cAuBvB;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAG1E"}
|
package/dist/feeds.lib.js
CHANGED
|
@@ -1,50 +1,25 @@
|
|
|
1
|
-
import { dateDifferenceDays } from '@bscotch/utility/browser';
|
|
2
1
|
import { rssFeedSchema, } from './feeds.types.js';
|
|
3
2
|
import { fetchXml } from './fetch.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
function
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// Go backwards until the dateDiff starts growing
|
|
12
|
-
let dateDiff = Infinity;
|
|
13
|
-
for (let r = searchIndex; r >= 0; r--) {
|
|
14
|
-
const runtime = runtimeFeed[r];
|
|
15
|
-
if (!runtime.publishedAt || runtime.channel !== ide.channel) {
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
const diff = absoluteDaysApart(runtime.publishedAt, ide.publishedAt);
|
|
19
|
-
if (diff < dateDiff) {
|
|
20
|
-
dateDiff = diff;
|
|
21
|
-
searchIndex = r;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
break;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
// Go forwards until the dateDiff starts growing
|
|
28
|
-
dateDiff = Infinity;
|
|
29
|
-
for (let r = searchIndex; r < runtimeFeed.length; r++) {
|
|
30
|
-
const runtime = runtimeFeed[r];
|
|
31
|
-
if (!runtime.publishedAt || runtime.channel !== ide.channel) {
|
|
32
|
-
continue;
|
|
33
|
-
}
|
|
34
|
-
const diff = absoluteDaysApart(runtime.publishedAt, ide.publishedAt);
|
|
35
|
-
if (diff < dateDiff) {
|
|
36
|
-
dateDiff = diff;
|
|
37
|
-
searchIndex = r;
|
|
3
|
+
/**
|
|
4
|
+
* Get the runtime with the closest release date to the given IDE
|
|
5
|
+
*/
|
|
6
|
+
export function findPairedRuntime(runtimeFeed, ide) {
|
|
7
|
+
const location = runtimeFeed.reduce((acc, cur, idx) => {
|
|
8
|
+
if (!cur.publishedAt || cur.channel !== ide.channel) {
|
|
9
|
+
return acc;
|
|
38
10
|
}
|
|
39
|
-
|
|
40
|
-
|
|
11
|
+
const diff = Math.abs(new Date(cur.publishedAt).getTime() -
|
|
12
|
+
new Date(ide.publishedAt).getTime());
|
|
13
|
+
if (diff < acc.minDiff) {
|
|
14
|
+
acc.minDiff = diff;
|
|
15
|
+
acc.minIndex = idx;
|
|
41
16
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
return
|
|
17
|
+
return acc;
|
|
18
|
+
}, {
|
|
19
|
+
minDiff: Infinity,
|
|
20
|
+
minIndex: -1,
|
|
21
|
+
});
|
|
22
|
+
return location.minIndex === -1 ? undefined : runtimeFeed[location.minIndex];
|
|
48
23
|
}
|
|
49
24
|
export async function downloadRssFeed(url) {
|
|
50
25
|
const feed = await fetchXml(url, rssFeedSchema);
|
package/dist/feeds.lib.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feeds.lib.js","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"feeds.lib.js","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,aAAa,GAEd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAgC,EAChC,GAAsB;IAEtB,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CACjC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAChB,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE;YACnD,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CACnB,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE;YACjC,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CACtC,CAAC;QACF,IAAI,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE;YACtB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;YACnB,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC;SACpB;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EACD;QACE,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,CAAC,CAAC;KACb,CACF,CAAC;IACF,OAAO,QAAQ,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,GAAW;IAC/C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAChD,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;AAC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bscotch/gamemaker-releases",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Utility for combining GameMaker release data into a single feed.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"gamemaker",
|
|
@@ -38,21 +38,21 @@
|
|
|
38
38
|
"main": "dist/index.js",
|
|
39
39
|
"types": "dist/index.d.ts",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@bscotch/pathy": "^2.
|
|
41
|
+
"@bscotch/pathy": "^2.12.0",
|
|
42
42
|
"@bscotch/utility": "^7.2.0",
|
|
43
43
|
"entities": "^4.5.0",
|
|
44
|
-
"fast-xml-parser": "^4.3.
|
|
44
|
+
"fast-xml-parser": "^4.3.2",
|
|
45
45
|
"node-fetch": "^3.3.2",
|
|
46
46
|
"tslib": "^2.6.2",
|
|
47
|
-
"zod": "^3.22.
|
|
47
|
+
"zod": "^3.22.4"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"@types/chai": "^4.3.
|
|
51
|
-
"@types/mocha": "^10.0.
|
|
50
|
+
"@types/chai": "^4.3.10",
|
|
51
|
+
"@types/mocha": "^10.0.4",
|
|
52
52
|
"@types/rimraf": "^3",
|
|
53
|
-
"chai": "^4.3.
|
|
53
|
+
"chai": "^4.3.10",
|
|
54
54
|
"mocha": "^10.2.0",
|
|
55
|
-
"rimraf": "^5.0.
|
|
55
|
+
"rimraf": "^5.0.5",
|
|
56
56
|
"typescript": "5.2.2"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|