Unverified Commit d39ecc58 authored by Audrey Lebret's avatar Audrey Lebret Committed by GitHub
Browse files

feat(email pdf): création du pdf (#723)

* feat(email pdf): création du pdf

* feat(email pdf): ajout promise

* feat(email pdf): fix PR

* feat(email pdf): fix PR

* feat(email pdf): fix PR
parent 04703bc6
"use strict";
const emailPartageTemplate = (info) => ({
subject: "Résultats au questionnaire EPDS de <%- prenom %>",
text: `Bonjour,
const path = require('path');
const fs = require('fs');
const html_to_pdf = require('html-pdf-node');
const slugify = require('slugify');
const _ = require('lodash');
La patiente <%- prenom %> <%- nom %> vient de compléter un test EPDS et souhaite partager le résultat avec vous.
Vous pouvez la contacter grâce aux informations suivantes :
Adresse mail : <%- email %>
Téléphone : <%- telephone %>
const RESOURCES_URL = process.env["RESOURCES_URL"];
const relativeDirPath = path.relative('.', `public`);
Score total du questionnaire EPDS : <%- score %> / 30
const r = (Math.random() + 1).toString(36).substring(7);
const filename = (nom) => slugify(`resultats epds ${nom} ${r}`, `-`) + ".pdf";
Détails des réponses :
Question / Réponse / Score
${[...new Array(10)].map((_, i) => buildTextResponse(info, i)).join('\n ')}
`,
html: `
<p>Bonjour,</p>
const buildTextResponse = (info, index) =>
`${info.detail_questions[index]} / ${info.detail_reponses[index]} / ${info.detail_score[index]}`;
const buildHtmlDetailScore = (info, index) =>
`
<tr>
<td>${info.detail_questions[index]}</td>
<td>${info.detail_reponses[index]}</td>
<td>${info.detail_score[index]}</td>
</tr>
`;
const emailPartageHtml = (info) =>
_.template(`<p>Bonjour,</p>
<p>La patiente <b><%- prenom %> <%- nom %></b> vient de compléter un test EPDS et souhaite partager le résultat avec vous.
Vous pouvez la contacter grâce aux informations suivantes : </p>
......@@ -25,7 +33,7 @@ const emailPartageTemplate = (info) => ({
<p>Adresse mail : <%- email %><br />
Téléphone : <%- telephone %></p>
<p>Score total du questionnaire EPDS : <%- score %> / 30</p>
<p>Score total du questionnaire EPDS : <%- score %> / 30</p>
<p>Détails des réponses :
<table border="1" cellspacing="0" cellpadding="5">
......@@ -37,41 +45,66 @@ const emailPartageTemplate = (info) => ({
${[...new Array(10)].map((_, i) => buildHtmlDetailScore(info, i)).join('\n ')}
</table>
</p>
`,
`)(info)
const emailPartageProTemplate = (info) => ({
subject: _.template("Résultats au questionnaire EPDS de <%- prenom %>")(info),
text: _.template(`Bonjour,
La patiente <%- prenom %> <%- nom %> vient de compléter un test EPDS et souhaite partager le résultat avec vous.
Vous pouvez la contacter grâce aux informations suivantes :
Adresse mail : <%- email %>
Téléphone : <%- telephone %>
Score total du questionnaire EPDS : <%- score %> / 30
Détails des réponses :
Question / Réponse / Score
${[...new Array(10)].map((_, i) => buildTextResponse(info, i)).join('\n ')}
`)(info),
html: emailPartageHtml(info),
});
const emailPartagePatientTemplate = (info, resourcesUrl) => ({
subject: "Résultats au questionnaire EPDS de <%- prenom %>",
text: `Bonjour,
const emailPartagePatientTemplate = (info) => ({
subject: _.template("Résultats au questionnaire EPDS de <%- prenom %>")(info),
text: _.template(`Bonjour,
Vous venez de passer le test EPDS. Vous trouverez ci-après votre score au test ainsi qu'une liste de structures et professionnels que vous pouvez contacter.
Score total du questionnaire EPDS : <%- score %> / 30
Des ressources sont à votre disposition sur le site : ${resourcesUrl}
`,
html: `
Des ressources sont à votre disposition sur le site : ${RESOURCES_URL}
`)(info),
html: _.template(`
<p>Bonjour,</p>
<p>Vous venez de passer le test EPDS. Vous trouverez ci-après votre score au test ainsi qu'une liste de structures et professionnels que vous pouvez contacter.</p>
<p>Score total du questionnaire EPDS : <%- score %> / 30</p>
<p>Des ressources sont à votre disposition sur le site : <a href="${resourcesUrl}" target="_blank">${resourcesUrl}</a></p>
`,
<p>Des ressources sont à votre disposition sur le site : <a href="${RESOURCES_URL}" target="_blank">${RESOURCES_URL}</a></p>
`)(info),
});
const buildTextResponse = (info, index) =>
`${info.detail_questions[index]} / ${info.detail_reponses[index]} / ${info.detail_score[index]}`;
const createPdf = (info) => {
const options = {
format: 'A4',
path: relativeDirPath + '/' + filename(info.nom),
margin: {
top: 25,
left: 25,
bottom: 25,
right: 25
}
};
const buildHtmlDetailScore = (info, index) =>
`
<tr>
<td>${info.detail_questions[index]}</td>
<td>${info.detail_reponses[index]}</td>
<td>${info.detail_score[index]}</td>
</tr>
`;
const file = {
content: emailPartageHtml(info)
};
return html_to_pdf.generatePdf(file, options)
}
const partage = async ({
email = "ND",
......@@ -101,33 +134,53 @@ const partage = async ({
};
try {
const resPro = await strapi.plugins.email.services.email.sendTemplatedEmail(
{
from: process.env["MAIL_SEND_FROM"],
to: email_pro,
cc: [email_pro_secondaire]
},
emailPartageTemplate(info),
info
);
await createPdf(info);
} catch (e) {
console.error(e);
throw new Error("Erreur lors de la création du pdf");
}
if (email) {
const resPatient = await strapi.plugins.email.services.email.sendTemplatedEmail(
if (email) {
try {
await strapi.plugins.email.services.email.send(
{
from: process.env["MAIL_SEND_FROM"],
to: email
},
emailPartagePatientTemplate(info, process.env["RESOURCES_URL"]),
info
to: email,
...emailPartagePatientTemplate(info)
}
);
} catch (e) {
console.error(e);
}
}
return resPro && !!resPro.response.match(/Ok/);
try {
const resPro = await strapi.plugins.email.services.email.send(
{
from: process.env["MAIL_SEND_FROM"],
to: email_pro,
cc: [email_pro_secondaire],
attachments: [
{
filename: filename(nom),
contentType: 'application/pdf',
content: fs.createReadStream(path.join(relativeDirPath, filename(nom)))
}
],
...emailPartageProTemplate(info)
}
);
fs.rm(relativeDirPath + '/' + filename(nom), { recursive: false }, (err) => {
if (err) console.error(err);
});
return (resPro && !!resPro.response.match(/Ok/))
} catch (e) {
console.error(e);
throw new Error("Erreur de connexion au serveur mail");
}
};
}
module.exports = {
partage
......
......@@ -22,8 +22,10 @@
"csvtojson": "^2.0.10",
"date-fns": "^2.23.0",
"form-data": "^4.0.0",
"html-pdf-node": "^1.0.7",
"json2csv": "^5.0.6",
"knex": "^0.95",
"lodash": "^4.17.21",
"pg": "latest",
"pg-query-stream": "^4.2.1",
"slugify": "^1.6.0",
......
......@@ -2545,6 +2545,13 @@
dependencies:
"@types/yargs-parser" "*"
"@types/yauzl@^2.9.1":
version "2.9.2"
resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"
integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==
dependencies:
"@types/node" "*"
"@typescript-eslint/experimental-utils@^4.0.1":
version "4.16.1"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.16.1.tgz#da7a396dc7d0e01922acf102b76efff17320b328"
......@@ -2811,6 +2818,11 @@ addressparser@1.0.1:
resolved "https://registry.yarnpkg.com/addressparser/-/addressparser-1.0.1.tgz#47afbe1a2a9262191db6838e4fd1d39b40821746"
integrity sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=
agent-base@5:
version "5.1.1"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
agent-base@6:
version "6.0.2"
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
......@@ -3841,6 +3853,11 @@ bson@^1.1.4:
resolved "https://registry.yarnpkg.com/bson/-/bson-1.1.5.tgz#2aaae98fcdf6750c0848b0cba1ddec3c73060a34"
integrity sha512-kDuEzldR21lHciPQAIulLs1LZlCXdLziXI6Mb/TDkwXhb//UORJNPXgcRs2CuO4H0DcMkpfT3/ySsP3unoZjBg==
buffer-crc32@~0.2.3:
version "0.2.13"
resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
buffer-equal-constant-time@1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
......@@ -3875,7 +3892,7 @@ buffer@^4.3.0:
ieee754 "^1.1.4"
isarray "^1.0.0"
buffer@^5.1.0, buffer@^5.5.0:
buffer@^5.1.0, buffer@^5.2.1, buffer@^5.5.0:
version "5.7.1"
resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
......@@ -5132,6 +5149,11 @@ detect-node@^2.0.4, detect-node@^2.1.0:
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
devtools-protocol@0.0.818844:
version "0.0.818844"
resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.818844.tgz#d1947278ec85b53e4c8ca598f607a28fa785ba9e"
integrity sha512-AD1hi7iVJ8OD0aMLQU5VK0XH9LDlA1+BcPIgrAxPfaibx2DbWucuyOhc4oyQCbnvDDO68nN6/LcKfqTP343Jjg==
dicer@0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.3.0.tgz#eacd98b3bfbf92e8ab5c2fdb71aaac44bb06b872"
......@@ -5978,6 +6000,17 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
extract-zip@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
dependencies:
debug "^4.1.1"
get-stream "^5.1.0"
yauzl "^2.10.0"
optionalDependencies:
"@types/yauzl" "^2.9.1"
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
......@@ -6075,6 +6108,13 @@ fbjs@^2.0.0:
setimmediate "^1.0.5"
ua-parser-js "^0.7.18"
fd-slicer@~1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
dependencies:
pend "~1.2.0"
fetch-blob@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.1.2.tgz#6bc438675f3851ecea51758ac91f6a1cd1bacabd"
......@@ -6765,6 +6805,18 @@ handle-thing@^2.0.0:
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
handlebars@^4.7.6:
version "4.7.7"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1"
integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==
dependencies:
minimist "^1.2.5"
neo-async "^2.6.0"
source-map "^0.6.1"
wordwrap "^1.0.0"
optionalDependencies:
uglify-js "^3.1.4"
har-schema@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
......@@ -6978,6 +7030,15 @@ html-minifier@^3.2.3, html-minifier@^3.5.8:
relateurl "0.2.x"
uglify-js "3.4.x"
html-pdf-node@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/html-pdf-node/-/html-pdf-node-1.0.7.tgz#4916e7d3fa3c5cbf3f37160264fd1eb5a693c285"
integrity sha512-fBvV3/+GxqEuyZuYGPou9aKEP84VbN/1wmL1ujF1UsLSy10srESfQelbOrSgJkOHs23yPfUG9uGMajat6+1UfQ==
dependencies:
bluebird "^3.7.2"
handlebars "^4.7.6"
puppeteer "^5.1.0"
html-webpack-plugin@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
......@@ -7121,6 +7182,14 @@ https-browserify@^1.0.0:
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
https-proxy-agent@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
dependencies:
agent-base "5"
debug "4"
https-proxy-agent@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
......@@ -9552,7 +9621,7 @@ negotiator@0.6.2:
resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
neo-async@^2.5.0, neo-async@^2.6.1:
neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1:
version "2.6.2"
resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
......@@ -10274,6 +10343,11 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
pend@~1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
performance-now@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
......@@ -10634,7 +10708,7 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
progress@^2.0.0:
progress@^2.0.0, progress@^2.0.1:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
......@@ -10703,6 +10777,11 @@ proxy-addr@~2.0.5:
forwarded "~0.1.2"
ipaddr.js "1.9.1"
proxy-from-env@^1.0.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
prr@~1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
......@@ -10765,6 +10844,24 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
puppeteer@^5.1.0:
version "5.5.0"
resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-5.5.0.tgz#331a7edd212ca06b4a556156435f58cbae08af00"
integrity sha512-OM8ZvTXAhfgFA7wBIIGlPQzvyEETzDjeRa4mZRCRHxYL+GNH5WAuYUQdja3rpWZvkX/JKqmuVgbsxDNsDFjMEg==
dependencies:
debug "^4.1.0"
devtools-protocol "0.0.818844"
extract-zip "^2.0.0"
https-proxy-agent "^4.0.0"
node-fetch "^2.6.1"
pkg-dir "^4.2.0"
progress "^2.0.1"
proxy-from-env "^1.0.0"
rimraf "^3.0.2"
tar-fs "^2.0.0"
unbzip2-stream "^1.3.3"
ws "^7.2.3"
purest@3.1.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/purest/-/purest-3.1.0.tgz#cca72a8f4717d46053d677059f9b357b59ee5cb7"
......@@ -13359,7 +13456,7 @@ through2@^2.0.0, through2@^2.0.2:
readable-stream "~2.3.6"
xtend "~4.0.1"
through@^2.3.6, through@~2.3.6:
through@^2.3.6, through@^2.3.8, through@~2.3.6:
version "2.3.8"
resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
......@@ -13637,6 +13734,11 @@ uglify-js@3.4.x:
commander "~2.19.0"
source-map "~0.6.1"
uglify-js@^3.1.4:
version "3.14.2"
resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.2.tgz#d7dd6a46ca57214f54a2d0a43cad0f35db82ac99"
integrity sha512-rtPMlmcO4agTUfz10CbgJ1k6UAoXM2gWb3GoMPPZB/+/Ackf8lNWk11K4rYi2D0apgoFRLtQOZhb+/iGNJq26A==
unbox-primitive@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
......@@ -13647,6 +13749,14 @@ unbox-primitive@^1.0.1:
has-symbols "^1.0.2"
which-boxed-primitive "^1.0.2"
unbzip2-stream@^1.3.3:
version "1.4.3"
resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7"
integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==
dependencies:
buffer "^5.2.1"
through "^2.3.8"
unicode-canonical-property-names-ecmascript@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818"
......@@ -14223,6 +14333,11 @@ word-wrap@^1.2.3, word-wrap@~1.2.3:
resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
wordwrap@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
......@@ -14284,6 +14399,11 @@ ws@^6.2.1:
dependencies:
async-limiter "~1.0.0"
ws@^7.2.3:
version "7.5.5"
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881"
integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==
xdg-basedir@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
......@@ -14374,6 +14494,14 @@ yargs@^16.0.3:
y18n "^5.0.5"
yargs-parser "^20.2.2"
yauzl@^2.10.0:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
dependencies:
buffer-crc32 "~0.2.3"
fd-slicer "~1.1.0"
ylru@^1.2.0:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment