@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 CHANGED
@@ -1,6 +1,12 @@
1
1
  # License for the Stitch Monorepo
2
2
 
3
- License information for the content of this git repository. This various packages in this repo are developed by [Butterscotch Shenanigans](https://www.bscotch.net) ("Bscotch").
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
 
@@ -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,EAKN,gBAAgB,EAEhB,yBAAyB,EAEzB,MAAM,kBAAkB,CAAC;AAI1B,wBAAsB,+BAA+B,CACpD,QAAQ,CAAC,EAAE,gBAAgB,EAAE,EAC7B,KAAK,GAAE,KAAK,GAAG,MAA8B,GAC3C,OAAO,CAAC,yBAAyB,EAAE,CAAC,CA4BtC;AAED,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CA2B1E"}
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, r = 0; i < ideArtifacts.length; i++) {
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 nextR = findPairedRuntime(runtimeArtifacts, ide, r);
43
- r = nextR === -1 ? r : nextR;
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: runtimeArtifacts[nextR],
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":"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"}
1
+ {"version":3,"file":"feeds.js","sourceRoot":"","sources":["../src/feeds.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  import { RssFeedEntry, type GameMakerArtifact } from './feeds.types.js';
2
- export declare function findPairedRuntime(runtimeFeed: GameMakerArtifact[], ide: GameMakerArtifact, searchIndex: number): number;
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
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.lib.d.ts","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EAEZ,KAAK,iBAAiB,EACvB,MAAM,kBAAkB,CAAC;AAW1B,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,iBAAiB,EAAE,EAChC,GAAG,EAAE,iBAAiB,EACtB,WAAW,EAAE,MAAM,UAqCpB;AAED,wBAAsB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAG1E"}
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
- function daysApart(a, b) {
5
- return dateDifferenceDays(new Date(a), new Date(b));
6
- }
7
- function absoluteDaysApart(a, b) {
8
- return Math.abs(daysApart(a, b));
9
- }
10
- export function findPairedRuntime(runtimeFeed, ide, searchIndex) {
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
- else {
40
- break;
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
- const runtime = runtimeFeed[searchIndex];
44
- if (!runtime || absoluteDaysApart(runtime.publishedAt, ide.publishedAt) > 1) {
45
- return -1;
46
- }
47
- return searchIndex;
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);
@@ -1 +1 @@
1
- {"version":3,"file":"feeds.lib.js","sourceRoot":"","sources":["../src/feeds.lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAEL,aAAa,GAEd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,SAAS,SAAS,CAAC,CAAS,EAAE,CAAS;IACrC,OAAO,kBAAkB,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAAgC,EAChC,GAAsB,EACtB,WAAmB;IAEnB,iDAAiD;IACjD,IAAI,QAAQ,GAAG,QAAQ,CAAC;IACxB,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE;YAC3D,SAAS;SACV;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,GAAG,QAAQ,EAAE;YACnB,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,MAAM;SACP;KACF;IACD,gDAAgD;IAChD,QAAQ,GAAG,QAAQ,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,OAAO,KAAK,GAAG,CAAC,OAAO,EAAE;YAC3D,SAAS;SACV;QACD,MAAM,IAAI,GAAG,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;QACrE,IAAI,IAAI,GAAG,QAAQ,EAAE;YACnB,QAAQ,GAAG,IAAI,CAAC;YAChB,WAAW,GAAG,CAAC,CAAC;SACjB;aAAM;YACL,MAAM;SACP;KACF;IACD,MAAM,OAAO,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;QAC3E,OAAO,CAAC,CAAC,CAAC;KACX;IACD,OAAO,WAAW,CAAC;AACrB,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"}
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.5.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.7.4",
42
- "@bscotch/utility": "^6.8.3",
41
+ "@bscotch/pathy": "^2.12.0",
42
+ "@bscotch/utility": "^7.2.0",
43
43
  "entities": "^4.5.0",
44
- "fast-xml-parser": "^4.2.7",
44
+ "fast-xml-parser": "^4.3.2",
45
45
  "node-fetch": "^3.3.2",
46
- "tslib": "^2.6.1",
47
- "zod": "^3.22.0"
46
+ "tslib": "^2.6.2",
47
+ "zod": "^3.22.4"
48
48
  },
49
49
  "devDependencies": {
50
- "@types/chai": "^4.3.5",
51
- "@types/mocha": "^10.0.1",
50
+ "@types/chai": "^4.3.10",
51
+ "@types/mocha": "^10.0.4",
52
52
  "@types/rimraf": "^3",
53
- "chai": "^4.3.7",
53
+ "chai": "^4.3.10",
54
54
  "mocha": "^10.2.0",
55
- "rimraf": "^5.0.1",
56
- "typescript": "5.1.6"
55
+ "rimraf": "^5.0.5",
56
+ "typescript": "5.2.2"
57
57
  },
58
58
  "publishConfig": {
59
59
  "access": "public"