@bscotch/gamemaker-releases 0.5.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/LICENSE.md +7 -1
- 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 +11 -11
package/LICENSE.md
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
# License for the Stitch Monorepo
|
|
2
2
|
|
|
3
|
-
License information for the content of this git repository.
|
|
3
|
+
License information for the content of this git repository. The various packages in this repo are developed by [Butterscotch Shenanigans](https://www.bscotch.net) ("Bscotch").
|
|
4
|
+
|
|
5
|
+
## License files
|
|
6
|
+
|
|
7
|
+
Whenever a `LICENSE` file is found in a folder, or a license is specified by a `package.json` or similar manifest file, that license takes precedence for all files in that folder and its subfolders.
|
|
8
|
+
|
|
9
|
+
This is the root-most `LICENSE` file, and therefore dictates the default licensing in this repository.
|
|
4
10
|
|
|
5
11
|
## Stitch name and logo
|
|
6
12
|
|
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":"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,EAKL,QAAQ,EACR,uBAAuB,EACvB,sBAAsB,EACtB,+BAA+B,GAChC,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,QAA6B,EAC7B,QAAwB,qBAAqB;IAE7C,QAAQ,KAAK,MAAM,sBAAsB,EAAE,CAAC;IAC5C,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACtD,MAAM,SAAS,GAAgC,EAAE,CAAC;IAClD,MAAM,YAAY,GAAG;QACnB,OAAO,EAAE;YACP,KAAK,EAAE,IAAI;YACX,MAAM,EAAE,EAAE;SACX;KACF,CAAC;IACF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,YAAY,CAAC;QACrE,MAAM,GAAG,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC;QACxD,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC;QACpE,SAAS,CAAC,IAAI,CAAC;YACb,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG;YACH,OAAO;SACR,CAAC,CAAC;KACJ;IACD,SAAS,CAAC,IAAI,CACZ,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CACxE,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB;IAC1C,MAAM,YAAY,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAC;IAChD,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;IACxD,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE;YACpB,SAAS;SACV;QACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,EAAE;YACZ,SAAS;SACV;QACD,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,OAAO,EAAE,GAAG,CAAC,OAAQ;YACrB,WAAW,EAAE,GAAG,CAAC,WAAW;YAC5B,GAAG;YACH,OAAO;SACR,CAAC,CAAC;KACJ;IACD,QAAQ,CAAC,IAAI,CACX,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CACxE,CAAC;IACF,OAAO,CAAC,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAkB;IAC7C,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;IAChE,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAC7B,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1D,CAAC;IACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE;YACxB,OAAO,CAAC,IAAI,CACV,uBAAuB,CAAC,KAAK,CAAC;gBAC5B,IAAI;gBACJ,OAAO;gBACP,WAAW,EAAE,KAAK,CAAC,OAAO;gBAC1B,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,eAAe,CAAE,CAAC,CAAC,CAAC;gBAC/C,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,WAAW;gBAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC,CACH,CAAC;SACH;KACF;IACD,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CACxE,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
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,22 +38,22 @@
|
|
|
38
38
|
"main": "dist/index.js",
|
|
39
39
|
"types": "dist/index.d.ts",
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@bscotch/pathy": "^2.
|
|
42
|
-
"@bscotch/utility": "^
|
|
41
|
+
"@bscotch/pathy": "^2.12.0",
|
|
42
|
+
"@bscotch/utility": "^7.2.0",
|
|
43
43
|
"entities": "^4.5.0",
|
|
44
|
-
"fast-xml-parser": "^4.2
|
|
44
|
+
"fast-xml-parser": "^4.3.2",
|
|
45
45
|
"node-fetch": "^3.3.2",
|
|
46
|
-
"tslib": "^2.6.
|
|
47
|
-
"zod": "^3.22.
|
|
46
|
+
"tslib": "^2.6.2",
|
|
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.
|
|
56
|
-
"typescript": "5.
|
|
55
|
+
"rimraf": "^5.0.5",
|
|
56
|
+
"typescript": "5.2.2"
|
|
57
57
|
},
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public"
|