diff --git a/packages/api/.env b/packages/api/.env
index 3e21580..d43f360 100644
--- a/packages/api/.env
+++ b/packages/api/.env
@@ -1,2 +1,3 @@
+GITHUB_TOKEN=?
MAIL_PASS=?
MAIL_USER=?
diff --git a/packages/api/package.json b/packages/api/package.json
index 51e5d32..b891661 100644
--- a/packages/api/package.json
+++ b/packages/api/package.json
@@ -13,7 +13,8 @@
"dotenv": "^16.0.3",
"fastify": "^4.8.1",
"node-fetch": "^2.6.7",
- "nodemailer": "^6.8.0"
+ "nodemailer": "^6.8.0",
+ "octokit": "^2.0.9"
},
"devDependencies": {
"@tsconfig/node16": "^1.0.3",
diff --git a/packages/api/src/routes/v2/report.ts b/packages/api/src/routes/v2/report.ts
index 06ec612..b338083 100644
--- a/packages/api/src/routes/v2/report.ts
+++ b/packages/api/src/routes/v2/report.ts
@@ -1,5 +1,6 @@
import { FastifyInstance, RouteShorthandOptions } from 'fastify';
-import { sendMail } from 'services/mailing';
+import environment from 'services/environment';
+import { octokit } from 'services/octokit';
type PostReportBody = {
reason?: string;
@@ -34,13 +35,40 @@ export default (server: FastifyInstance, options: RouteShorthandOptions, done: (
},
},
async (request, reply) => {
- const { reason = 'Unknown', url, userAgent = 'Unknown', version } = request.body;
- const html = `Site: ${url}
Reason: ${reason}
User-Agent: ${userAgent}
Version: ${version}`;
- const subject = 'Cookie Dialog Monster Report';
- const to = 'hello@wanhose.dev';
+ try {
+ const issues = await octokit.request('GET /repos/{owner}/{repo}/issues', {
+ owner: environment.github.owner,
+ repo: environment.github.repo,
+ });
+ const url = new URL(request.body.url).hostname
+ .split('.')
+ .slice(-3)
+ .join('.')
+ .replace('www.', '');
- sendMail({ html, to, subject });
- reply.send({ success: true });
+ if (issues.data.some((issue) => issue.title.includes(url))) {
+ throw new Error();
+ }
+
+ await octokit.request('POST /repos/{owner}/{repo}/issues', {
+ assignees: [environment.github.owner],
+ body: [
+ '## Specifications',
+ `- Reason: ${request.body.reason ?? '-'}`,
+ `- URL: ${request.body.url}`,
+ `- User-Agent: ${request.body.userAgent ?? '-'}`,
+ `- Version: ${request.body.version}`,
+ ].join('\n'),
+ labels: ['bug'],
+ owner: environment.github.owner,
+ repo: environment.github.repo,
+ title: url,
+ });
+
+ reply.send({ success: true });
+ } catch (error) {
+ reply.send({ errors: [error.message], success: false });
+ }
}
);
diff --git a/packages/api/src/services/environment.ts b/packages/api/src/services/environment.ts
index 00d3653..181e059 100644
--- a/packages/api/src/services/environment.ts
+++ b/packages/api/src/services/environment.ts
@@ -3,6 +3,11 @@ import dotenv from 'dotenv';
dotenv.config();
export default {
+ github: {
+ owner: 'wanhose',
+ repo: 'cookie-dialog-monster',
+ token: process.env.GITHUB_TOKEN ?? '',
+ },
mail: {
pass: process.env.MAIL_PASS ?? '',
user: process.env.MAIL_USER ?? '',
diff --git a/packages/api/src/services/octokit.ts b/packages/api/src/services/octokit.ts
new file mode 100644
index 0000000..c943fad
--- /dev/null
+++ b/packages/api/src/services/octokit.ts
@@ -0,0 +1,4 @@
+import { Octokit } from 'octokit';
+import environment from './environment';
+
+export const octokit = new Octokit({ auth: environment.github.token });
diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json
index f81403b..ff6e227 100644
--- a/packages/api/tsconfig.json
+++ b/packages/api/tsconfig.json
@@ -5,7 +5,8 @@
"compilerOptions": {
"baseUrl": "src",
"outDir": "build",
- "rootDir": "src"
+ "rootDir": "src",
+ "useUnknownInCatchVariables": false
},
"extends": "@tsconfig/node16/tsconfig.json",
"include": ["src/**/*.ts"]
diff --git a/yarn.lock b/yarn.lock
index d08c249..c08fc28 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -445,6 +445,301 @@ __metadata:
languageName: node
linkType: hard
+"@octokit/app@npm:^13.0.5":
+ version: 13.0.11
+ resolution: "@octokit/app@npm:13.0.11"
+ dependencies:
+ "@octokit/auth-app": ^4.0.0
+ "@octokit/auth-unauthenticated": ^3.0.0
+ "@octokit/core": ^4.0.0
+ "@octokit/oauth-app": ^4.0.7
+ "@octokit/plugin-paginate-rest": ^5.0.0
+ "@octokit/types": ^8.0.0
+ "@octokit/webhooks": ^10.0.0
+ checksum: 7de7a7058945cb5151c92ae9f968f6c8d2115be60f7894493166f19243ac6714b63fadb63246f34e421f30579a1beb3541301994ae71dd0c529538698c181284
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-app@npm:^4.0.0":
+ version: 4.0.7
+ resolution: "@octokit/auth-app@npm:4.0.7"
+ dependencies:
+ "@octokit/auth-oauth-app": ^5.0.0
+ "@octokit/auth-oauth-user": ^2.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/request-error": ^3.0.0
+ "@octokit/types": ^8.0.0
+ "@types/lru-cache": ^5.1.0
+ deprecation: ^2.3.1
+ lru-cache: ^6.0.0
+ universal-github-app-jwt: ^1.0.1
+ universal-user-agent: ^6.0.0
+ checksum: 880de7341f47c5a48822612f50ae453fb0990a188b29afdb2f80a1f7e703c88e068d05a4edc1aa9a8204c730b6f70cf2772fbd5da032fee4986a5266ebdda4c7
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-app@npm:^5.0.0":
+ version: 5.0.4
+ resolution: "@octokit/auth-oauth-app@npm:5.0.4"
+ dependencies:
+ "@octokit/auth-oauth-device": ^4.0.0
+ "@octokit/auth-oauth-user": ^2.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/types": ^8.0.0
+ "@types/btoa-lite": ^1.0.0
+ btoa-lite: ^1.0.0
+ universal-user-agent: ^6.0.0
+ checksum: 8a208837ac5c72e6fa5075a26b4d1c65b80c124151f6da1baf8b1efbb3db3bd54df9088893956b6aed00cb92e3f143e3979ee2c6f4686d59e579840e534b8f01
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-device@npm:^4.0.0":
+ version: 4.0.3
+ resolution: "@octokit/auth-oauth-device@npm:4.0.3"
+ dependencies:
+ "@octokit/oauth-methods": ^2.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/types": ^8.0.0
+ universal-user-agent: ^6.0.0
+ checksum: 69d2d95f19857c2fad73d68aebfa6b259c528a65ddf732aa06325f9dbc953b0d15bf0316166691ad807346a979f4a8ac6c3a9077fcc57c56a50b2a24aaee37b4
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-oauth-user@npm:^2.0.0":
+ version: 2.0.4
+ resolution: "@octokit/auth-oauth-user@npm:2.0.4"
+ dependencies:
+ "@octokit/auth-oauth-device": ^4.0.0
+ "@octokit/oauth-methods": ^2.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/types": ^8.0.0
+ btoa-lite: ^1.0.0
+ universal-user-agent: ^6.0.0
+ checksum: 808784d6684c5cff7228af09359388a477da46c1b14cfb82f81bdd1eb8cfcfad02a0f8146a4214f5b3758eeb1d614594e3d28b876e94e3cac2bf322b3ee5fad0
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-token@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "@octokit/auth-token@npm:3.0.2"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ checksum: c7204770a6cb1661379c31b5a26779b509324446e61a4902893a69fd471738c817afc470f8ac8d86ad827738cc953046d27fbb87fc81782ff10e366b70241f4e
+ languageName: node
+ linkType: hard
+
+"@octokit/auth-unauthenticated@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "@octokit/auth-unauthenticated@npm:3.0.3"
+ dependencies:
+ "@octokit/request-error": ^3.0.0
+ "@octokit/types": ^8.0.0
+ checksum: be404cef13d67fa033f180ff61a1bb40a6b79742afe0257c8026cf97dcf22df304b30a67257c87a6e54a60135513de81f9ac05a055126f465dab129a29c58fe6
+ languageName: node
+ linkType: hard
+
+"@octokit/core@npm:^4.0.0, @octokit/core@npm:^4.0.4":
+ version: 4.1.0
+ resolution: "@octokit/core@npm:4.1.0"
+ dependencies:
+ "@octokit/auth-token": ^3.0.0
+ "@octokit/graphql": ^5.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/request-error": ^3.0.0
+ "@octokit/types": ^8.0.0
+ before-after-hook: ^2.2.0
+ universal-user-agent: ^6.0.0
+ checksum: 4e53e02ff3ebe808b74385be0055cc1cce4b548060b20e3f2d5dd1bf7877ff7b6556f11278edc070842bf24aa869f9f59a02638f1b14083eb290b9e297447a2d
+ languageName: node
+ linkType: hard
+
+"@octokit/endpoint@npm:^7.0.0":
+ version: 7.0.3
+ resolution: "@octokit/endpoint@npm:7.0.3"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ is-plain-object: ^5.0.0
+ universal-user-agent: ^6.0.0
+ checksum: c36b1577062e51d1683779a59c75d046d59f9a5c3a0f046d465e6c4c39f64bfc3a3052b42fa91a4552c7903ec382c604b4a2e1aadebdf7458191849ede5d4978
+ languageName: node
+ linkType: hard
+
+"@octokit/graphql@npm:^5.0.0":
+ version: 5.0.3
+ resolution: "@octokit/graphql@npm:5.0.3"
+ dependencies:
+ "@octokit/request": ^6.0.0
+ "@octokit/types": ^8.0.0
+ universal-user-agent: ^6.0.0
+ checksum: cc02df32ccd0dc2f500a165381ed1db27f9499767e450b5275f0a366637985d5f42ca40915eda31f5675e652e18dbb423514cba263a11877f52cce2a65aa4faf
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-app@npm:^4.0.6, @octokit/oauth-app@npm:^4.0.7":
+ version: 4.1.0
+ resolution: "@octokit/oauth-app@npm:4.1.0"
+ dependencies:
+ "@octokit/auth-oauth-app": ^5.0.0
+ "@octokit/auth-oauth-user": ^2.0.0
+ "@octokit/auth-unauthenticated": ^3.0.0
+ "@octokit/core": ^4.0.0
+ "@octokit/oauth-authorization-url": ^5.0.0
+ "@octokit/oauth-methods": ^2.0.0
+ "@types/aws-lambda": ^8.10.83
+ fromentries: ^1.3.1
+ universal-user-agent: ^6.0.0
+ checksum: 031f8480b7ad282e54b2749b4260c0e5bc306c68b1d9b7555a43c4a6c38e8c268e0c7d48674018c0c021efff4722792814aff99d5ec2a2334fffb18f745bab97
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-authorization-url@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "@octokit/oauth-authorization-url@npm:5.0.0"
+ checksum: bc457c4af9559e9e8f752e643fc9d116247f4e4246e69959d99b9e39196c93d7af53c1c8e3bd946bd0e4fc29f7ba27efe9bced8525ffa41fe45ef56a8281014b
+ languageName: node
+ linkType: hard
+
+"@octokit/oauth-methods@npm:^2.0.0":
+ version: 2.0.4
+ resolution: "@octokit/oauth-methods@npm:2.0.4"
+ dependencies:
+ "@octokit/oauth-authorization-url": ^5.0.0
+ "@octokit/request": ^6.0.0
+ "@octokit/request-error": ^3.0.0
+ "@octokit/types": ^8.0.0
+ btoa-lite: ^1.0.0
+ checksum: a9137841395d341e99e273cc2b2ed241999099a0f769fb36f811feb2980dc2c8ff32d45b1b68abf0066a744c49826b749e8f2e2dc45045583c1e604cebb36e62
+ languageName: node
+ linkType: hard
+
+"@octokit/openapi-types@npm:^12.11.0":
+ version: 12.11.0
+ resolution: "@octokit/openapi-types@npm:12.11.0"
+ checksum: 8a7d4bd6288cc4085cabe0ca9af2b87c875c303af932cb138aa1b2290eb69d32407759ac23707bb02776466e671244a902e9857896903443a69aff4b6b2b0e3b
+ languageName: node
+ linkType: hard
+
+"@octokit/openapi-types@npm:^14.0.0":
+ version: 14.0.0
+ resolution: "@octokit/openapi-types@npm:14.0.0"
+ checksum: 0a1f8f3be998cd82c5a640e9166d43fd183b33d5d36f5e1a9b81608e94d0da87c01ec46c9988f69cd26585d4e2ffc4d3ec99ee4f75e5fe997fc86dad0aa8293c
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-paginate-rest@npm:^5.0.0":
+ version: 5.0.1
+ resolution: "@octokit/plugin-paginate-rest@npm:5.0.1"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ peerDependencies:
+ "@octokit/core": ">=4"
+ checksum: cfded297d9f66c7607bd34075eb0c5f7278a1617d6be86115997c0757151c9be2fcf7a8849c2a5cebab56931a263b5cc35742b6227935afe77f5ed61b0627a3d
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-rest-endpoint-methods@npm:^6.0.0":
+ version: 6.7.0
+ resolution: "@octokit/plugin-rest-endpoint-methods@npm:6.7.0"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ deprecation: ^2.3.1
+ peerDependencies:
+ "@octokit/core": ">=3"
+ checksum: 513c6c0717d08f3e85848029bd700412b7d9787750f78cc79a3dede356e94b238bf8a518b108f556a7efe626871720dd0466de9f31091578ea4e0f5a016f0ae7
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-retry@npm:^3.0.9":
+ version: 3.0.9
+ resolution: "@octokit/plugin-retry@npm:3.0.9"
+ dependencies:
+ "@octokit/types": ^6.0.3
+ bottleneck: ^2.15.3
+ checksum: 5744780d308dd2f2b8174264604a9f8ea977374256f5eaf0314e5181c32f96ec53a3cfcee67bf1b48dc7eed401ebefebd2fa744b41cf03103affac92f397a874
+ languageName: node
+ linkType: hard
+
+"@octokit/plugin-throttling@npm:^4.0.1":
+ version: 4.3.1
+ resolution: "@octokit/plugin-throttling@npm:4.3.1"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ bottleneck: ^2.15.3
+ peerDependencies:
+ "@octokit/core": ^4.0.0
+ checksum: 95e12a18885114ddee9942a1ef8718f2fd0aed5c94f772e06a295410f1a0cdd0c3f3e32d6cad95e7298ec7bfa88850ab9453ad2ad716000a9918d3f045c18495
+ languageName: node
+ linkType: hard
+
+"@octokit/request-error@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "@octokit/request-error@npm:3.0.2"
+ dependencies:
+ "@octokit/types": ^8.0.0
+ deprecation: ^2.0.0
+ once: ^1.4.0
+ checksum: 41549554ce780de13d3421f8036635014c8dcbdf867c288526ef7b17e9d92470f33341ddadacf2868dc0181440842803484104efbe11ebfaecdaeec58871a13e
+ languageName: node
+ linkType: hard
+
+"@octokit/request@npm:^6.0.0":
+ version: 6.2.2
+ resolution: "@octokit/request@npm:6.2.2"
+ dependencies:
+ "@octokit/endpoint": ^7.0.0
+ "@octokit/request-error": ^3.0.0
+ "@octokit/types": ^8.0.0
+ is-plain-object: ^5.0.0
+ node-fetch: ^2.6.7
+ universal-user-agent: ^6.0.0
+ checksum: adbeb38807c60b53d32d9b69be0c1f861c26698bc6f5f3f7e05d26972290dc4867827dd333bdd801818c347e5723efd049a2b9848c6c8bf74a2032968dede0ff
+ languageName: node
+ linkType: hard
+
+"@octokit/types@npm:^6.0.3":
+ version: 6.41.0
+ resolution: "@octokit/types@npm:6.41.0"
+ dependencies:
+ "@octokit/openapi-types": ^12.11.0
+ checksum: fd6f75e0b19b90d1a3d244d2b0c323ed8f2f05e474a281f60a321986683548ef2e0ec2b3a946aa9405d6092e055344455f69f58957c60f58368c8bdda5b7d2ab
+ languageName: node
+ linkType: hard
+
+"@octokit/types@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "@octokit/types@npm:8.0.0"
+ dependencies:
+ "@octokit/openapi-types": ^14.0.0
+ checksum: 1a0197b2c4c522ac90f145e02b3f8cb048a47f71c2c6bdbf021a03db7dd30ca92a899c0186acb401337f218efe44e60d33cc1cc68715b622bb75bc1a4e79515d
+ languageName: node
+ linkType: hard
+
+"@octokit/webhooks-methods@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "@octokit/webhooks-methods@npm:3.0.1"
+ checksum: a65344315175459fcc43d1e8ea20f73aa73f0c47a692e0b02d45dfb8fda7075cf5503ff33654a9b6683d32d7e5737965f1ff40618d21a7c637180ae73bf888a4
+ languageName: node
+ linkType: hard
+
+"@octokit/webhooks-types@npm:6.5.0":
+ version: 6.5.0
+ resolution: "@octokit/webhooks-types@npm:6.5.0"
+ checksum: 747e4d277061ddced1b215d9fb3c3fb279e41069d90e703b4f9df6feb723769ba899c107f62aaa2db4cc7ac988de807e4455ab3b6049d8b853164e64c723a680
+ languageName: node
+ linkType: hard
+
+"@octokit/webhooks@npm:^10.0.0":
+ version: 10.3.0
+ resolution: "@octokit/webhooks@npm:10.3.0"
+ dependencies:
+ "@octokit/request-error": ^3.0.0
+ "@octokit/webhooks-methods": ^3.0.0
+ "@octokit/webhooks-types": 6.5.0
+ aggregate-error: ^3.1.0
+ checksum: 23c61cc139f1db145f74deab637efcb47f213b45ce85f107b9b9a80d96c9a566e5f763dfc9f3d75594e31ca3408c1b5ced48e735bb367886948135f3bb490210
+ languageName: node
+ linkType: hard
+
"@tootallnate/once@npm:2":
version: 2.0.0
resolution: "@tootallnate/once@npm:2.0.0"
@@ -480,6 +775,20 @@ __metadata:
languageName: node
linkType: hard
+"@types/aws-lambda@npm:^8.10.83":
+ version: 8.10.107
+ resolution: "@types/aws-lambda@npm:8.10.107"
+ checksum: b4a1a666f9ceb6bee1179ed85678aa81af8314eb2026181c6c96d453cc01123585e66e468f4f9d84fbe4302f6ed1d95ee1397f90caf0ed3d5e9860867131f26e
+ languageName: node
+ linkType: hard
+
+"@types/btoa-lite@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "@types/btoa-lite@npm:1.0.0"
+ checksum: 4d0c3c36cc8aa5669d286d62ca45d925e3ea0db75222ebacb0d9f4fd7822b8e162da8773887e045c11d64c42373807d2ab2ad97a5d8a683d2e1c981e6a05ce33
+ languageName: node
+ linkType: hard
+
"@types/chrome@npm:^0.0.197":
version: 0.0.197
resolution: "@types/chrome@npm:0.0.197"
@@ -520,6 +829,22 @@ __metadata:
languageName: node
linkType: hard
+"@types/jsonwebtoken@npm:^8.3.3":
+ version: 8.5.9
+ resolution: "@types/jsonwebtoken@npm:8.5.9"
+ dependencies:
+ "@types/node": "*"
+ checksum: 33815ab02d1371b423118316b7706d2f2ec03eeee5e1494be72da50425d2384e5e0a09ea193f7a5ab4b4f6a9c5847147305f50e965f3d927a95bdf8adb471b2a
+ languageName: node
+ linkType: hard
+
+"@types/lru-cache@npm:^5.1.0":
+ version: 5.1.1
+ resolution: "@types/lru-cache@npm:5.1.1"
+ checksum: e1d6c0085f61b16ec5b3073ec76ad1be4844ea036561c3f145fc19f71f084b58a6eb600b14128aa95809d057d28f1d147c910186ae51219f58366ffd2ff2e118
+ languageName: node
+ linkType: hard
+
"@types/minimist@npm:^1.2.0":
version: 1.2.2
resolution: "@types/minimist@npm:1.2.2"
@@ -823,7 +1148,7 @@ __metadata:
languageName: node
linkType: hard
-"aggregate-error@npm:^3.0.0":
+"aggregate-error@npm:^3.0.0, aggregate-error@npm:^3.1.0":
version: 3.1.0
resolution: "aggregate-error@npm:3.1.0"
dependencies:
@@ -958,6 +1283,7 @@ __metadata:
node-fetch: ^2.6.7
nodemailer: ^6.8.0
nodemon: ^2.0.20
+ octokit: ^2.0.9
rimraf: ^3.0.2
ts-node: ^10.9.1
tsconfig-paths: ^4.1.0
@@ -1084,6 +1410,13 @@ __metadata:
languageName: node
linkType: hard
+"before-after-hook@npm:^2.2.0":
+ version: 2.2.3
+ resolution: "before-after-hook@npm:2.2.3"
+ checksum: a1a2430976d9bdab4cd89cb50d27fa86b19e2b41812bf1315923b0cba03371ebca99449809226425dd3bcef20e010db61abdaff549278e111d6480034bebae87
+ languageName: node
+ linkType: hard
+
"binary-extensions@npm:^2.0.0":
version: 2.2.0
resolution: "binary-extensions@npm:2.2.0"
@@ -1091,6 +1424,13 @@ __metadata:
languageName: node
linkType: hard
+"bottleneck@npm:^2.15.3":
+ version: 2.19.5
+ resolution: "bottleneck@npm:2.19.5"
+ checksum: c5eef1bbea12cef1f1405e7306e7d24860568b0f7ac5eeab706a86762b3fc65ef6d1c641c8a166e4db90f412fc5c948fc5ce8008a8cd3d28c7212ef9c3482bda
+ languageName: node
+ linkType: hard
+
"boxen@npm:7.0.0":
version: 7.0.0
resolution: "boxen@npm:7.0.0"
@@ -1148,6 +1488,20 @@ __metadata:
languageName: unknown
linkType: soft
+"btoa-lite@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "btoa-lite@npm:1.0.0"
+ checksum: c2d61993b801f8e35a96f20692a45459c753d9baa29d86d1343e714f8d6bbe7069f1a20a5ae868488f3fb137d5bd0c560f6fbbc90b5a71050919d2d2c97c0475
+ languageName: node
+ linkType: hard
+
+"buffer-equal-constant-time@npm:1.0.1":
+ version: 1.0.1
+ resolution: "buffer-equal-constant-time@npm:1.0.1"
+ checksum: 80bb945f5d782a56f374b292770901065bad21420e34936ecbe949e57724b4a13874f735850dd1cc61f078773c4fb5493a41391e7bda40d1fa388d6bd80daaab
+ languageName: node
+ linkType: hard
+
"buffer-from@npm:^1.0.0":
version: 1.1.2
resolution: "buffer-from@npm:1.1.2"
@@ -1739,6 +2093,13 @@ __metadata:
languageName: node
linkType: hard
+"deprecation@npm:^2.0.0, deprecation@npm:^2.3.1":
+ version: 2.3.1
+ resolution: "deprecation@npm:2.3.1"
+ checksum: f56a05e182c2c195071385455956b0c4106fe14e36245b00c689ceef8e8ab639235176a96977ba7c74afb173317fac2e0ec6ec7a1c6d1e6eaa401c586c714132
+ languageName: node
+ linkType: hard
+
"detective@npm:^5.2.1":
version: 5.2.1
resolution: "detective@npm:5.2.1"
@@ -1824,6 +2185,15 @@ __metadata:
languageName: node
linkType: hard
+"ecdsa-sig-formatter@npm:1.0.11":
+ version: 1.0.11
+ resolution: "ecdsa-sig-formatter@npm:1.0.11"
+ dependencies:
+ safe-buffer: ^5.0.1
+ checksum: 207f9ab1c2669b8e65540bce29506134613dd5f122cccf1e6a560f4d63f2732d427d938f8481df175505aad94583bcb32c688737bb39a6df0625f903d6d93c03
+ languageName: node
+ linkType: hard
+
"emoji-regex@npm:^8.0.0":
version: 8.0.0
resolution: "emoji-regex@npm:8.0.0"
@@ -2341,6 +2711,13 @@ __metadata:
languageName: node
linkType: hard
+"fromentries@npm:^1.3.1":
+ version: 1.3.2
+ resolution: "fromentries@npm:1.3.2"
+ checksum: 33729c529ce19f5494f846f0dd4945078f4e37f4e8955f4ae8cc7385c218f600e9d93a7d225d17636c20d1889106fd87061f911550861b7072f53bf891e6b341
+ languageName: node
+ linkType: hard
+
"fs-extra@npm:^10.0.0":
version: 10.1.0
resolution: "fs-extra@npm:10.1.0"
@@ -2851,6 +3228,13 @@ __metadata:
languageName: node
linkType: hard
+"is-plain-object@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "is-plain-object@npm:5.0.0"
+ checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c
+ languageName: node
+ linkType: hard
+
"is-port-reachable@npm:4.0.0":
version: 4.0.0
resolution: "is-port-reachable@npm:4.0.0"
@@ -2986,6 +3370,45 @@ __metadata:
languageName: node
linkType: hard
+"jsonwebtoken@npm:^8.5.1":
+ version: 8.5.1
+ resolution: "jsonwebtoken@npm:8.5.1"
+ dependencies:
+ jws: ^3.2.2
+ lodash.includes: ^4.3.0
+ lodash.isboolean: ^3.0.3
+ lodash.isinteger: ^4.0.4
+ lodash.isnumber: ^3.0.3
+ lodash.isplainobject: ^4.0.6
+ lodash.isstring: ^4.0.1
+ lodash.once: ^4.0.0
+ ms: ^2.1.1
+ semver: ^5.6.0
+ checksum: 93c9e3f23c59b758ac88ba15f4e4753b3749dfce7a6f7c40fb86663128a1e282db085eec852d4e0cbca4cefdcd3a8275ee255dbd08fcad0df26ad9f6e4cc853a
+ languageName: node
+ linkType: hard
+
+"jwa@npm:^1.4.1":
+ version: 1.4.1
+ resolution: "jwa@npm:1.4.1"
+ dependencies:
+ buffer-equal-constant-time: 1.0.1
+ ecdsa-sig-formatter: 1.0.11
+ safe-buffer: ^5.0.1
+ checksum: ff30ea7c2dcc61f3ed2098d868bf89d43701605090c5b21b5544b512843ec6fd9e028381a4dda466cbcdb885c2d1150f7c62e7168394ee07941b4098e1035e2f
+ languageName: node
+ linkType: hard
+
+"jws@npm:^3.2.2":
+ version: 3.2.2
+ resolution: "jws@npm:3.2.2"
+ dependencies:
+ jwa: ^1.4.1
+ safe-buffer: ^5.0.1
+ checksum: f0213fe5b79344c56cd443428d8f65c16bf842dc8cb8f5aed693e1e91d79c20741663ad6eff07a6d2c433d1831acc9814e8d7bada6a0471fbb91d09ceb2bf5c2
+ languageName: node
+ linkType: hard
+
"kind-of@npm:^6.0.3":
version: 6.0.3
resolution: "kind-of@npm:6.0.3"
@@ -3106,6 +3529,48 @@ __metadata:
languageName: node
linkType: hard
+"lodash.includes@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "lodash.includes@npm:4.3.0"
+ checksum: 71092c130515a67ab3bd928f57f6018434797c94def7f46aafa417771e455ce3a4834889f4267b17887d7f75297dfabd96231bf704fd2b8c5096dc4a913568b6
+ languageName: node
+ linkType: hard
+
+"lodash.isboolean@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "lodash.isboolean@npm:3.0.3"
+ checksum: b70068b4a8b8837912b54052557b21fc4774174e3512ed3c5b94621e5aff5eb6c68089d0a386b7e801d679cd105d2e35417978a5e99071750aa2ed90bffd0250
+ languageName: node
+ linkType: hard
+
+"lodash.isinteger@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "lodash.isinteger@npm:4.0.4"
+ checksum: 6034821b3fc61a2ffc34e7d5644bb50c5fd8f1c0121c554c21ac271911ee0c0502274852845005f8651d51e199ee2e0cfebfe40aaa49c7fe617f603a8a0b1691
+ languageName: node
+ linkType: hard
+
+"lodash.isnumber@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "lodash.isnumber@npm:3.0.3"
+ checksum: 913784275b565346255e6ae6a6e30b760a0da70abc29f3e1f409081585875105138cda4a429ff02577e1bc0a7ae2a90e0a3079a37f3a04c3d6c5aaa532f4cab2
+ languageName: node
+ linkType: hard
+
+"lodash.isplainobject@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "lodash.isplainobject@npm:4.0.6"
+ checksum: 29c6351f281e0d9a1d58f1a4c8f4400924b4c79f18dfc4613624d7d54784df07efaff97c1ff2659f3e085ecf4fff493300adc4837553104cef2634110b0d5337
+ languageName: node
+ linkType: hard
+
+"lodash.isstring@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "lodash.isstring@npm:4.0.1"
+ checksum: eaac87ae9636848af08021083d796e2eea3d02e80082ab8a9955309569cb3a463ce97fd281d7dc119e402b2e7d8c54a23914b15d2fc7fff56461511dc8937ba0
+ languageName: node
+ linkType: hard
+
"lodash.merge@npm:^4.6.2":
version: 4.6.2
resolution: "lodash.merge@npm:4.6.2"
@@ -3113,6 +3578,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash.once@npm:^4.0.0":
+ version: 4.1.1
+ resolution: "lodash.once@npm:4.1.1"
+ checksum: d768fa9f9b4e1dc6453be99b753906f58990e0c45e7b2ca5a3b40a33111e5d17f6edf2f768786e2716af90a8e78f8f91431ab8435f761fef00f9b0c256f6d245
+ languageName: node
+ linkType: hard
+
"lodash@npm:^4.17.15, lodash@npm:^4.17.19":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
@@ -3670,6 +4142,22 @@ __metadata:
languageName: node
linkType: hard
+"octokit@npm:^2.0.9":
+ version: 2.0.9
+ resolution: "octokit@npm:2.0.9"
+ dependencies:
+ "@octokit/app": ^13.0.5
+ "@octokit/core": ^4.0.4
+ "@octokit/oauth-app": ^4.0.6
+ "@octokit/plugin-paginate-rest": ^5.0.0
+ "@octokit/plugin-rest-endpoint-methods": ^6.0.0
+ "@octokit/plugin-retry": ^3.0.9
+ "@octokit/plugin-throttling": ^4.0.1
+ "@octokit/types": ^8.0.0
+ checksum: 5d4c64692288af530ed8983619c265785b4783dab6b456e00472bd95eddfa367b74a2a4a2cd30df8f51cfcbe0ebb79fe14a2534d93d32b6edf50b0c1404657f2
+ languageName: node
+ linkType: hard
+
"on-exit-leak-free@npm:^2.1.0":
version: 2.1.0
resolution: "on-exit-leak-free@npm:2.1.0"
@@ -3684,7 +4172,7 @@ __metadata:
languageName: node
linkType: hard
-"once@npm:^1.3.0":
+"once@npm:^1.3.0, once@npm:^1.4.0":
version: 1.4.0
resolution: "once@npm:1.4.0"
dependencies:
@@ -4489,7 +4977,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.7.1":
+"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.6.0, semver@npm:^5.7.1":
version: 5.7.1
resolution: "semver@npm:5.7.1"
bin:
@@ -5233,6 +5721,23 @@ __metadata:
languageName: node
linkType: hard
+"universal-github-app-jwt@npm:^1.0.1":
+ version: 1.1.0
+ resolution: "universal-github-app-jwt@npm:1.1.0"
+ dependencies:
+ "@types/jsonwebtoken": ^8.3.3
+ jsonwebtoken: ^8.5.1
+ checksum: b6ebbe2533881639701e936ca54c9ec02aae1e9b36bf2495ed66632d5057e06a7d4a118ac38a3d96f63993e19a47ee6e282858e1f4a9c2ceede19a856ca08fcc
+ languageName: node
+ linkType: hard
+
+"universal-user-agent@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "universal-user-agent@npm:6.0.0"
+ checksum: 5092bbc80dd0d583cef0b62c17df0043193b74f425112ea6c1f69bc5eda21eeec7a08d8c4f793a277eb2202ffe9b44bec852fa3faff971234cd209874d1b79ef
+ languageName: node
+ linkType: hard
+
"universalify@npm:^2.0.0":
version: 2.0.0
resolution: "universalify@npm:2.0.0"