diff --git a/package.json b/package.json index 7fbf829..e95bca3 100644 --- a/package.json +++ b/package.json @@ -36,6 +36,7 @@ "writr": "./bin/writr.js" }, "dependencies": { + "axios": "^1.6.2", "ecto": "^2.2.4", "feed": "^4.2.2", "fs-extra": "^11.2.0", diff --git a/src/github.ts b/src/github.ts new file mode 100644 index 0000000..3416bce --- /dev/null +++ b/src/github.ts @@ -0,0 +1,73 @@ +import axios from 'axios'; + +export type GithubOptions = { + api: string | undefined; + author: string; + repo: string; +}; + +export class Github { + options = { + api: 'https://api.github.com', + author: '', + repo: '', + }; + + constructor(options: GithubOptions) { + this.parseOptions(options); + } + + async getData(): Promise> { + const data = { + releases: {}, + contributors: {}, + }; + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + data.releases = await this.getReleases(); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + data.contributors = await this.getContributors(); + + return data; + } + + async getReleases(): Promise { + const url = `${this.options.api}/repos/${this.options.author}/${this.options.repo}/releases`; + try { + const result = await axios.get(url); + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return result.data; + } catch (error: unknown) { + const typedError = error as {response: {status: number}}; + if (typedError.response?.status === 404) { + throw new Error(`Repository ${this.options.author}/${this.options.repo} not found.`); + } + + throw error; + } + } + + async getContributors(): Promise { + const url = `${this.options.api}/repos/${this.options.author}/${this.options.repo}/contributors`; + try { + const result = await axios.get(url); + // eslint-disable-next-line @typescript-eslint/no-unsafe-return + return result.data; + } catch (error: unknown) { + const typedError = error as {response: {status: number}}; + if (typedError.response?.status === 404) { + throw new Error(`Repository ${this.options.author}/${this.options.repo} not found.`); + } + + throw error; + } + } + + public parseOptions(options: GithubOptions) { + if (options.api) { + this.options.api = options.api; + } + + this.options.author = options.author; + this.options.repo = options.repo; + } +} diff --git a/test/fixtures/data-mocks/github-contributors.json b/test/fixtures/data-mocks/github-contributors.json new file mode 100644 index 0000000..653e4e1 --- /dev/null +++ b/test/fixtures/data-mocks/github-contributors.json @@ -0,0 +1,65 @@ +[ + { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false, + "contributions": 788 + }, + { + "login": "christianllv", + "id": 30430879, + "node_id": "MDQ6VXNlcjMwNDMwODc5", + "avatar_url": "https://avatars.githubusercontent.com/u/30430879?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/christianllv", + "html_url": "https://github.com/christianllv", + "followers_url": "https://api.github.com/users/christianllv/followers", + "following_url": "https://api.github.com/users/christianllv/following{/other_user}", + "gists_url": "https://api.github.com/users/christianllv/gists{/gist_id}", + "starred_url": "https://api.github.com/users/christianllv/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/christianllv/subscriptions", + "organizations_url": "https://api.github.com/users/christianllv/orgs", + "repos_url": "https://api.github.com/users/christianllv/repos", + "events_url": "https://api.github.com/users/christianllv/events{/privacy}", + "received_events_url": "https://api.github.com/users/christianllv/received_events", + "type": "User", + "site_admin": false, + "contributions": 79 + }, + { + "login": "dwatklnsweb", + "id": 94058928, + "node_id": "U_kgDOBZs5sA", + "avatar_url": "https://avatars.githubusercontent.com/u/94058928?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/dwatklnsweb", + "html_url": "https://github.com/dwatklnsweb", + "followers_url": "https://api.github.com/users/dwatklnsweb/followers", + "following_url": "https://api.github.com/users/dwatklnsweb/following{/other_user}", + "gists_url": "https://api.github.com/users/dwatklnsweb/gists{/gist_id}", + "starred_url": "https://api.github.com/users/dwatklnsweb/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/dwatklnsweb/subscriptions", + "organizations_url": "https://api.github.com/users/dwatklnsweb/orgs", + "repos_url": "https://api.github.com/users/dwatklnsweb/repos", + "events_url": "https://api.github.com/users/dwatklnsweb/events{/privacy}", + "received_events_url": "https://api.github.com/users/dwatklnsweb/received_events", + "type": "User", + "site_admin": false, + "contributions": 3 + } + ] \ No newline at end of file diff --git a/test/fixtures/data-mocks/github-releases.json b/test/fixtures/data-mocks/github-releases.json new file mode 100644 index 0000000..f3bc8de --- /dev/null +++ b/test/fixtures/data-mocks/github-releases.json @@ -0,0 +1,1252 @@ +[ + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/110791160", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/110791160/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/110791160/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.10", + "id": 110791160, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4Gmon4", + "tag_name": "v1.9.10", + "target_commitish": "main", + "name": "v1.9.10", + "draft": false, + "prerelease": false, + "created_at": "2023-07-02T21:05:50Z", + "published_at": "2023-07-02T21:06:40Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.10", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.10", + "body": "## What's Changed\r\n* upgrading typescript ts-node and @types/node to latest by @jaredwray in https://github.com/jaredwray/writr/pull/188\r\n* upgrading ecto to 2.1.12 by @jaredwray in https://github.com/jaredwray/writr/pull/189\r\n* upgrading commander to 11.0.0 by @jaredwray in https://github.com/jaredwray/writr/pull/190\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.9...v1.9.10", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/105715025", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/105715025/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/105715025/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.9", + "id": 105715025, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4GTRVR", + "tag_name": "v1.9.9", + "target_commitish": "main", + "name": "v1.9.9", + "draft": false, + "prerelease": false, + "created_at": "2023-06-01T16:35:59Z", + "published_at": "2023-06-01T16:36:17Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.9", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.9", + "body": "## What's Changed\r\n* upgrading ecto to 2.1.11 by @jaredwray in https://github.com/jaredwray/writr/pull/183\r\n* upgrading @types/node to 20.2.5 by @jaredwray in https://github.com/jaredwray/writr/pull/184\r\n* upgrading winston to 3.9.0 by @jaredwray in https://github.com/jaredwray/writr/pull/185\r\n* upgrading browser-sync to 2.29.3 by @jaredwray in https://github.com/jaredwray/writr/pull/186\r\n* upgrading types to the latest by @jaredwray in https://github.com/jaredwray/writr/pull/187\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.8...v1.9.9", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/101505551", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/101505551/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/101505551/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.8", + "id": 101505551, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4GDNoP", + "tag_name": "v1.9.8", + "target_commitish": "main", + "name": "v1.9.8", + "draft": false, + "prerelease": false, + "created_at": "2023-05-01T22:08:22Z", + "published_at": "2023-05-01T22:08:45Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.8", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.8", + "body": "## What's Changed\r\n* upgrading typescript and types to latest by @jaredwray in https://github.com/jaredwray/writr/pull/178\r\n* upgrading parse-json to 7.0.0 by @jaredwray in https://github.com/jaredwray/writr/pull/179\r\n* upgrading ecto to 2.1.10 by @jaredwray in https://github.com/jaredwray/writr/pull/180\r\n* upgrading commander to 10.0.1 by @jaredwray in https://github.com/jaredwray/writr/pull/181\r\n* upgrading axios to 1.4.0 by @jaredwray in https://github.com/jaredwray/writr/pull/182\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.6...v1.9.8", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/97774135", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/97774135/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/97774135/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.6", + "id": 97774135, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4F0-o3", + "tag_name": "v1.9.6", + "target_commitish": "main", + "name": "v1.9.6", + "draft": false, + "prerelease": false, + "created_at": "2023-04-02T18:39:36Z", + "published_at": "2023-04-02T18:40:06Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.6", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.6", + "body": "## What's Changed\r\n* upgrading typescript to 4.9.5 by @jaredwray in https://github.com/jaredwray/writr/pull/165\r\n* upgrading @types/node on mono project by @jaredwray in https://github.com/jaredwray/writr/pull/166\r\n* upgrading jest to 29.4.3 by @jaredwray in https://github.com/jaredwray/writr/pull/167\r\n* upgrading ecto to 2.1.8 by @jaredwray in https://github.com/jaredwray/writr/pull/168\r\n* upgrading browser-sync to 2.28.1 by @jaredwray in https://github.com/jaredwray/writr/pull/169\r\n* upgrading axios to 1.3.4 by @jaredwray in https://github.com/jaredwray/writr/pull/170\r\n* upgrading @types/node to 18.14.2 by @jaredwray in https://github.com/jaredwray/writr/pull/171\r\n* upgrading typescript to 5.0.3 by @jaredwray in https://github.com/jaredwray/writr/pull/172\r\n* upgrading jest to 29.5.0 by @jaredwray in https://github.com/jaredwray/writr/pull/173\r\n* upgrading luxon to 3.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/174\r\n* upgrading ecto to 2.1.9 by @jaredwray in https://github.com/jaredwray/writr/pull/175\r\n* upgrading fs-extra to 11.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/176\r\n* upgrading browser-sync to 2.29.1 by @jaredwray in https://github.com/jaredwray/writr/pull/177\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.5...v1.9.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/90533319", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/90533319/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/90533319/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.5", + "id": 90533319, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4FZW3H", + "tag_name": "v1.9.5", + "target_commitish": "main", + "name": "v1.9.5", + "draft": false, + "prerelease": false, + "created_at": "2023-01-28T18:32:33Z", + "published_at": "2023-01-28T18:34:13Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.5", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.5", + "body": "## What's Changed\r\n* handling remove on directory better by @jaredwray in https://github.com/jaredwray/writr/pull/157\r\n* upgrading commander to 9.5.0 by @jaredwray in https://github.com/jaredwray/writr/pull/158\r\n* upgrading ts-jest to 29.0.5 by @jaredwray in https://github.com/jaredwray/writr/pull/159\r\n* upgrading luxon to 3.2.1 by @jaredwray in https://github.com/jaredwray/writr/pull/160\r\n* upgrading jest to 29.4.1 by @jaredwray in https://github.com/jaredwray/writr/pull/161\r\n* upgrading ecto to 2.1.7 by @jaredwray in https://github.com/jaredwray/writr/pull/162\r\n* upgrading axios to 1.2.6 by @jaredwray in https://github.com/jaredwray/writr/pull/163\r\n* upgrading commander to 10.0.0 by @jaredwray in https://github.com/jaredwray/writr/pull/164\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.4...v1.9.5", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/87470498", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/87470498/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/87470498/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.4", + "id": 87470498, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4FNrGi", + "tag_name": "v1.9.4", + "target_commitish": "main", + "name": "v1.9.4", + "draft": false, + "prerelease": false, + "created_at": "2022-12-28T22:47:36Z", + "published_at": "2022-12-28T22:51:03Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.4", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.4", + "body": "## What's Changed\r\n* migration to mono repo by @jaredwray in https://github.com/jaredwray/writr/pull/148\r\n* adding in templates for issues by @jaredwray in https://github.com/jaredwray/writr/pull/149\r\n* upgrading typescript to 4.9.4 by @jaredwray in https://github.com/jaredwray/writr/pull/150\r\n* upgrading html-to-markdown to 1.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/151\r\n* upgrading luxon to 3.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/152\r\n* upgrading fs-extra to 11.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/153\r\n* upgrading ecto to 2.1.5 by @jaredwray in https://github.com/jaredwray/writr/pull/154\r\n* upgrading browser-sync to 2.27.11 by @jaredwray in https://github.com/jaredwray/writr/pull/155\r\n* upgrading axios to 1.2.1 by @jaredwray in https://github.com/jaredwray/writr/pull/156\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.3...v1.9.4", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/84474625", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/84474625/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/84474625/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.3", + "id": 84474625, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4FCPsB", + "tag_name": "v1.9.3", + "target_commitish": "main", + "name": "v1.9.3", + "draft": false, + "prerelease": false, + "created_at": "2022-11-29T16:19:45Z", + "published_at": "2022-11-29T16:35:50Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.3", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.3", + "body": "## What's Changed\r\n* upgrading typescript to 4.9.3 by @jaredwray in https://github.com/jaredwray/writr/pull/141\r\n* upgrading luxon to 3.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/142\r\n* upgrading keyv to 4.5.2 by @jaredwray in https://github.com/jaredwray/writr/pull/143\r\n* upgrading jest to 29.3.1 by @jaredwray in https://github.com/jaredwray/writr/pull/145\r\n* upgrading ecto to 2.1.4 by @jaredwray in https://github.com/jaredwray/writr/pull/146\r\n* upgrading fs-extra to 11.0.0 by @jaredwray in https://github.com/jaredwray/writr/pull/147\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.2...v1.9.3", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/81369843", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/81369843/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/81369843/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.2", + "id": 81369843, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4E2Zrz", + "tag_name": "v1.9.2", + "target_commitish": "main", + "name": "v1.9.2", + "draft": false, + "prerelease": false, + "created_at": "2022-10-28T16:10:56Z", + "published_at": "2022-10-28T16:11:25Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.2", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.2", + "body": "## What's Changed\r\n* Esm issue by @alphmth in https://github.com/jaredwray/writr/pull/132\r\n* upgrading typescript to 4.8.4 by @jaredwray in https://github.com/jaredwray/writr/pull/133\r\n* upgrading jest to 29.2.2 by @jaredwray in https://github.com/jaredwray/writr/pull/134\r\n* upgrading node-html-markdown to 1.2.2 by @jaredwray in https://github.com/jaredwray/writr/pull/135\r\n* upgrading ecto to 2.1.3 by @jaredwray in https://github.com/jaredwray/writr/pull/136\r\n* upgrading commander to 9.4.1 by @jaredwray in https://github.com/jaredwray/writr/pull/137\r\n* upgrading axios to 1.1.3 by @jaredwray in https://github.com/jaredwray/writr/pull/139\r\n* upgrading types node and luxon to latest by @jaredwray in https://github.com/jaredwray/writr/pull/140\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.1...v1.9.2", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/78315537", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/78315537/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/78315537/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.1", + "id": 78315537, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4EqwAR", + "tag_name": "v1.9.1", + "target_commitish": "main", + "name": "v1.9.1", + "draft": false, + "prerelease": false, + "created_at": "2022-09-27T15:41:53Z", + "published_at": "2022-09-27T15:42:31Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.1", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.1", + "body": "## What's Changed\r\n* upgrading to ecto 2.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/121\r\n* upgrading keyv to 4.4.1 by @jaredwray in https://github.com/jaredwray/writr/pull/122\r\n* upgrading typescript and jest to latest by @jaredwray in https://github.com/jaredwray/writr/pull/123\r\n* migrate to esm by @alphmth in https://github.com/jaredwray/writr/pull/124\r\n* upgrading typescript to 4.8.3 by @jaredwray in https://github.com/jaredwray/writr/pull/125\r\n* upgrading winston to 3.8.2 by @jaredwray in https://github.com/jaredwray/writr/pull/126\r\n* upgrading jest and ts-jest to latest by @jaredwray in https://github.com/jaredwray/writr/pull/127\r\n* upgrading luxon to 3.0.4 by @jaredwray in https://github.com/jaredwray/writr/pull/128\r\n* upgrading keyv to 4.5.0 by @jaredwray in https://github.com/jaredwray/writr/pull/129\r\n* upgrading ecto to 2.1.2 by @jaredwray in https://github.com/jaredwray/writr/pull/130\r\n\r\n## New Contributors\r\n* @alphmth made their first contribution in https://github.com/jaredwray/writr/pull/124\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.9.0...v1.9.1", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/74534382", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/74534382/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/74534382/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.9.0", + "id": 74534382, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4EcU3u", + "tag_name": "v1.9.0", + "target_commitish": "main", + "name": "v1.9.0", + "draft": false, + "prerelease": false, + "created_at": "2022-08-16T15:54:51Z", + "published_at": "2022-08-16T15:55:20Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.9.0", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.9.0", + "body": "## What's Changed\r\n* upgrading ecto to 2.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/119\r\n* upgrading ts-jest and types to latest by @jaredwray in https://github.com/jaredwray/writr/pull/120\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.8.9...v1.9.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/72703832", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/72703832/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/72703832/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.8.9", + "id": 72703832, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4EVV9Y", + "tag_name": "v1.8.9", + "target_commitish": "main", + "name": "v1.8.9", + "draft": false, + "prerelease": false, + "created_at": "2022-07-24T17:26:17Z", + "published_at": "2022-07-24T17:26:50Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.8.9", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.8.9", + "body": "## What's Changed\r\n* upgrading cheerio to 1.0.0-rc.12 by @jaredwray in https://github.com/jaredwray/writr/pull/112\r\n* upgrading commander to 9.4.0 by @jaredwray in https://github.com/jaredwray/writr/pull/113\r\n* upgrading ecto to 2.0.2 by @jaredwray in https://github.com/jaredwray/writr/pull/114\r\n* upgrading keyv to 4.3.3 by @jaredwray in https://github.com/jaredwray/writr/pull/115\r\n* upgrading luxon to 3.0.1 by @jaredwray in https://github.com/jaredwray/writr/pull/116\r\n* upgrading winston to 3.8.1 by @jaredwray in https://github.com/jaredwray/writr/pull/117\r\n* upgrading jest and node frameworks to latest by @jaredwray in https://github.com/jaredwray/writr/pull/118\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.8.8...v1.8.9", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/69943751", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/69943751/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/69943751/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.8.8", + "id": 69943751, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4EK0HH", + "tag_name": "v1.8.8", + "target_commitish": "main", + "name": "v1.8.8", + "draft": false, + "prerelease": false, + "created_at": "2022-06-21T14:59:20Z", + "published_at": "2022-06-21T14:59:51Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.8.8", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.8.8", + "body": "## What's Changed\r\n* switch from got to axios by @barficus in https://github.com/jaredwray/writr/pull/106\r\n* upgrading to nodejs version 18 as the default by @jaredwray in https://github.com/jaredwray/writr/pull/107\r\n* upgrading typescript and jest to latest by @jaredwray in https://github.com/jaredwray/writr/pull/108\r\n* upgrading keyv to version 4.3.1 by @jaredwray in https://github.com/jaredwray/writr/pull/109\r\n* upgrading commander to version 9.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/110\r\n* upgrading ecto to version 2.0.1 by @jaredwray in https://github.com/jaredwray/writr/pull/111\r\n\r\n## New Contributors\r\n* @barficus made their first contribution in https://github.com/jaredwray/writr/pull/106\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.8.6...v1.8.8", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/67819724", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/67819724/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/67819724/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.8.6", + "id": 67819724, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4ECtjM", + "tag_name": "v1.8.6", + "target_commitish": "main", + "name": "v1.8.6", + "draft": false, + "prerelease": false, + "created_at": "2022-05-25T16:24:31Z", + "published_at": "2022-05-25T16:25:41Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.8.6", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.8.6", + "body": "## What's Changed\r\n* upgrading browser-sync to version 2.27.10 by @jaredwray in https://github.com/jaredwray/writr/pull/97\r\n* upgrading ecto to version 1.2.3 by @jaredwray in https://github.com/jaredwray/writr/pull/98\r\n* upgrading cheerio to version 1.0.0-rc.11 by @jaredwray in https://github.com/jaredwray/writr/pull/99\r\n* upgrading inquirer to version 8.2.4 by @jaredwray in https://github.com/jaredwray/writr/pull/100\r\n* Moving to support Node 14, 16, and 18 (removed 12) by @jaredwray in https://github.com/jaredwray/writr/pull/101\r\n* upgrading keyv to version 4.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/102\r\n* upgrading luxon to version 2.4.0 by @jaredwray in https://github.com/jaredwray/writr/pull/103\r\n* upgrading jest and dependencies to latest by @jaredwray in https://github.com/jaredwray/writr/pull/104\r\n* updating luxon types to latest by @jaredwray in https://github.com/jaredwray/writr/pull/105\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.8.5...v1.8.6", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/65178717", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/65178717/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/65178717/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.8.5", + "id": 65178717, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4D4oxd", + "tag_name": "v1.8.5", + "target_commitish": "main", + "name": "v1.8.5", + "draft": false, + "prerelease": false, + "created_at": "2022-04-24T20:58:05Z", + "published_at": "2022-04-24T20:58:55Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.8.5", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.8.5", + "body": "## What's Changed\r\n* fix: promise resolve in index test by @christianllv in https://github.com/jaredwray/writr/pull/82\r\n* feat: add medium migration by @christianllv in https://github.com/jaredwray/writr/pull/81\r\n* feat: add got instead axios by @christianllv in https://github.com/jaredwray/writr/pull/84\r\n* feat: add serve and watch command by @christianllv in https://github.com/jaredwray/writr/pull/83\r\n* Updating blog example by @jaredwray in https://github.com/jaredwray/writr/pull/85\r\n* upgrading commander to 9.2.0 by @jaredwray in https://github.com/jaredwray/writr/pull/86\r\n* upgrading ecto to version 1.2.2 by @jaredwray in https://github.com/jaredwray/writr/pull/87\r\n* upgrading fs-extra to version 10.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/88\r\n* upgrading keyv to version 4.2.2 by @jaredwray in https://github.com/jaredwray/writr/pull/90\r\n* Create CodeQL.yml by @jaredwray in https://github.com/jaredwray/writr/pull/91\r\n* upgrading luxon to version 2.3.2 by @jaredwray in https://github.com/jaredwray/writr/pull/92\r\n* upgrading node-html-markdown to version 1.2.0 by @jaredwray in https://github.com/jaredwray/writr/pull/93\r\n* upgrading winston to version 3.7.2 by @jaredwray in https://github.com/jaredwray/writr/pull/94\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.8.0...v1.8.5", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/62947619", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/62947619/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/62947619/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.8.0", + "id": 62947619, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DwIEj", + "tag_name": "v1.8.0", + "target_commitish": "main", + "name": "v1.8.0", + "draft": false, + "prerelease": false, + "created_at": "2022-03-28T17:29:02Z", + "published_at": "2022-03-28T17:30:29Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.8.0", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.8.0", + "body": "## What's Changed\r\n* feat: convert jekyll migration to writr format by @christianllv in https://github.com/jaredwray/writr/pull/54\r\n* feat: convert WordPress migration to Writr format by @christianllv in https://github.com/jaredwray/writr/pull/55\r\n* feat: add WordPress tags fetching by @christianllv in https://github.com/jaredwray/writr/pull/56\r\n* feat: add Ghost to Writr migration feature by @christianllv in https://github.com/jaredwray/writr/pull/57\r\n* upgrading typescript to version 4.6.2 by @jaredwray in https://github.com/jaredwray/writr/pull/62\r\n* upgrading ts-node to version 10.7.0 by @jaredwray in https://github.com/jaredwray/writr/pull/63\r\n* upgrading types to latest versions by @jaredwray in https://github.com/jaredwray/writr/pull/65\r\n* upgrading luxon to version 2.3.1 by @jaredwray in https://github.com/jaredwray/writr/pull/67\r\n* upgrading fs-extra to version 10.0.1 by @jaredwray in https://github.com/jaredwray/writr/pull/68\r\n* feat: replace node-fetch for axios by @christianllv in https://github.com/jaredwray/writr/pull/69\r\n* feat: add init command by @christianllv in https://github.com/jaredwray/writr/pull/72\r\n* feat: add new markdown command by @christianllv in https://github.com/jaredwray/writr/pull/73\r\n* upgrading typescript to version 4.6.3 by @jaredwray in https://github.com/jaredwray/writr/pull/74\r\n* upgrading ts-jest and types to latest by @jaredwray in https://github.com/jaredwray/writr/pull/75\r\n* upgrading inquirer to version 8.2.2 by @jaredwray in https://github.com/jaredwray/writr/pull/76\r\n* upgrading commander to version 9.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/77\r\n* upgrading ecto to version 1.2.1 by @jaredwray in https://github.com/jaredwray/writr/pull/78\r\n\r\n## New Contributors\r\n* @christianllv made their first contribution in https://github.com/jaredwray/writr/pull/54\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.7.1...v1.8.0", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/59670005", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/59670005/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/59670005/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.7.1", + "id": 59670005, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4Djn31", + "tag_name": "v1.7.1", + "target_commitish": "main", + "name": "v1.7.1", + "draft": false, + "prerelease": false, + "created_at": "2022-02-16T06:09:24Z", + "published_at": "2022-02-16T06:11:37Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.7.1", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.7.1", + "body": "## What's Changed\r\n* upgrading jest to version 27.5.1 by @jaredwray in https://github.com/jaredwray/writr/pull/49\r\n* upgrading winston to version 3.6.0 by @jaredwray in https://github.com/jaredwray/writr/pull/50\r\n* upgrading keyv to version 4.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/51\r\n* upgrading ecto to version 1.2.0 by @jaredwray in https://github.com/jaredwray/writr/pull/52\r\n* upgrading commander to version 9.0.0 by @jaredwray in https://github.com/jaredwray/writr/pull/53\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.7.0...v1.7.1", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/57622872", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/57622872/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/57622872/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.7.0", + "id": 57622872, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4Db0FY", + "tag_name": "v1.7.0", + "target_commitish": "main", + "name": "v1.7.0 - ecto, typescript, jest, and winston updated", + "draft": false, + "prerelease": false, + "created_at": "2022-01-20T23:27:26Z", + "published_at": "2022-01-20T23:28:22Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.7.0", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.7.0", + "body": "## What's Changed\r\n* upgrading ecto to version 1.1.3 by @jaredwray in https://github.com/jaredwray/writr/pull/44\r\n* upgrading typescript to version 4.5.5 by @jaredwray in https://github.com/jaredwray/writr/pull/45\r\n* upgrading ts-jest to version 27.1.3 by @jaredwray in https://github.com/jaredwray/writr/pull/46\r\n* upgrading @types/node to version 17.0.10 by @jaredwray in https://github.com/jaredwray/writr/pull/47\r\n* upgrading winston to version 3.4.0 by @jaredwray in https://github.com/jaredwray/writr/pull/48\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.9...v1.7.0", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/56692282", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/56692282/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/56692282/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.9", + "id": 56692282, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DYQ46", + "tag_name": "v1.6.9", + "target_commitish": "main", + "name": "v1.6.9 - Removing winston and codecov, upgrading ecto, jest, luxon, and keyv", + "draft": false, + "prerelease": false, + "created_at": "2022-01-09T16:14:31Z", + "published_at": "2022-01-09T16:15:41Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.9", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.9", + "body": "## What's Changed\r\n* removing @types/winston as no longer needed by @jaredwray in https://github.com/jaredwray/writr/pull/37\r\n* removing codecov library as no longer needed by @jaredwray in https://github.com/jaredwray/writr/pull/38\r\n* upgrading @types/node to version 17.0.8 by @jaredwray in https://github.com/jaredwray/writr/pull/39\r\n* upgrading luxon to version 2.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/40\r\n* upgrading jest to version 27.4.7 by @jaredwray in https://github.com/jaredwray/writr/pull/41\r\n* upgrading keyv to version 4.0.5 by @jaredwray in https://github.com/jaredwray/writr/pull/42\r\n* upgrading ecto to version 1.1.2 by @jaredwray in https://github.com/jaredwray/writr/pull/43\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.8...v1.6.9", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/55694159", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/55694159/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/55694159/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.8", + "id": 55694159, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DUdNP", + "tag_name": "v1.6.8", + "target_commitish": "main", + "name": "v1.6.8 - Updating Luxon, Ecto, Parse-Json, and more", + "draft": false, + "prerelease": false, + "created_at": "2021-12-20T18:55:31Z", + "published_at": "2021-12-20T18:56:51Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.8", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.8", + "body": "## What's Changed\r\n* moving to npm vs yarn by @jaredwray in https://github.com/jaredwray/writr/pull/30\r\n* upgrading ecto to version 1.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/31\r\n* upgrading luxon to version 2.2.0 by @jaredwray in https://github.com/jaredwray/writr/pull/32\r\n* upgrading jest to version 27.4.5 by @jaredwray in https://github.com/jaredwray/writr/pull/33\r\n* upgrading typescript to version 4.5.4 by @jaredwray in https://github.com/jaredwray/writr/pull/34\r\n* upgrading parse-json to version 6.0.2 by @jaredwray in https://github.com/jaredwray/writr/pull/35\r\n* upgrading source-map-support to version 0.5.21 by @jaredwray in https://github.com/jaredwray/writr/pull/36\r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.7...v1.6.8", + "mentions_count": 1 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/54346331", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/54346331/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/54346331/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.7", + "id": 54346331, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DPUJb", + "tag_name": "v1.6.7", + "target_commitish": "main", + "name": "Fixing atom and json feeds", + "draft": false, + "prerelease": false, + "created_at": "2021-11-30T17:53:11Z", + "published_at": "2021-11-30T17:55:19Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.7", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.7", + "body": "**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.6...v1.6.7" + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/54344081", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/54344081/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/54344081/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.6", + "id": 54344081, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DPTmR", + "tag_name": "v1.6.6", + "target_commitish": "main", + "name": "Updating Versioning", + "draft": false, + "prerelease": false, + "created_at": "2021-11-30T17:24:09Z", + "published_at": "2021-11-30T17:24:34Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.6", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.6", + "body": "**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.5...v1.6.6" + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/53665766", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/53665766/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/53665766/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.5", + "id": 53665766, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DMt_m", + "tag_name": "v1.6.5", + "target_commitish": "main", + "name": "Removal of Markdown-it and a tons of updates", + "draft": false, + "prerelease": false, + "created_at": "2021-11-18T18:51:46Z", + "published_at": "2021-11-18T18:52:57Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.5", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.5", + "body": "## What's Changed\r\n* Upgrading ecto to version 1.1.0 by @jaredwray in https://github.com/jaredwray/writr/pull/19\r\n* adding in support on build for 12, 14, and 16 by @jaredwray in https://github.com/jaredwray/writr/pull/20\r\n* upgrading typescript and ts-node to latest by @jaredwray in https://github.com/jaredwray/writr/pull/21\r\n* upgrading jest and ts-jest to latest by @jaredwray in https://github.com/jaredwray/writr/pull/22\r\n* upgrading parse-json to 6.0.1 by @jaredwray in https://github.com/jaredwray/writr/pull/23\r\n* upgrading luxon to version 2.1.1 by @jaredwray in https://github.com/jaredwray/writr/pull/24\r\n* upgrading keyv to version 4.0.4 by @jaredwray in https://github.com/jaredwray/writr/pull/25\r\n* upgrading commander to version 8.3.0 by @jaredwray in https://github.com/jaredwray/writr/pull/26\r\n* updating @types by @jaredwray in https://github.com/jaredwray/writr/pull/27\r\n* Moving to ecto from markdown it by @jaredwray in https://github.com/jaredwray/writr/pull/28\r\n* updating build and release to a single name by @jaredwray in https://github.com/jaredwray/writr/pull/29\r\n\r\n๐Ÿฅ‡ \r\n\r\n\r\n**Full Changelog**: https://github.com/jaredwray/writr/compare/v1.6.1...v1.6.5", + "mentions_count": 2 + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/50439971", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/50439971/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/50439971/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.1", + "id": 50439971, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "RE_kwDOB9lAkM4DAacj", + "tag_name": "v1.6.1", + "target_commitish": "main", + "name": "September Maintenance Release! ", + "draft": false, + "prerelease": false, + "created_at": "2021-09-29T02:50:19Z", + "published_at": "2021-09-29T02:55:30Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.1", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.1", + "body": "September maintenance release of Writr comes with the following upgrades:\r\n- ecto upgrade to 1.0.8\r\n- typescript upgraded to 4.4.3\r\n- jest and types upgraded to their latest\r\n\r\nDownload via NPM --> https://www.npmjs.com/package/writr" + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/48453806", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/48453806/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/48453806/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.6.0", + "id": 48453806, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQ4NDUzODA2", + "tag_name": "v1.6.0", + "target_commitish": "main", + "name": "August Maintenance Release", + "draft": false, + "prerelease": false, + "created_at": "2021-08-25T19:08:42Z", + "published_at": "2021-08-25T19:14:54Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.6.0", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.6.0", + "body": "Writr v1.6 maintenance release is now live with the following updates:\r\n- Jest and ts-node for testing environment upgraded.\r\n- Markdown-it now upgraded to 12.2\r\n- Ecto upgraded to 1.0.7\r\n- Luxon upgraded to 2.0.2\r\n\r\nAdditional minor fixes around parsing have also been added and tested end to end. " + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/46733695", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/46733695/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/46733695/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.9", + "id": 46733695, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQ2NzMzNjk1", + "tag_name": "v1.5.9", + "target_commitish": "main", + "name": "Luxon updated and other modules", + "draft": false, + "prerelease": false, + "created_at": "2021-07-25T16:46:03Z", + "published_at": "2021-07-25T16:49:27Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.9", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.9", + "body": "" + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/46010534", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/46010534/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/46010534/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.8", + "id": 46010534, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQ2MDEwNTM0", + "tag_name": "v1.5.8", + "target_commitish": "main", + "name": "Posts now have a Description and Node Package Updates", + "draft": false, + "prerelease": false, + "created_at": "2021-07-10T21:48:40Z", + "published_at": "2021-07-10T21:48:56Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.8", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.8", + "body": "Posts now contain a `description` field that is based on the matter.description or if that is not set it uses `Post.summary` and then strips the html tags from it. " + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/43092043", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/43092043/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/43092043/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.5", + "id": 43092043, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQzMDkyMDQz", + "tag_name": "v1.5.5", + "target_commitish": "main", + "name": "Monthly Update of Modules and Clean Up", + "draft": false, + "prerelease": false, + "created_at": "2021-05-17T23:18:48Z", + "published_at": "2021-05-17T23:23:06Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.5", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.5", + "body": "This month was more of a code update and clean up ๐Ÿงผ but is always needed. The following modules were updated:\r\n- ts-jest\r\n- @types/node\r\n- cheerio\r\n- fs-extra\r\n- luxon and @types/luxon\r\n- codecov\r\n- @types/jest\r\n\r\nIn addition we removed some code and config that is no longer used. ๐ŸŽ‰ " + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/41731034", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/41731034/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/41731034/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.4", + "id": 41731034, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQxNzMxMDM0", + "tag_name": "v1.5.4", + "target_commitish": "main", + "name": "Migration to Luxon from Moment ", + "draft": false, + "prerelease": false, + "created_at": "2021-04-20T18:00:56Z", + "published_at": "2021-04-20T18:07:40Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.4", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.4", + "body": "" + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/41730701", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/41730701/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/41730701/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.3", + "id": 41730701, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQxNzMwNzAx", + "tag_name": "v1.5.3", + "target_commitish": "main", + "name": "Migration to Luxon from Moment", + "draft": false, + "prerelease": false, + "created_at": "2021-04-18T06:02:08Z", + "published_at": "2021-04-20T18:00:21Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.3", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.3", + "body": "Moving to Luxon from Moment." + }, + { + "url": "https://api.github.com/repos/jaredwray/writr/releases/40126985", + "assets_url": "https://api.github.com/repos/jaredwray/writr/releases/40126985/assets", + "upload_url": "https://uploads.github.com/repos/jaredwray/writr/releases/40126985/assets{?name,label}", + "html_url": "https://github.com/jaredwray/writr/releases/tag/v1.5.2", + "id": 40126985, + "author": { + "login": "jaredwray", + "id": 1205481, + "node_id": "MDQ6VXNlcjEyMDU0ODE=", + "avatar_url": "https://avatars.githubusercontent.com/u/1205481?v=4", + "gravatar_id": "", + "url": "https://api.github.com/users/jaredwray", + "html_url": "https://github.com/jaredwray", + "followers_url": "https://api.github.com/users/jaredwray/followers", + "following_url": "https://api.github.com/users/jaredwray/following{/other_user}", + "gists_url": "https://api.github.com/users/jaredwray/gists{/gist_id}", + "starred_url": "https://api.github.com/users/jaredwray/starred{/owner}{/repo}", + "subscriptions_url": "https://api.github.com/users/jaredwray/subscriptions", + "organizations_url": "https://api.github.com/users/jaredwray/orgs", + "repos_url": "https://api.github.com/users/jaredwray/repos", + "events_url": "https://api.github.com/users/jaredwray/events{/privacy}", + "received_events_url": "https://api.github.com/users/jaredwray/received_events", + "type": "User", + "site_admin": false + }, + "node_id": "MDc6UmVsZWFzZTQwMTI2OTg1", + "tag_name": "v1.5.2", + "target_commitish": "main", + "name": "Ecto Upgrade", + "draft": false, + "prerelease": false, + "created_at": "2021-03-21T19:28:26Z", + "published_at": "2021-03-21T19:29:50Z", + "assets": [ + + ], + "tarball_url": "https://api.github.com/repos/jaredwray/writr/tarball/v1.5.2", + "zipball_url": "https://api.github.com/repos/jaredwray/writr/zipball/v1.5.2", + "body": "" + } + ] \ No newline at end of file diff --git a/test/github.test.ts b/test/github.test.ts new file mode 100644 index 0000000..7f9b3ec --- /dev/null +++ b/test/github.test.ts @@ -0,0 +1,122 @@ +import {afterEach, describe, expect, it, vi} from 'vitest'; +import axios from 'axios'; +import {Github, type GithubOptions} from '../src/github.js'; +import githubMockContributors from './fixtures/data-mocks/github-contributors.json'; +import githubMockReleases from './fixtures/data-mocks/github-releases.json'; + +const defaultOptions: GithubOptions = { + api: 'https://api.github.com', + author: 'jaredwray', + repo: 'writr', +}; + +vi.mock('axios'); + +describe('Github', () => { + afterEach(() => { + // Reset the mock after each test + vi.resetAllMocks(); + }); + + it('should be able to initialize', () => { + const github = new Github(defaultOptions); + expect(github).toBeDefined(); + }); + it('should be able to have default options', () => { + const newOptions: GithubOptions = { + api: undefined, + author: 'jaredwray1', + repo: 'writr1', + }; + const github = new Github(newOptions); + expect(github.options.api).toEqual(defaultOptions.api); + expect(github.options.author).toEqual(newOptions.author); + expect(github.options.repo).toEqual(newOptions.repo); + }); + it('should be able to get the contributors', async () => { + const github = new Github(defaultOptions); + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockResolvedValue({data: githubMockContributors}); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const result = await github.getContributors(); + expect(result).toBeDefined(); + }); + it('should be throw an error on 404', async () => { + const github = new Github(defaultOptions); + const errorResponse = { + response: { + status: 404, + data: 'Not Found', + }, + }; + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockRejectedValue(errorResponse); + + await expect(github.getContributors()).rejects.toThrow(`Repository ${defaultOptions.author}/${defaultOptions.repo} not found.`); + }); + it('should be throw an error', async () => { + const github = new Github(defaultOptions); + const errorResponse = { + response: { + status: 500, + data: 'Server Error', + }, + }; + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockRejectedValue(errorResponse); + + await expect(github.getContributors()).rejects.toThrow(); + }); + it('should be able to get the releases', async () => { + const github = new Github(defaultOptions); + + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockResolvedValue({data: githubMockReleases}); + // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment + const result = await github.getReleases(); + + expect(result).toBeDefined(); + }); + it('should be throw an error on 404', async () => { + const github = new Github(defaultOptions); + const errorResponse = { + response: { + status: 404, + data: 'Not Found', + }, + }; + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockRejectedValue(errorResponse); + + await expect(github.getReleases()).rejects.toThrow(`Repository ${defaultOptions.author}/${defaultOptions.repo} not found.`); + }); + it('should be throw an error', async () => { + const github = new Github(defaultOptions); + const errorResponse = { + response: { + status: 500, + data: 'Server Error', + }, + }; + // @ts-expect-error - mock + // eslint-disable-next-line @typescript-eslint/no-unsafe-call + axios.get.mockRejectedValue(errorResponse); + + await expect(github.getReleases()).rejects.toThrow(); + }); + it('should be able to get the data', async () => { + const github = new Github(defaultOptions); + const githubReleases = vi.spyOn(github, 'getReleases').mockResolvedValue(githubMockReleases); + const githubContributors = vi.spyOn(github, 'getContributors').mockResolvedValue(githubMockContributors); + + const result = await github.getData(); + expect(result).toBeDefined(); + githubReleases.mockRestore(); + githubContributors.mockRestore(); + }); +});