diff --git a/website/gatsby-config.js b/website/gatsby-config.js index 312179ef..4d01262a 100644 --- a/website/gatsby-config.js +++ b/website/gatsby-config.js @@ -1,42 +1,15 @@ const pkg = require('./package.json'); +const fs = require('fs'); +const yaml = require('js-yaml'); + +const staticConfig = yaml.safeLoad(fs.readFileSync('./site.yml', 'utf8')); module.exports = { siteMetadata: { title: 'Netlify CMS | Open-Source Content Management System', description: 'Open source content management for your Git workflow', siteUrl: pkg.homepage, - menu: { - docs: [ - { - name: 'start', - title: 'Quick Start', - }, - { - name: 'features', - title: 'Features', - }, - { - name: 'reference', - title: 'Reference', - }, - { - name: 'media', - title: 'Media', - }, - { - name: 'guides', - title: 'Guides', - }, - { - name: 'customization', - title: 'Customization', - }, - { - name: 'contributing', - title: 'Contributing', - }, - ], - }, + menu: staticConfig.menu, }, plugins: [ { diff --git a/website/package.json b/website/package.json index b001e6bc..23441113 100644 --- a/website/package.json +++ b/website/package.json @@ -15,24 +15,25 @@ "dependencies": { "@emotion/core": "^10.0.27", "@emotion/styled": "^10.0.27", - "dayjs": "^1.8.19", + "dayjs": "^1.8.20", "emotion-theming": "^10.0.27", - "gatsby": "2.19.12", + "gatsby": "2.19.18", "gatsby-plugin-catch-links": "2.1.25", "gatsby-plugin-emotion": "^4.1.22", "gatsby-plugin-manifest": "2.2.41", - "gatsby-plugin-netlify-cms": "^4.1.38", + "gatsby-plugin-netlify-cms": "^4.1.40", "gatsby-plugin-react-helmet": "3.1.22", "gatsby-remark-autolink-headers": "2.1.24", "gatsby-remark-external-links": "^0.0.4", "gatsby-remark-prismjs": "3.3.31", "gatsby-source-filesystem": "2.1.48", "gatsby-transformer-json": "2.2.26", - "gatsby-transformer-remark": "2.6.50", - "gatsby-transformer-yaml": "2.2.24", + "gatsby-transformer-remark": "2.6.52", + "gatsby-transformer-yaml": "2.2.25", + "js-yaml": "^3.13.1", "lodash": "^4.17.15", "moment": "^2.24.0", - "netlify-cms-app": "^2.11.13", + "netlify-cms-app": "^2.11.20", "prismjs": "^1.19.0", "react": "^16.12.0", "react-dom": "^16.12.0", @@ -43,7 +44,7 @@ }, "devDependencies": { "babel-plugin-prismjs": "^2.0.1", - "babel-preset-gatsby": "^0.2.28", + "babel-preset-gatsby": "^0.2.29", "eslint": "^6.8.0", "eslint-plugin-import": "^2.20.1" }, diff --git a/website/site.yml b/website/site.yml new file mode 100644 index 00000000..0b9f4d9e --- /dev/null +++ b/website/site.yml @@ -0,0 +1,16 @@ +menu: + docs: + - name: start + title: Quick Start + - name: features + title: Features + - name: reference + title: Reference + - name: media + title: Media + - name: guides + title: Guides + - name: customization + title: Customization + - name: contributing + title: Contributing diff --git a/website/src/cms/cms.js b/website/src/cms/cms.js index 6400e58f..d709882d 100644 --- a/website/src/cms/cms.js +++ b/website/src/cms/cms.js @@ -2,92 +2,135 @@ import React from 'react'; import CMS from 'netlify-cms-app'; import dayjs from 'dayjs'; import Prism from 'prismjs'; +import { CacheProvider } from '@emotion/core'; +import createCache from '@emotion/cache'; import { BlogPostTemplate } from '../templates/blog-post'; +import { LayoutTemplate as Layout } from '../components/layout'; import { DocsTemplate } from '../templates/doc-page'; import WidgetDoc from '../components/widget-doc'; import WhatsNew from '../components/whats-new'; import Notification from '../components/notification'; import Community from '../components/community'; +import siteConfig from '../../site.yml'; -const withHighlight = WrappedComponent => - class Highlight extends React.Component { - constructor(props) { - super(props); - this.ref = React.createRef(); - } +let emotionCache; +function getEmotionCache() { + const previewPaneIframe = document.querySelector('iframe[class*="PreviewPaneFrame"]'); + const previewPaneHeadEl = previewPaneIframe.contentWindow.document.querySelector('head'); + if (!emotionCache || emotionCache.sheet.container !== previewPaneHeadEl) { + emotionCache = createCache({ container: previewPaneHeadEl }); + } + return emotionCache; +} - highlight() { - Prism.highlightAllUnder(this.ref.current); - } +const PreviewContainer = ({ children, highlight }) => ( + + + {highlight ? {children} : children} + + +); - componentDidMount() { - this.highlight(); - } +class Highlight extends React.Component { + constructor(props) { + super(props); + this.ref = React.createRef(); + } - componentDidUpdate() { - this.highlight(); - } + highlight() { + setTimeout(() => { + if (this.ref.current) { + Prism.highlightAllUnder(this.ref.current); + } + }) + } - render() { - return ( -
- -
- ); - } - }; + componentDidMount() { + this.highlight(); + } + + componentDidUpdate() { + this.highlight(); + } + + render() { + return ( +
+ {this.props.children} +
+ ); + } +}; const BlogPostPreview = ({ entry, widgetFor }) => { const data = entry.get('data'); return ( - + + + ); }; const CommunityPreview = ({ entry }) => { const { title, headline, subhead, sections } = entry.get('data').toJS(); - return ; + return ( + + + + ); }; const DocsPreview = ({ entry, widgetFor }) => ( - + + + ); const WidgetDocPreview = ({ entry, widgetFor }) => ( - + + + ); const ReleasePreview = ({ entry }) => ( - ({ - version: release.get('version'), - date: dayjs(release.get('date')).format('MMMM D, YYYY'), - description: release.get('description'), - })) - .toJS()} - /> + + ({ + version: release.get('version'), + date: dayjs(release.get('date')).format('MMMM D, YYYY'), + description: release.get('description'), + })) + .toJS()} + /> + ); -const NotificationPreview = ({ entry }) => - entry - .getIn(['data', 'notifications']) - .filter(notif => notif.get('published')) - .map((notif, idx) => ( - - {notif.get('message')} - - )); +const NotificationPreview = ({ entry }) => ( + + {entry + .getIn(['data', 'notifications']) + .filter(notif => notif.get('published')) + .map((notif, idx) => ( + + {notif.get('message')} + + )) + } + +); -CMS.registerPreviewTemplate('blog', withHighlight(BlogPostPreview)); -CMS.registerPreviewTemplate('docs', withHighlight(DocsPreview)); -CMS.registerPreviewTemplate('widget_docs', withHighlight(WidgetDocPreview)); +CMS.registerPreviewTemplate('blog', BlogPostPreview); +siteConfig.menu.docs.forEach(group => { + CMS.registerPreviewTemplate(`docs_${group.name}`, DocsPreview); +}); +CMS.registerPreviewTemplate('widget_docs', WidgetDocPreview); CMS.registerPreviewTemplate('releases', ReleasePreview); CMS.registerPreviewTemplate('notifications', NotificationPreview); CMS.registerPreviewTemplate('community', CommunityPreview); diff --git a/website/src/components/edit-link.js b/website/src/components/edit-link.js index 6e7d1b18..bea2678c 100644 --- a/website/src/components/edit-link.js +++ b/website/src/components/edit-link.js @@ -1,7 +1,7 @@ import React from 'react'; import { css } from '@emotion/core'; -const EditLink = ({ path }) => ( +const EditLink = ({ collection, filename }) => (
( } `} > - + ( + + + {children} + +) + const Layout = ({ hasPageHero, children }) => { return ( @@ -35,8 +42,12 @@ const Layout = ({ hasPageHero, children }) => { const { title, description } = data.site.siteMetadata; return ( - - + {
{children}
- + ); }} diff --git a/website/src/components/markdown.js b/website/src/components/markdown.js index 4e795789..c3cb465f 100644 --- a/website/src/components/markdown.js +++ b/website/src/components/markdown.js @@ -125,12 +125,11 @@ const StyledMarkdown = styled.div` } `; -const Markdown = ({ html }) => { - if (React.isValidElement(html)) { - return html; - } else { - return ; +const Markdown = ({ body, html }) => { + if (body) { + return {body} } + return ; }; export default Markdown; diff --git a/website/src/components/sidebar-layout.js b/website/src/components/sidebar-layout.js index d67bd0ab..416f42bf 100644 --- a/website/src/components/sidebar-layout.js +++ b/website/src/components/sidebar-layout.js @@ -15,12 +15,12 @@ const SidebarLayout = ({ sidebar, children }) => ( css={css` ${mq[1]} { display: grid; - grid-template-columns: 300px 1fr; + grid-template-columns: ${sidebar ? '300px' : ''} minmax(0, 1fr); grid-gap: 2rem; } `} > -
{sidebar}
+ {sidebar &&
{sidebar}
} {children} ); diff --git a/website/src/components/widget-doc.js b/website/src/components/widget-doc.js index 0c5a6846..8f802e13 100644 --- a/website/src/components/widget-doc.js +++ b/website/src/components/widget-doc.js @@ -10,7 +10,7 @@ const WidgetDoc = ({ visible, label, body, html }) => { return (

{label}

- +
); }; diff --git a/website/src/templates/blog-post.js b/website/src/templates/blog-post.js index 954bf5de..30d4c1bf 100644 --- a/website/src/templates/blog-post.js +++ b/website/src/templates/blog-post.js @@ -24,7 +24,7 @@ export const BlogPostTemplate = ({ title, author, date, body, html }) => ( by {author} on {date} - + ); diff --git a/website/src/templates/doc-page.js b/website/src/templates/doc-page.js index fe9241f1..c8c26f74 100644 --- a/website/src/templates/doc-page.js +++ b/website/src/templates/doc-page.js @@ -4,13 +4,17 @@ import { graphql } from 'gatsby'; import 'prismjs/themes/prism-tomorrow.css'; import Layout from '../components/layout'; -import EditLink from '../components/edit-link'; -import Widgets from '../components/widgets'; import DocsNav from '../components/docs-nav'; import Container from '../components/container'; import SidebarLayout from '../components/sidebar-layout'; +import EditLink from '../components/edit-link'; +import Widgets from '../components/widgets'; import Markdown from '../components/markdown'; +function filenameFromPath(p) { + return p.split('/').slice(-1)[0].split('.')[0]; +} + const toMenu = (menu, nav) => menu.map(group => ({ title: group.title, @@ -25,7 +29,7 @@ const DocsSidebar = ({ docsNav, location }) => ( export const DocsTemplate = ({ title, - editLinkPath, + filename, body, html, showWidgets, @@ -33,15 +37,18 @@ export const DocsTemplate = ({ showSidebar, docsNav, location, + group, }) => ( {showSidebar && }
} + sidebar={showSidebar && } >
- {editLinkPath && } + {filename && ( + + )}

{title}

- + {showWidgets && }
@@ -49,22 +56,25 @@ export const DocsTemplate = ({ ); const DocPage = ({ data, location }) => { - const { nav, page, widgets, menu } = data; + const { nav, page: { frontmatter, html, fields }, widgets, menu } = data; + const { title, group } = frontmatter const docsNav = toMenu(menu.siteMetadata.menu.docs, nav); const showWidgets = location.pathname.indexOf('/docs/widgets') !== -1; + const filename = filenameFromPath(fields.path); return ( - + @@ -79,6 +89,7 @@ export const pageQuery = graphql` } frontmatter { title + group } html } diff --git a/website/static/admin/config.yml b/website/static/admin/config.yml index e78f2b14..31d49798 100644 --- a/website/static/admin/config.yml +++ b/website/static/admin/config.yml @@ -2,71 +2,116 @@ backend: name: github repo: netlify/netlify-cms squash_merges: true + open_authoring: true -site_url: "https://www.netlifycms.org" +local_backend: true + +site_url: https://www.netlifycms.org publish_mode: editorial_workflow -media_folder: "website/static/img" # Folder where user uploaded files should go -public_folder: "img" +media_folder: website/static/img +public_folder: img -collections: # A list of collections the CMS should be able to edit - - name: "docs" # Used in routes, ie.: /admin/collections/:slug/edit - label: "Docs" # Used in the UI, ie.: "New Post" - folder: "website/content/docs" # The path to the folder where the documents are stored - create: true # Allow users to create new documents in this collection - preview_path: "docs/{{slug}}" - fields: # The fields each document in this collection have - - {label: "Title", name: "title", widget: "string", tagname: "h1"} - - {label: "Group", name: "group", widget: "string"} - - {label: "Weight", name: "weight", widget: "number"} - - {label: "Body", name: "body", widget: "markdown"} - - name: "widget_docs" # Used in routes, ie.: /admin/collections/:slug/edit - label: "Widget Docs" # Used in the UI, ie.: "New Post" - folder: "website/content/docs/widgets" # The path to the folder where the documents are stored +docs_collection: &docs_collection + folder: website/content/docs + create: true + preview_path: "docs/{{slug}}" + fields: + - { label: Title, name: title } + - { label: Group, name: group, widget: select, options: [start, features, reference, media, guides, customization, contributing] } + - { label: Weight, name: weight, widget: number } + - { label: Body, name: body, widget: markdown } + +collections: + - <<: *docs_collection + name: docs_start + label: "Docs: Quick Start" + filter: + field: group + value: start + - <<: *docs_collection + name: docs_features + label: "Docs: Features" + filter: + field: group + value: features + - <<: *docs_collection + name: docs_reference + label: "Docs: Reference" + filter: + field: group + value: reference + - <<: *docs_collection + name: docs_media + label: "Docs: Media" + filter: + field: group + value: media + - <<: *docs_collection + name: docs_guides + label: "Docs: Guides" + filter: + field: group + value: guides + - <<: *docs_collection + name: docs_customization + label: "Docs: Customization" + filter: + field: group + value: customization + - <<: *docs_collection + name: docs_contributing + label: "Docs: Contributing" + filter: + field: group + value: contributing + - name: widget_docs + label: "Docs: Widgets" + folder: website/content/docs/widgets preview_path: "docs/widgets/{{title}}" - create: true # Allow users to create new documents in this collection - fields: # The fields each document in this collection have - - {label: "Name", name: "title"} - - {label: "Label", name: "label"} - - {label: "Body", name: "body", widget: "markdown"} - - name: "blog" - label: "Blog" - label_singular: "Post" - folder: "website/content/blog" + create: true + fields: + - { label: Name, name: title } + - { label: Label, name: label } + - { label: Body, name: body, widget: markdown } + - name: blog + label: Blog + label_singular: Post + folder: website/content/blog preview_path: "blog/{{year}}/{{month}}/{{title}}" create: true fields: - - {label: "Title", name: "title", widget: "string", tagname: "h1"} - - {label: "Author", name: "author", widget: "string"} - - {label: "Description (for blog list)", name: "description", widget: "text"} - - {label: "Meta Description (defaults to Description)", name: "meta_description", widget: "text", required: false} - - {label: "Twitter Image", name: "twitter_image", widget: "image"} - - {label: "Date", name: "date", widget: "date"} - - {label: "Body", name: "body", widget: "markdown"} + - { label: Title, name: title } + - { label: Author, name: author } + - { label: Description (for blog list), name: description, widget: text } + - { label: Meta Description (defaults to Description), name: meta_description, widget: text, required: false } + - { label: Twitter Image, name: twitter_image, widget: image } + - { label: Date, name: date, widget: date } + - { label: Body, name: body, widget: markdown } - name: community label: Community files: - name: community label: Community file: website/content/pages/community.md - preview_path: "community" + preview_path: community fields: - - {label: Title, name: title} - - {label: Headline, name: headline} - - {label: Subheading, name: subhead} + - { label: Title, name: title } + - { label: Headline, name: headline } + - { label: Subheading, name: subhead } - label: Sections name: sections widget: list fields: - - {name: title, label: Title} + - { name: title, label: Title } - name: channels label: Channels widget: list fields: - - {name: title, label: Title} - - {name: url, label: URL} - - {name: description, label: Description} + - { name: title, label: Title } + - { name: url, label: URL } + - { name: description, label: Description } - name: updates label: Updates files: @@ -78,9 +123,9 @@ collections: # A list of collections the CMS should be able to edit label: Releases widget: list fields: - - {name: version, label: Version} - - {name: date, label: Date, widget: date} - - {name: description, label: Description} + - { name: version, label: Version } + - { name: date, label: Date, widget: date } + - { name: description, label: Description } - name: notifications label: Notifications file: website/data/notifications.yml @@ -90,8 +135,8 @@ collections: # A list of collections the CMS should be able to edit label: Notifications widget: list fields: - - {label: Title, name: title, widget: string, tagname: h1} - - {label: Published, name: published, widget: boolean} - - {label: Loud, name: loud, widget: boolean} - - {label: Message, name: message, widget: text} - - {label: URL, name: url} + - { label: Title, name: title } + - { label: Published, name: published, widget: boolean } + - { label: Loud, name: loud, widget: boolean } + - { label: Message, name: message, widget: text } + - { label: URL, name: url} diff --git a/website/yarn.lock b/website/yarn.lock index 83e886e2..baf9ccd4 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -1200,16 +1200,15 @@ string-width "^2.0.0" strip-ansi "^3" -"@reach/router@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.2.1.tgz#34ae3541a5ac44fa7796e5506a5d7274a162be4e" - integrity sha512-kTaX08X4g27tzIFQGRukaHmNbtMYDS3LEWIS8+l6OayGIw6Oyo1HIF/JzeuR2FoF9z6oV+x/wJSVSq4v8tcUGQ== +"@reach/router@^1.3.1": + version "1.3.1" + resolved "https://registry.yarnpkg.com/@reach/router/-/router-1.3.1.tgz#0a49f75fa9621323d6e21c803447bcfcde1713b2" + integrity sha512-Ov1j1J+pSgXliJHFL7XWhjyREwc6GxeWfgBTa5MMH5eRmYtHbPhaovba4xKo7aTVCg8fxkt2yDMNSpvwfUP+pA== dependencies: - create-react-context "^0.2.1" + create-react-context "0.3.0" invariant "^2.2.3" prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" - warning "^3.0.0" "@sindresorhus/is@^0.14.0": version "0.14.0" @@ -2186,10 +2185,10 @@ babel-plugin-transform-react-remove-prop-types@^0.4.24: resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== -babel-preset-gatsby@^0.2.28: - version "0.2.28" - resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.2.28.tgz#6bd421e1a18115889e608b2a8fa5076205bacd1a" - integrity sha512-PnQgmGHTgGHgMmTeK1raV5rFk4puUX2bX0L7Ayqomi5xMQqQXLYOeE5bsaB1YIBpdFMdCUgbf9skX7vfqyy7hw== +babel-preset-gatsby@^0.2.29: + version "0.2.29" + resolved "https://registry.yarnpkg.com/babel-preset-gatsby/-/babel-preset-gatsby-0.2.29.tgz#cf50a2ec0e6d44fd715b559bfd5481c4221cab5c" + integrity sha512-asJV/UMq7riYiY4ZhMi83Mbhwwtkvhp9gmmJgJJSJyAWw/tTgAmYan6Udpco3P4Kvd91lj+f8kzXJHT0G2sdwQ== dependencies: "@babel/plugin-proposal-class-properties" "^7.7.4" "@babel/plugin-proposal-nullish-coalescing-operator" "^7.7.4" @@ -2203,6 +2202,7 @@ babel-preset-gatsby@^0.2.28: babel-plugin-dynamic-import-node "^2.3.0" babel-plugin-macros "^2.8.0" babel-plugin-transform-react-remove-prop-types "^0.4.24" + gatsby-core-utils "^1.0.28" babel-runtime@^6.26.0: version "6.26.0" @@ -3422,12 +3422,13 @@ create-react-class@^15.5.1, create-react-class@^15.5.2: loose-envify "^1.3.1" object-assign "^4.1.1" -create-react-context@^0.2.1: - version "0.2.3" - resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.2.3.tgz#9ec140a6914a22ef04b8b09b7771de89567cb6f3" +create-react-context@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" + integrity sha512-dNldIoSuNSvlTJ7slIKC/ZFGKexBMBrrcc+TTe1NdmROnaASuLPvqpwj9v4XS4uXZ8+YPu0sNmShX2rXI5LNsw== dependencies: - fbjs "^0.8.0" gud "^1.0.0" + warning "^4.0.3" cross-fetch@2.2.2: version "2.2.2" @@ -3695,10 +3696,10 @@ date-now@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" -dayjs@^1.8.19: - version "1.8.19" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.19.tgz#5117dc390d8f8e586d53891dbff3fa308f51abfe" - integrity sha512-7kqOoj3oQSmqbvtvGFLU5iYqies+SqUiEGNT0UtUPPxcPYgY1BrkXR0Cq2R9HYSimBXN+xHkEN4Hi399W+Ovlg== +dayjs@^1.8.20: + version "1.8.20" + resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.8.20.tgz#724a5cb6ad1f6fc066b0bd9a800dedcc7886f19e" + integrity sha512-mH0MCDxw6UCGJYxVN78h8ugWycZAO8thkj3bW6vApL5tS0hQplIDdAQcmbvl7n35H0AKdCJQaArTrIQw2xt4Qg== debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.3, debug@^2.6.6, debug@^2.6.9: version "2.6.9" @@ -4923,7 +4924,7 @@ faye-websocket@~0.11.1: dependencies: websocket-driver ">=0.5.1" -fbjs@^0.8.0, fbjs@^0.8.9: +fbjs@^0.8.9: version "0.8.17" resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.17.tgz#c4d598ead6949112653d6588b01a5cdcd9f90fdd" dependencies: @@ -5203,10 +5204,10 @@ fuzzy@^0.1.1: resolved "https://registry.yarnpkg.com/fuzzy/-/fuzzy-0.1.3.tgz#4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8" integrity sha1-THbsL/CsGjap3M+aAN+GIweNTtg= -gatsby-cli@^2.8.29: - version "2.8.29" - resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.8.29.tgz#53dd79d2ff01d555570cd2a81a51c95be585bd7e" - integrity sha512-HVZmb22D+Qf24rceY37MEzaPOk7v3ffw/tzu8pFkG1IoHLIJumbo2LMSJRvnd2+SUMQf1ZIVQCmbdEuaJ9Fn1A== +gatsby-cli@^2.8.30: + version "2.8.30" + resolved "https://registry.yarnpkg.com/gatsby-cli/-/gatsby-cli-2.8.30.tgz#29655d05890d7c54b04d3fecd97446941e0c0507" + integrity sha512-dEGuvF91EwSzLwBV98NDihtn6e6uZedcPljlx9Mr7ZQLlOhGAVDcWR9KNq0Z1SWeRInwWc3cEdUJ6TUmPa308Q== dependencies: "@babel/code-frame" "^7.5.5" "@babel/runtime" "^7.7.6" @@ -5235,7 +5236,7 @@ gatsby-cli@^2.8.29: pretty-error "^2.1.1" progress "^2.0.3" prompts "^2.3.0" - react "^16.12.0" + react "^16.8.0" redux "^4.0.4" resolve-cwd "^2.0.0" semver "^6.3.0" @@ -5259,10 +5260,10 @@ gatsby-core-utils@^1.0.28: ci-info "2.0.0" node-object-hash "^2.0.0" -gatsby-graphiql-explorer@^0.2.33: - version "0.2.33" - resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.33.tgz#0414f50369c82f3b156fbb1b0968d81ca8bc8bc3" - integrity sha512-prc/OU9dcrQQDRswguLuRqlBLGNZO/oadRR0rhmxVPrTVps3RyX4VDYvGBzaMhSfr4tMNAVDYP5iPjaaQz+D8A== +gatsby-graphiql-explorer@^0.2.34: + version "0.2.34" + resolved "https://registry.yarnpkg.com/gatsby-graphiql-explorer/-/gatsby-graphiql-explorer-0.2.34.tgz#ed3e8406e7f263687727717481ccee9e5b4cb83c" + integrity sha512-r3JW4NPC69kRV8VTlDYrR9E9ROyw3Po4qKB5C067fE0bRhtU3DTSSf6MT+C97XS+JqKEZAaub0unptB//gnaCw== dependencies: "@babel/runtime" "^7.7.6" @@ -5315,10 +5316,10 @@ gatsby-plugin-manifest@2.2.41: semver "^5.7.1" sharp "^0.23.4" -gatsby-plugin-netlify-cms@^4.1.38: - version "4.1.38" - resolved "https://registry.yarnpkg.com/gatsby-plugin-netlify-cms/-/gatsby-plugin-netlify-cms-4.1.38.tgz#ddba90b931c9ba73d4906a40bde97aa3716cecc0" - integrity sha512-GqlZBbhHFwR/QIzPr3GlNjdJxYB8zvi6LUjTajBaUj7SX4e5brY9acCFHq8NmfSZc+875L5EV0U0XsiYt/yLpg== +gatsby-plugin-netlify-cms@^4.1.40: + version "4.1.40" + resolved "https://registry.yarnpkg.com/gatsby-plugin-netlify-cms/-/gatsby-plugin-netlify-cms-4.1.40.tgz#6c687d68d0252917f7cfccff896304905fb18857" + integrity sha512-24ShOOO6Q67Y+AGJ6aRa6ptucuZlUjDLtY1o+u8K4rFp7BmTSk29sakRaV0D9KCQ4WmDXDkUovwNNgDC7CsT7A== dependencies: "@pieh/friendly-errors-webpack-plugin" "1.7.0-chalk-2" copy-webpack-plugin "^5.1.0" @@ -5441,10 +5442,10 @@ gatsby-transformer-json@2.2.26: "@babel/runtime" "^7.7.6" bluebird "^3.7.2" -gatsby-transformer-remark@2.6.50: - version "2.6.50" - resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.6.50.tgz#5278c41279f58e2409ab61fa458e0d6d47cfc956" - integrity sha512-TeJ9wBoZB3xTengF8Dzt8+gKnKYLlTHaIp87Lab4nuP9XMTT0GiMsqJwvAFBo4SnOFUa30qNRbz+Fyirk7oPew== +gatsby-transformer-remark@2.6.52: + version "2.6.52" + resolved "https://registry.yarnpkg.com/gatsby-transformer-remark/-/gatsby-transformer-remark-2.6.52.tgz#ab843006fa4e7242452d732d2756b2ccb5f264a4" + integrity sha512-G0Fw2ZHFMiC1KdIR31NSZcQ3+KtghVfWK8FmiExMmN8bZQROyuqrjv1DqhUgg2yChHZKZ14H3hTnVmvCv48shg== dependencies: "@babel/runtime" "^7.7.6" bluebird "^3.7.2" @@ -5468,20 +5469,20 @@ gatsby-transformer-remark@2.6.50: unist-util-select "^1.5.0" unist-util-visit "^1.4.1" -gatsby-transformer-yaml@2.2.24: - version "2.2.24" - resolved "https://registry.yarnpkg.com/gatsby-transformer-yaml/-/gatsby-transformer-yaml-2.2.24.tgz#93989ac6cf7a1c22c597f7b6559ccfff17ed8e84" - integrity sha512-6+uQwzIaMRc6WPIFJIaR1MqAULpev8+eo6pdZFm/6/MAMSb9t6A9dge8+V4ahhGhLJr26HI4d2/JpnzLihKTTg== +gatsby-transformer-yaml@2.2.25: + version "2.2.25" + resolved "https://registry.yarnpkg.com/gatsby-transformer-yaml/-/gatsby-transformer-yaml-2.2.25.tgz#4aa432d571a41d39c6cb3c85c9261b7806a98192" + integrity sha512-W+rbrTbpabF74U9B6PcqwbUSvlKPtnUEq+ujx4w8mqbP152ttN15TRFtZHmqQdqupokdHMzq87dTZlD4qkWbzw== dependencies: "@babel/runtime" "^7.7.6" js-yaml "^3.13.1" lodash "^4.17.15" unist-util-select "^1.5.0" -gatsby@2.19.12: - version "2.19.12" - resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.19.12.tgz#9819d47407386912ad89f8067d69cec4ef7aec23" - integrity sha512-oI76KUEIebmaVOwtHuRINBspLvKHCIOdVPiNdgT/ly05iJLg9OsKd6/eYZ/rO+YYWew8t+MmoMVmRLpaWE2RBQ== +gatsby@2.19.18: + version "2.19.18" + resolved "https://registry.yarnpkg.com/gatsby/-/gatsby-2.19.18.tgz#bc03a806eb577e056d66b7ab5f7ca50070fc14c7" + integrity sha512-DRVak6eh3vCrokdn1taibno9Z/I+XxaWcTdorGVXnS1TCOjXeWJ838f/i3bc+BuuSmoq1V3lOKfggyvtccF74w== dependencies: "@babel/code-frame" "^7.5.5" "@babel/core" "^7.7.5" @@ -5492,7 +5493,7 @@ gatsby@2.19.12: "@hapi/joi" "^15.1.1" "@mikaelkristiansson/domready" "^1.0.10" "@pieh/friendly-errors-webpack-plugin" "1.7.0-chalk-2" - "@reach/router" "1.2.1" + "@reach/router" "^1.3.1" "@typescript-eslint/eslint-plugin" "^2.11.0" "@typescript-eslint/parser" "^2.11.0" address "1.1.2" @@ -5504,7 +5505,7 @@ gatsby@2.19.12: babel-plugin-add-module-exports "^0.3.3" babel-plugin-dynamic-import-node "^2.3.0" babel-plugin-remove-graphql-queries "^2.7.23" - babel-preset-gatsby "^0.2.28" + babel-preset-gatsby "^0.2.29" better-opn "1.0.0" better-queue "^3.8.10" bluebird "^3.7.2" @@ -5542,9 +5543,9 @@ gatsby@2.19.12: flat "^4.1.0" fs-exists-cached "1.0.0" fs-extra "^8.1.0" - gatsby-cli "^2.8.29" + gatsby-cli "^2.8.30" gatsby-core-utils "^1.0.28" - gatsby-graphiql-explorer "^0.2.33" + gatsby-graphiql-explorer "^0.2.34" gatsby-link "^2.2.29" gatsby-plugin-page-creator "^2.1.40" gatsby-react-router-scroll "^2.1.21" @@ -8382,69 +8383,70 @@ neo-async@^2.6.1: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== -netlify-cms-app@^2.11.13: - version "2.11.13" - resolved "https://registry.yarnpkg.com/netlify-cms-app/-/netlify-cms-app-2.11.13.tgz#c625fc75a77b62de803ec9b32f600137d17e227a" - integrity sha512-4SbE8+I1ud5RZVDTyXGisiEMptH/45eOVsu5/XofBzOGcOHZDDVegDMHgQyoj8in/GtanNzuL3uYOm2bRV+kng== +netlify-cms-app@^2.11.20: + version "2.11.20" + resolved "https://registry.yarnpkg.com/netlify-cms-app/-/netlify-cms-app-2.11.20.tgz#2fbc12129d6c9ac8e96b6823b6202749152614ea" + integrity sha512-AwK2uN8BDJLFSD9Iy2QVK2ASNWxMotWFEqlez/INoMWWVSx93JD1ZENPYHCcxFxJcFl8Ax6rWmBy8KiY/CDOzA== dependencies: "@emotion/core" "^10.0.9" "@emotion/styled" "^10.0.9" immutable "^3.7.6" lodash "^4.17.11" moment "^2.24.0" - netlify-cms-backend-bitbucket "^2.8.0" - netlify-cms-backend-git-gateway "^2.7.1" - netlify-cms-backend-github "^2.6.5" - netlify-cms-backend-gitlab "^2.5.2" - netlify-cms-backend-test "^2.7.1" - netlify-cms-core "^2.16.0" - netlify-cms-editor-component-image "^2.5.0" + netlify-cms-backend-bitbucket "^2.9.0" + netlify-cms-backend-git-gateway "^2.7.2" + netlify-cms-backend-github "^2.7.1" + netlify-cms-backend-gitlab "^2.6.0" + netlify-cms-backend-test "^2.7.2" + netlify-cms-core "^2.18.4" + netlify-cms-editor-component-image "^2.6.2" netlify-cms-lib-auth "^2.2.7" - netlify-cms-lib-util "^2.6.2" - netlify-cms-locales "^1.8.0" - netlify-cms-ui-default "^2.8.0" + netlify-cms-lib-util "^2.7.1" + netlify-cms-locales "^1.9.0" + netlify-cms-ui-default "^2.9.1" netlify-cms-widget-boolean "^2.3.0" netlify-cms-widget-code "^1.1.3" netlify-cms-widget-date "^2.4.0" - netlify-cms-widget-datetime "^2.2.5" - netlify-cms-widget-file "^2.5.2" - netlify-cms-widget-image "^2.5.0" - netlify-cms-widget-list "^2.4.1" + netlify-cms-widget-datetime "^2.2.6" + netlify-cms-widget-file "^2.6.2" + netlify-cms-widget-image "^2.6.2" + netlify-cms-widget-list "^2.4.3" netlify-cms-widget-map "^1.3.3" - netlify-cms-widget-markdown "^2.8.3" + netlify-cms-widget-markdown "^2.9.2" netlify-cms-widget-number "^2.3.5" netlify-cms-widget-object "^2.3.1" - netlify-cms-widget-relation "^2.5.0" - netlify-cms-widget-select "^2.5.0" + netlify-cms-widget-relation "^2.5.2" + netlify-cms-widget-select "^2.5.1" netlify-cms-widget-string "^2.2.3" netlify-cms-widget-text "^2.3.0" prop-types "^15.7.2" react-immutable-proptypes "^2.1.0" uuid "^3.3.2" -netlify-cms-backend-bitbucket@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/netlify-cms-backend-bitbucket/-/netlify-cms-backend-bitbucket-2.8.0.tgz#d06b4e0946a3646910bb3158ff1d237e2dbd1ebd" - integrity sha512-g8Xq7uERSi7bErgMJshAZb+yNj4ZBy3FH3O+DpLdf92kUyrliVUF3BnXfKqD+Xf37PeLSQPMe/Xz5HjeaZ1ehg== +netlify-cms-backend-bitbucket@^2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/netlify-cms-backend-bitbucket/-/netlify-cms-backend-bitbucket-2.9.0.tgz#06676ad586cbcc34dc1339e52fb0caa5a4a7db6e" + integrity sha512-GgMp1oClfhTeqDOtpy0RVeFwTVKJuBhiYkeyHvNYLg4C3QUHRD4VCTX1qlN6YKn+fLX5YKCj7NV+8X+OlCymkg== dependencies: common-tags "^1.8.0" js-base64 "^2.5.1" semaphore "^1.1.0" + what-the-diff "^0.6.0" -netlify-cms-backend-git-gateway@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/netlify-cms-backend-git-gateway/-/netlify-cms-backend-git-gateway-2.7.1.tgz#5cf3b1d438275d32f073cdb1b7a684d4194ee3e0" - integrity sha512-ZcSLzp9VwGZtDpG6C9XhsrIyO840Zn+p76+fD+jtZL96OVSN/p2Tmnr1TaeLUIbQh/GPtvuTaR3ht5p8b8M6lA== +netlify-cms-backend-git-gateway@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/netlify-cms-backend-git-gateway/-/netlify-cms-backend-git-gateway-2.7.2.tgz#2085ac9efdfb55b80ef3841ad59519112e8b2e76" + integrity sha512-gwEoNES1pBSe1udtzAfO1IDlLOSIT6ppUTyjxZx5po9bnV5yMCWu/sQK0POFMz0Mcz8qpDPnwkUbtC6X4GVi9Q== dependencies: gotrue-js "^0.9.24" ini "^1.3.5" jwt-decode "^2.2.0" minimatch "^3.0.4" -netlify-cms-backend-github@^2.6.5: - version "2.6.5" - resolved "https://registry.yarnpkg.com/netlify-cms-backend-github/-/netlify-cms-backend-github-2.6.5.tgz#081235d20d7ffca1bc032f0b07130f7738b71dce" - integrity sha512-b/EgxlewcLwW727H2ZYY9SHyDgNrt9nLs7qp08NNHI0MhflE7R01PxDaQRPPcqGEuvKXs23/ZAKdjLLdQbjigg== +netlify-cms-backend-github@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/netlify-cms-backend-github/-/netlify-cms-backend-github-2.7.1.tgz#c3d73eeabc49dc9a3a6eee96d3e74939fe8cb584" + integrity sha512-1FV/CwiclNNm6pdIHy+YaVtuV04SrWrJ0qItWe9KIRm20bCr9ad6VYA9yT7tpZQeDPx6AlkiMsnmf3twORPALw== dependencies: apollo-cache-inmemory "^1.6.2" apollo-client "^2.6.3" @@ -8456,23 +8458,23 @@ netlify-cms-backend-github@^2.6.5: js-base64 "^2.5.1" semaphore "^1.1.0" -netlify-cms-backend-gitlab@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/netlify-cms-backend-gitlab/-/netlify-cms-backend-gitlab-2.5.2.tgz#e3c3f2f398cac97533205fb812a8551d52796a02" - integrity sha512-iUNjr6+8c2cLPu8lZ77o1oK6rE2Ev7VqQlVEsID/h13/4Safa3secb/8os0VWnB/0Rvgl9seBd5J9CY+aXt02g== +netlify-cms-backend-gitlab@^2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/netlify-cms-backend-gitlab/-/netlify-cms-backend-gitlab-2.6.0.tgz#b62097326364adc2fcf26e53f48f649e0510559e" + integrity sha512-Kd1KXB5P9LGnjVZl4+tdaGQwnEJRDsE+6acfB0iztyC7uKVrKdWdBEF+3MV7Tf62AwlSCbM8k0qNA2X/Jly1Ow== dependencies: js-base64 "^2.5.1" semaphore "^1.1.0" -netlify-cms-backend-test@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/netlify-cms-backend-test/-/netlify-cms-backend-test-2.7.1.tgz#93fe0571063e131d9f52bdef76a5f1348d3e4b40" - integrity sha512-yDkrR8bqXsd6RJ1eZcMgHq8iax8p/iFpvyKWqCU/YCHjqQXRfX3CeamU46a/CV18Eio4qqhOMul/vMqOsF8xgg== +netlify-cms-backend-test@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/netlify-cms-backend-test/-/netlify-cms-backend-test-2.7.2.tgz#b5895b95de5dbe05576e99f72fe5d182a3e46033" + integrity sha512-E1QkgyI+PsIGFg7rErVIfSaMUqRyah4rJnfwAm3x0+R3omv2tOk+1SfN7HFqdkrnieen5nfNLseZFvKwg5j4Ng== -netlify-cms-core@^2.16.0: - version "2.16.0" - resolved "https://registry.yarnpkg.com/netlify-cms-core/-/netlify-cms-core-2.16.0.tgz#938fd6bd523e7bbfbc3550f9d5563f035656095d" - integrity sha512-hmf7sz48t/606xAeIB3yEG82znSDx0kLkrgLC5VrAdOZWpJRdK5MThC2V+oEZTe2GZQRB5n28MT16u/PtArtIg== +netlify-cms-core@^2.18.4: + version "2.18.4" + resolved "https://registry.yarnpkg.com/netlify-cms-core/-/netlify-cms-core-2.18.4.tgz#7afe694abb1a8bcbeb5fd3e679ee532ef6cba60d" + integrity sha512-aQf8pAC47n/DjZ00q7oweA6CR7BSlS/1Kx8bRqP0AU2Vi6cXrmMSGpQ9t6qh2Sc/3zzvq+wqbN3THTOuJVf5MA== dependencies: "@iarna/toml" "2.2.3" ajv "^6.10.0" @@ -8517,34 +8519,34 @@ netlify-cms-core@^2.16.0: url "^0.11.0" what-input "^5.1.4" -netlify-cms-editor-component-image@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/netlify-cms-editor-component-image/-/netlify-cms-editor-component-image-2.5.0.tgz#f43eb0e07c3b541eda524a8adc18cef6cc490a9a" - integrity sha512-dQ04372Xj/tgQKJUUQnrOe8q+DfansUXalAy92mI1X+4l7m+r7SpIrhdvhlo2zclyCtRuOU6VbjCm1Ypb9kj/A== +netlify-cms-editor-component-image@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/netlify-cms-editor-component-image/-/netlify-cms-editor-component-image-2.6.2.tgz#aa048ed6379578f8ab6ee00a2fa1eadbb70ddbf4" + integrity sha512-I7427tvMP364seqAFQ10O1nPlIqNBfdUmwE9NjBiuJxYQQ0A22p1fdT3ip2R2YohfYRk4sqOhyq/FZAz9O+o4A== netlify-cms-lib-auth@^2.2.7: version "2.2.7" resolved "https://registry.yarnpkg.com/netlify-cms-lib-auth/-/netlify-cms-lib-auth-2.2.7.tgz#d01793551cf1e2aef9979702710f9e394d839d62" integrity sha512-ZZtG9ZLDZHK8tvntq6nFp3VpSqbZ8hMx3HNvbTeMaTDFwka8/65w8HEZAddCOORxboHdHDvqKiE7ShCkn6Ni6w== -netlify-cms-lib-util@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/netlify-cms-lib-util/-/netlify-cms-lib-util-2.6.2.tgz#06551cf1b0205a0f5fa997aaca31467d9f889f77" - integrity sha512-+RbT2sQW9d+CO3s4puLiVrvALy4e8O6eR5oMHbsp3ip8X4h5C6KbkEKn8T0gF90yE4+oH6NZ0QDppQM8wG19Pg== +netlify-cms-lib-util@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/netlify-cms-lib-util/-/netlify-cms-lib-util-2.7.1.tgz#7fbe323367f9b4635455775be714e1632ed9dcdf" + integrity sha512-NiqFjObuZryI4gMxDiwv3lRxDVFnikeoLw30vR1JzkZZok/hvSVNBxg1aHa7osCcHT6UOASEBPTCxGv+U3ugqA== dependencies: js-sha256 "^0.9.0" localforage "^1.7.3" semaphore "^1.1.0" -netlify-cms-locales@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/netlify-cms-locales/-/netlify-cms-locales-1.8.0.tgz#43ed74e7c9d0f964eb63c50a311b9072c69cda5b" - integrity sha512-dfEmUu7nm03rT5JrhEE+qrcU+xW9U+ZHbh1KZYKWAJtCnvyBA82AILSWMR8OoLJmWSCJgrMbmQWll+e9Pa2BYw== +netlify-cms-locales@^1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/netlify-cms-locales/-/netlify-cms-locales-1.9.0.tgz#045b30a4051be867d15d4dc6245f9f2f3992d561" + integrity sha512-3El36xOPAhUUiEOInuqPYiwvsnr4eEbRejxRVPG7O7TVmP+ZWPQJbwlMRErsnUxZQv63CrGsxxoklPPf2XeXBA== -netlify-cms-ui-default@^2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/netlify-cms-ui-default/-/netlify-cms-ui-default-2.8.0.tgz#1bb371e915d9b6c644f4e11dc81bb559e186b730" - integrity sha512-3LibKWDUqJ+WfbebFaRDsK1v3l3HiMviVRvbCcGEnGrEo5Gjkp+6J/njtvMiRCKLp/WBQ4aCCDbETtqv8b9M3w== +netlify-cms-ui-default@^2.9.1: + version "2.9.1" + resolved "https://registry.yarnpkg.com/netlify-cms-ui-default/-/netlify-cms-ui-default-2.9.1.tgz#aa4f79edadf8cc0f683a10bb0e88d71f0fc7aafe" + integrity sha512-o0u0Ln5BlUI/shoCpdQMVVJJsg0PXSVThyyiOeIBknl3k1Rb2yo31RRDKZToNqqpMHCheVI0+WLIsde3Tuthaw== dependencies: react-aria-menubutton "^6.0.0" react-toggled "^1.1.2" @@ -8571,27 +8573,27 @@ netlify-cms-widget-date@^2.4.0: dependencies: react-datetime "^2.16.3" -netlify-cms-widget-datetime@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-datetime/-/netlify-cms-widget-datetime-2.2.5.tgz#a030a09299d2448dc181b31224d55fd76074b893" - integrity sha512-zoCuqkcelNvBwKlv5tJll67rKXFE/tq1W6SlT/f0LbRR78X/CY7jSTuTKbawHYi4XAg4Hhc4NmgKX2C8AWm39g== +netlify-cms-widget-datetime@^2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-datetime/-/netlify-cms-widget-datetime-2.2.6.tgz#a5d4b88d96e902439f21156f612f6df510f28edc" + integrity sha512-6hOGEyx+V1gc/88cVEHR29FZQPyYuEk8p0Kg0dsWO/KHspJkzwv0jI91Mad4ATTQD8hBUHKm1adTp6fwcWTQVw== -netlify-cms-widget-file@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-file/-/netlify-cms-widget-file-2.5.2.tgz#351baa6e74949f3e3220bae10b628f8c01941ca6" - integrity sha512-SAdKy8Cy3cgqjjlRJpEtA4aBoR99ntQAMCkbzYja+/KuREe1MBOuw+hUC624XOcDjEGnpFjvX2FG60T/yM96hg== +netlify-cms-widget-file@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-file/-/netlify-cms-widget-file-2.6.2.tgz#d0c6c327b71cc332dde04c5976efe8903e505716" + integrity sha512-JmhwfO0lTtXEo1zvu9yZFAx9xoLozCkleqtYGEm5gMd6um6perbW+rCAfEKS+ivr+2U7oC0YHLAUAg7pkiJ05g== dependencies: common-tags "^1.8.0" -netlify-cms-widget-image@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-image/-/netlify-cms-widget-image-2.5.0.tgz#7abacbc7b43b7baa92917a3c7887e66f84d5d84f" - integrity sha512-fq/uc0Kixi5V1Sy5YhwWbxmmWUKfFWYvWdRhdASHReqS9i4WXdtdvAiS8xPqRMnN7LfM+NR03E+pX7u1ve2EcQ== +netlify-cms-widget-image@^2.6.2: + version "2.6.2" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-image/-/netlify-cms-widget-image-2.6.2.tgz#de4c7091d0ae5097b369762e45b0e5cac594a188" + integrity sha512-2D9pMSWtxmEDnl8Rg1XjJA0IQREfP3eD6C+aNgsENCXl22tFdCkvhuNq6MrnJSkf4xqkHYs0M8/O1x56OLhmlQ== -netlify-cms-widget-list@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-list/-/netlify-cms-widget-list-2.4.1.tgz#e8596b68a281bc5e8e4e0a30652a9b987119fb49" - integrity sha512-Ilkvj6d3e2T4cTvnUss5S8xTXy3YMoqWjwnqGDlb/K3OKOt3RJlB9dEk6iTw93g0vp9gIXyDd/r887ycUCbcZQ== +netlify-cms-widget-list@^2.4.3: + version "2.4.3" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-list/-/netlify-cms-widget-list-2.4.3.tgz#a1baf13aadbbff14a82851b7529da3769715605e" + integrity sha512-n7G4xgORf2n9qex77PwJ9Mf0kTxH7EmSS23yabhxYyjwXazhhiemlEU0q7CUyK8uZwTiGPJrbkqbOIsbJB4cXA== dependencies: react-sortable-hoc "^1.0.0" @@ -8602,10 +8604,10 @@ netlify-cms-widget-map@^1.3.3: dependencies: ol "^5.3.1" -netlify-cms-widget-markdown@^2.8.3: - version "2.8.3" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-markdown/-/netlify-cms-widget-markdown-2.8.3.tgz#1ea44b2923db711a795693a4c76c515f1c55bc7c" - integrity sha512-PQsp4tuu6ZC2hFqMmvqElcp0LUblWgzrQZXKY3LkV21/LOhhbMTuJ5QiHdD/LBvVGElFdc1E2lbPmct5TrA5LA== +netlify-cms-widget-markdown@^2.9.2: + version "2.9.2" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-markdown/-/netlify-cms-widget-markdown-2.9.2.tgz#b14725c4be4af1b68091588fcf33525bf9687d1c" + integrity sha512-FYmXKlYKS86VR+MstHloQUvgUVvvDqEIS3/v8ob8zQjXXw8K1XbDvEzTJD3yrhbZq3pzomlbyC1yM5UYQ1HA9A== dependencies: is-hotkey "^0.1.4" mdast-util-definitions "^1.2.3" @@ -8638,17 +8640,17 @@ netlify-cms-widget-object@^2.3.1: resolved "https://registry.yarnpkg.com/netlify-cms-widget-object/-/netlify-cms-widget-object-2.3.1.tgz#a8adc1f97f5b2772809690b2478007e7e610e407" integrity sha512-i9NDAfxv1WGEklbPpdU2uIUUH2IP3M6XzQN1kion2eqzoIORlW5lQEuHBRjzvaIAIXIo6PyRbgAPC3xzgedUhA== -netlify-cms-widget-relation@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-relation/-/netlify-cms-widget-relation-2.5.0.tgz#e837044706cc0ef9a7e42b69919cd71b38765dc3" - integrity sha512-jZZsO4+PUYgiz4VWRVH/cwRnqgdSXWOvFSRLgpDfped4B8jsCEDHp0M07hOiFr2K1p6HOmMnk65TbziA5kG8FQ== +netlify-cms-widget-relation@^2.5.2: + version "2.5.2" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-relation/-/netlify-cms-widget-relation-2.5.2.tgz#1af1813737cb90d0a6793feb862c294a19589000" + integrity sha512-7Gb/ckpoJr6ehKpSn4Zag4UMM926xyZW6jinLb69SwF3UbFuj4o9waxrqX0LhFBYBMAGksryxXeXOI4+I6flVg== dependencies: react-select "^2.4.2" -netlify-cms-widget-select@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/netlify-cms-widget-select/-/netlify-cms-widget-select-2.5.0.tgz#f9f75371c4441e7e6b20b052c014ef32e69b3573" - integrity sha512-GDVkls/IV7uRjAPB1N6kjIyzZLWbQdDHzSFJA2srRDLmOya5zphfo7iYRWEmaiASYlYfIsFauEpiS/q95xNi5Q== +netlify-cms-widget-select@^2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/netlify-cms-widget-select/-/netlify-cms-widget-select-2.5.1.tgz#a4ab47c6dc4204bb42238f35c62973dd69e35092" + integrity sha512-KL4iNqThPVS73uBxVz8KE4wvEsMQGUVZcq5qIm70mlclcMw11XriJr499BUXRqjPAWyKx88zfMthMYz+5Ha6wQ== dependencies: react-select "^2.4.2" @@ -10730,7 +10732,7 @@ react-waypoint@^8.1.0: prop-types "^15.0.0" react-is "^16.6.3" -react@^16.12.0, react@^16.8.4: +react@^16.12.0, react@^16.8.0, react@^16.8.4: version "16.12.0" resolved "https://registry.yarnpkg.com/react/-/react-16.12.0.tgz#0c0a9c6a142429e3614834d5a778e18aa78a0b83" integrity sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA== @@ -13465,6 +13467,11 @@ what-input@^5.1.4: resolved "https://registry.yarnpkg.com/what-input/-/what-input-5.2.6.tgz#ac6f003bf8d3592a0031dea7a03565469b00020b" integrity sha512-a0BcI5YR7xp87vSzGcbN0IszJKpUQuTmrZaTSQBl7TLDIdKj6rDhluQ7b/7lYGG81gWDvkySsEvwv4BW5an9kg== +what-the-diff@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/what-the-diff/-/what-the-diff-0.6.0.tgz#445cc56a9d8ee9aea0ee1ed943f4957ae009291e" + integrity sha512-8BgQ4uo4cxojRXvCIcqDpH4QHaq0Ksn2P3LYfztylC5LDSwZKuGHf0Wf7sAStjPLTcB8eCB8pJJcPQSWfhZlkg== + whatwg-fetch@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"