diff --git a/client/package.json b/client/package.json index cee863e46..aa7e414ee 100644 --- a/client/package.json +++ b/client/package.json @@ -4,10 +4,9 @@ "private": true, "proxy": "https://localhost:5000", "dependencies": { - "@ckeditor/ckeditor5-build-classic": "^18.0.0", - "@ckeditor/ckeditor5-react": "^2.1.0", "@nivo/pie": "^0.61.1", "@tanem/react-nprogress": "^3.0.20", + "@tinymce/tinymce-react": "^3.5.0", "aamva": "^1.2.0", "antd": "^4.1.0", "apollo-boost": "^0.4.4", @@ -19,7 +18,6 @@ "axios": "^0.19.2", "dotenv": "^8.2.0", "firebase": "^7.13.1", - "grapesjs-react": "^3.0.4", "graphql": "^14.6.0", "i18next": "^19.3.4", "node-sass": "^4.13.1", diff --git a/client/src/components/_test/test.component.jsx b/client/src/components/_test/test.component.jsx index b91c6513c..87ec8db4c 100644 --- a/client/src/components/_test/test.component.jsx +++ b/client/src/components/_test/test.component.jsx @@ -1,23 +1,19 @@ -import React, { useRef, useState } from "react"; +import { Editor } from "@tinymce/tinymce-react"; +import { Col, Row } from "antd"; +import axios from "axios"; +import React, { useState } from "react"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import { EmailSettings } from "../../emails/constants"; import { - startLoading, endLoading, + startLoading, } from "../../redux/application/application.actions"; import { setEmailOptions } from "../../redux/email/email.actions"; -import T, { - Subject, -} from "../../emails/templates/appointment-confirmation/appointment-confirmation.template"; -import { EMAIL_APPOINTMENT_CONFIRMATION } from "../../emails/templates/appointment-confirmation/appointment-confirmation.query"; -import axios from "axios"; -import CKEditor from "@ckeditor/ckeditor5-react"; -import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; -import { Editor } from "grapesjs-react"; -import "grapesjs/dist/css/grapes.min.css"; - +import { selectBodyshop } from "../../redux/user/user.selectors"; const mapStateToProps = createStructuredSelector({ //currentUser: selectCurrentUser + bodyshop: selectBodyshop, }); const mapDispatchToProps = (dispatch) => ({ setEmailOptions: (e) => dispatch(setEmailOptions(e)), @@ -27,551 +23,133 @@ const mapDispatchToProps = (dispatch) => ({ export default connect( mapStateToProps, mapDispatchToProps -)(function Test({ setEmailOptions, load, endload }) { - const editorRef = useRef(null); - const [state, setState] = useState(""); +)(function Test({ setEmailOptions, load, endload, bodyshop }) { + const [state, setState] = useState(temp); + + const handleEditorChange = (content, editor) => { + setState(content); + }; + return (
+ + + + + + + - - { - // handleHtmlChange(editor.getData()); - //TODO Ensure that removing onchange never introduces a race condition - }} - onBlur={(event, editor) => { - setState(editor.getData()); - }} - /> - Section", // You can use HTML/SVG inside labels - attributes: { class: "gjs-block-section" }, - content: `
-

This is a simple title

-
This is just a Lorem text: Lorem ipsum dolor sit amet
-
`, - }, - { - id: "text2", - label: "Text2", - content: - '
Insert your text here222222222
', - }, - { - id: "image", - label: "Image", - // Select the component once it's dropped - select: true, - // You can pass components as a JSON instead of a simple HTML string, - // in this case we also use a defined component type `image` - content: { type: "image" }, - // This triggers `active` event on dropped components and the `image` - // reacts by opening the AssetManager - activate: true, - }, - ]} - onInit={(editor) => { - console.log("editor", editor); - editor.setComponents(view); - }} - storageManager={false} - ref={editorRef} - />
); }); -const testView2 = ` - - - - - - - - Landing Page - Start Bootstrap Theme - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
-

Build a landing page for your business or project and generate more leads!

-
-
-
-
-
- -
-
- -
-
-
-
-
-
-
- - -
-
-
-
-
-
- -
-

Fully Responsive

-

This theme will look great on any device, no matter the size!

-
-
-
-
-
- -
-

Bootstrap 4 Ready

-

Featuring the latest build of the new Bootstrap 4 framework!

-
-
-
-
-
- -
-

Easy to Use

-

Ready to use with your own content, or customize the source files!

-
-
-
-
-
- - -
-
-
- -
-
-

Fully Responsive Design

-

When you use a theme created by Start Bootstrap, you know that the theme will look great on any device, whether it's a phone, tablet, or desktop the page will behave responsively!

-
-
-
-
-
-

Updated For Bootstrap 4

-

Newly improved, and full of great utility classes, Bootstrap 4 is leading the way in mobile responsive web development! All of the themes on Start Bootstrap are now using Bootstrap 4!

-
-
-
-
-
-

Easy to Use & Customize

-

Landing Page is just HTML and CSS with a splash of SCSS for users who demand some deeper customization options. Out of the box, just add your content and images, and your new landing page will be ready to go!

-
-
-
-
- - -
-
-

What people are saying...

-
-
-
- -
Margaret E.
-

"This is fantastic! Thanks so much guys!"

-
-
-
-
- -
Fred S.
-

"Bootstrap is amazing. I've been using it to create lots of super nice landing pages."

-
-
-
-
- -
Sarah W.
-

"Thanks so much for making these free resources available to us!"

-
-
-
-
-
- - -
-
-
-
-
-

Ready to get started? Sign up now!

-
-
-
-
-
- -
-
- -
-
-
-
-
-
-
- - - - - - - - - - - - -`; - -const view = ` - - - - +const temp = `
+

This is a full-featured editor demo. Please explore! ←

+

 

+

TinyMCE is the world's most customizable, and flexible, rich text editor.

+

A featherweight download, TinyMCE can handle any challenge you throw at it.

+

 

+

 

+
- - - - - - -
- - - - - - -
- View in browser - -
- - - - - - - -
- GrapesJS. - -
GrapesJS Newsletter Builder -
-
-
- - - - - - -
- Big image here - - - - - - -
-

Build your newsletters faster than ever -
-

-

Import, build, test and export responsive newsletter templates faster than ever using the GrapesJS Newsletter Builder. -

-
  {{#each people}} -
-
-
    {{this}} -
-
- Button -
  {{/each}} -
- - - - - - -
-
-
- - - - - - -
- - - - - - - -
- Image1 - -

Built-in Blocks -

-

Drag and drop built-in blocks from the right panel and style them in a matter of seconds -

-
-
- - - - - - -
- - - - - - - -
- Image2 - -

Toggle images -

-

Build a good looking newsletter even without images enabled by the email clients -

-
-
- - - - - - - -
- - - - - - -
- Image1 - - - - - - -
-

Test it -

-

You can send email tests directly from the editor and check how are looking on your email clients -

-
-
-
- - - - - - -
- Image2 - - - - - - -
-

Responsive -

-

Using the device manager you'll always send a fully responsive contents -

-
-
-
- - - - - - - -
-
+ + + + + + + + + + + + + + + + + + + -
🛠 50+ Plugins💡 Premium Support🖍 Custom Skins⚙ Full API Access
{{#each people}}
{{this}}{{this}}{{this}}{{this}}
{{/each}}
`; + +`; diff --git a/client/src/components/email-overlay/email-overlay.component.jsx b/client/src/components/email-overlay/email-overlay.component.jsx index 37f7cfa1a..7cf5f393a 100644 --- a/client/src/components/email-overlay/email-overlay.component.jsx +++ b/client/src/components/email-overlay/email-overlay.component.jsx @@ -1,12 +1,10 @@ -import React from "react"; +import { Editor } from "@tinymce/tinymce-react"; import { Input } from "antd"; -import CKEditor from "@ckeditor/ckeditor5-react"; -import ClassicEditor from "@ckeditor/ckeditor5-build-classic"; - +import React from "react"; export default function EmailOverlayComponent({ messageOptions, handleConfigChange, - handleHtmlChange + handleHtmlChange, }) { return (
@@ -27,17 +25,24 @@ export default function EmailOverlayComponent({ onChange={handleConfigChange} name="subject" /> - { - // handleHtmlChange(editor.getData()); - //TODO Ensure that removing onchange never introduces a race condition - }} - onBlur={(event, editor) => { - console.log("Blur."); - handleHtmlChange(editor.getData()); +
); diff --git a/client/src/components/email-overlay/email-overlay.container.jsx b/client/src/components/email-overlay/email-overlay.container.jsx index 77a9dd688..3048bcad4 100644 --- a/client/src/components/email-overlay/email-overlay.container.jsx +++ b/client/src/components/email-overlay/email-overlay.container.jsx @@ -1,104 +1,127 @@ +import { useApolloClient } from "@apollo/react-hooks"; import { Modal, notification } from "antd"; +import { gql } from "apollo-boost"; import axios from "axios"; import React, { useEffect, useState } from "react"; -import { useLazyQuery } from "@apollo/react-hooks"; -import ReactDOMServer from "react-dom/server"; import { useTranslation } from "react-i18next"; import { connect } from "react-redux"; import { createStructuredSelector } from "reselect"; +import { QUERY_TEMPLATES_BY_NAME } from "../../graphql/templates.queries"; import { toggleEmailOverlayVisible } from "../../redux/email/email.actions"; import { selectEmailConfig, - selectEmailVisible + selectEmailVisible, } from "../../redux/email/email.selectors.js"; +import { selectBodyshop } from "../../redux/user/user.selectors"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; import EmailOverlayComponent from "./email-overlay.component"; const mapStateToProps = createStructuredSelector({ modalVisible: selectEmailVisible, - emailConfig: selectEmailConfig + emailConfig: selectEmailConfig, + bodyshop: selectBodyshop, }); -const mapDispatchToProps = dispatch => ({ - toggleEmailOverlayVisible: () => dispatch(toggleEmailOverlayVisible()) +const mapDispatchToProps = (dispatch) => ({ + toggleEmailOverlayVisible: () => dispatch(toggleEmailOverlayVisible()), }); -export default connect( - mapStateToProps, - mapDispatchToProps -)(function EmailOverlayContainer({ +export function EmailOverlayContainer({ emailConfig, modalVisible, - toggleEmailOverlayVisible + toggleEmailOverlayVisible, + bodyshop, }) { const { t } = useTranslation(); const [messageOptions, setMessageOptions] = useState( emailConfig.messageOptions ); + const client = useApolloClient(); - useEffect(() => { - setMessageOptions(emailConfig.messageOptions); - }, [setMessageOptions, emailConfig.messageOptions]); + const renderEmail = () => { + client + .query({ + query: QUERY_TEMPLATES_BY_NAME, + variables: { name: emailConfig.template.name }, + fetchPolicy: "network-only", + }) + .then(({ data: templateRecords }) => { + let templateToUse; + if (templateRecords.templates.length === 1) { + console.log("Only 1 Template found."); + templateToUse = templateRecords.templates[0]; + } else if (templateRecords.templates.length === 2) { + console.log("2 Templates found.."); + templateToUse = templateRecords.templates.filter( + (t) => !!t.bodyshopid + ); + } else { + //No template found.Uh oh. + alert("Templating Error!"); + } - const [executeQuery, { called, loading, data }] = useLazyQuery( - emailConfig.queryConfig[0], - { - ...emailConfig.queryConfig[1], - fetchPolicy: "network-only" - } - ); + client + .query({ + query: gql(templateToUse.query), + variables: { ...emailConfig.template.variables }, + fetchPolicy: "network-only", + }) + .then(({ data: contextData }) => { + handleRender(contextData, templateToUse.html); + }); + }); + }; - if ( - emailConfig.queryConfig[0] && - emailConfig.queryConfig[1] && - modalVisible && - !called - ) { - executeQuery(); - } - - if (data && !messageOptions.html && emailConfig.template) { - setMessageOptions({ - ...messageOptions, - html: ReactDOMServer.renderToStaticMarkup( - - ) - }); - } + const handleRender = (contextData, html) => { + axios + .post("/render", { + view: html, + context: { ...contextData, bodyshop: bodyshop }, + }) + .then((r) => { + setMessageOptions({ ...messageOptions, html: r.data }); + }); + }; const handleOk = () => { //sendEmail(messageOptions); axios .post("/sendemail", messageOptions) - .then(response => { + .then((response) => { console.log(JSON.stringify(response)); notification["success"]({ message: t("emails.successes.sent") }); toggleEmailOverlayVisible(); }) - .catch(error => { + .catch((error) => { console.log(JSON.stringify(error)); notification["error"]({ - message: t("emails.errors.notsent", { message: error.message }) + message: t("emails.errors.notsent", { message: error.message }), }); }); }; - const handleConfigChange = event => { + const handleConfigChange = (event) => { const { name, value } = event.target; setMessageOptions({ ...messageOptions, [name]: value }); }; - const handleHtmlChange = text => { + const handleHtmlChange = (text) => { setMessageOptions({ ...messageOptions, html: text }); }; + useEffect(() => { + if (modalVisible) renderEmail(); + }, [modalVisible]); // eslint-disable-line react-hooks/exhaustive-deps + return ( toggleEmailOverlayVisible()} + onCancel={() => { + toggleEmailOverlayVisible(); + }} > - + ); -}); +} +export default connect( + mapStateToProps, + mapDispatchToProps +)(EmailOverlayContainer); diff --git a/client/src/components/parts-order-modal/parts-order-modal.container.jsx b/client/src/components/parts-order-modal/parts-order-modal.container.jsx index 97fda0e37..c215518f8 100644 --- a/client/src/components/parts-order-modal/parts-order-modal.container.jsx +++ b/client/src/components/parts-order-modal/parts-order-modal.container.jsx @@ -14,7 +14,7 @@ import { toggleModalVisible } from "../../redux/modals/modals.actions"; import { selectPartsOrder } from "../../redux/modals/modals.selectors"; import { selectBodyshop, - selectCurrentUser + selectCurrentUser, } from "../../redux/user/user.selectors"; import AlertComponent from "../alert/alert.component"; import LoadingSpinner from "../loading-spinner/loading-spinner.component"; @@ -24,12 +24,12 @@ import { EmailSettings } from "../../emails/constants"; const mapStateToProps = createStructuredSelector({ currentUser: selectCurrentUser, bodyshop: selectBodyshop, - partsOrderModal: selectPartsOrder + partsOrderModal: selectPartsOrder, }); -const mapDispatchToProps = dispatch => ({ - setEmailOptions: e => dispatch(setEmailOptions(e)), - toggleModalVisible: () => dispatch(toggleModalVisible("partsOrder")) +const mapDispatchToProps = (dispatch) => ({ + setEmailOptions: (e) => dispatch(setEmailOptions(e)), + toggleModalVisible: () => dispatch(toggleModalVisible("partsOrder")), }); export function PartsOrderModalContainer({ @@ -37,7 +37,7 @@ export function PartsOrderModalContainer({ toggleModalVisible, currentUser, bodyshop, - setEmailOptions + setEmailOptions, }) { const { t } = useTranslation(); @@ -50,12 +50,12 @@ export function PartsOrderModalContainer({ const sendType = sendTypeState[0]; const { loading, error, data } = useQuery(QUERY_ALL_VENDORS_FOR_ORDER, { - skip: !visible + skip: !visible, }); const [insertPartOrder] = useMutation(INSERT_NEW_PARTS_ORDERS); const [updateJobLines] = useMutation(UPDATE_JOB_LINE_STATUS); - const handleFinish = values => { + const handleFinish = (values) => { insertPartOrder({ variables: { po: [ @@ -63,21 +63,21 @@ export function PartsOrderModalContainer({ ...values, jobid: jobId, user_email: currentUser.email, - status: bodyshop.md_order_statuses.default_ordered || "Ordered*" - } - ] - } + status: bodyshop.md_order_statuses.default_ordered || "Ordered*", + }, + ], + }, }) - .then(r => { + .then((r) => { updateJobLines({ variables: { - ids: values.parts_order_lines.data.map(item => item.job_line_id), - status: bodyshop.md_order_statuses.default_ordered || "Ordered*" - } + ids: values.parts_order_lines.data.map((item) => item.job_line_id), + status: bodyshop.md_order_statuses.default_ordered || "Ordered*", + }, }) - .then(response => { + .then((response) => { notification["success"]({ - message: t("parts_orders.successes.created") + message: t("parts_orders.successes.created"), }); if (refetch) refetch(); toggleModalVisible(); @@ -88,38 +88,38 @@ export function PartsOrderModalContainer({ messageOptions: { from: { name: bodyshop.shopname || EmailSettings.fromNameDefault, - address: EmailSettings.fromAddress + address: EmailSettings.fromAddress, }, to: - data.vendors.filter(item => item.id === values.id)[0] || + data.vendors.filter((item) => item.id === values.id)[0] || null, - replyTo: bodyshop.shopname || null + replyTo: bodyshop.email, }, template: PartsOrderEmailTemplate, queryConfig: [ REPORT_QUERY_PARTS_ORDER_BY_PK, { variables: { - id: r.data.insert_parts_orders.returning[0].id - } - } - ] + id: r.data.insert_parts_orders.returning[0].id, + }, + }, + ], }); } }) - .catch(error => { + .catch((error) => { notification["error"]({ message: t("parts_orders.errors.creating"), - description: error.message + description: error.message, }); }); //end no good }) - .catch(error => { + .catch((error) => { notification["error"]({ message: t("parts_orders.errors.creating"), - description: error.message + description: error.message, }); }); }; @@ -133,7 +133,7 @@ export function PartsOrderModalContainer({ db_price: value.db_price, act_price: value.act_price, job_line_id: value.id, - status: bodyshop.md_order_statuses.default_ordered || "Ordered*" + status: bodyshop.md_order_statuses.default_ordered || "Ordered*", }); return acc; }, []); diff --git a/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx b/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx index 3f5656f7c..0b8c008f1 100644 --- a/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx +++ b/client/src/components/schedule-job-modal/schedule-job-modal.container.jsx @@ -3,7 +3,7 @@ import ScheduleJobModalComponent from "./schedule-job-modal.component"; import { useMutation, useQuery } from "@apollo/react-hooks"; import { INSERT_APPOINTMENT, - QUERY_APPOINTMENTS_BY_JOBID + QUERY_APPOINTMENTS_BY_JOBID, } from "../../graphql/appointments.queries"; import moment from "moment"; import { notification, Modal } from "antd"; @@ -18,31 +18,29 @@ import { toggleModalVisible } from "../../redux/modals/modals.actions"; const mapStateToProps = createStructuredSelector({ bodyshop: selectBodyshop, - scheduleModal: selectSchedule + scheduleModal: selectSchedule, }); -const mapDispatchToProps = dispatch => ({ - toggleModalVisible: () => dispatch(toggleModalVisible("schedule")) +const mapDispatchToProps = (dispatch) => ({ + toggleModalVisible: () => dispatch(toggleModalVisible("schedule")), }); export function ScheduleJobModalContainer({ scheduleModal, bodyshop, - toggleModalVisible + toggleModalVisible, }) { const { visible, context, actions } = scheduleModal; const { jobId } = context; const { refetch } = actions; const [appData, setAppData] = useState({ - jobid: jobId, start: null, - bodyshopid: bodyshop.id }); const [insertAppointment] = useMutation(INSERT_APPOINTMENT); const [updateJobStatus] = useMutation(UPDATE_JOB_STATUS, { variables: { jobId: jobId, - status: bodyshop.md_ro_statuses.default_scheduled - } + status: bodyshop.md_ro_statuses.default_scheduled, + }, }); const [formData, setFormData] = useState({ notifyCustomer: false }); const { t } = useTranslation(); @@ -50,20 +48,25 @@ export function ScheduleJobModalContainer({ const existingAppointments = useQuery(QUERY_APPOINTMENTS_BY_JOBID, { variables: { jobid: jobId }, fetchPolicy: "network-only", - skip: !visible + skip: !visible, }); //TODO Customize the amount of minutes it will add. const handleOk = () => { insertAppointment({ variables: { - app: { ...appData, end: moment(appData.start).add(60, "minutes") } - } + app: { + ...appData, + jobid: jobId, + bodyshopid: bodyshop.id, + end: moment(appData.start).add(60, "minutes"), + }, + }, }) - .then(r => { - updateJobStatus().then(r => { + .then((r) => { + updateJobStatus().then((r) => { notification["success"]({ - message: t("appointments.successes.created") + message: t("appointments.successes.created"), }); if (formData.notifyCustomer) { @@ -74,11 +77,11 @@ export function ScheduleJobModalContainer({ if (refetch) refetch(); }); }) - .catch(error => { + .catch((error) => { notification["error"]({ message: t("appointments.errors.saving", { - message: error.message - }) + message: error.message, + }), }); }); }; diff --git a/client/src/emails/components/grid/grid.component.jsx b/client/src/emails/components/grid/grid.component.jsx deleted file mode 100644 index b21f70e54..000000000 --- a/client/src/emails/components/grid/grid.component.jsx +++ /dev/null @@ -1,46 +0,0 @@ -import React from "react"; - -function Column({ children }) { - return {children}; -} - -function Row({ children }) { - return ( - - {React.Children.map(children, el => { - if (el.type === Column) return el; - - return {el}; - })} - - ); -} - -function Grid({ children }) { - return ( - - - {React.Children.map(children, el => { - if (!el) return; - - if (el.type === Row) return el; - - if (el.type === Column) { - return {el}; - } - - return ( - - - - ); - })} - -
{el}
- ); -} - -Grid.Row = Row; -Grid.Column = Column; - -export default Grid; diff --git a/client/src/graphql/bodyshop.queries.js b/client/src/graphql/bodyshop.queries.js index 7b5bc2a91..c8a8f5f16 100644 --- a/client/src/graphql/bodyshop.queries.js +++ b/client/src/graphql/bodyshop.queries.js @@ -24,6 +24,7 @@ export const QUERY_BODYSHOP = gql` region_config md_responsibility_centers messagingservicesid + template_header employees { id first_name diff --git a/client/src/graphql/templates.queries.js b/client/src/graphql/templates.queries.js new file mode 100644 index 000000000..c0f0be364 --- /dev/null +++ b/client/src/graphql/templates.queries.js @@ -0,0 +1,13 @@ +import { gql } from "apollo-boost"; + +export const QUERY_TEMPLATES_BY_NAME = gql` + query QUERY_TEMPLATES_BY_NAME($name: String!) { + templates(where: { name: { _eq: $name } }) { + id + html + name + query + bodyshopid + } + } +`; diff --git a/client/src/redux/email/email.reducer.js b/client/src/redux/email/email.reducer.js index bc6c08fff..df0a1d14e 100644 --- a/client/src/redux/email/email.reducer.js +++ b/client/src/redux/email/email.reducer.js @@ -5,14 +5,13 @@ const INITIAL_STATE = { messageOptions: { from: { name: "ShopName", address: "noreply@bodyshop.app" }, to: null, - replyTo: null + replyTo: null, }, - template: null, - queryConfig: [null, { variables: null }] + template: { name: null, variables: {} }, }, visible: false, - error: null + error: null, }; const emailReducer = (state = INITIAL_STATE, action) => { @@ -20,13 +19,13 @@ const emailReducer = (state = INITIAL_STATE, action) => { case EmailActionTypes.TOGGLE_EMAIL_OVERLAY_VISIBLE: return { ...state, - visible: !state.visible + visible: !state.visible, }; case EmailActionTypes.SET_EMAIL_OPTIONS: return { ...state, emailConfig: { ...action.payload }, - visible: true + visible: true, }; default: return state; diff --git a/client/src/redux/email/email.selectors.js b/client/src/redux/email/email.selectors.js index 3a0299aa4..d691f742e 100644 --- a/client/src/redux/email/email.selectors.js +++ b/client/src/redux/email/email.selectors.js @@ -1,25 +1,19 @@ import { createSelector } from "reselect"; -const selectEmail = state => state.email; -const selectEmailConfigMessageOptions = state => +const selectEmail = (state) => state.email; +const selectEmailConfigMessageOptions = (state) => state.email.emailConfig.messageOptions; -const selectEmailConfigTemplate = state => state.email.emailConfig.template; -const selectEmailConfigQuery = state => state.email.emailConfig.queryConfig; +const selectEmailConfigTemplate = (state) => state.email.emailConfig.template; export const selectEmailVisible = createSelector( [selectEmail], - email => email.visible + (email) => email.visible ); export const selectEmailConfig = createSelector( - [ - selectEmailConfigMessageOptions, - selectEmailConfigTemplate, - selectEmailConfigQuery - ], - (messageOptions, template, queryConfig) => ({ + [selectEmailConfigMessageOptions, selectEmailConfigTemplate], + (messageOptions, template) => ({ messageOptions, template, - queryConfig }) ); diff --git a/client/yarn.lock b/client/yarn.lock index 71d35d5d9..513c31565 100644 --- a/client/yarn.lock +++ b/client/yarn.lock @@ -1287,7 +1287,7 @@ dependencies: regenerator-runtime "^0.13.2" -"@babel/runtime@^7.7.1", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.9.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.9.2.tgz#d90df0583a3a252f09aaa619665367bae518db06" integrity sha512-NE2DtOdufG7R5vnfQUTehdTfNycfUANEtCa9PssN9O/xmTzP4E08UI797ixaei6hBEVL9BI/PsdJS5x7mWoB9Q== @@ -1351,18 +1351,6 @@ lodash "^4.17.13" to-fast-properties "^2.0.0" -"@ckeditor/ckeditor5-build-classic@^18.0.0": - version "18.0.0" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-build-classic/-/ckeditor5-build-classic-18.0.0.tgz#751a475bb14bcadcf6fc6285c979bccd1cb40883" - integrity sha512-7nyaDU5sUSl+7wXPwr0d5bOlO2e0LRQh2iJJCJfAjjuUESwtiBGoFC+Ql5dEht0xlfARoSWQMlkUvGuHOVja7A== - -"@ckeditor/ckeditor5-react@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@ckeditor/ckeditor5-react/-/ckeditor5-react-2.1.0.tgz#f612546a5a328899a436d71b72ffd632600049e8" - integrity sha512-rlHjRKhwP9tNK0Yj2UJShL14mRfxLPgJ+Pv6zTv/Mvmd4wrwGnJf+5ybOAGK92S02hP1cXH+9km+PRO1b4V+ng== - dependencies: - prop-types "^15.6.1" - "@cnakazawa/watch@^1.0.3": version "1.0.4" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.4.tgz#f864ae85004d0fcab6f50be9141c4da368d1656a" @@ -2105,6 +2093,13 @@ prop-types "^15.7.2" react-use "^13.27.1" +"@tinymce/tinymce-react@^3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@tinymce/tinymce-react/-/tinymce-react-3.5.0.tgz#5017be56aeab1077f09d3f74a386883e5524a33f" + integrity sha512-sZPerYmSWQcdk7F9KEvCC3/kPNZ9Bb+dk8rS0RoYyYql/gqgNpLpycC+CC/KhgT0wDaYuRoCcdV1DVZGam+oOg== + dependencies: + prop-types "^15.6.2" + "@types/babel__core@^7.1.0": version "7.1.6" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.6.tgz#16ff42a5ae203c9af1c6e190ed1f30f83207b610" @@ -3094,11 +3089,6 @@ async@^2.6.2: dependencies: lodash "^4.17.14" -async@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.0.tgz#b3a2685c5ebb641d3de02d161002c60fc9f85720" - integrity sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw== - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3309,28 +3299,6 @@ babylon@^6.18.0: resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== -backbone-undo@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/backbone-undo/-/backbone-undo-0.2.5.tgz#55b25230f90319ca622465e89a80248b893c2ce2" - integrity sha1-VbJSMPkDGcpiJGXomoAki4k8LOI= - dependencies: - backbone "1.0.0 - 1.2.1" - underscore "1.4.4 - 1.8.3" - -"backbone@1.0.0 - 1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.2.1.tgz#d7219c5ed49e5e131dbffaf25c96d6d2cc3ca03e" - integrity sha1-1yGcXtSeXhMdv/ryXJbW0sw8oD4= - dependencies: - underscore ">=1.7.0" - -backbone@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/backbone/-/backbone-1.3.3.tgz#4cc80ea7cb1631ac474889ce40f2f8bc683b2999" - integrity sha1-TMgOp8sWMaxHSInOQPL4vGg7KZk= - dependencies: - underscore ">=1.8.3" - backo2@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" @@ -3731,14 +3699,6 @@ callsites@^3.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - camel-case@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" @@ -3775,11 +3735,6 @@ camelcase@^3.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" integrity sha1-MvxLn82vhF/N9+c7uXysImHwqwo= -camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - camelize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/camelize/-/camelize-1.0.0.tgz#164a5483e630fa4321e5af07020e531831b2609b" @@ -3822,11 +3777,6 @@ caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= -cash-dom@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/cash-dom/-/cash-dom-1.3.7.tgz#4e09f98bc7b3339665b48a579b4bb93189ccc3f7" - integrity sha512-cWqx3b+8Vh5hvRd87voSW7hxHVhUekGiOUd7iix8fP29cl6TBIInkAqYVSKaL2xeVewS3/kfPnIIC+Xl3nVe/A== - chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" @@ -3865,28 +3815,6 @@ chardet@^0.7.0: resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== -cheerio@^0.22.0: - version "0.22.0" - resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" - integrity sha1-qbqoYKP5tZWmuBsahocxIe06Jp4= - dependencies: - css-select "~1.2.0" - dom-serializer "~0.1.0" - entities "~1.1.1" - htmlparser2 "^3.9.1" - lodash.assignin "^4.0.9" - lodash.bind "^4.1.4" - lodash.defaults "^4.0.1" - lodash.filter "^4.4.0" - lodash.flatten "^4.2.0" - lodash.foreach "^4.3.0" - lodash.map "^4.4.0" - lodash.merge "^4.4.0" - lodash.pick "^4.2.1" - lodash.reduce "^4.4.0" - lodash.reject "^4.4.0" - lodash.some "^4.4.0" - cheerio@^1.0.0-rc.3: version "1.0.0-rc.3" resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-1.0.0-rc.3.tgz#094636d425b2e9c0f4eb91a46c05630c9a1a8bf6" @@ -3918,7 +3846,7 @@ chokidar@^2.0.2, chokidar@^2.1.8: optionalDependencies: fsevents "^1.2.7" -chokidar@^3.0.0, chokidar@^3.3.0: +chokidar@^3.3.0: version "3.3.1" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.3.1.tgz#c84e5b3d18d9a4d77558fef466b1bf16bbeb3450" integrity sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg== @@ -3973,7 +3901,7 @@ classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classna resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== -clean-css@4.2.x, clean-css@^4.2.3: +clean-css@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== @@ -4077,16 +4005,6 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= -codemirror-formatting@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/codemirror-formatting/-/codemirror-formatting-1.0.0.tgz#879cc1fdd9018343c1d5511769ce5360d705ebf2" - integrity sha1-h5zB/dkBg0PB1VEXac5TYNcF6/I= - -codemirror@^5.49.2: - version "5.52.2" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.52.2.tgz#c29e1f7179f85eb0dd17c0586fa810e4838ff584" - integrity sha512-WCGCixNUck2HGvY8/ZNI1jYfxPG5cRHv0VjmWuNzbtCLz8qYA5d+je4QhSSCtCaagyeOwMi/HmmPTjBgiTm2lQ== - collection-visit@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" @@ -4147,12 +4065,7 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -commander@^2.11.0, commander@^2.15.1, commander@^2.19.0, commander@^2.20.0: +commander@^2.11.0, commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== @@ -4162,11 +4075,6 @@ commander@^4.1.1: resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - common-tags@^1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" @@ -4241,14 +4149,6 @@ concat-stream@^1.5.0: readable-stream "^2.2.2" typedarray "^0.0.6" -config-chain@^1.1.12: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - confusing-browser-globals@^1.0.9: version "1.0.9" resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" @@ -4439,15 +4339,6 @@ cross-spawn@^3.0.0: lru-cache "^4.0.1" which "^1.2.9" -cross-spawn@^5.0.1, cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - cross-spawn@^6.0.0, cross-spawn@^6.0.5: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" @@ -4838,14 +4729,6 @@ data-urls@^1.0.0, data-urls@^1.1.0: whatwg-mimetype "^2.2.0" whatwg-url "^7.0.0" -datauri@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/datauri/-/datauri-2.0.0.tgz#ff0ee23729935a6bcc81f301621bed3e692bf3c7" - integrity sha512-zS2HSf9pI5XPlNZgIqJg/wCJpecgU/HA6E/uv2EfaWnW1EiTGLfy/EexTIsC9c99yoCOTXlqeeWk4FkCSuO3/g== - dependencies: - image-size "^0.7.3" - mimer "^1.0.0" - date-arithmetic@^4.0.1: version "4.1.0" resolved "https://registry.yarnpkg.com/date-arithmetic/-/date-arithmetic-4.1.0.tgz#e5d6434e9deb71f79760a37b729e4a515e730ddf" @@ -4906,11 +4789,6 @@ deep-equal@^1.0.1: object-keys "^1.1.1" regexp.prototype.flags "^1.2.0" -deep-extend@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.5.1.tgz#b894a9dd90d3023fbf1c55a394fb858eb2066f1f" - integrity sha512-N8vBdOa+DF7zkRrDCsaOXoCs/E2fJfx9B9MrKnnSiHNh4ws7eSys6YQE4KvT1cecKmOASYQBhbKjeuDD9lT81w== - deep-extend@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" @@ -5118,7 +4996,7 @@ dom-helpers@^5.1.0: "@babel/runtime" "^7.6.3" csstype "^2.6.7" -dom-serializer@0, dom-serializer@^0.2.1: +dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== @@ -5126,7 +5004,7 @@ dom-serializer@0, dom-serializer@^0.2.1: domelementtype "^2.0.1" entities "^2.0.0" -dom-serializer@~0.1.0, dom-serializer@~0.1.1: +dom-serializer@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.1.tgz#1ec4059e284babed36eec2941d4a970a189ce7c0" integrity sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA== @@ -5168,13 +5046,6 @@ domhandler@^2.3.0: dependencies: domelementtype "1" -domhandler@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-3.0.0.tgz#51cd13efca31da95bbb0c5bee3a48300e333b3e9" - integrity sha512-eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw== - dependencies: - domelementtype "^2.0.1" - domutils@1.5.1: version "1.5.1" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" @@ -5191,15 +5062,6 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -domutils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.0.0.tgz#15b8278e37bfa8468d157478c58c367718133c08" - integrity sha512-n5SelJ1axbO636c2yUtOGia/IcJtVtlhQbFiVDBZHKV5ReJO1ViX7sFEemtuyoAnBxk5meNSYgA8V4s0271efg== - dependencies: - dom-serializer "^0.2.1" - domelementtype "^2.0.1" - domhandler "^3.0.0" - dot-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" @@ -5248,16 +5110,6 @@ ecc-jsbn@~0.1.1: jsbn "~0.1.0" safer-buffer "^2.1.0" -editorconfig@^0.15.3: - version "0.15.3" - resolved "https://registry.yarnpkg.com/editorconfig/-/editorconfig-0.15.3.tgz#bef84c4e75fb8dcb0ce5cee8efd51c15999befc5" - integrity sha512-M9wIMFx96vq0R4F+gRpY3o2exzb8hEj/n9S8unZtHSvYjibBp/iMufSzvmOcV/laG0ZtuTVGtiJggPOSW2r93g== - dependencies: - commander "^2.19.0" - lru-cache "^4.1.5" - semver "^5.6.0" - sigmund "^1.0.1" - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -5758,19 +5610,6 @@ exec-sh@^0.3.2: resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - execa@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" @@ -6013,11 +5852,6 @@ file-loader@4.3.0: loader-utils "^1.2.3" schema-utils "^2.5.0" -file-saver@^1.3.2: - version "1.3.8" - resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-1.3.8.tgz#e68a30c7cb044e2fb362b428469feb291c2e09d8" - integrity sha512-spKHSBQIxxS81N/O21WmuXA2F6wppUCsutpzenOeZzOCCJ5gEfcbqJP983IrpLXzYmXnMUa6J03SubcNPdKrlg== - file-uri-to-path@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" @@ -6400,11 +6234,6 @@ get-stdin@^4.0.1: resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - get-stream@^4.0.0: version "4.1.0" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" @@ -6522,98 +6351,6 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== -grapesjs-aviary@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/grapesjs-aviary/-/grapesjs-aviary-0.1.2.tgz#330e7de5ad8ba5fca4dea06adba94372a8d4b487" - integrity sha512-F7sYQWj5s9eyUqoOX6q1z2J06AqgXhQqdjQhM8b5BptxlbDsvDTCbqSRmLGkEQKaIF1ca5o9FFi9eKBeUAfLEw== - -grapesjs-blocks-basic@^0.1.7: - version "0.1.8" - resolved "https://registry.yarnpkg.com/grapesjs-blocks-basic/-/grapesjs-blocks-basic-0.1.8.tgz#9eab7c8fd7bc30537143677320b07d85b9bd2e8f" - integrity sha512-Iy5M4qGkEE2llb5ZFxitDolRJ3CrQkcK1SQIjRRlkWIAC99On3T/09iFR7NkpTBfsgfdNwcwnSVOMOhSnVLDtw== - -grapesjs-component-countdown@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/grapesjs-component-countdown/-/grapesjs-component-countdown-0.1.3.tgz#7df54b2a6c0bdf3275370f974ac9bd732188aae3" - integrity sha512-TmxDETedUDv1jGqNLn6E768iyp+xAK/XcTId5WpLrmKPFB6aCuWqfTowhtSvyRJJs83OAFMiQIwIu+tEtSWOeA== - -grapesjs-mjml@^0.1.15: - version "0.1.15" - resolved "https://registry.yarnpkg.com/grapesjs-mjml/-/grapesjs-mjml-0.1.15.tgz#5bd56ad28af4e476cbe46b2ad0e7802888125791" - integrity sha512-ayLotiNSjI4dB21n3M5aLmfpBLvzKpr4j3AEJeQzuobxutG0DKvRQODD2LDm5bBotkfKb7+tw5AT/BT01kfyOA== - dependencies: - mjml "4.4.1" - -grapesjs-navbar@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/grapesjs-navbar/-/grapesjs-navbar-0.1.5.tgz#62e35eca0f391f94d455e96c206b74b5f495fa6e" - integrity sha512-tVKPtzlTUNCpzk3lHW69II2NsSzLNQd3K32CXssWCP3M1V8fvc9jG/MQECBkd/gMS+DjldD4/4b00ri9F3tKSg== - -grapesjs-plugin-export@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/grapesjs-plugin-export/-/grapesjs-plugin-export-0.1.5.tgz#968631d8d22abdd1d05f14fa30ad86105690ce23" - integrity sha512-BgvPY68vIDxVv0Z3v1TTikHseMxbfvUvhk5qUHq3a9kFmc2sFfNA6f5NHP9A4v3Tnd4kuwOd2aIn+QNutZrLRg== - dependencies: - file-saver "^1.3.2" - jszip "^3.0.0" - -grapesjs-plugin-filestack@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/grapesjs-plugin-filestack/-/grapesjs-plugin-filestack-0.1.1.tgz#690d8b532fab6e01d614d1ab288da0086b748972" - integrity sha512-zRwgHUZd7qDVk92dtizOHxnPiCjBBmsA2BHm0J86tz8uiXf6ou0OoQiB4x4UDewb9ipTkBI6X5nGh/0YET6WLw== - -grapesjs-plugin-forms@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/grapesjs-plugin-forms/-/grapesjs-plugin-forms-0.3.6.tgz#c55ee38ad74e2935e1e279deb0bca45ec0b1d301" - integrity sha512-JGIxky3if7FLlXBDuX2T2UoWQnvm55PcNp5P2qoX64zlA0+2npz9zbPcj9g1PUHXVPlTXwTr2qu5x3U/pb+xdw== - -grapesjs-preset-newsletter@^0.2.20: - version "0.2.20" - resolved "https://registry.yarnpkg.com/grapesjs-preset-newsletter/-/grapesjs-preset-newsletter-0.2.20.tgz#d6b83c1f13e0e95bd87dddcc01c6095a19852c65" - integrity sha512-rffUeuznf9Saig+kIUddmGfhWwbLjxdaqAYf6Hoge4b0sfT8knOS4mQXJBdRsSROfzuRhFe6ybRHm4yC32lHxA== - dependencies: - juice "^4.1.1" - -grapesjs-preset-webpage@^0.1.11: - version "0.1.11" - resolved "https://registry.yarnpkg.com/grapesjs-preset-webpage/-/grapesjs-preset-webpage-0.1.11.tgz#98dc9c0019683119b7bbb6d4f3b404aee286af6f" - integrity sha512-36SuSPwu3a09R6YR31Sklmowz/LvzxzGM74WcPd8KPwbs1mAQ4fFuqWKkX/wv8+GhY58Se9EO42yQVMwsZzELA== - dependencies: - grapesjs-aviary "^0.1.2" - grapesjs-blocks-basic "^0.1.7" - grapesjs-component-countdown "^0.1.2" - grapesjs-navbar "^0.1.5" - grapesjs-plugin-export "^0.1.5" - grapesjs-plugin-filestack "^0.1.1" - grapesjs-plugin-forms "^0.3.5" - -grapesjs-react@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/grapesjs-react/-/grapesjs-react-3.0.4.tgz#1d66183550395492b2ea6728dbd0de0ea69d8b44" - integrity sha512-8zOPI4HBFYqCcAiJpt6XPkP+nhQSaH5pfJJ7WgNd+ANN+bxy/LFdNM8t+5XUXqWF/pGeRACanHlmOaCdf+foBg== - dependencies: - grapesjs "^0.15.9" - grapesjs-mjml "^0.1.15" - grapesjs-preset-newsletter "^0.2.20" - grapesjs-preset-webpage "^0.1.11" - react "^16.12.0" - -grapesjs@^0.15.9: - version "0.15.10" - resolved "https://registry.yarnpkg.com/grapesjs/-/grapesjs-0.15.10.tgz#dd917b89f1a353d18824ed8712277a06234f9801" - integrity sha512-9m7OVgv0BZODMDZ8iOh7jYsPsfrPMXQcgjFYkJvPlkYpj/9kpZYorTSXooYLLoxBxLUdcfOqaHH1M23VP/W2ug== - dependencies: - "@babel/runtime" "^7.7.1" - backbone "1.3.3" - backbone-undo "^0.2.5" - cash-dom "^1.3.7" - codemirror "^5.49.2" - codemirror-formatting "^1.0.0" - keymaster "^1.6.2" - promise-polyfill "^8.1.3" - spectrum-colorpicker "^1.8.0" - underscore "^1.9.1" - graphql-tag@^2.4.2: version "2.10.3" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.10.3.tgz#ea1baba5eb8fc6339e4c4cf049dabe522b0edf03" @@ -6765,7 +6502,7 @@ hash.js@^1.0.0, hash.js@^1.0.3: inherits "^2.0.3" minimalistic-assert "^1.0.1" -he@1.2.x, he@^1.2.0: +he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== @@ -6875,19 +6612,6 @@ html-minifier-terser@^5.0.1: relateurl "^0.2.7" terser "^4.6.3" -html-minifier@^3.5.3: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - html-parse-stringify2@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/html-parse-stringify2/-/html-parse-stringify2-2.0.1.tgz#dc5670b7292ca158b7bc916c9a6735ac8872834a" @@ -6907,7 +6631,7 @@ html-webpack-plugin@4.0.0-beta.11: tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.3.0, htmlparser2@^3.9.1, htmlparser2@^3.9.2: +htmlparser2@^3.3.0, htmlparser2@^3.9.1: version "3.10.1" resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== @@ -6919,16 +6643,6 @@ htmlparser2@^3.3.0, htmlparser2@^3.9.1, htmlparser2@^3.9.2: inherits "^2.0.1" readable-stream "^3.1.1" -htmlparser2@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-4.1.0.tgz#9a4ef161f2e4625ebf7dfbe6c0a2f52d18a59e78" - integrity sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q== - dependencies: - domelementtype "^2.0.1" - domhandler "^3.0.0" - domutils "^2.0.0" - entities "^2.0.0" - http-deceiver@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" @@ -7069,16 +6783,6 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -image-size@^0.7.3: - version "0.7.5" - resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.7.5.tgz#269f357cf5797cb44683dfa99790e54c705ead04" - integrity sha512-Hiyv+mXHfFEP7LzUL/llg9RwFxxY+o9N3JVLIeG5E7iFIFAalxvRU9UZthBdYDEVnzHMgjnKJPPpay5BWf1g9g== - -immediate@~3.0.5: - version "3.0.6" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b" - integrity sha1-nbHb0Pr43m++D13V5Wu2BigN5ps= - immer@1.10.0: version "1.10.0" resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" @@ -7177,7 +6881,7 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: +ini@^1.3.5, ini@~1.3.0: version "1.3.5" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== @@ -8084,17 +7788,6 @@ js-base64@^2.1.8: resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.5.2.tgz#313b6274dda718f714d00b3330bbae6e38e90209" integrity sha512-Vg8czh0Q7sFBSUMWWArX/miJeBWYBPpdU/3M/DKSaekLMqrqVPaedp+5mZhie/r0lgrcaYBfwXatEew6gwgiQQ== -js-beautify@^1.6.14: - version "1.11.0" - resolved "https://registry.yarnpkg.com/js-beautify/-/js-beautify-1.11.0.tgz#afb873dc47d58986360093dcb69951e8bcd5ded2" - integrity sha512-a26B+Cx7USQGSWnz9YxgJNMmML/QG2nqIaL7VVYPCXbqiKz8PN0waSNvroMtvAK6tY7g/wPdNWGEP+JTNIBr6A== - dependencies: - config-chain "^1.1.12" - editorconfig "^0.15.3" - glob "^7.1.3" - mkdirp "~1.0.3" - nopt "^4.0.3" - js-cookie@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8" @@ -8297,47 +7990,6 @@ jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: array-includes "^3.0.3" object.assign "^4.1.0" -jszip@^3.0.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/jszip/-/jszip-3.3.0.tgz#29d72c21a54990fa885b11fc843db320640d5271" - integrity sha512-EJ9k766htB1ZWnsV5ZMDkKLgA+201r/ouFF8R2OigVjVdcm2rurcBrrdXaeqBJbqnUVMko512PYmlncBKE1Huw== - dependencies: - lie "~3.3.0" - pako "~1.0.2" - readable-stream "~2.3.6" - set-immediate-shim "~1.0.1" - -juice@^4.1.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/juice/-/juice-4.3.2.tgz#0a199e5f66f4f7f5cae4c079ebba81b0c2f4d1e0" - integrity sha512-3Qym/RnFoCGa9qrDz6xn4zRnohgI6G87xKWZV+/seF3dYpaVqNS1HijsDef+elGhytRY79RIboOzk0hucLtx6g== - dependencies: - cheerio "^0.22.0" - commander "^2.15.1" - cross-spawn "^5.1.0" - deep-extend "^0.5.1" - mensch "^0.3.3" - slick "^1.12.2" - web-resource-inliner "^4.2.1" - -juice@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/juice/-/juice-5.2.0.tgz#a40ea144bde2845fe2aade46a81f493f8ea677a0" - integrity sha512-0l6GZmT3efexyaaay3SchKT5kG311N59TEFP5lfvEy0nz9SNqjx311plJ3b4jze7arsmDsiHQLh/xnAuk0HFTQ== - dependencies: - cheerio "^0.22.0" - commander "^2.15.1" - cross-spawn "^6.0.5" - deep-extend "^0.6.0" - mensch "^0.3.3" - slick "^1.12.2" - web-resource-inliner "^4.3.1" - -keymaster@^1.6.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/keymaster/-/keymaster-1.6.2.tgz#e1ae54d0ea9488f9f60b66b668f02e9a1946c6eb" - integrity sha1-4a5U0OqUiPn2C2a2aPAumhlGxus= - killable@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" @@ -8436,13 +8088,6 @@ levn@^0.3.0, levn@~0.3.0: prelude-ls "~1.1.2" type-check "~0.3.2" -lie@~3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a" - integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ== - dependencies: - immediate "~3.0.5" - lines-and-columns@^1.1.6: version "1.1.6" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" @@ -8543,16 +8188,6 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.assignin@^4.0.9: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" - integrity sha1-uo31+4QesKPoBEIysOJjqNxqKKI= - -lodash.bind@^4.1.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" - integrity sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU= - lodash.camelcase@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6" @@ -8563,36 +8198,16 @@ lodash.clone@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" integrity sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y= -lodash.defaults@^4.0.1: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" - integrity sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw= - lodash.escape@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-4.0.1.tgz#c9044690c21e04294beaa517712fded1fa88de98" integrity sha1-yQRGkMIeBClL6qUXcS/e0fqI3pg= -lodash.filter@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - integrity sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4= - -lodash.flatten@^4.2.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= - lodash.flattendeep@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= -lodash.foreach@^4.3.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" - integrity sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM= - lodash.get@^4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" @@ -8608,46 +8223,16 @@ lodash.isplainobject@^4.0.6: resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= -lodash.map@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - integrity sha1-dx7Hg540c9nEzeKLGTlMNWL09tM= - lodash.memoize@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= -lodash.merge@^4.4.0: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - lodash.once@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= -lodash.pick@^4.2.1: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" - integrity sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM= - -lodash.reduce@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" - integrity sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs= - -lodash.reject@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" - integrity sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU= - -lodash.some@^4.4.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" - integrity sha1-G7nzFO9ri63tE7VJFpsqlF62jk0= - lodash.sortby@^4.7.0: version "4.7.0" resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" @@ -8668,17 +8253,12 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.unescape@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.unescape/-/lodash.unescape-4.0.1.tgz#bf2249886ce514cda112fae9218cdc065211fc9c" - integrity sha1-vyJJiGzlFM2hEvrpIYzcBlIR/Jw= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.2, lodash@^4.17.4, lodash@^4.17.5, lodash@~4.17.12: +"lodash@>=3.5 <5", lodash@^4.0.0, lodash@^4.15.0, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5, lodash@~4.17.12: version "4.17.15" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== @@ -8713,11 +8293,6 @@ loud-rejection@^1.0.0: currently-unhandled "^0.4.1" signal-exit "^3.0.0" -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - lower-case@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" @@ -8725,7 +8300,7 @@ lower-case@^2.0.1: dependencies: tslib "^1.10.0" -lru-cache@^4.0.1, lru-cache@^4.1.5: +lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== @@ -8820,13 +8395,6 @@ media-typer@0.3.0: resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= -mem@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" - integrity sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y= - dependencies: - mimic-fn "^1.0.0" - mem@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" @@ -8857,11 +8425,6 @@ memory-fs@^0.5.0: errno "^0.1.3" readable-stream "^2.0.1" -mensch@^0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/mensch/-/mensch-0.3.4.tgz#770f91b46cb16ea5b204ee735768c3f0c491fecd" - integrity sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g== - meow@^3.7.0: version "3.7.0" resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" @@ -8966,16 +8529,6 @@ mime@^2.4.4: resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== -mimer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/mimer/-/mimer-1.0.0.tgz#32251bef4dc7a63184db3a1082ed9be3abe0f3db" - integrity sha512-4ZJvCzfcwsBgPbkKXUzGoVZMWjv8IDIygkGzVc7uUYhgnK0t2LmGxxjdgH1i+pn0/KQfB5F/VKUJlfyTSOFQjg== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - mimic-fn@^2.0.0, mimic-fn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" @@ -9117,316 +8670,6 @@ mixin-object@^2.0.1: for-in "^0.1.3" is-extendable "^0.1.1" -mjml-accordion@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-accordion/-/mjml-accordion-4.4.1.tgz#44a2f25a19e348dabbb8c29d8d6162317b8188d9" - integrity sha512-zKAXZ9qeFsy+ftZ0iImUSqBux1z0NmRGUDbANqkZG1yo4QOOYhe9wHFr/Cjv2v/+m6Jpxt+De73Pvw5dXBnMbQ== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-body@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-body/-/mjml-body-4.4.1.tgz#33ffe7fad9ee4c4f328491524de63c0f714536b2" - integrity sha512-rf8k2kE0h7eJGA9NzVoqvUlSHXxypbZc0utQDVQuwaz1051Ny+fIUAR46jpksd93V2LYxobeUfjes2aJPFDTMA== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-button@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-button/-/mjml-button-4.4.1.tgz#ba98b33cbea54a7cc195f23f9e041299ed7306d4" - integrity sha512-c/jbtccOqgP8HL47Pmi1JBbgrUWjSUkiwh1hWLgAR6/oS9uDK+TYZZ2gK9IyCdFo0dl8na25WFLRQ1kUHQE09Q== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-carousel@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-carousel/-/mjml-carousel-4.4.1.tgz#a78209cd0a120437c8b9a7f285471b07e4d361a9" - integrity sha512-34iKJSJE8o4U+StX5gEgbLklQ8JxmVIqoQ/9T5JgvAGQ0G+REZL37BJZx4nq0lMI88Pjwkdu2pzRxPYe8go39g== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-cli@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-cli/-/mjml-cli-4.4.1.tgz#b4ed51fc479939a1aeadf05809d83ad67b2ccebb" - integrity sha512-h8+qWGKzRklCoVtEfv0+83JORkPaFM+oUrLnnYDI+AY+CnBdC4eiyjBkVR9kzVue0xv8JmyGP5RADSoeU99ULg== - dependencies: - babel-runtime "^6.26.0" - chokidar "^3.0.0" - glob "^7.1.1" - lodash "^4.17.4" - mjml-core "4.4.1" - mjml-migrate "4.4.1" - mjml-parser-xml "4.4.1" - mjml-validator "4.4.0" - yargs "^8.0.2" - -mjml-column@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-column/-/mjml-column-4.4.1.tgz#4f5967699c1ac42e5a1cc93846cc737f970409b7" - integrity sha512-VUTW5pvxLBUHa7xO4e3YWCmJqsDC0RhkjN6Rg7qgZE0TPPun3gUMFV1Geb8hM4OXyjp9xAc0TOOAU+umXiBPbA== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-core@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-core/-/mjml-core-4.4.1.tgz#61cd4e00a8e51f334bd2fb9c9d451e785dc493c0" - integrity sha512-7y0OYhi0HEeQJo47rkJvCh4PP52KrSbzINOhGwi1Dky3Gahl1v0U/Uza//DXHUQ49142tpuXsao1euijH1zgTA== - dependencies: - babel-runtime "^6.26.0" - html-minifier "^3.5.3" - js-beautify "^1.6.14" - juice "^5.2.0" - lodash "^4.17.2" - mjml-migrate "4.4.1" - mjml-parser-xml "4.4.1" - mjml-validator "4.4.0" - -mjml-divider@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-divider/-/mjml-divider-4.4.1.tgz#1833253fe4d946ff24a6bd3342586ccb0ff7b5a2" - integrity sha512-vZLjRpjt45mvY18FHZL3ilZyVpYDLvvyekpz15Mjp+f9NKNKJMSDHRN82nVD26gxoag8yNbmZgIe8zYpRUMWpA== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-group@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-group/-/mjml-group-4.4.1.tgz#4f8a09d7196f5c0778bc1935dec35e1f69bb8af1" - integrity sha512-Dzk/yVXgoQn5/OqJB6qUFy14Oy7RUuCKiLWa3BzcOFQgKc2/+n2JYdRR96WV9FP9AphZuliDxTHAnpnAFDAcpQ== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-attributes@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-attributes/-/mjml-head-attributes-4.4.1.tgz#b376bc155b32e20cce75e8281619d9011883f3b5" - integrity sha512-SSb+A4puaKNtr5fV/xn38aXC5ZE6XbEjNQPTRGRVi5NtAiS2Pfue+tOKftEkrwsPcJjZIRKmxOFE62sUv3bT8A== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-breakpoint@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-breakpoint/-/mjml-head-breakpoint-4.4.1.tgz#327e38300f14d4df2a23af320ca7bbe0e8ddd2bf" - integrity sha512-d9W5G8DhJW5SIPsu8JbblWnsr+ISyPCn6PrsLy+cRg2hIXBggX960sSol+rdcdnNFt1PuVIaRSpNgqbmyJfB0g== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-font@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-font/-/mjml-head-font-4.4.1.tgz#253b75c0bce1c66142cc78061544c5b9f5f82ed4" - integrity sha512-7MttVqLSAKxaaFrWxp7on3v0pm1futZ2qibPXEqFtf2+cQAq0fGp6e+FageN7abRHi1o4ZQ/1OzC5HA+giDL1Q== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-preview@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-preview/-/mjml-head-preview-4.4.1.tgz#44394a710e35a6a3454d8e1ee28517d84a426cc4" - integrity sha512-wFmxkMJxLM+VlBymKtkH8gbnqBqSDI6T/bIwPij26p+LjIpW9P6j53caVCuJpAyimRAp1PL/W9xl5AF4qZnYog== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-style@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-style/-/mjml-head-style-4.4.1.tgz#f54d460678b15f150ec62e2bd7fcd38ea80377ec" - integrity sha512-fV3Qvl/7rE5reNzZ1b5Iy63f/IlEYFj3tmqeZ6PNz8Jo5ZWngqDmQrx+lliMorVBTgwSg+Ym2LnQorilABk2kw== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head-title@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head-title/-/mjml-head-title-4.4.1.tgz#24ad16bfb5aa2184f549f7c457685151e05bfb8b" - integrity sha512-h0a2BmJMoBVYs9AlZyJkM1D6UW9F1lklGQ6L7c5mTuvgyCNP1NscRbRIQ0iW8Ckc94ielTEGJRvUiNuNCkMgbA== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-head@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-head/-/mjml-head-4.4.1.tgz#9dff94c4556e95dd2aad2f07e28c534b94f5f312" - integrity sha512-N1Yj+298eq4sA+F8n+jnprBlDx81dXq6QsA8bLdFTznKfgY3FaUY2FjCras6Ze3HtpNJztCaXfwEMcUvnjNbeA== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-hero@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-hero/-/mjml-hero-4.4.1.tgz#778b1ea3db1264e598ab72e8ccdb668c187d9464" - integrity sha512-8WL+JuasmBUNOph/btVR0cjz671V8Wkvn6Dt6hucmH51ikLuMYslw48SZWEC9yp1CsD6s1THyUogYcE/rB6RYw== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-image@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-image/-/mjml-image-4.4.1.tgz#26dd04ecbd8c3c8abfb0c7f355726ece37ff4cde" - integrity sha512-BPzw2cfXAsA2YihiR1RjHC56nTxNObdZ2A0A65jhsvRIcRhJyPPWRuzyxv/rejnKByGx6vuoRCkRE8IaiVrrzw== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-migrate@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-migrate/-/mjml-migrate-4.4.1.tgz#751165e967698e30bf2d77a8ab047e58459b477e" - integrity sha512-SzpR7fgnCPay9OtAEjo1mrEUoz9cTg5/nhRzvC/h+HpXFvyF+llGnUqsG4parnunGzzZ2kmZtd5cPc6ORa3dOA== - dependencies: - babel-runtime "^6.26.0" - commander "^2.11.0" - js-beautify "^1.6.14" - lodash "^4.17.2" - mjml-core "4.4.1" - mjml-parser-xml "4.4.1" - -mjml-navbar@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-navbar/-/mjml-navbar-4.4.1.tgz#3db23a3c3416477691622e60cf84e5ec52515a92" - integrity sha512-DI9mMTKiAvgVuFE3IO/NDIBah7OHvb8I8n1WMXLc/cMf7DZEJApfEy9MNRFz4EzCEgfBPf5dsYPGu4H/Nv36Fg== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-parser-xml@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-parser-xml/-/mjml-parser-xml-4.4.1.tgz#a0865aa87b7654965c8d13777cf7d0ea4ced5965" - integrity sha512-UFikH3kwnKGjJOH/UApNnYcLgCFvqC4D5zhI7/EpIAZGmCiyfsYxsjb9vi8zNTd3vxkB2REPdBs+TwIKUiVYLw== - dependencies: - babel-runtime "^6.26.0" - htmlparser2 "^3.9.2" - lodash "^4.17.2" - -mjml-raw@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-raw/-/mjml-raw-4.4.1.tgz#61855518fbedd49f77bdb3394bdc3b53faf853b3" - integrity sha512-6kMjtuiyc4+kbw+f9auiYb6eYVKBUA34CbFB2x+wS71sDNarCjvRedv30DJ2rp6M5IV79kOzv8wmb4+wN1Guig== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-section@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-section/-/mjml-section-4.4.1.tgz#e9580bfc74dc98a57ca4a9182b1fde63c925be54" - integrity sha512-QAdXVGrVw5ebECXmYj0l9D5hr1C5bpval9yx3yePEgZ+TMZwqtxKqUg4IjqTSdpZg+g0dxr6UzFILtfWg6n6rg== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-social@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-social/-/mjml-social-4.4.1.tgz#d262cc1b2679794ecf114a3d7290379f94573872" - integrity sha512-eO89CJhyCOdox3IVOJQmIZ+VOzoIp9kIC3eD9sY+K6CzZDD9LwapCoWUt5uQrDKn7dhhi8lN06u3SzGnRd8qmw== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-spacer@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-spacer/-/mjml-spacer-4.4.1.tgz#e098dcda1243aad69a6fe82580e16d723b8d1716" - integrity sha512-z3SOabP4THd/sKZBdC2jOQq4zGUdSZvjm3vGum3hM6ZS4jZkHJzL7qtd//u3WtaULdpjyeyaY9o0QDFcAKcrPQ== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-table@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-table/-/mjml-table-4.4.1.tgz#969878edc8b70cd72bf17973b300d080800ab966" - integrity sha512-bJzPnecXrEvkEAO5X9bIsFEhcObk4viArZVHzQW3wgfCLb7uSo9UHEF5lqueT+e00JThHVeP2SBcPuHgQC5JOg== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-text@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-text/-/mjml-text-4.4.1.tgz#04342875e742a82cafe3f492f8964a4fe0d244d4" - integrity sha512-kupHgeSb4Hc+HQtghhcK31p8q73u4mSjs/0HUUxXtmzbMxctSl9UNbFXApAVnbwAA03DL1LtVRymhGO2GdFowQ== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - -mjml-validator@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/mjml-validator/-/mjml-validator-4.4.0.tgz#290c469be4f15c714d859c50138bc380b5dd977b" - integrity sha512-htKvNAjfhLgPZHTVAQENRc/sMlOKYGCRn7pvSGi1N96VhDf2pB5/kgyLJMjT2u1yT0hXID+6P9/HKVNW2zlUQQ== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - warning "^3.0.0" - -mjml-wrapper@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml-wrapper/-/mjml-wrapper-4.4.1.tgz#677a6704a3608b3937733c5858b54f71a2e9e5ad" - integrity sha512-/A6PTg0UOqk/3D7FEotPsnIcE4asHmlJdbCCU9XuvdThYMx70CE2JxurOo52OD1Hj41eLHrwXzybtYW9HZ56Bw== - dependencies: - babel-runtime "^6.26.0" - lodash "^4.17.2" - mjml-core "4.4.1" - mjml-section "4.4.1" - -mjml@4.4.1: - version "4.4.1" - resolved "https://registry.yarnpkg.com/mjml/-/mjml-4.4.1.tgz#57dcfba52f8d6a90ed59759195eaa28a84d0da45" - integrity sha512-XFYAMJKvsY8Hu+GS8Bp2IjwawukQpW6nGWqK2kF+dd9se/cN4dnPGowDqF29GOgvZJJ/MckaJyiAl1KbJwGjtg== - dependencies: - mjml-accordion "4.4.1" - mjml-body "4.4.1" - mjml-button "4.4.1" - mjml-carousel "4.4.1" - mjml-cli "4.4.1" - mjml-column "4.4.1" - mjml-core "4.4.1" - mjml-divider "4.4.1" - mjml-group "4.4.1" - mjml-head "4.4.1" - mjml-head-attributes "4.4.1" - mjml-head-breakpoint "4.4.1" - mjml-head-font "4.4.1" - mjml-head-preview "4.4.1" - mjml-head-style "4.4.1" - mjml-head-title "4.4.1" - mjml-hero "4.4.1" - mjml-image "4.4.1" - mjml-migrate "4.4.1" - mjml-navbar "4.4.1" - mjml-raw "4.4.1" - mjml-section "4.4.1" - mjml-social "4.4.1" - mjml-spacer "4.4.1" - mjml-table "4.4.1" - mjml-text "4.4.1" - mjml-validator "4.4.0" - mjml-wrapper "4.4.1" - mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" @@ -9441,11 +8684,6 @@ mkdirp@^0.5.3: dependencies: minimist "^1.2.5" -mkdirp@~1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - moment@^2.24.0: version "2.24.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.24.0.tgz#0d055d53f5052aa653c9f6eb68bb5d12bf5c2b5b" @@ -9582,13 +8820,6 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - no-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" @@ -9751,14 +8982,6 @@ nopt@^4.0.1: abbrev "1" osenv "^0.1.4" -nopt@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -10084,15 +9307,6 @@ os-locale@^1.4.0: dependencies: lcid "^1.0.0" -os-locale@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" - integrity sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA== - dependencies: - execa "^0.7.0" - lcid "^1.0.0" - mem "^1.1.0" - os-locale@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" @@ -10206,7 +9420,7 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -pako@~1.0.2, pako@~1.0.5: +pako@~1.0.5: version "1.0.11" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== @@ -10220,13 +9434,6 @@ parallel-transform@^1.1.0: inherits "^2.0.3" readable-stream "^2.1.5" -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - param-case@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" @@ -11259,7 +10466,7 @@ promise-inflight@^1.0.1: resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= -promise-polyfill@8.1.3, promise-polyfill@^8.1.3: +promise-polyfill@8.1.3: version "8.1.3" resolved "https://registry.yarnpkg.com/promise-polyfill/-/promise-polyfill-8.1.3.tgz#8c99b3cf53f3a91c68226ffde7bde81d7f904116" integrity sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g== @@ -11295,7 +10502,7 @@ prop-types-exact@^1.2.0: object.assign "^4.1.0" reflect.ownkeys "^0.2.0" -prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -11304,11 +10511,6 @@ prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.10, prop-types@^15.5.6, pr object-assign "^4.1.1" react-is "^16.8.1" -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - protobufjs@^5.0.3: version "5.0.3" resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-5.0.3.tgz#e4dfe9fb67c90b2630d15868249bcc4961467a17" @@ -12263,7 +11465,7 @@ react-use@^13.27.1: ts-easing "^0.2.0" tslib "^1.10.0" -react@^16.12.0, react@^16.13.1: +react@^16.13.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== @@ -12550,7 +11752,7 @@ regjsparser@^0.6.4: dependencies: jsesc "~0.5.0" -relateurl@0.2.x, relateurl@^0.2.7: +relateurl@^0.2.7: version "0.2.7" resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= @@ -12831,6 +12033,8 @@ rxjs@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c" integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q== + dependencies: + tslib "^1.9.0" safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" @@ -12849,7 +12053,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@^2.1.2, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -13065,11 +12269,6 @@ set-harmonic-interval@^1.0.1: resolved "https://registry.yarnpkg.com/set-harmonic-interval/-/set-harmonic-interval-1.0.1.tgz#e1773705539cdfb80ce1c3d99e7f298bb3995249" integrity sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g== -set-immediate-shim@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" - integrity sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E= - set-value@^2.0.0, set-value@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" @@ -13167,11 +12366,6 @@ side-channel@^1.0.2: es-abstract "^1.17.0-next.1" object-inspect "^1.7.0" -sigmund@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" - integrity sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA= - signal-exit@^3.0.0, signal-exit@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" @@ -13213,11 +12407,6 @@ slice-ansi@^2.1.0: astral-regex "^1.0.0" is-fullwidth-code-point "^2.0.0" -slick@^1.12.2: - version "1.12.2" - resolved "https://registry.yarnpkg.com/slick/-/slick-1.12.2.tgz#bd048ddb74de7d1ca6915faa4a57570b3550c2d7" - integrity sha1-vQSN23TefRymkV+qSldXCzVQwtc= - snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -13403,11 +12592,6 @@ spdy@^4.0.1: select-hose "^2.0.0" spdy-transport "^3.0.0" -spectrum-colorpicker@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/spectrum-colorpicker/-/spectrum-colorpicker-1.8.0.tgz#b926cf5002c0a77860b5f8351e1c093c65200107" - integrity sha1-uSbPUALAp3hgtfg1HhwJPGUgAQc= - split-on-first@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" @@ -14205,14 +13389,6 @@ ua-parser-js@^0.7.18: resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.21.tgz#853cf9ce93f642f67174273cc34565ae6f308777" integrity sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ== -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - uncontrollable@^7.0.0: version "7.1.1" resolved "https://registry.yarnpkg.com/uncontrollable/-/uncontrollable-7.1.1.tgz#f67fed3ef93637126571809746323a9db815d556" @@ -14223,16 +13399,6 @@ uncontrollable@^7.0.0: invariant "^2.2.4" react-lifecycles-compat "^3.0.4" -"underscore@1.4.4 - 1.8.3": - version "1.8.3" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" - integrity sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI= - -underscore@>=1.7.0, underscore@>=1.8.3, underscore@^1.9.1: - version "1.10.2" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.10.2.tgz#73d6aa3668f3188e4adb0f1943bd12cfd7efaaaf" - integrity sha512-N4P+Q/BuyuEKFJ43B9gYuOj4TQUHXX+j2FqguVOpjkssLUUrnJofCcBccJSCoeturDoZU6GorDTHSvUDlSQbTg== - 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" @@ -14323,11 +13489,6 @@ upath@^1.1.1: resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - uri-js@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" @@ -14427,11 +13588,6 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== -valid-data-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/valid-data-url/-/valid-data-url-2.0.0.tgz#2220fa9f8d4e761ebd3f3bb02770f1212b810537" - integrity sha512-dyCZnv3aCey7yfTgIqdZanKl7xWAEEKCbgmR7SKqyK6QT/Z07ROactrgD1eA37C69ODRj7rNOjzKWVPh0EUjBA== - validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" @@ -14497,13 +13653,6 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.x" -warning@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/warning/-/warning-3.0.0.tgz#32e5377cb572de4ab04753bdf8821c01ed605b7c" - integrity sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w= - dependencies: - loose-envify "^1.0.0" - warning@^4.0.1, warning@^4.0.3, warning@~4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" @@ -14527,21 +13676,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-resource-inliner@^4.2.1, web-resource-inliner@^4.3.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/web-resource-inliner/-/web-resource-inliner-4.3.4.tgz#07e1b4bcbcbee1021251b018e902bac5713f1be0" - integrity sha512-agVAgRhOOi4GVlvKK34oM23tDgH8390HfLnZY2HZl8OFBwKNvUJkH7t89AT2iluQP8w9VHAAKX6Z8EN7/9tqKA== - dependencies: - async "^3.1.0" - chalk "^2.4.2" - datauri "^2.0.0" - htmlparser2 "^4.0.0" - lodash.unescape "^4.0.1" - request "^2.88.0" - safer-buffer "^2.1.2" - valid-data-url "^2.0.0" - xtend "^4.0.2" - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -14987,7 +14121,7 @@ xregexp@^4.3.0: dependencies: "@babel/runtime-corejs3" "^7.8.3" -xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -15055,13 +14189,6 @@ yargs-parser@^5.0.0: dependencies: camelcase "^3.0.0" -yargs-parser@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" - integrity sha1-jQrELxbqVd69MyyvTEA4s+P139k= - dependencies: - camelcase "^4.1.0" - yargs@12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" @@ -15145,25 +14272,6 @@ yargs@^7.0.0: y18n "^3.2.1" yargs-parser "^5.0.0" -yargs@^8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" - integrity sha1-YpmpBVsc78lp/355wdkY3Osiw2A= - dependencies: - camelcase "^4.1.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^2.0.0" - read-pkg-up "^2.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^7.0.0" - zen-observable-ts@^0.8.20: version "0.8.20" resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-0.8.20.tgz#44091e335d3fcbc97f6497e63e7f57d5b516b163" diff --git a/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/down.yaml b/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/down.yaml new file mode 100644 index 000000000..e96404a91 --- /dev/null +++ b/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."bodyshops" DROP COLUMN "template_header"; + type: run_sql diff --git a/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/up.yaml b/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/up.yaml new file mode 100644 index 000000000..99b37f336 --- /dev/null +++ b/hasura/migrations/1587060807479_alter_table_public_bodyshops_add_column_template_header/up.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: ALTER TABLE "public"."bodyshops" ADD COLUMN "template_header" text NULL; + type: run_sql diff --git a/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/down.yaml b/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/down.yaml new file mode 100644 index 000000000..18a9c8a58 --- /dev/null +++ b/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/down.yaml @@ -0,0 +1,44 @@ +- args: + role: user + table: + name: bodyshops + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: false + columns: + - address1 + - address2 + - city + - country + - created_at + - email + - federal_tax_id + - id + - insurance_vendor_id + - logo_img_path + - md_order_statuses + - md_responsibility_centers + - md_ro_statuses + - messagingservicesid + - region_config + - shopname + - shoprates + - state + - state_tax_id + - updated_at + - zip_post + computed_fields: [] + filter: + associations: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + role: user + table: + name: bodyshops + schema: public + type: create_select_permission diff --git a/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/up.yaml b/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/up.yaml new file mode 100644 index 000000000..ffca2644f --- /dev/null +++ b/hasura/migrations/1587060816740_update_permission_user_public_table_bodyshops/up.yaml @@ -0,0 +1,45 @@ +- args: + role: user + table: + name: bodyshops + schema: public + type: drop_select_permission +- args: + permission: + allow_aggregations: false + columns: + - address1 + - address2 + - city + - country + - created_at + - email + - federal_tax_id + - id + - insurance_vendor_id + - logo_img_path + - md_order_statuses + - md_responsibility_centers + - md_ro_statuses + - messagingservicesid + - region_config + - shopname + - shoprates + - state + - state_tax_id + - template_header + - updated_at + - zip_post + computed_fields: [] + filter: + associations: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + role: user + table: + name: bodyshops + schema: public + type: create_select_permission diff --git a/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/down.yaml b/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/down.yaml new file mode 100644 index 000000000..297c7d9db --- /dev/null +++ b/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/down.yaml @@ -0,0 +1,45 @@ +- args: + role: user + table: + name: bodyshops + schema: public + type: drop_update_permission +- args: + permission: + columns: + - address1 + - address2 + - city + - country + - created_at + - email + - federal_tax_id + - id + - insurance_vendor_id + - logo_img_path + - md_order_statuses + - md_responsibility_centers + - md_ro_statuses + - region_config + - shopname + - shoprates + - state + - state_tax_id + - updated_at + - zip_post + filter: + associations: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + localPresets: + - key: "" + value: "" + set: {} + role: user + table: + name: bodyshops + schema: public + type: create_update_permission diff --git a/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/up.yaml b/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/up.yaml new file mode 100644 index 000000000..fc6bba57f --- /dev/null +++ b/hasura/migrations/1587060828703_update_permission_user_public_table_bodyshops/up.yaml @@ -0,0 +1,46 @@ +- args: + role: user + table: + name: bodyshops + schema: public + type: drop_update_permission +- args: + permission: + columns: + - address1 + - address2 + - city + - country + - created_at + - email + - federal_tax_id + - id + - insurance_vendor_id + - logo_img_path + - md_order_statuses + - md_responsibility_centers + - md_ro_statuses + - messagingservicesid + - region_config + - shopname + - shoprates + - state + - state_tax_id + - updated_at + - zip_post + filter: + associations: + bodyshop: + associations: + user: + authid: + _eq: X-Hasura-User-Id + localPresets: + - key: "" + value: "" + set: {} + role: user + table: + name: bodyshops + schema: public + type: create_update_permission diff --git a/hasura/migrations/1587062110920_create_table_public_templates/down.yaml b/hasura/migrations/1587062110920_create_table_public_templates/down.yaml new file mode 100644 index 000000000..fd0fffff3 --- /dev/null +++ b/hasura/migrations/1587062110920_create_table_public_templates/down.yaml @@ -0,0 +1,5 @@ +- args: + cascade: false + read_only: false + sql: DROP TABLE "public"."templates"; + type: run_sql diff --git a/hasura/migrations/1587062110920_create_table_public_templates/up.yaml b/hasura/migrations/1587062110920_create_table_public_templates/up.yaml new file mode 100644 index 000000000..18fbf0bab --- /dev/null +++ b/hasura/migrations/1587062110920_create_table_public_templates/up.yaml @@ -0,0 +1,24 @@ +- args: + cascade: false + read_only: false + sql: CREATE EXTENSION IF NOT EXISTS pgcrypto; + type: run_sql +- args: + cascade: false + read_only: false + sql: "CREATE TABLE \"public\".\"templates\"(\"id\" uuid NOT NULL DEFAULT gen_random_uuid(), + \"created_at\" timestamptz NOT NULL DEFAULT now(), \"updated_at\" timestamptz + NOT NULL DEFAULT now(), \"bodyshopid\" uuid, \"name\" text NOT NULL, \"html\" + text NOT NULL, \"query\" text NOT NULL, PRIMARY KEY (\"id\") , FOREIGN KEY (\"bodyshopid\") + REFERENCES \"public\".\"bodyshops\"(\"id\") ON UPDATE restrict ON DELETE restrict);\nCREATE + OR REPLACE FUNCTION \"public\".\"set_current_timestamp_updated_at\"()\nRETURNS + TRIGGER AS $$\nDECLARE\n _new record;\nBEGIN\n _new := NEW;\n _new.\"updated_at\" + = NOW();\n RETURN _new;\nEND;\n$$ LANGUAGE plpgsql;\nCREATE TRIGGER \"set_public_templates_updated_at\"\nBEFORE + UPDATE ON \"public\".\"templates\"\nFOR EACH ROW\nEXECUTE PROCEDURE \"public\".\"set_current_timestamp_updated_at\"();\nCOMMENT + ON TRIGGER \"set_public_templates_updated_at\" ON \"public\".\"templates\" \nIS + 'trigger to set value of column \"updated_at\" to current timestamp on row update';" + type: run_sql +- args: + name: templates + schema: public + type: add_existing_table_or_view diff --git a/hasura/migrations/1587062123352_track_all_relationships/down.yaml b/hasura/migrations/1587062123352_track_all_relationships/down.yaml new file mode 100644 index 000000000..a170056fb --- /dev/null +++ b/hasura/migrations/1587062123352_track_all_relationships/down.yaml @@ -0,0 +1,12 @@ +- args: + relationship: templates + table: + name: bodyshops + schema: public + type: drop_relationship +- args: + relationship: bodyshop + table: + name: templates + schema: public + type: drop_relationship diff --git a/hasura/migrations/1587062123352_track_all_relationships/up.yaml b/hasura/migrations/1587062123352_track_all_relationships/up.yaml new file mode 100644 index 000000000..2c4ab676e --- /dev/null +++ b/hasura/migrations/1587062123352_track_all_relationships/up.yaml @@ -0,0 +1,20 @@ +- args: + name: templates + table: + name: bodyshops + schema: public + using: + foreign_key_constraint_on: + column: bodyshopid + table: + name: templates + schema: public + type: create_array_relationship +- args: + name: bodyshop + table: + name: templates + schema: public + using: + foreign_key_constraint_on: bodyshopid + type: create_object_relationship diff --git a/hasura/migrations/1587062292554_update_permission_user_public_table_templates/down.yaml b/hasura/migrations/1587062292554_update_permission_user_public_table_templates/down.yaml new file mode 100644 index 000000000..e02f50e10 --- /dev/null +++ b/hasura/migrations/1587062292554_update_permission_user_public_table_templates/down.yaml @@ -0,0 +1,6 @@ +- args: + role: user + table: + name: templates + schema: public + type: drop_select_permission diff --git a/hasura/migrations/1587062292554_update_permission_user_public_table_templates/up.yaml b/hasura/migrations/1587062292554_update_permission_user_public_table_templates/up.yaml new file mode 100644 index 000000000..551467acc --- /dev/null +++ b/hasura/migrations/1587062292554_update_permission_user_public_table_templates/up.yaml @@ -0,0 +1,30 @@ +- args: + permission: + allow_aggregations: false + columns: + - html + - name + - query + - created_at + - updated_at + - bodyshopid + - id + computed_fields: [] + filter: + _or: + - bodyshopid: + _is_null: true + - bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + limit: null + role: user + table: + name: templates + schema: public + type: create_select_permission diff --git a/hasura/migrations/1587062297744_update_permission_user_public_table_templates/down.yaml b/hasura/migrations/1587062297744_update_permission_user_public_table_templates/down.yaml new file mode 100644 index 000000000..5820d3827 --- /dev/null +++ b/hasura/migrations/1587062297744_update_permission_user_public_table_templates/down.yaml @@ -0,0 +1,6 @@ +- args: + role: user + table: + name: templates + schema: public + type: drop_update_permission diff --git a/hasura/migrations/1587062297744_update_permission_user_public_table_templates/up.yaml b/hasura/migrations/1587062297744_update_permission_user_public_table_templates/up.yaml new file mode 100644 index 000000000..354ddfc4d --- /dev/null +++ b/hasura/migrations/1587062297744_update_permission_user_public_table_templates/up.yaml @@ -0,0 +1,31 @@ +- args: + permission: + columns: + - html + - name + - query + - created_at + - updated_at + - bodyshopid + - id + filter: + _or: + - bodyshopid: + _is_null: true + - bodyshop: + associations: + _and: + - user: + authid: + _eq: X-Hasura-User-Id + - active: + _eq: true + localPresets: + - key: "" + value: "" + set: {} + role: user + table: + name: templates + schema: public + type: create_update_permission diff --git a/server/render/renderHandlebars.js b/server/render/renderHandlebars.js index 0b28149f3..d8b1eab59 100644 --- a/server/render/renderHandlebars.js +++ b/server/render/renderHandlebars.js @@ -3,7 +3,14 @@ const Handlebars = require("handlebars"); exports.render = (req, res) => { //Perform request validation - console.log("Got a render request."); - var template = Handlebars.compile(req.body.view); + let view; + if (req.body.context.bodyshop.template_header) { + console.log("[HJS Render] Including Header"); + view = `${req.body.context.bodyshop.template_header}${req.body.view}`; + } else { + console.log("[HJS Render] No header to include."); + view = req.body.view; + } + var template = Handlebars.compile(view); res.send(template(req.body.context)); };