feat: github 开放平台机器人增加监听消息回调到github issue comment

pull/70/head
moonrailgun 2 years ago
parent d120772257
commit 2590242bd8

@ -10,6 +10,7 @@ LOG_LEVEL=debug
WEBHOOK_PROXY_URL= WEBHOOK_PROXY_URL=
# Tailchat # Tailchat
TAILCHAT_API_URL=https://paw-server-nightly.moonrailgun.com TAILCHAT_WEB_URL=https://nightly.paw.msgbyte.com
TAILCHAT_API_URL=https://tailchat-nightly.moonrailgun.com
TAILCHAT_APP_ID= TAILCHAT_APP_ID=
TAILCHAT_APP_SECRET= TAILCHAT_APP_SECRET=

@ -2,9 +2,9 @@
// Reference: https://probot.github.io/docs/deployment/#vercel // Reference: https://probot.github.io/docs/deployment/#vercel
const { createNodeMiddleware, createProbot } = require('probot'); const { createNodeMiddleware, createProbot } = require('probot');
const app = require('../../../src/app').app; const appFn = require('../../../src/app').appFn;
module.exports = createNodeMiddleware(app, { module.exports = createNodeMiddleware(appFn, {
probot: createProbot(), probot: createProbot(),
webhooksPath: '/api/github/webhooks', webhooksPath: '/api/github/webhooks',
}); });

@ -19,12 +19,16 @@
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1", "axios": "^0.21.1",
"body-parser": "^1.20.1",
"dotenv": "^16.0.3", "dotenv": "^16.0.3",
"probot": "^12.2.4", "lodash": "^4.17.21",
"probot": "^12.3.0",
"probot-metadata": "^2.1.0" "probot-metadata": "^2.1.0"
}, },
"devDependencies": { "devDependencies": {
"@types/body-parser": "^1.19.2",
"@types/jest": "^28.1.0", "@types/jest": "^28.1.0",
"@types/lodash": "^4.14.191",
"@types/node": "^18.0.0", "@types/node": "^18.0.0",
"jest": "27.5.1", "jest": "27.5.1",
"nock": "^13.0.5", "nock": "^13.0.5",

@ -1,7 +1,14 @@
import { Probot } from 'probot'; import { ApplicationFunction, Probot } from 'probot';
import metadata from 'probot-metadata'; import metadata from 'probot-metadata';
import { TailchatClient } from './client'; import { TailchatClient } from './client';
import { configPath, generateErrorBlock } from './utils'; import {
configPath,
generateErrorBlock,
generateTopicCommentCreateContent,
generateTopicCreateContent,
} from './utils';
import bodyParser from 'body-parser';
import _ from 'lodash';
import * as dotenv from 'dotenv'; // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import import * as dotenv from 'dotenv'; // see https://github.com/motdotla/dotenv#how-do-i-use-dotenv-with-import
dotenv.config(); dotenv.config();
@ -24,7 +31,7 @@ const tailchatAppSecret = process.env.TAILCHAT_APP_SECRET;
const tailchatWebUrl = const tailchatWebUrl =
process.env.TAILCHAT_WEB_URL || process.env.TAILCHAT_API_URL; process.env.TAILCHAT_WEB_URL || process.env.TAILCHAT_API_URL;
export function app(app: Probot) { export const appFn: ApplicationFunction = (app, { getRouter }) => {
app.on('issues.opened', async (ctx) => { app.on('issues.opened', async (ctx) => {
if (ctx.isBot) { if (ctx.isBot) {
return; return;
@ -54,12 +61,15 @@ export function app(app: Probot) {
{ {
groupId, groupId,
panelId, panelId,
content: `[b]${ content: generateTopicCreateContent(
ctx.payload.issue.user.login ctx.payload.issue.user.login,
}[/b] create Issue:\n\nTitle: ${ctx.payload.issue.title}\n[markdown]${ ctx.payload.issue.title,
ctx.payload.issue.body ?? '' ctx.payload.issue.body ?? '',
}[/markdown]\n\nWebsite: ${ctx.payload.issue.html_url}`, ctx.payload.issue.html_url
),
meta: { meta: {
tailchatHost: tailchatClient.url,
installationId: ctx.payload.installation?.id,
githubRepoOwner: ctx.payload.repository.owner.login, githubRepoOwner: ctx.payload.repository.owner.login,
githubRepoName: ctx.payload.repository.name, githubRepoName: ctx.payload.repository.name,
githubIssueNumber: ctx.payload.issue.number, githubIssueNumber: ctx.payload.issue.number,
@ -130,11 +140,11 @@ export function app(app: Probot) {
groupId, groupId,
panelId, panelId,
topicId, topicId,
content: `[b]${ content: generateTopicCommentCreateContent(
ctx.payload.comment.user.login ctx.payload.comment.user.login,
}[/b] reply Issue:\n\n[markdown]${ ctx.payload.comment.body ?? '',
ctx.payload.comment.body ?? '' ctx.payload.comment.html_url
}[/markdown]\n\nWebsite: ${ctx.payload.comment.html_url}`, ),
}); });
} catch (err) { } catch (err) {
console.error(err); console.error(err);
@ -158,7 +168,9 @@ export function app(app: Probot) {
// installationTargetRepositories, // installationTargetRepositories,
// }); // });
// }); // });
}
buildRouter(app, getRouter);
};
/** /**
* *
@ -168,7 +180,7 @@ export function app(app: Probot) {
function createTailchatContextWithConfig(githubRaw: string) { function createTailchatContextWithConfig(githubRaw: string) {
const content = Buffer.from(githubRaw, 'base64').toString(); const content = Buffer.from(githubRaw, 'base64').toString();
const json = JSON.parse(content); const json = JSON.parse(content);
const tailchatHost = json['tailchatHost']; const tailchatHost = json['tailchatHost'] ?? defaultTailchatApiUrl;
const groupId = json['groupId']; const groupId = json['groupId'];
const panelId = json['panelId']; const panelId = json['panelId'];
@ -176,11 +188,7 @@ function createTailchatContextWithConfig(githubRaw: string) {
throw new Error('config format error'); throw new Error('config format error');
} }
const tailchatClient = new TailchatClient( const tailchatClient = createTailchatClient(tailchatHost);
tailchatHost ?? defaultTailchatApiUrl,
tailchatAppId,
tailchatAppSecret
);
return { return {
tailchatClient, tailchatClient,
@ -188,3 +196,83 @@ function createTailchatContextWithConfig(githubRaw: string) {
panelId, panelId,
}; };
} }
function createTailchatClient(tailchatHost = defaultTailchatApiUrl) {
const tailchatClient = new TailchatClient(
tailchatHost,
tailchatAppId,
tailchatAppSecret
);
return tailchatClient;
}
function buildRouter(
app: Probot,
getRouter: Parameters<ApplicationFunction>[1]['getRouter']
) {
if (getRouter) {
getRouter('/')
.get('/', (_req, res) => {
res.send('Hello World! Github app server is working!');
})
.post('/message/webhook', bodyParser.json(), (req, res) => {
(async () => {
try {
// 根据收件箱内容向 Github Issue 创建话题
const inboxItem = req.body ?? {};
if (inboxItem.type !== 'plugin:com.msgbyte.topic.comment') {
// 如果不是回复消息,则跳过
return;
}
const newComment: any =
_.last(_.get(inboxItem, ['payload', 'comments'])) ?? {};
const meta = _.get(inboxItem, ['payload', 'meta']) ?? {};
if (
!meta.installationId ||
!meta.githubRepoOwner ||
!meta.githubRepoName ||
!meta.githubIssueNumber
) {
console.warn('Cannot pass meta info check:', { meta });
return;
}
if (!newComment.author || !newComment.content) {
console.warn(
'Cannot get "newComment.author" or "newComment.content"'
);
return;
}
// 发送到github comment
const octokit = await app.auth(Number(meta.installationId));
const tailchatClient = createTailchatClient(meta.tailchatHost);
const userInfo = await tailchatClient.call('user.getUserInfo', {
userId: newComment.author,
});
const payload = {
owner: meta.githubRepoOwner,
repo: meta.githubRepoName,
issue_number: meta.githubIssueNumber,
body: `[${_.get(userInfo, [
'data',
'nickname',
])}] Tailchat :\n\`\`\`\n${
newComment.content ?? ''
}\n\`\`\``,
};
console.log('正在向Github Issue创建回复:', payload);
await octokit.issues.createComment(payload);
} catch (err) {
console.error(err);
}
})();
res.send('Success!');
});
}
}

@ -51,7 +51,7 @@ export class TailchatClient {
console.log('tailchat openapp login success!'); console.log('tailchat openapp login success!');
// 尝试调用函数 // 尝试调用函数
this.whoami().then(console.log); // this.whoami().then(console.log);
} catch (err) { } catch (err) {
console.error(err); console.error(err);
throw new Error('登录失败, 请检查应用凭证'); throw new Error('登录失败, 请检查应用凭证');

@ -1,8 +1,4 @@
import { run } from 'probot'; import { run } from 'probot';
import { app } from './app'; import { appFn } from './app';
run(app).then((server) => { run(appFn);
server.router('/').get('/', (_req, res) => {
res.send('Hello World! Github app server is working!');
});
});

@ -11,3 +11,33 @@ export function generateErrorBlock(err: unknown) {
return `Tailchat occur error, please checkout your config in \`${configPath}\`! \n${errorBlock}`; return `Tailchat occur error, please checkout your config in \`${configPath}\`! \n${errorBlock}`;
} }
/**
*
*/
export function generateTopicCreateContent(
user: string,
title: string,
body: string,
url: string
) {
return `[b]${user}[/b] create Issue:
[b]Title: ${title}[/b]
[markdown]${body}[/markdown]
Website: ${url}`;
}
/**
*
*/
export function generateTopicCommentCreateContent(
user: string,
body: string,
url: string
) {
return `[b]${user}[/b] reply Issue:
[markdown]${body}[/markdown]
Website: ${url}`;
}

@ -147,14 +147,18 @@ importers:
apps/github-app: apps/github-app:
specifiers: specifiers:
'@types/body-parser': ^1.19.2
'@types/jest': ^28.1.0 '@types/jest': ^28.1.0
'@types/lodash': ^4.14.191
'@types/node': ^18.0.0 '@types/node': ^18.0.0
axios: ^0.21.1 axios: ^0.21.1
body-parser: ^1.20.1
dotenv: ^16.0.3 dotenv: ^16.0.3
jest: 27.5.1 jest: 27.5.1
lodash: ^4.17.21
nock: ^13.0.5 nock: ^13.0.5
nodemon: ^2.0.18 nodemon: ^2.0.18
probot: ^12.2.4 probot: ^12.3.0
probot-metadata: ^2.1.0 probot-metadata: ^2.1.0
smee-client: ^1.2.2 smee-client: ^1.2.2
ts-jest: 27.1.4 ts-jest: 27.1.4
@ -162,11 +166,15 @@ importers:
typescript: ^4.1.3 typescript: ^4.1.3
dependencies: dependencies:
axios: 0.21.4 axios: 0.21.4
body-parser: 1.20.1
dotenv: 16.0.3 dotenv: 16.0.3
probot: 12.2.8 lodash: 4.17.21
probot-metadata: 2.1.0_probot@12.2.8 probot: 12.3.0
probot-metadata: 2.1.0_probot@12.3.0
devDependencies: devDependencies:
'@types/body-parser': 1.19.2
'@types/jest': 28.1.8 '@types/jest': 28.1.8
'@types/lodash': 4.14.191
'@types/node': 18.7.11 '@types/node': 18.7.11
jest: 27.5.1_ts-node@10.9.1 jest: 27.5.1_ts-node@10.9.1
nock: 13.2.9 nock: 13.2.9
@ -5499,10 +5507,10 @@ packages:
'@commitlint/execute-rule': 17.0.0 '@commitlint/execute-rule': 17.0.0
'@commitlint/resolve-extends': 17.0.3 '@commitlint/resolve-extends': 17.0.3
'@commitlint/types': 17.0.0 '@commitlint/types': 17.0.0
'@types/node': 18.11.16 '@types/node': 18.11.18
chalk: 4.1.2 chalk: 4.1.2
cosmiconfig: 7.1.0 cosmiconfig: 7.1.0
cosmiconfig-typescript-loader: 2.0.2_rmyookn2hbqnnqjamditnjqvjq cosmiconfig-typescript-loader: 2.0.2_awa2wsr5thmg3i7jqycphctjfq
lodash: 4.17.21 lodash: 4.17.21
resolve-from: 5.0.0 resolve-from: 5.0.0
typescript: 4.9.4 typescript: 4.9.4
@ -7302,7 +7310,7 @@ packages:
dependencies: dependencies:
'@jest/fake-timers': 27.5.1 '@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1 '@jest/types': 27.5.1
'@types/node': 18.11.16 '@types/node': 18.11.18
jest-mock: 27.5.1 jest-mock: 27.5.1
dev: true dev: true
@ -7326,7 +7334,7 @@ packages:
dependencies: dependencies:
'@jest/types': 27.5.1 '@jest/types': 27.5.1
'@sinonjs/fake-timers': 8.1.0 '@sinonjs/fake-timers': 8.1.0
'@types/node': 18.11.16 '@types/node': 18.11.18
jest-message-util: 27.5.1 jest-message-util: 27.5.1
jest-mock: 27.5.1 jest-mock: 27.5.1
jest-util: 27.5.1 jest-util: 27.5.1
@ -7475,7 +7483,7 @@ packages:
dependencies: dependencies:
'@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1 '@types/istanbul-reports': 3.0.1
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/yargs': 15.0.14 '@types/yargs': 15.0.14
chalk: 4.1.2 chalk: 4.1.2
dev: true dev: true
@ -7486,7 +7494,7 @@ packages:
dependencies: dependencies:
'@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1 '@types/istanbul-reports': 3.0.1
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/yargs': 16.0.4 '@types/yargs': 16.0.4
chalk: 4.1.2 chalk: 4.1.2
dev: true dev: true
@ -7498,7 +7506,7 @@ packages:
'@jest/schemas': 28.1.3 '@jest/schemas': 28.1.3
'@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1 '@types/istanbul-reports': 3.0.1
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/yargs': 17.0.12 '@types/yargs': 17.0.12
chalk: 4.1.2 chalk: 4.1.2
dev: true dev: true
@ -7510,7 +7518,7 @@ packages:
'@jest/schemas': 29.0.0 '@jest/schemas': 29.0.0
'@types/istanbul-lib-coverage': 2.0.4 '@types/istanbul-lib-coverage': 2.0.4
'@types/istanbul-reports': 3.0.1 '@types/istanbul-reports': 3.0.1
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/yargs': 17.0.12 '@types/yargs': 17.0.12
chalk: 4.1.2 chalk: 4.1.2
dev: false dev: false
@ -8322,7 +8330,6 @@ packages:
/@octokit/openapi-types/14.0.0: /@octokit/openapi-types/14.0.0:
resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==} resolution: {integrity: sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==}
dev: true
/@octokit/plugin-enterprise-compatibility/1.3.0: /@octokit/plugin-enterprise-compatibility/1.3.0:
resolution: {integrity: sha512-h34sMGdEOER/OKrZJ55v26ntdHb9OPfR1fwOx6Q4qYyyhWA104o11h9tFxnS/l41gED6WEI41Vu2G2zHDVC5lQ==} resolution: {integrity: sha512-h34sMGdEOER/OKrZJ55v26ntdHb9OPfR1fwOx6Q4qYyyhWA104o11h9tFxnS/l41gED6WEI41Vu2G2zHDVC5lQ==}
@ -8465,7 +8472,6 @@ packages:
resolution: {integrity: sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==} resolution: {integrity: sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==}
dependencies: dependencies:
'@octokit/openapi-types': 14.0.0 '@octokit/openapi-types': 14.0.0
dev: true
/@octokit/webhooks-methods/2.0.0: /@octokit/webhooks-methods/2.0.0:
resolution: {integrity: sha512-35cfQ4YWlnZnmZKmIxlGPUPLtbkF8lr/A/1Sk1eC0ddLMwQN06dOuLc+dI3YLQS+T+MoNt3DIQ0NynwgKPilig==} resolution: {integrity: sha512-35cfQ4YWlnZnmZKmIxlGPUPLtbkF8lr/A/1Sk1eC0ddLMwQN06dOuLc+dI3YLQS+T+MoNt3DIQ0NynwgKPilig==}
@ -12737,7 +12743,7 @@ packages:
dependencies: dependencies:
'@types/http-cache-semantics': 4.0.1 '@types/http-cache-semantics': 4.0.1
'@types/keyv': 3.1.4 '@types/keyv': 3.1.4
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/responselike': 1.0.0 '@types/responselike': 1.0.0
/@types/codemirror/5.60.5: /@types/codemirror/5.60.5:
@ -12783,7 +12789,7 @@ packages:
'@types/connect': 3.4.35 '@types/connect': 3.4.35
'@types/express': 4.17.15 '@types/express': 4.17.15
'@types/keygrip': 1.0.2 '@types/keygrip': 1.0.2
'@types/node': 18.11.16 '@types/node': 18.11.18
/@types/copy-webpack-plugin/8.0.1_webpack-cli@4.10.0: /@types/copy-webpack-plugin/8.0.1_webpack-cli@4.10.0:
resolution: {integrity: sha512-TwEeGse0/wq+t3SFW0DEwroMS/cDkwVZT+vj7tMAYTp7llt/yz6NuW2n04X2M5P/kSfBQOORhrHAN2mqZdmybg==} resolution: {integrity: sha512-TwEeGse0/wq+t3SFW0DEwroMS/cDkwVZT+vj7tMAYTp7llt/yz6NuW2n04X2M5P/kSfBQOORhrHAN2mqZdmybg==}
@ -12855,7 +12861,7 @@ packages:
/@types/docker-modem/3.0.2: /@types/docker-modem/3.0.2:
resolution: {integrity: sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==} resolution: {integrity: sha512-qC7prjoEYR2QEe6SmCVfB1x3rfcQtUr1n4x89+3e0wSTMQ/KYCyf+/RAA9n2tllkkNc6//JMUZePdFRiGIWfaQ==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/ssh2': 1.11.6 '@types/ssh2': 1.11.6
dev: false dev: false
@ -12914,14 +12920,6 @@ packages:
resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==} resolution: {integrity: sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==}
dev: false dev: false
/@types/express-serve-static-core/4.17.30:
resolution: {integrity: sha512-gstzbTWro2/nFed1WXtf+TtrpwxH7Ggs4RLYTLbeVgIkUQOI3WG/JKjgeOU1zXDvezllupjrf8OPIdvTbIaVOQ==}
dependencies:
'@types/node': 18.11.16
'@types/qs': 6.9.7
'@types/range-parser': 1.2.4
dev: false
/@types/express-serve-static-core/4.17.31: /@types/express-serve-static-core/4.17.31:
resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==}
dependencies: dependencies:
@ -12929,15 +12927,6 @@ packages:
'@types/qs': 6.9.7 '@types/qs': 6.9.7
'@types/range-parser': 1.2.4 '@types/range-parser': 1.2.4
/@types/express/4.17.13:
resolution: {integrity: sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==}
dependencies:
'@types/body-parser': 1.19.2
'@types/express-serve-static-core': 4.17.30
'@types/qs': 6.9.7
'@types/serve-static': 1.15.0
dev: false
/@types/express/4.17.15: /@types/express/4.17.15:
resolution: {integrity: sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==} resolution: {integrity: sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==}
dependencies: dependencies:
@ -12957,7 +12946,7 @@ packages:
/@types/fs-extra/8.1.2: /@types/fs-extra/8.1.2:
resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: true dev: true
/@types/fs-extra/9.0.13: /@types/fs-extra/9.0.13:
@ -13112,7 +13101,7 @@ packages:
/@types/jsonwebtoken/8.5.9: /@types/jsonwebtoken/8.5.9:
resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==} resolution: {integrity: sha512-272FMnFGzAVMGtu9tkr29hRL6bZj4Zs1KZNeHLnKqAvp06tAIcarTMwOh8/8bz4FmKRcMxZhZNeUAQsNLoiPhg==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
/@types/keygrip/1.0.2: /@types/keygrip/1.0.2:
resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==} resolution: {integrity: sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==}
@ -13120,7 +13109,7 @@ packages:
/@types/keyv/3.1.4: /@types/keyv/3.1.4:
resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
/@types/koa-bodyparser/4.3.8: /@types/koa-bodyparser/4.3.8:
resolution: {integrity: sha512-/Tk3xdaj/3y9VZ6K8z9fQ8myZOR2EEfwrlkbO4SjzLizRZaDFARSA8OGAC3B9lhC1R4wG0nCrTdd6o0NL2jrEQ==} resolution: {integrity: sha512-/Tk3xdaj/3y9VZ6K8z9fQ8myZOR2EEfwrlkbO4SjzLizRZaDFARSA8OGAC3B9lhC1R4wG0nCrTdd6o0NL2jrEQ==}
@ -13180,7 +13169,7 @@ packages:
resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==} resolution: {integrity: sha512-Ny/PJkO6nxWAQnaet8q/oWz15lrfwvdvBpuY4treB0CSsBO1CG0fVuNLngR3m3bepQLd+E4c3Y3DlC2okpUvPw==}
dependencies: dependencies:
'@types/fined': 1.1.3 '@types/fined': 1.1.3
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: false dev: false
/@types/loadable__component/5.13.4: /@types/loadable__component/5.13.4:
@ -13285,7 +13274,7 @@ packages:
/@types/node-fetch/2.6.2: /@types/node-fetch/2.6.2:
resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
form-data: 3.0.1 form-data: 3.0.1
dev: true dev: true
@ -13380,20 +13369,20 @@ packages:
/@types/pino-pretty/4.7.5: /@types/pino-pretty/4.7.5:
resolution: {integrity: sha512-rfHe6VIknk14DymxGqc9maGsRe8/HQSvM2u46EAz2XrS92qsAJnW16dpdFejBuZKD8cRJX6Aw6uVZqIQctMpAg==} resolution: {integrity: sha512-rfHe6VIknk14DymxGqc9maGsRe8/HQSvM2u46EAz2XrS92qsAJnW16dpdFejBuZKD8cRJX6Aw6uVZqIQctMpAg==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/pino': 6.3.12 '@types/pino': 6.3.12
dev: false dev: false
/@types/pino-std-serializers/2.4.1: /@types/pino-std-serializers/2.4.1:
resolution: {integrity: sha512-17XcksO47M24IVTVKPeAByWUd3Oez7EbIjXpSbzMPhXVzgjGtrOa49gKBwxH9hb8dKv58OelsWQ+A1G1l9S3wQ==} resolution: {integrity: sha512-17XcksO47M24IVTVKPeAByWUd3Oez7EbIjXpSbzMPhXVzgjGtrOa49gKBwxH9hb8dKv58OelsWQ+A1G1l9S3wQ==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: false dev: false
/@types/pino/6.3.12: /@types/pino/6.3.12:
resolution: {integrity: sha512-dsLRTq8/4UtVSpJgl9aeqHvbh6pzdmjYD3C092SYgLD2TyoCqHpTJk6vp8DvCTGGc7iowZ2MoiYiVUUCcu7muw==} resolution: {integrity: sha512-dsLRTq8/4UtVSpJgl9aeqHvbh6pzdmjYD3C092SYgLD2TyoCqHpTJk6vp8DvCTGGc7iowZ2MoiYiVUUCcu7muw==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/pino-pretty': 4.7.5 '@types/pino-pretty': 4.7.5
'@types/pino-std-serializers': 2.4.1 '@types/pino-std-serializers': 2.4.1
sonic-boom: 2.8.0 sonic-boom: 2.8.0
@ -13582,7 +13571,7 @@ packages:
/@types/responselike/1.0.0: /@types/responselike/1.0.0:
resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
/@types/retry/0.12.0: /@types/retry/0.12.0:
resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==}
@ -13590,7 +13579,7 @@ packages:
/@types/sax/1.2.4: /@types/sax/1.2.4:
resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: false dev: false
/@types/scheduler/0.16.2: /@types/scheduler/0.16.2:
@ -13630,7 +13619,7 @@ packages:
/@types/ssh2/1.11.6: /@types/ssh2/1.11.6:
resolution: {integrity: sha512-8Mf6bhzYYBLEB/G6COux7DS/F5bCWwojv/qFo2yH/e4cLzAavJnxvFXrYW59iKfXdhG6OmzJcXDasgOb/s0rxw==} resolution: {integrity: sha512-8Mf6bhzYYBLEB/G6COux7DS/F5bCWwojv/qFo2yH/e4cLzAavJnxvFXrYW59iKfXdhG6OmzJcXDasgOb/s0rxw==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: false dev: false
/@types/stack-utils/2.0.1: /@types/stack-utils/2.0.1:
@ -13672,7 +13661,7 @@ packages:
/@types/through/0.0.30: /@types/through/0.0.30:
resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==} resolution: {integrity: sha512-FvnCJljyxhPM3gkRgWmxmDZyAQSiBQQWLI0A0VFL0K7W1oRUrPJSqNO0NvTnLkBcotdlp3lKvaT0JrnyRDkzOg==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
/@types/tinycon/0.6.3: /@types/tinycon/0.6.3:
resolution: {integrity: sha512-TC42m8KAyp3AqyZKRXVkk5Qy+oIU8zo2U3362i16Qan0JgZNzLawO7oYnin4BJOy8FSZfOadYYvUWQnpaXoZwg==} resolution: {integrity: sha512-TC42m8KAyp3AqyZKRXVkk5Qy+oIU8zo2U3362i16Qan0JgZNzLawO7oYnin4BJOy8FSZfOadYYvUWQnpaXoZwg==}
@ -13775,7 +13764,7 @@ packages:
/@types/whatwg-url/8.2.2: /@types/whatwg-url/8.2.2:
resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==} resolution: {integrity: sha512-FtQu10RWgn3D9U4aazdwIE2yzphmTJREDqNdODHrbrZmmMqI0vMheC/6NE/J1Yveaj8H+ela+YwWTjq5PGmuhA==}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
'@types/webidl-conversions': 6.1.1 '@types/webidl-conversions': 6.1.1
/@types/ws/8.5.3: /@types/ws/8.5.3:
@ -15713,7 +15702,7 @@ packages:
babel-plugin-syntax-jsx: 6.18.0 babel-plugin-syntax-jsx: 6.18.0
lodash: 4.17.21 lodash: 4.17.21
picomatch: 2.3.1 picomatch: 2.3.1
styled-components: 5.3.6_7i5myeigehqah43i5u7wbekgba styled-components: 5.3.6_react@18.2.0
/babel-plugin-syntax-jsx/6.18.0: /babel-plugin-syntax-jsx/6.18.0:
resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==} resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==}
@ -15902,26 +15891,6 @@ packages:
/bn.js/5.2.1: /bn.js/5.2.1:
resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==}
/body-parser/1.20.0:
resolution: {integrity: sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
dependencies:
bytes: 3.1.2
content-type: 1.0.4
debug: 2.6.9
depd: 2.0.0
destroy: 1.2.0
http-errors: 2.0.0
iconv-lite: 0.4.24
on-finished: 2.4.1
qs: 6.10.3
raw-body: 2.5.1
type-is: 1.6.18
unpipe: 1.0.0
transitivePeerDependencies:
- supports-color
dev: false
/body-parser/1.20.1: /body-parser/1.20.1:
resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
@ -17839,16 +17808,16 @@ packages:
vary: 1.1.2 vary: 1.1.2
dev: false dev: false
/cosmiconfig-typescript-loader/2.0.2_rmyookn2hbqnnqjamditnjqvjq: /cosmiconfig-typescript-loader/2.0.2_awa2wsr5thmg3i7jqycphctjfq:
resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==} resolution: {integrity: sha512-KmE+bMjWMXJbkWCeY4FJX/npHuZPNr9XF9q9CIQ/bpFwi1qHfCmSiKarrCcRa0LO4fWjk93pVoeRtJAkTGcYNw==}
engines: {node: '>=12', npm: '>=6'} engines: {node: '>=12', npm: '>=6'}
peerDependencies: peerDependencies:
'@types/node': '*' '@types/node': '*'
typescript: '>=3' typescript: '>=3'
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
cosmiconfig: 7.1.0 cosmiconfig: 7.1.0
ts-node: 10.9.1_rmyookn2hbqnnqjamditnjqvjq ts-node: 10.9.1_awa2wsr5thmg3i7jqycphctjfq
typescript: 4.9.4 typescript: 4.9.4
transitivePeerDependencies: transitivePeerDependencies:
- '@swc/core' - '@swc/core'
@ -19579,7 +19548,7 @@ packages:
dependencies: dependencies:
'@types/cookie': 0.4.1 '@types/cookie': 0.4.1
'@types/cors': 2.8.12 '@types/cors': 2.8.12
'@types/node': 18.11.16 '@types/node': 18.11.18
accepts: 1.3.8 accepts: 1.3.8
base64id: 2.0.0 base64id: 2.0.0
cookie: 0.4.2 cookie: 0.4.2
@ -20571,7 +20540,7 @@ packages:
resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==} resolution: {integrity: sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
require-like: 0.1.2 require-like: 0.1.2
dev: false dev: false
@ -20754,45 +20723,6 @@ packages:
express: 4.18.2 express: 4.18.2
dev: false dev: false
/express/4.18.1:
resolution: {integrity: sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==}
engines: {node: '>= 0.10.0'}
dependencies:
accepts: 1.3.8
array-flatten: 1.1.1
body-parser: 1.20.0
content-disposition: 0.5.4
content-type: 1.0.4
cookie: 0.5.0
cookie-signature: 1.0.6
debug: 2.6.9
depd: 2.0.0
encodeurl: 1.0.2
escape-html: 1.0.3
etag: 1.8.1
finalhandler: 1.2.0
fresh: 0.5.2
http-errors: 2.0.0
merge-descriptors: 1.0.1
methods: 1.1.2
on-finished: 2.4.1
parseurl: 1.3.3
path-to-regexp: 0.1.7
proxy-addr: 2.0.7
qs: 6.10.3
range-parser: 1.2.1
safe-buffer: 5.2.1
send: 0.18.0
serve-static: 1.15.0
setprototypeof: 1.2.0
statuses: 2.0.1
type-is: 1.6.18
utils-merge: 1.0.1
vary: 1.1.2
transitivePeerDependencies:
- supports-color
dev: false
/express/4.18.2: /express/4.18.2:
resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==}
engines: {node: '>= 0.10.0'} engines: {node: '>= 0.10.0'}
@ -24449,7 +24379,7 @@ packages:
pretty-format: 27.5.1 pretty-format: 27.5.1
slash: 3.0.0 slash: 3.0.0
strip-json-comments: 3.1.1 strip-json-comments: 3.1.1
ts-node: 10.9.1_nzafxra4mdyuer2ejmql6rdadq ts-node: 10.9.1_k2dsl7zculo2nmh5s33pladmoa
transitivePeerDependencies: transitivePeerDependencies:
- bufferutil - bufferutil
- canvas - canvas
@ -24522,7 +24452,7 @@ packages:
'@jest/environment': 27.5.1 '@jest/environment': 27.5.1
'@jest/fake-timers': 27.5.1 '@jest/fake-timers': 27.5.1
'@jest/types': 27.5.1 '@jest/types': 27.5.1
'@types/node': 18.11.16 '@types/node': 18.11.18
jest-mock: 27.5.1 jest-mock: 27.5.1
jest-util: 27.5.1 jest-util: 27.5.1
jsdom: 16.7.0 jsdom: 16.7.0
@ -24571,7 +24501,7 @@ packages:
dependencies: dependencies:
'@jest/types': 26.6.2 '@jest/types': 26.6.2
'@types/graceful-fs': 4.1.5 '@types/graceful-fs': 4.1.5
'@types/node': 18.11.16 '@types/node': 18.11.18
anymatch: 3.1.3 anymatch: 3.1.3
fb-watchman: 2.0.1 fb-watchman: 2.0.1
graceful-fs: 4.2.10 graceful-fs: 4.2.10
@ -24721,7 +24651,7 @@ packages:
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
dependencies: dependencies:
'@jest/types': 27.5.1 '@jest/types': 27.5.1
'@types/node': 18.11.16 '@types/node': 18.11.18
dev: true dev: true
/jest-pnp-resolver/1.2.3_jest-resolve@27.5.1: /jest-pnp-resolver/1.2.3_jest-resolve@27.5.1:
@ -24839,7 +24769,7 @@ packages:
resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==} resolution: {integrity: sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g==}
engines: {node: '>= 10.14.2'} engines: {node: '>= 10.14.2'}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
graceful-fs: 4.2.10 graceful-fs: 4.2.10
dev: true dev: true
@ -24886,7 +24816,7 @@ packages:
engines: {node: '>= 10.14.2'} engines: {node: '>= 10.14.2'}
dependencies: dependencies:
'@jest/types': 26.6.2 '@jest/types': 26.6.2
'@types/node': 18.11.16 '@types/node': 18.11.18
chalk: 4.1.2 chalk: 4.1.2
graceful-fs: 4.2.10 graceful-fs: 4.2.10
is-ci: 2.0.0 is-ci: 2.0.0
@ -24910,7 +24840,7 @@ packages:
engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0} engines: {node: ^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0}
dependencies: dependencies:
'@jest/types': 28.1.3 '@jest/types': 28.1.3
'@types/node': 18.11.16 '@types/node': 18.11.18
chalk: 4.1.2 chalk: 4.1.2
ci-info: 3.3.2 ci-info: 3.3.2
graceful-fs: 4.2.10 graceful-fs: 4.2.10
@ -24922,7 +24852,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies: dependencies:
'@jest/types': 29.2.1 '@jest/types': 29.2.1
'@types/node': 18.11.16 '@types/node': 18.11.18
chalk: 4.1.2 chalk: 4.1.2
ci-info: 3.3.2 ci-info: 3.3.2
graceful-fs: 4.2.10 graceful-fs: 4.2.10
@ -24986,7 +24916,7 @@ packages:
resolution: {integrity: sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==} resolution: {integrity: sha512-ROHTZ+oj7sBrgtv46zZ84uWky71AoYi0vEV9CdEtc1FQunsoAGe5HbQmW76nI5QWdvECVPrSi1MCVUmizSavMg==}
engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies: dependencies:
'@types/node': 18.11.16 '@types/node': 18.11.18
jest-util: 29.2.1 jest-util: 29.2.1
merge-stream: 2.0.0 merge-stream: 2.0.0
supports-color: 8.1.1 supports-color: 8.1.1
@ -30599,16 +30529,16 @@ packages:
engines: {node: '>=6'} engines: {node: '>=6'}
dev: false dev: false
/probot-metadata/2.1.0_probot@12.2.8: /probot-metadata/2.1.0_probot@12.3.0:
resolution: {integrity: sha512-0e8+fZ5tE2EbsSgN1zGHfjFNs17DEbG5b0zYq2HlEL6u+8JJRZraUMtwsi0QdtB2eMrenYfEy76aBfnfzFcrRw==} resolution: {integrity: sha512-0e8+fZ5tE2EbsSgN1zGHfjFNs17DEbG5b0zYq2HlEL6u+8JJRZraUMtwsi0QdtB2eMrenYfEy76aBfnfzFcrRw==}
peerDependencies: peerDependencies:
probot: '>=10' probot: '>=10'
dependencies: dependencies:
probot: 12.2.8 probot: 12.3.0
dev: false dev: false
/probot/12.2.8: /probot/12.3.0:
resolution: {integrity: sha512-O2WqJmgXUijAOTHaIBEW3jC5OU9Rq+eUg/AEBI5zkAUZaxzJMQvXvGvhVsdFE3Zt9Z3ceGN8Z2cgN+NTItSrCQ==} resolution: {integrity: sha512-I7qpD6myIt5eEqAOv14mrbdh4HdLG1MQgCHGQJpIj6rdDeQaacQDL2THlMSqIU2VBcdIRpLqNv7D0z2NG0la3w==}
engines: {node: '>=10.21'} engines: {node: '>=10.21'}
hasBin: true hasBin: true
dependencies: dependencies:
@ -30618,12 +30548,12 @@ packages:
'@octokit/plugin-rest-endpoint-methods': 5.16.2_@octokit+core@3.6.0 '@octokit/plugin-rest-endpoint-methods': 5.16.2_@octokit+core@3.6.0
'@octokit/plugin-retry': 3.0.9 '@octokit/plugin-retry': 3.0.9
'@octokit/plugin-throttling': 3.7.0_@octokit+core@3.6.0 '@octokit/plugin-throttling': 3.7.0_@octokit+core@3.6.0
'@octokit/types': 7.5.1 '@octokit/types': 8.0.0
'@octokit/webhooks': 9.26.0 '@octokit/webhooks': 9.26.0
'@probot/get-private-key': 1.1.1 '@probot/get-private-key': 1.1.1
'@probot/octokit-plugin-config': 1.1.6_@octokit+core@3.6.0 '@probot/octokit-plugin-config': 1.1.6_@octokit+core@3.6.0
'@probot/pino': 2.3.5 '@probot/pino': 2.3.5
'@types/express': 4.17.13 '@types/express': 4.17.15
'@types/ioredis': 4.28.10 '@types/ioredis': 4.28.10
'@types/pino': 6.3.12 '@types/pino': 6.3.12
'@types/pino-http': 5.8.1 '@types/pino-http': 5.8.1
@ -30632,7 +30562,7 @@ packages:
deprecation: 2.3.1 deprecation: 2.3.1
dotenv: 8.6.0 dotenv: 8.6.0
eventsource: 2.0.2 eventsource: 2.0.2
express: 4.18.1 express: 4.18.2
express-handlebars: 6.0.6 express-handlebars: 6.0.6
ioredis: 4.28.5 ioredis: 4.28.5
js-yaml: 3.14.1 js-yaml: 3.14.1
@ -30642,7 +30572,7 @@ packages:
pino-http: 5.8.0 pino-http: 5.8.0
pkg-conf: 3.1.0 pkg-conf: 3.1.0
resolve: 1.22.1 resolve: 1.22.1
semver: 7.3.7 semver: 7.3.8
update-dotenv: 1.1.1_dotenv@8.6.0 update-dotenv: 1.1.1_dotenv@8.6.0
uuid: 8.3.2 uuid: 8.3.2
transitivePeerDependencies: transitivePeerDependencies:
@ -31028,13 +30958,6 @@ packages:
resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==}
engines: {node: '>=0.6.0', teleport: '>=0.2.0'} engines: {node: '>=0.6.0', teleport: '>=0.2.0'}
/qs/6.10.3:
resolution: {integrity: sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==}
engines: {node: '>=0.6'}
dependencies:
side-channel: 1.0.4
dev: false
/qs/6.11.0: /qs/6.11.0:
resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
@ -35924,6 +35847,7 @@ packages:
react-is: 18.2.0 react-is: 18.2.0
shallowequal: 1.1.0 shallowequal: 1.1.0
supports-color: 5.5.0 supports-color: 5.5.0
dev: false
/styled-components/5.3.6_mdz3marskokvq6744hhidi3r5a: /styled-components/5.3.6_mdz3marskokvq6744hhidi3r5a:
resolution: {integrity: sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==} resolution: {integrity: sha512-hGTZquGAaTqhGWldX7hhfzjnIYBZ0IXQXkCYdvF1Sq3DsUaLx6+NTHC5Jj1ooM2F68sBiVz3lvhfwQs/S3l6qg==}
@ -35969,7 +35893,6 @@ packages:
react: 18.2.0 react: 18.2.0
shallowequal: 1.1.0 shallowequal: 1.1.0
supports-color: 5.5.0 supports-color: 5.5.0
dev: true
/styled-system/5.1.5: /styled-system/5.1.5:
resolution: {integrity: sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A==} resolution: {integrity: sha512-7VoD0o2R3RKzOzPK0jYrVnS8iJdfkKsQJNiLRDjikOpQVqQHns/DXWaPZOH4tIKkhAT7I6wIsy9FWTWh2X3q+A==}
@ -37068,7 +36991,6 @@ packages:
typescript: 4.9.4 typescript: 4.9.4
v8-compile-cache-lib: 3.0.1 v8-compile-cache-lib: 3.0.1
yn: 3.1.1 yn: 3.1.1
dev: false
/ts-node/10.9.1_k2dsl7zculo2nmh5s33pladmoa: /ts-node/10.9.1_k2dsl7zculo2nmh5s33pladmoa:
resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==}

Loading…
Cancel
Save