all repos — caroster @ 0baf2ba05bb17c80705472cb2b564ea9619d4417

[Octree] Group carpool to your event https://caroster.io

:sparkles: Subscribe user email to Sendgrid contact list #41
Tim Izzo sika.tim@gmail.com
Wed, 08 Jul 2020 15:55:11 +0200
commit

0baf2ba05bb17c80705472cb2b564ea9619d4417

parent

d73b3aab4ab278fb55f4aa9224a110320bffb6a6

M .env.example.env.example

@@ -1,2 +1,2 @@

-HOST=0.0.0.0 -PORT=1337 +SENDGRID_API_KEY= +SENDGRID_CONTACT_LIST=
M .gitignore.gitignore

@@ -111,3 +111,4 @@ # .env

exports .cache build +.env
A .prettierrc

@@ -0,0 +1,5 @@

+semi: true +singleQuote: true +bracketSpacing: false +trailingComma: es5 +arrowParens: avoid
M api/event/models/event.jsapi/event/models/event.js

@@ -1,5 +1,5 @@

-"use strict"; -const axios = require("axios"); +'use strict'; +const axios = require('axios'); /** * Read the documentation (https://strapi.io/documentation/v3.x/concepts/models.html#lifecycle-hooks)

@@ -9,10 +9,11 @@

module.exports = { lifecycles: { async beforeCreate(event) { - if (!!event.address) { + // If user provides an address, get its lat/lng position using OSM API + if (event.address) { const query = encodeURI(event.address); try { - const { data } = await axios.get( + const {data} = await axios.get( ` https://nominatim.openstreetmap.org/search?format=json&q=${query}` ); if (Array.isArray(data) && data.length > 0) {

@@ -26,12 +27,16 @@ } catch (error) {

strapi.log.error(error); } } + + // If user accepts newsletters, subscribe it + if (event.newsletter) + strapi.plugins['sendgrid'].services.contacts.subscribe(event.email); }, async beforeUpdate(params, event) { - if (!!event.address) { + if (event.address) { const query = encodeURI(event.address); try { - const { data } = await axios.get( + const {data} = await axios.get( ` https://nominatim.openstreetmap.org/search?format=json&q=${query}` ); if (Array.isArray(data) && data.length > 0) {
M app/src/containers/CreateEvent/Step1.jsapp/src/containers/CreateEvent/Step1.js

@@ -1,13 +1,12 @@

-import React, {useState, useEffect, useReducer, useMemo} from 'react'; +import React, {useState, useEffect, useMemo} from 'react'; import {makeStyles} from '@material-ui/core/styles'; import TextField from '@material-ui/core/TextField'; import Button from '@material-ui/core/Button'; -import Typography from '@material-ui/core/Typography'; import Checkbox from '@material-ui/core/Checkbox'; +import FormControlLabel from '@material-ui/core/FormControlLabel'; import {useTranslation} from 'react-i18next'; import useDebounce from '../../hooks/useDebounce'; import Paper from '../../components/Paper'; -import TosDialog from '../TosDialog'; const isValidEmail = email => // eslint-disable-next-line

@@ -30,12 +29,11 @@ // States

const [name, setName] = useState(event.name ?? ''); const [email, setEmail] = useState(event.email ?? ''); const [emailIsValid, setEmailIsValid] = useState(false); - const [tos, setTos] = useState(false); - const [showTos, toggleTos] = useReducer(i => !i, false); + const [newsletter, setNewsletter] = useState(false); const debouncedEmail = useDebounce(email, 400); const canSubmit = useMemo( - () => name.length > 0 && email.length > 0 && emailIsValid && tos, - [name, email, emailIsValid, tos] + () => name.length > 0 && email.length > 0 && emailIsValid, + [name, email, emailIsValid] ); useEffect(() => { setEmailIsValid(isValidEmail(debouncedEmail));

@@ -43,73 +41,61 @@ }, [debouncedEmail]);

const onNext = event => { if (event.preventDefault) event.preventDefault(); - addToEvent({name, email}); + addToEvent({name, email, newsletter}); nextStep(); return false; }; return ( - <> - <Paper {...props}> - <form onSubmit={onNext}> - <TextField - className={classes.textField} - label={t('event.creation.event_name')} - fullWidth - autoFocus - margin="dense" - value={name} - onChange={e => setName(e.target.value)} - id="NewEventName" - name="name" - /> - <TextField - className={classes.textField} - label={t('event.creation.creator_email')} - fullWidth - margin="dense" - value={email} - onChange={e => setEmail(e.target.value)} - id="NewEventEmail" - name="email" - type="email" - /> - <div className={classes.tos}> + <Paper {...props}> + <form onSubmit={onNext}> + <TextField + className={classes.textField} + label={t('event.creation.event_name')} + fullWidth + autoFocus + margin="dense" + value={name} + onChange={e => setName(e.target.value)} + id="NewEventName" + name="name" + /> + <TextField + className={classes.textField} + label={t('event.creation.creator_email')} + fullWidth + margin="dense" + value={email} + onChange={e => setEmail(e.target.value)} + id="NewEventEmail" + name="email" + type="email" + /> + <FormControlLabel + className={classes.newsletter} + label={t('event.creation.newsletter')} + control={ <Checkbox - name="tos" - id="NewEventTos" - checked={tos} - onChange={e => setTos(e.target.checked)} + name="newsletter" + id="NewEventNewsletter" + checked={newsletter} + onChange={e => setNewsletter(e.target.checked)} /> - <Typography - component="a" - role="button" - variant="caption" - onClick={toggleTos} - tabIndex="0" - onKeyPress={({charCode}) => { - if (charCode && (charCode === 32 || charCode === 13)) - toggleTos(); - }} - > - {t('event.creation.tos')} - </Typography> - </div> - <Button - className={classes.button} - type="submit" - variant="contained" - color="secondary" - fullWidth - disabled={!canSubmit} - aria-disabled={!canSubmit} - > - {t('event.creation.next')} - </Button> - </form> - </Paper> - <TosDialog open={showTos} toggle={toggleTos} /> - </> + } + /> + <Button + className={classes.button} + type="submit" + variant="contained" + color="secondary" + fullWidth + disabled={!canSubmit} + aria-disabled={!canSubmit} + > + {t('event.creation.next')} + </Button> + </form> + </Paper> ); };

@@ -118,12 +104,8 @@ textField: {},

button: { marginTop: theme.spacing(2), }, - tos: { - cursor: 'pointer', + newsletter: { marginTop: theme.spacing(2), - display: 'flex', - alignItems: 'center', - marginLeft: '-11px', }, }));
M app/src/locales/fr.jsonapp/src/locales/fr.json

@@ -21,7 +21,7 @@ "creator_email": "Votre e-mail",

"date": "Départ", "address": "Adresse de l'événement", "next": "Suivant", - "tos": "J'accepte les conditions générales d'utilisation" + "newsletter": "J'accepte d'être tenu informé de l'évolution du produit par e-mail" }, "actions": { "show_details": "Afficher les détails",
M package-lock.jsonpackage-lock.json

@@ -1711,11 +1711,6 @@ "requires": {

"object-assign": "4.x" } }, - "addressparser": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz", - "integrity": "sha1-R6++GiqSYhkdtoOOT9HTm0CCF0Y=" - }, "agent-base": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",

@@ -1808,7 +1803,7 @@ "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw=="

}, "are-we-there-yet": { "version": "1.1.5", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "resolved": "https://npm-8ee.hidora.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", "requires": { "delegates": "^1.0.0",

@@ -2017,7 +2012,7 @@ "integrity": "sha512-3YDiu347mtVtjpyV3u5kVqQLP242c06zwDOgpeRnybmXlYYsLbtTrUBUm8i8srONt+FWobl5aibnU1030PeeuA=="

}, "axios": { "version": "0.19.2", - "resolved": "https://npm-8ee.hidora.com/axios/-/axios-0.19.2.tgz", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", "requires": { "follow-redirects": "1.5.10"

@@ -2215,7 +2210,7 @@ }

}, "bl": { "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.0.2.tgz", + "resolved": "https://npm-8ee.hidora.com/bl/-/bl-4.0.2.tgz", "integrity": "sha512-j4OH8f6Qg2bGuWfRiltT2HYGx0e1QcBTrK9KAHNMwMZdQnDZFk0ZSYIpADjYCB3U12nicC5tVJwSIhwOWjb4RQ==", "requires": { "buffer": "^5.5.0",

@@ -2225,7 +2220,7 @@ },

"dependencies": { "readable-stream": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "resolved": "https://npm-8ee.hidora.com/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3",

@@ -2504,36 +2499,6 @@ "version": "1.0.3",

"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" }, - "buildmail": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/buildmail/-/buildmail-3.10.0.tgz", - "integrity": "sha1-xoJtcW55RbtvaxQ0tTmF4CmgMVk=", - "requires": { - "addressparser": "1.0.1", - "libbase64": "0.1.0", - "libmime": "2.1.0", - "libqp": "1.1.0", - "nodemailer-fetch": "1.6.0", - "nodemailer-shared": "1.1.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" - }, - "libmime": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-2.1.0.tgz", - "integrity": "sha1-Ubx23iKDFh65BRxLyArtcT5P0c0=", - "requires": { - "iconv-lite": "0.4.13", - "libbase64": "0.1.0", - "libqp": "1.1.0" - } - } - } - }, "builtin-status-codes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",

@@ -2541,7 +2506,7 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="

}, "byte-size": { "version": "6.2.0", - "resolved": "https://registry.npmjs.org/byte-size/-/byte-size-6.2.0.tgz", + "resolved": "https://npm-8ee.hidora.com/byte-size/-/byte-size-6.2.0.tgz", "integrity": "sha512-6EspYUCAPMc7E2rltBgKwhG+Cmk0pDm9zDtF1Awe2dczNUL3YpZ8mTs/dueOTS1hqGWBOatqef4jYMGjln7WmA==" }, "bytes": {

@@ -2910,7 +2875,7 @@ }

}, "code-point-at": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/code-point-at/-/code-point-at-1.1.0.tgz", "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" }, "codemirror": {

@@ -2929,7 +2894,7 @@ }

}, "color": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", + "resolved": "https://npm-8ee.hidora.com/color/-/color-3.1.2.tgz", "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", "requires": { "color-convert": "^1.9.1",

@@ -2951,7 +2916,7 @@ "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="

}, "color-string": { "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", + "resolved": "https://npm-8ee.hidora.com/color-string/-/color-string-1.5.3.tgz", "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", "requires": { "color-name": "^1.0.0",

@@ -3067,7 +3032,7 @@ "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="

}, "console-control-strings": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/console-control-strings/-/console-control-strings-1.1.0.tgz", "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" }, "consolidated-events": {

@@ -3260,7 +3225,7 @@ }

}, "cropperjs": { "version": "1.5.7", - "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.5.7.tgz", + "resolved": "https://npm-8ee.hidora.com/cropperjs/-/cropperjs-1.5.7.tgz", "integrity": "sha512-sGj+G/ofKh+f6A4BtXLJwtcKJgMUsXYVUubfTo9grERiDGXncttefmue/fyQFvn8wfdyoD1KhDRYLfjkJFl0yw==" }, "cross-env": {

@@ -3415,7 +3380,7 @@ "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="

}, "decompress-response": { "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", + "resolved": "https://npm-8ee.hidora.com/decompress-response/-/decompress-response-4.2.1.tgz", "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", "requires": { "mimic-response": "^2.0.0"

@@ -3564,7 +3529,7 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="

}, "detect-libc": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "resolved": "https://npm-8ee.hidora.com/detect-libc/-/detect-libc-1.0.3.tgz", "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=" }, "detect-node": {

@@ -3594,14 +3559,6 @@ "version": "1.0.4",

"resolved": "https://registry.npmjs.org/direction/-/direction-1.0.4.tgz", "integrity": "sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ==" }, - "dkim-signer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dkim-signer/-/dkim-signer-0.2.2.tgz", - "integrity": "sha1-qoHsBx7u02IngbqpIgRNeADl8wg=", - "requires": { - "libmime": "^2.0.3" - } - }, "dnd-core": { "version": "10.0.2", "resolved": "https://registry.npmjs.org/dnd-core/-/dnd-core-10.0.2.tgz",

@@ -4324,7 +4281,7 @@ }

}, "expand-template": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "resolved": "https://npm-8ee.hidora.com/expand-template/-/expand-template-2.0.3.tgz", "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==" }, "expand-tilde": {

@@ -4860,7 +4817,7 @@ }

}, "fs-constants": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "fs-extra": {

@@ -4875,7 +4832,7 @@ }

}, "fs-minipass": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/fs-minipass/-/fs-minipass-2.1.0.tgz", "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "requires": { "minipass": "^3.0.0"

@@ -4931,7 +4888,7 @@ "integrity": "sha512-j48B/ZI7VKs3sgeI2cZp7WXWmZXu7Iq5pl5/vptV5N2mq+DGFuS/ulaDjtaoLpYzuD6u8UgrUKHfgo7fDTSiBA=="

}, "gauge": { "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "resolved": "https://npm-8ee.hidora.com/gauge/-/gauge-2.7.4.tgz", "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", "requires": { "aproba": "^1.0.3",

@@ -4946,12 +4903,12 @@ },

"dependencies": { "ansi-regex": { "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "resolved": "https://npm-8ee.hidora.com/ansi-regex/-/ansi-regex-2.1.1.tgz", "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" }, "is-fullwidth-code-point": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", "requires": { "number-is-nan": "^1.0.0"

@@ -4959,7 +4916,7 @@ }

}, "string-width": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "resolved": "https://npm-8ee.hidora.com/string-width/-/string-width-1.0.2.tgz", "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", "requires": { "code-point-at": "^1.0.0",

@@ -4969,7 +4926,7 @@ }

}, "strip-ansi": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "resolved": "https://npm-8ee.hidora.com/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "requires": { "ansi-regex": "^2.0.0"

@@ -5010,7 +4967,7 @@ }

}, "github-from-package": { "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/github-from-package/-/github-from-package-0.0.0.tgz", "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" }, "glob": {

@@ -5183,7 +5140,7 @@ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg=="

}, "has-unicode": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "resolved": "https://npm-8ee.hidora.com/has-unicode/-/has-unicode-2.0.1.tgz", "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" }, "has-value": {

@@ -5573,7 +5530,7 @@ "dev": true

}, "immer": { "version": "6.0.9", - "resolved": "https://registry.npmjs.org/immer/-/immer-6.0.9.tgz", + "resolved": "https://npm-8ee.hidora.com/immer/-/immer-6.0.9.tgz", "integrity": "sha512-SyCYnAuiRf67Lvk0VkwFvwtDoEiCMjeamnHvRfnVDyc7re1/rQrNxuL+jJ7lA3WvdC4uznrvbmm+clJ9+XXatg==" }, "immutable": {

@@ -5983,7 +5940,7 @@ "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="

}, "is-valid-domain": { "version": "0.0.14", - "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.0.14.tgz", + "resolved": "https://npm-8ee.hidora.com/is-valid-domain/-/is-valid-domain-0.0.14.tgz", "integrity": "sha512-MTUz/3y25zTtutAfwrLyFK+1l2IL4bcq2iHVdYHIPQbvBJLunlYu9dsQdtLwD9HKPDyxCDlKnSbGcRwvjVeCxA==" }, "is-windows": {

@@ -6403,7 +6360,7 @@ }

}, "koa-range": { "version": "0.3.0", - "resolved": "https://registry.npmjs.org/koa-range/-/koa-range-0.3.0.tgz", + "resolved": "https://npm-8ee.hidora.com/koa-range/-/koa-range-0.3.0.tgz", "integrity": "sha1-NYjjSWRzqDmhvSZNKkKx2FvX/qw=", "requires": { "stream-slice": "^0.1.2"

@@ -6534,33 +6491,6 @@ "prelude-ls": "^1.2.1",

"type-check": "~0.4.0" } }, - "libbase64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz", - "integrity": "sha1-YjUag5VjrF/1vSbxL2Dpgwu3UeY=" - }, - "libmime": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-2.1.3.tgz", - "integrity": "sha1-JQF8pataHpiq2+JyUBfPHUikKgw=", - "requires": { - "iconv-lite": "0.4.15", - "libbase64": "0.1.0", - "libqp": "1.1.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.15.tgz", - "integrity": "sha1-/iZaIYrGpXz+hUkn6dBMGYJe3es=" - } - } - }, - "libqp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz", - "integrity": "sha1-9ebgatdLeU+1tbZpiL9yjvHe2+g=" - }, "lines-and-columns": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz",

@@ -6699,32 +6629,6 @@ "version": "0.3.3",

"resolved": "https://registry.npmjs.org/lru_map/-/lru_map-0.3.3.tgz", "integrity": "sha1-tcg1G5Rky9dQM1p5ZQoOwOVhGN0=" }, - "mailcomposer": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/mailcomposer/-/mailcomposer-3.12.0.tgz", - "integrity": "sha1-nF4RiKqOHGLsi4a9Q0aBArY56Pk=", - "requires": { - "buildmail": "3.10.0", - "libmime": "2.1.0" - }, - "dependencies": { - "iconv-lite": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz", - "integrity": "sha1-H4irpKsLFQjoMSrMOTRfNumS4vI=" - }, - "libmime": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/libmime/-/libmime-2.1.0.tgz", - "integrity": "sha1-Ubx23iKDFh65BRxLyArtcT5P0c0=", - "requires": { - "iconv-lite": "0.4.13", - "libbase64": "0.1.0", - "libqp": "1.1.0" - } - } - } - }, "make-dir": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",

@@ -6939,7 +6843,7 @@ "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ=="

}, "mimic-response": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/mimic-response/-/mimic-response-2.1.0.tgz", "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==" }, "mini-create-react-context": {

@@ -6999,7 +6903,7 @@ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="

}, "minipass": { "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "resolved": "https://npm-8ee.hidora.com/minipass/-/minipass-3.1.3.tgz", "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", "requires": { "yallist": "^4.0.0"

@@ -7007,14 +6911,14 @@ },

"dependencies": { "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "minizlib": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/minizlib/-/minizlib-2.1.0.tgz", "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", "requires": { "minipass": "^3.0.0",

@@ -7023,7 +6927,7 @@ },

"dependencies": { "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } }

@@ -7074,7 +6978,7 @@ }

}, "mkdirp-classic": { "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "resolved": "https://npm-8ee.hidora.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "moment": {

@@ -7243,7 +7147,7 @@ }

}, "napi-build-utils": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "resolved": "https://npm-8ee.hidora.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz", "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, "natural-compare": {

@@ -7277,7 +7181,7 @@ }

}, "node-abi": { "version": "2.18.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.18.0.tgz", + "resolved": "https://npm-8ee.hidora.com/node-abi/-/node-abi-2.18.0.tgz", "integrity": "sha512-yi05ZoiuNNEbyT/xXfSySZE+yVnQW6fxPZuFbLyS1s6b5Kw3HzV2PHOM4XR+nsjzkHxByK+2Wg+yCQbe35l8dw==", "requires": { "semver": "^5.4.1"

@@ -7365,22 +7269,9 @@ "long-timeout": "0.1.1",

"sorted-array-functions": "^1.0.0" } }, - "nodemailer-fetch": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.6.0.tgz", - "integrity": "sha1-ecSQihwPXzdbc/6IjamCj23JY6Q=" - }, - "nodemailer-shared": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.1.0.tgz", - "integrity": "sha1-z1mU4v0mjQD1zw+nZ6CBae2wfsA=", - "requires": { - "nodemailer-fetch": "1.6.0" - } - }, "noop-logger": { "version": "0.1.1", - "resolved": "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz", + "resolved": "https://npm-8ee.hidora.com/noop-logger/-/noop-logger-0.1.1.tgz", "integrity": "sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=" }, "normalize-path": {

@@ -7413,7 +7304,7 @@ }

}, "npmlog": { "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "resolved": "https://npm-8ee.hidora.com/npmlog/-/npmlog-4.1.2.tgz", "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", "requires": { "are-we-there-yet": "~1.1.2",

@@ -7437,7 +7328,7 @@ "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4="

}, "number-is-nan": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "resolved": "https://npm-8ee.hidora.com/number-is-nan/-/number-is-nan-1.0.1.tgz", "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" }, "oauth-sign": {

@@ -8014,7 +7905,7 @@ "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ=="

}, "prebuild-install": { "version": "5.3.5", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.5.tgz", + "resolved": "https://npm-8ee.hidora.com/prebuild-install/-/prebuild-install-5.3.5.tgz", "integrity": "sha512-YmMO7dph9CYKi5IR/BzjOJlRzpxGGVo1EsLSUZ0mt/Mq0HWZIHOKHHcHdT69yG54C9m6i45GpItwRHpk0Py7Uw==", "requires": { "detect-libc": "^1.0.3",

@@ -9274,15 +9165,6 @@ "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="

} } }, - "sendmail": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/sendmail/-/sendmail-1.6.1.tgz", - "integrity": "sha512-lIhvnjSi5e5jL8wA1GPP6j2QVlx6JOEfmdn0QIfmuJdmXYGmJ375kcOU0NSm/34J+nypm4sa1AXrYE5w3uNIIA==", - "requires": { - "dkim-signer": "0.2.2", - "mailcomposer": "3.12.0" - } - }, "sequelize": { "version": "5.22.1", "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-5.22.1.tgz",

@@ -9443,7 +9325,7 @@ "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="

}, "sharp": { "version": "0.24.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.24.1.tgz", + "resolved": "https://npm-8ee.hidora.com/sharp/-/sharp-0.24.1.tgz", "integrity": "sha512-1Lph6o7D6bU8WrcbG/kT7cVzi2UBi2xrrBfS/WUaD+ZcGd4MZ7+LbtFoGwbMVJH95d5aziBGyExYF4Urm2pjOQ==", "requires": { "color": "^3.1.2",

@@ -9459,7 +9341,7 @@ },

"dependencies": { "semver": { "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", + "resolved": "https://npm-8ee.hidora.com/semver/-/semver-7.3.2.tgz", "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" } }

@@ -9564,12 +9446,12 @@ "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA=="

}, "simple-concat": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/simple-concat/-/simple-concat-1.0.0.tgz", "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" }, "simple-get": { "version": "3.1.0", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/simple-get/-/simple-get-3.1.0.tgz", "integrity": "sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==", "requires": { "decompress-response": "^4.2.0",

@@ -9579,7 +9461,7 @@ }

}, "simple-swizzle": { "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "resolved": "https://npm-8ee.hidora.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz", "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", "requires": { "is-arrayish": "^0.3.1"

@@ -9587,7 +9469,7 @@ },

"dependencies": { "is-arrayish": { "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "resolved": "https://npm-8ee.hidora.com/is-arrayish/-/is-arrayish-0.3.2.tgz", "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" } }

@@ -10465,19 +10347,17 @@ "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA=="

} } }, - "strapi-plugin-email": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/strapi-plugin-email/-/strapi-plugin-email-3.0.5.tgz", - "integrity": "sha512-Z6ftzRFLW0ox0Ctn2xX2pubu7rfmBEBoiEYWO9Ki93koY8Uq+Hpjlhz9pZed8t2BNS/BAmHOl049zhn0vocnZA==", + "strapi-plugin-sendgrid": { + "version": "0.1.0", + "resolved": "https://npm-8ee.hidora.com/strapi-plugin-sendgrid/-/strapi-plugin-sendgrid-0.1.0.tgz", + "integrity": "sha512-CHJn0nKkhQC/dJ+rTo9q0V6H9hBUQCECoG7VtwAEAuf1k9OijF1/dTFL5lzA4lfu2hBDljul3Zo99Q7PvY+G8g==", "requires": { - "lodash": "^4.17.11", - "strapi-provider-email-sendmail": "3.0.5", - "strapi-utils": "3.0.5" + "axios": "^0.19.2" } }, "strapi-plugin-upload": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/strapi-plugin-upload/-/strapi-plugin-upload-3.0.5.tgz", + "resolved": "https://npm-8ee.hidora.com/strapi-plugin-upload/-/strapi-plugin-upload-3.0.5.tgz", "integrity": "sha512-4wdBnyBqjnMwX9YCVyWVenhjxjgNU9Xomex1WeUIEHkMJtWdNFpjZjRDshtqgUJEQX37ANnOUiGhJBSAczzZXQ==", "requires": { "byte-size": "^6.2.0",

@@ -10508,12 +10388,12 @@ },

"dependencies": { "mime-db": { "version": "1.43.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.43.0.tgz", + "resolved": "https://npm-8ee.hidora.com/mime-db/-/mime-db-1.43.0.tgz", "integrity": "sha512-+5dsGEEovYbT8UY9yD7eE4XTc4UwJ1jBYlgaQQF38ENsKR3wj/8q8RFZrF9WIZpB2V1ArTVFUva8sAul1NzRzQ==" }, "mime-types": { "version": "2.1.26", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.26.tgz", + "resolved": "https://npm-8ee.hidora.com/mime-types/-/mime-types-2.1.26.tgz", "integrity": "sha512-01paPWYgLrkqAyrlDorC1uDwl2p3qZT7yl806vW7DvDoxwXi46jsjFbg+WdwotBIk6/MbEhO/dh5aZ5sNj/dWQ==", "requires": { "mime-db": "1.43.0"

@@ -10548,18 +10428,9 @@ "strapi-utils": "3.0.5",

"uuid": "^3.1.0" } }, - "strapi-provider-email-sendmail": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/strapi-provider-email-sendmail/-/strapi-provider-email-sendmail-3.0.5.tgz", - "integrity": "sha512-AE//LBV1ZoYebdr/8nGTmIRYHbKPzJJlZRhIRq4G6dorIPTuYCypGiWh2rYh0+m8I4udsl8omQtAEyoPTuR+ZA==", - "requires": { - "sendmail": "^1.6.1", - "strapi-utils": "3.0.5" - } - }, "strapi-provider-upload-local": { "version": "3.0.5", - "resolved": "https://registry.npmjs.org/strapi-provider-upload-local/-/strapi-provider-upload-local-3.0.5.tgz", + "resolved": "https://npm-8ee.hidora.com/strapi-provider-upload-local/-/strapi-provider-upload-local-3.0.5.tgz", "integrity": "sha512-FSMa9KnMhXY2c9o+mqAuEKjURp9hgr2zNYASN88ZIw+hGuJvspdssDHSNMEal9neFKzohEhQmhpSXdDYp/fVHw==" }, "strapi-utils": {

@@ -10620,12 +10491,12 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ=="

}, "stream-slice": { "version": "0.1.2", - "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "resolved": "https://npm-8ee.hidora.com/stream-slice/-/stream-slice-0.1.2.tgz", "integrity": "sha1-LcT04bk2+xPz6zmi3vGTJ5jQeks=" }, "stream-to-array": { "version": "2.3.0", - "resolved": "https://registry.npmjs.org/stream-to-array/-/stream-to-array-2.3.0.tgz", + "resolved": "https://npm-8ee.hidora.com/stream-to-array/-/stream-to-array-2.3.0.tgz", "integrity": "sha1-u/azn19D7DC8cbq8s3VXrOzzQ1M=", "requires": { "any-promise": "^1.1.0"

@@ -10805,7 +10676,7 @@ "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA=="

}, "tar": { "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", + "resolved": "https://npm-8ee.hidora.com/tar/-/tar-6.0.2.tgz", "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", "requires": { "chownr": "^2.0.0",

@@ -10818,24 +10689,24 @@ },

"dependencies": { "chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/chownr/-/chownr-2.0.0.tgz", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==" }, "mkdirp": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "resolved": "https://npm-8ee.hidora.com/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" } } }, "tar-fs": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.0.tgz", + "resolved": "https://npm-8ee.hidora.com/tar-fs/-/tar-fs-2.1.0.tgz", "integrity": "sha512-9uW5iDvrIMCVpvasdFHW0wJPez0K4JnMZtsuIeDI7HyMGJNxmDZDOCQROr7lXyS+iL/QMpj07qcjGYTSdRFXUg==", "requires": { "chownr": "^1.1.1",

@@ -10845,9 +10716,9 @@ "tar-stream": "^2.0.0"

} }, "tar-stream": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.1.2.tgz", - "integrity": "sha512-UaF6FoJ32WqALZGOIAApXx+OdxhekNMChu6axLJR85zMMjXKWFGjbIRe+J6P4UnRGg9rAwWvbTT0oI7hD/Un7Q==", + "version": "2.1.3", + "resolved": "https://npm-8ee.hidora.com/tar-stream/-/tar-stream-2.1.3.tgz", + "integrity": "sha512-Z9yri56Dih8IaK8gncVPx4Wqt86NDmQTSh49XLZgjWpGZL9GK9HKParS2scqHCC4w6X9Gh2jwaU45V47XTKwVA==", "requires": { "bl": "^4.0.1", "end-of-stream": "^1.4.1",

@@ -10858,7 +10729,7 @@ },

"dependencies": { "readable-stream": { "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "resolved": "https://npm-8ee.hidora.com/readable-stream/-/readable-stream-3.6.0.tgz", "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { "inherits": "^2.0.3",

@@ -12065,12 +11936,12 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho="

}, "which-pm-runs": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz", + "resolved": "https://npm-8ee.hidora.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz", "integrity": "sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=" }, "wide-align": { "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "resolved": "https://npm-8ee.hidora.com/wide-align/-/wide-align-1.1.3.tgz", "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", "requires": { "string-width": "^1.0.2 || 2"
M package.jsonpackage.json

@@ -23,7 +23,7 @@ "strapi-middleware-reactapp": "^0.1.0",

"strapi-plugin-content-manager": "3.0.5", "strapi-plugin-content-type-builder": "3.0.5", "strapi-plugin-documentation": "^3.0.5", - "strapi-plugin-email": "3.0.5", + "strapi-plugin-sendgrid": "^0.1.0", "strapi-plugin-upload": "^3.0.5", "strapi-plugin-users-permissions": "3.0.5", "strapi-utils": "3.0.5"