mirror of
https://github.com/orangecoding/fredy.git
synced 2026-06-16 12:31:07 +00:00
adding new sendgrid adapter
This commit is contained in:
15
README.md
15
README.md
@@ -59,7 +59,20 @@ After the user has send a message to your bot the first time, you can gather the
|
|||||||
curl -X GET https://api.telegram.org/bot{YOUR_TELEGRAM_TOKEN}/getUpdates
|
curl -X GET https://api.telegram.org/bot{YOUR_TELEGRAM_TOKEN}/getUpdates
|
||||||
```
|
```
|
||||||
|
|
||||||
A more detailed list of instructions can be found here [https://core.telegram.org/bots#botfather](https://core.telegram.org/bots#botfather)
|
A more detailed list of instructions can be found here [https://core.telegram.org/bots#botfather](https://core.telegram.org/bots#botfather)
|
||||||
|
|
||||||
|
##### SendGrid
|
||||||
|
```json
|
||||||
|
"sendGrid": {
|
||||||
|
"apiKey": "",
|
||||||
|
"from": "",
|
||||||
|
"receiver": "",
|
||||||
|
"templateId": "",
|
||||||
|
"enabled": true
|
||||||
|
}
|
||||||
|
```
|
||||||
|
If you don't use Slack, I'd personally recommend using Sendgrid. It's a free service (free as in "you cannot send more than 100 emails a day"), which is more than enough for Fredy.
|
||||||
|
|
||||||
|
|
||||||
### 2. Multiple search jobs
|
### 2. Multiple search jobs
|
||||||
|
|
||||||
|
|||||||
@@ -13,6 +13,13 @@
|
|||||||
"token": "",
|
"token": "",
|
||||||
"enabled": false
|
"enabled": false
|
||||||
},
|
},
|
||||||
|
"sendGrid": {
|
||||||
|
"apiKey": "",
|
||||||
|
"from": "",
|
||||||
|
"receiver": "",
|
||||||
|
"templateId": "",
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
"console": {
|
"console": {
|
||||||
"enabled": true
|
"enabled": true
|
||||||
}
|
}
|
||||||
|
|||||||
235
doc/sendgrid-email-template.hbs
Normal file
235
doc/sendgrid-email-template.hbs
Normal file
@@ -0,0 +1,235 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html data-editor-version="2" class="sg-campaigns" xmlns="http://www.w3.org/1999/xhtml"><head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1">
|
||||||
|
<!--[if !mso]><!-->
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
|
||||||
|
<!--<![endif]-->
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<xml>
|
||||||
|
<o:OfficeDocumentSettings>
|
||||||
|
<o:AllowPNG/>
|
||||||
|
<o:PixelsPerInch>96</o:PixelsPerInch>
|
||||||
|
</o:OfficeDocumentSettings>
|
||||||
|
</xml>
|
||||||
|
<![endif]-->
|
||||||
|
<!--[if (gte mso 9)|(IE)]>
|
||||||
|
<style type="text/css">
|
||||||
|
body {width: 600px;margin: 0 auto;}
|
||||||
|
table {border-collapse: collapse;}
|
||||||
|
table, td {mso-table-lspace: 0pt;mso-table-rspace: 0pt;}
|
||||||
|
img {-ms-interpolation-mode: bicubic;}
|
||||||
|
</style>
|
||||||
|
<![endif]-->
|
||||||
|
<style type="text/css">
|
||||||
|
body, p, div {
|
||||||
|
font-family: arial,helvetica,sans-serif;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
color: #000000;
|
||||||
|
}
|
||||||
|
body a {
|
||||||
|
color: #42ee99;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
p { margin: 0; padding: 0; }
|
||||||
|
table.wrapper {
|
||||||
|
width:100% !important;
|
||||||
|
table-layout: fixed;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
-moz-text-size-adjust: 100%;
|
||||||
|
-ms-text-size-adjust: 100%;
|
||||||
|
}
|
||||||
|
img.max-width {
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
.column.of-2 {
|
||||||
|
width: 50%;
|
||||||
|
}
|
||||||
|
.column.of-3 {
|
||||||
|
width: 33.333%;
|
||||||
|
}
|
||||||
|
.column.of-4 {
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
@media screen and (max-width:480px) {
|
||||||
|
.preheader .rightColumnContent,
|
||||||
|
.footer .rightColumnContent {
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
.preheader .rightColumnContent div,
|
||||||
|
.preheader .rightColumnContent span,
|
||||||
|
.footer .rightColumnContent div,
|
||||||
|
.footer .rightColumnContent span {
|
||||||
|
text-align: left !important;
|
||||||
|
}
|
||||||
|
.preheader .rightColumnContent,
|
||||||
|
.preheader .leftColumnContent {
|
||||||
|
font-size: 80% !important;
|
||||||
|
padding: 5px 0;
|
||||||
|
}
|
||||||
|
table.wrapper-mobile {
|
||||||
|
width: 100% !important;
|
||||||
|
table-layout: fixed;
|
||||||
|
}
|
||||||
|
img.max-width {
|
||||||
|
height: auto !important;
|
||||||
|
max-width: 100% !important;
|
||||||
|
}
|
||||||
|
a.bulletproof-button {
|
||||||
|
display: block !important;
|
||||||
|
width: auto !important;
|
||||||
|
font-size: 80%;
|
||||||
|
padding-left: 0 !important;
|
||||||
|
padding-right: 0 !important;
|
||||||
|
}
|
||||||
|
.columns {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
.column {
|
||||||
|
display: block !important;
|
||||||
|
width: 100% !important;
|
||||||
|
padding-left: 0 !important;
|
||||||
|
padding-right: 0 !important;
|
||||||
|
margin-left: 0 !important;
|
||||||
|
margin-right: 0 !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<!--user entered Head Start-->
|
||||||
|
|
||||||
|
<!--End Head user entered-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<center class="wrapper" data-link-color="#42ee99" data-body-style="font-size:14px; font-family:arial,helvetica,sans-serif; color:#000000; background-color:#000000;">
|
||||||
|
<div class="webkit">
|
||||||
|
<table cellpadding="0" cellspacing="0" border="0" width="100%" class="wrapper" bgcolor="#000000">
|
||||||
|
<tbody><tr>
|
||||||
|
<td valign="top" bgcolor="#000000" width="100%">
|
||||||
|
<table width="100%" role="content-container" class="outer" align="center" cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td width="100%">
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0">
|
||||||
|
<tbody><tr>
|
||||||
|
<td>
|
||||||
|
<!--[if mso]>
|
||||||
|
<center>
|
||||||
|
<table><tr><td width="600">
|
||||||
|
<![endif]-->
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0" border="0" style="width:100%; max-width:600px;" align="center">
|
||||||
|
<tbody><tr>
|
||||||
|
<td role="modules-container" style="padding:0px 0px 0px 0px; color:#000000; text-align:left;" bgcolor="#FFFFFF" width="100%" align="left"><table class="module preheader preheader-hide" role="module" data-type="preheader" border="0" cellpadding="0" cellspacing="0" width="100%" style="display: none !important; mso-hide: all; visibility: hidden; opacity: 0; color: transparent; height: 0; width: 0;">
|
||||||
|
</table><table class="module" role="module" data-type="spacer" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="vB9TDziyvx65CC2nx3oyRH">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 20px 0px;" role="module-content" bgcolor="#000000">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table><table class="wrapper" role="module" data-type="image" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="uXsDxMnn1bRMmDcX8NB6rW">
|
||||||
|
</table><table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="hL6wjQ2qknNd5qDwT1p7Up">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="background-color:#000000; padding:10px 20px 10px 20px; line-height:40px; text-align:justify;" height="100%" valign="top" bgcolor="#000000"><div><h1 style="text-align: center"><span style="color: #ffffff; font-size: 14px; font-family: verdana,geneva,sans-serif"><strong>Service {{serviceName}} found {{numberOfListings}} new listing(s)!</strong></span></h1><div></div></div></td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" align="center" width="100%" height="1px" style="line-height:3px; font-size:3px;">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 1px 0px;" bgcolor="#42ee99"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table class="module" role="module" data-type="text" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="qk51Jjn4bm3rn2Yb31Dxzb">
|
||||||
|
<tbody>
|
||||||
|
{{#each listings}}
|
||||||
|
<tr>
|
||||||
|
<td style="padding:50px 50px 10px 50px; line-height:22px; text-align:center; color:white" bgcolor="#000000" height="100%" valign="top">
|
||||||
|
<div>
|
||||||
|
<span style="font-size: 12px; font-family: verdana,geneva,sans-serif"><b>{{this.title}}</b></span>
|
||||||
|
<br/>
|
||||||
|
<span style="font-size: 12px; font-family: verdana,geneva,sans-serif">Size: {{this.size}}</span>
|
||||||
|
<br/>
|
||||||
|
<span style="font-size: 12px; font-family: verdana,geneva,sans-serif">{{this.address}}</span>
|
||||||
|
<br/>
|
||||||
|
<a href="{{this.link}}" target="_blank" style="color:#00dc73; font-size:13px">{{this.link}}</a>
|
||||||
|
<br/>
|
||||||
|
---------------------------
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{{/each}}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<table class="module" role="module" data-type="spacer" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="2ga5f7koD5ApvUfnqUK6aT">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 30px 0px;" role="module-content" bgcolor="#000000">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
<table class="module" role="module" data-type="divider" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="c3nRrjMndqXf1snYDFPSF9">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 0px 0px;" role="module-content" height="100%" valign="top" bgcolor="#000000">
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0" align="center" width="100%" height="2px" style="line-height:1px; font-size:2px;">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 2px 0px;" bgcolor="#42ee99"></td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<table class="module" role="module" data-type="spacer" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="pa9PeYjCEFyByuP5878Sd2">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 30px 0px;" role="module-content" bgcolor="#000000">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
|
||||||
|
<table class="module" role="module" data-type="social" align="center" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="n7FceQWVnLmounEt32B1gj">
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td valign="top" style="padding:0px 0px 0px 0px; font-size:6px; line-height:10px; background-color:#000000;" align="center">
|
||||||
|
<table align="center">
|
||||||
|
<tbody>
|
||||||
|
<tr><td style="padding: 0px 5px;">
|
||||||
|
<a href="https://github.com/orangecoding/fredy" target="_blank" alt="Fredy" title="Powered by Fredy" style="color:#00dc73; font-size:17px">
|
||||||
|
Powered by Fredy
|
||||||
|
</a>
|
||||||
|
</td></tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table></table><table class="module" role="module" data-type="spacer" border="0" cellpadding="0" cellspacing="0" width="100%" style="table-layout: fixed;" data-muid="35xFa9abxGTBYt9yR9BeQ2">
|
||||||
|
<tbody><tr>
|
||||||
|
<td style="padding:0px 0px 30px 0px;" role="module-content" bgcolor="#000000">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table></td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
<!--[if mso]>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</center>
|
||||||
|
<![endif]-->
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody></table>
|
||||||
|
</div>
|
||||||
|
</center>
|
||||||
|
|
||||||
|
|
||||||
|
</body></html>
|
||||||
28
lib/notification/adapter/sendGrid.js
Executable file
28
lib/notification/adapter/sendGrid.js
Executable file
@@ -0,0 +1,28 @@
|
|||||||
|
const sgMail = require('@sendgrid/mail');
|
||||||
|
|
||||||
|
/**
|
||||||
|
* sends a new listing using SendGrid
|
||||||
|
* @param serviceName e.g immoscout
|
||||||
|
* @param newListings an array with newly found listings
|
||||||
|
* @param notificationConfig config of this notification adapter
|
||||||
|
* @returns {Promise<Chat.PostMessage.Response> | void}
|
||||||
|
*/
|
||||||
|
exports.send = (serviceName, newListings, notificationConfig) => {
|
||||||
|
const { apiKey, enabled, receiver, from, templateId } = notificationConfig.sendGrid;
|
||||||
|
if (!enabled) {
|
||||||
|
return [Promise.resolve()];
|
||||||
|
}
|
||||||
|
sgMail.setApiKey(apiKey);
|
||||||
|
const msg = {
|
||||||
|
templateId,
|
||||||
|
to: receiver,
|
||||||
|
from,
|
||||||
|
subject: `Service ${serviceName} found ${newListings.length} new listing(s)`,
|
||||||
|
dynamic_template_data: {
|
||||||
|
serviceName,
|
||||||
|
numberOfListings: newListings.length,
|
||||||
|
listings: newListings,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
return sgMail.send(msg);
|
||||||
|
};
|
||||||
@@ -43,17 +43,18 @@
|
|||||||
"npm": ">=6.0.0"
|
"npm": ">=6.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@sendgrid/mail": "^7.2.1",
|
||||||
"body-parser": "1.19.0",
|
"body-parser": "1.19.0",
|
||||||
"lowdb": "1.0.0",
|
"lowdb": "1.0.0",
|
||||||
"request-x-ray": "0.1.4",
|
"request-x-ray": "0.1.4",
|
||||||
"restana": "4.6.1",
|
"restana": "4.6.2",
|
||||||
"slack": "11.0.2",
|
"slack": "11.0.2",
|
||||||
"tg-yarl": "1.3.0",
|
"tg-yarl": "1.3.0",
|
||||||
"x-ray": "2.3.4"
|
"x-ray": "2.3.4"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"chai": "4.2.0",
|
"chai": "4.2.0",
|
||||||
"eslint": "7.3.0",
|
"eslint": "7.4.0",
|
||||||
"eslint-config-prettier": "6.11.0",
|
"eslint-config-prettier": "6.11.0",
|
||||||
"husky": "4.2.5",
|
"husky": "4.2.5",
|
||||||
"lint-staged": "10.2.11",
|
"lint-staged": "10.2.11",
|
||||||
|
|||||||
68
yarn.lock
68
yarn.lock
@@ -33,6 +33,30 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
regenerator-runtime "^0.13.2"
|
regenerator-runtime "^0.13.2"
|
||||||
|
|
||||||
|
"@sendgrid/client@^7.2.1":
|
||||||
|
version "7.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.2.1.tgz#9d631a3d2ed44f06a08dee9730da7755eb72fb3c"
|
||||||
|
integrity sha512-QizSa+qKnq5xquMyeB2x0l2JNH3jvg3zHmGt0Ghz+DLUGpW8i1m/zvrqSZ0wdcGVO4/2lW3WFN0drv1+jOxVgA==
|
||||||
|
dependencies:
|
||||||
|
"@sendgrid/helpers" "^7.2.0"
|
||||||
|
axios "^0.19.2"
|
||||||
|
|
||||||
|
"@sendgrid/helpers@^7.2.0":
|
||||||
|
version "7.2.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-7.2.0.tgz#75cbde76815fa0f8b7966b3e2a0650fc125c3276"
|
||||||
|
integrity sha512-Ps8rc3xFpaQvIWoW1zlWi9G7QnxYwXFOeq0915DzXf5knoiOgXdFk/XBXbCFjr2lf/JIzjgFUtAV/dN8Z8jzHw==
|
||||||
|
dependencies:
|
||||||
|
chalk "^2.0.1"
|
||||||
|
deepmerge "^4.2.2"
|
||||||
|
|
||||||
|
"@sendgrid/mail@^7.2.1":
|
||||||
|
version "7.2.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.2.1.tgz#4e1d9cb84406a2b8ed6db3ddf8cba9d17e6badd0"
|
||||||
|
integrity sha512-LBAdwL+c6HmN2B/Q24LFy2do/IzBFeFoF05xBqgELxp8lMUwis4fbqgo09Zyj1CY0qHN+CfWcUfLNvHfVCh8oQ==
|
||||||
|
dependencies:
|
||||||
|
"@sendgrid/client" "^7.2.1"
|
||||||
|
"@sendgrid/helpers" "^7.2.0"
|
||||||
|
|
||||||
"@types/color-name@^1.1.1":
|
"@types/color-name@^1.1.1":
|
||||||
version "1.1.1"
|
version "1.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
|
||||||
@@ -201,6 +225,13 @@ aws4@^1.8.0:
|
|||||||
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
|
resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e"
|
||||||
integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
|
integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==
|
||||||
|
|
||||||
|
axios@^0.19.2:
|
||||||
|
version "0.19.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27"
|
||||||
|
integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==
|
||||||
|
dependencies:
|
||||||
|
follow-redirects "1.5.10"
|
||||||
|
|
||||||
balanced-match@^1.0.0:
|
balanced-match@^1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767"
|
||||||
@@ -301,7 +332,7 @@ chai@4.2.0:
|
|||||||
pathval "^1.1.0"
|
pathval "^1.1.0"
|
||||||
type-detect "^4.0.5"
|
type-detect "^4.0.5"
|
||||||
|
|
||||||
chalk@^2.0.0, chalk@^2.4.2, chalk@~2.4.0:
|
chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.2, chalk@~2.4.0:
|
||||||
version "2.4.2"
|
version "2.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
|
||||||
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
|
||||||
@@ -537,6 +568,13 @@ debug@3.2.6, debug@^3.1.0:
|
|||||||
dependencies:
|
dependencies:
|
||||||
ms "^2.1.1"
|
ms "^2.1.1"
|
||||||
|
|
||||||
|
debug@=3.1.0:
|
||||||
|
version "3.1.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
|
||||||
|
integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
|
||||||
|
dependencies:
|
||||||
|
ms "2.0.0"
|
||||||
|
|
||||||
debug@^4.0.1, debug@^4.1.1, debug@~4.1.0:
|
debug@^4.0.1, debug@^4.1.1, debug@~4.1.0:
|
||||||
version "4.1.1"
|
version "4.1.1"
|
||||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
|
||||||
@@ -566,6 +604,11 @@ deep-is@^0.1.3:
|
|||||||
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
|
||||||
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
|
||||||
|
|
||||||
|
deepmerge@^4.2.2:
|
||||||
|
version "4.2.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
|
||||||
|
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
|
||||||
|
|
||||||
define-properties@^1.1.2, define-properties@^1.1.3:
|
define-properties@^1.1.2, define-properties@^1.1.3:
|
||||||
version "1.1.3"
|
version "1.1.3"
|
||||||
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
|
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
|
||||||
@@ -835,10 +878,10 @@ eslint-visitor-keys@^1.2.0:
|
|||||||
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa"
|
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.2.0.tgz#74415ac884874495f78ec2a97349525344c981fa"
|
||||||
integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==
|
integrity sha512-WFb4ihckKil6hu3Dp798xdzSfddwKKU3+nGniKF6HfeW6OLd2OUDEPP7TcHtB5+QXOKg2s6B2DaMPE1Nn/kxKQ==
|
||||||
|
|
||||||
eslint@7.3.0:
|
eslint@7.4.0:
|
||||||
version "7.3.0"
|
version "7.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.3.0.tgz#f9f1fc3dc1227985d0db88769f2bbac7b4b875d7"
|
resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.4.0.tgz#4e35a2697e6c1972f9d6ef2b690ad319f80f206f"
|
||||||
integrity sha512-dJMVXwfU5PT1cj2Nv2VPPrKahKTGdX+5Dh0Q3YuKt+Y2UhdL2YbzsVaBMyG9HC0tBismlv/r1+eZqs6SMIV38Q==
|
integrity sha512-gU+lxhlPHu45H3JkEGgYhWhkR9wLHHEXC9FbWFnTlEkbKyZKWgWRLgf61E8zWmBuI6g5xKBph9ltg3NtZMVF8g==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/code-frame" "^7.0.0"
|
"@babel/code-frame" "^7.0.0"
|
||||||
ajv "^6.10.0"
|
ajv "^6.10.0"
|
||||||
@@ -1042,6 +1085,13 @@ flatted@^2.0.0:
|
|||||||
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
|
resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
|
||||||
integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
|
integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
|
||||||
|
|
||||||
|
follow-redirects@1.5.10:
|
||||||
|
version "1.5.10"
|
||||||
|
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
|
||||||
|
integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
|
||||||
|
dependencies:
|
||||||
|
debug "=3.1.0"
|
||||||
|
|
||||||
forever-agent@~0.6.1:
|
forever-agent@~0.6.1:
|
||||||
version "0.6.1"
|
version "0.6.1"
|
||||||
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
|
||||||
@@ -2300,10 +2350,10 @@ resolve@^1.11.1:
|
|||||||
dependencies:
|
dependencies:
|
||||||
path-parse "^1.0.6"
|
path-parse "^1.0.6"
|
||||||
|
|
||||||
restana@4.6.1:
|
restana@4.6.2:
|
||||||
version "4.6.1"
|
version "4.6.2"
|
||||||
resolved "https://registry.yarnpkg.com/restana/-/restana-4.6.1.tgz#a8d43b76b7f36e5e8bde74ca110fe252c64ddc44"
|
resolved "https://registry.yarnpkg.com/restana/-/restana-4.6.2.tgz#665713b6f413c4901425a8c6550bdeb27468e99a"
|
||||||
integrity sha512-639EiBwn3jCbeNp2Ga1ppXmnZBEFRjqHwv/+jL6hbgjKYTjZuHlbOZq2aIgahzBrh8cBwUDlaWWRO/NH3lor0A==
|
integrity sha512-jkMmsYblRSCobP1/5FOFrPNrwtvZi4ErdZ0QTcLcM1azNtiy+3oPThYz3WNTfkbCs8TmqsUIYg2wtuP3ANZCqg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"0http" "^2.5.2"
|
"0http" "^2.5.2"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user