diff --git a/benchmarks/mdx-without-images/.gitattributes b/benchmarks/mdx-without-images/.gitattributes new file mode 100644 index 0000000000000..dfe0770424b2a --- /dev/null +++ b/benchmarks/mdx-without-images/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/benchmarks/mdx-without-images/.gitignore b/benchmarks/mdx-without-images/.gitignore new file mode 100644 index 0000000000000..4637833637cf3 --- /dev/null +++ b/benchmarks/mdx-without-images/.gitignore @@ -0,0 +1,6 @@ +node_modules/ +.cache/ +public/ +.env +generated_articles +.DS_Store diff --git a/benchmarks/mdx-without-images/.prettierrc.js b/benchmarks/mdx-without-images/.prettierrc.js new file mode 100644 index 0000000000000..a4d537e3304db --- /dev/null +++ b/benchmarks/mdx-without-images/.prettierrc.js @@ -0,0 +1,7 @@ +module.exports = { + endOfLine: "lf", + semi: false, + singleQuote: false, + tabWidth: 2, + trailingComma: "es5", +} diff --git a/benchmarks/mdx-without-images/LICENSE b/benchmarks/mdx-without-images/LICENSE new file mode 100644 index 0000000000000..a58432d662146 --- /dev/null +++ b/benchmarks/mdx-without-images/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Peter van der Zee + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/benchmarks/mdx-without-images/README.md b/benchmarks/mdx-without-images/README.md new file mode 100644 index 0000000000000..44cd35830fc58 --- /dev/null +++ b/benchmarks/mdx-without-images/README.md @@ -0,0 +1,31 @@ +# MDX Benchmark + +This is a baseline benchmark for tracking MDX performance. + +The site can generate an arbitrary amount of super simple pages. Each page has a small header, imports a file, and has two small paragraphs of random text. No images, because we want to benchmark MDX. + +This uses the local file system plugin, though we might switch to sourcing from csv since that has a more efficient internal representation (fewer `File` nodes). + +## Install + +Run `yarn` or `npm install` + +## Usage + +You can start a benchmark run like this: + +```shell +CI=1 N=1000 M=2 yarn bench +``` + +- `CI=1`: this enables the fastest reporter, with simplest output, that we have +- `N=1000`: instructs the run to build a site of 1000 pages +- `M=2`: instructs nodejs to use up to 2gb of memory for its long term storage +- Deletes generates files from previous run +- Generates `N` pages with pseudo-random content +- Runs `gatsby clean` +- Runs `gatsby build` + +The default `yarn bench` will build 512 pages with 1gb memory. + +There is also `yarn bench:inspect` for debugging with the Chrome devtools. diff --git a/benchmarks/mdx-without-images/gatsby-browser.js b/benchmarks/mdx-without-images/gatsby-browser.js new file mode 100644 index 0000000000000..b6febba1ba259 --- /dev/null +++ b/benchmarks/mdx-without-images/gatsby-browser.js @@ -0,0 +1 @@ +import "./styles.css" diff --git a/benchmarks/mdx-without-images/gatsby-config.js b/benchmarks/mdx-without-images/gatsby-config.js new file mode 100644 index 0000000000000..a53fc68618d46 --- /dev/null +++ b/benchmarks/mdx-without-images/gatsby-config.js @@ -0,0 +1,24 @@ +module.exports = { + siteMetadata: { + siteTitle: `Gatsby MDX Benchmark`, + }, + plugins: [ + // Skip the plugin if NBR is set + ...process.env.NBR ? [] : [`gatsby-plugin-benchmark-reporting`], + { + resolve: `gatsby-source-filesystem`, + options: { + name: `pages`, + path: `${__dirname}/src/pages/`, + }, + }, + { + resolve: "gatsby-source-filesystem", + options: { + name: "articles", + path: `${__dirname}/generated_articles/`, + }, + }, + `gatsby-plugin-mdx`, + ], +} diff --git a/benchmarks/mdx-without-images/gatsby-node.js b/benchmarks/mdx-without-images/gatsby-node.js new file mode 100644 index 0000000000000..a04c4f6240ccc --- /dev/null +++ b/benchmarks/mdx-without-images/gatsby-node.js @@ -0,0 +1,69 @@ +const path = require("path") +const { createFilePath } = require("gatsby-source-filesystem") + +exports.onCreateNode = (args) => { + const { node, actions, getNode, ...rest } = args; + const { createNodeField } = actions + + if (node.internal.type === "Mdx") { + const value = createFilePath({ node, getNode }) + + createNodeField({ + name: "path", + node, + value, + }) + } +} + + +exports.createPages = async ({ graphql, actions, reporter }) => { + const progress = reporter.createProgress(`(userland gatsby-node) createPages`) + console.time("(userland gatsby-node) total exports.createPages") + progress.setStatus("initial graphl query") + + const { createPage } = actions + + console.time("(userland gatsby-node) initial graphql query") + const result = await graphql(` + query { + allMdx { + edges { + node { + id + fields { + path + } + } + } + } + } + `) + console.timeEnd("(userland gatsby-node) initial graphql query") + + if (result.errors) { + reporter.panicOnBuild('🚨 ERROR: Loading "createPages" query') + } + + console.time("(userland gatsby-node) created pages") + + const posts = result.data.allMdx.edges + + progress.start() + progress.total = posts.length + progress.setStatus("Calling createPage for all pages") + + posts.forEach(({ node }) => { + createPage({ + path: node.fields.path, + component: path.resolve(`./src/templates/article.js`), + context: { id: node.id }, + }) + progress.tick(1) + }) + + console.timeEnd("(userland gatsby-node) created pages") + console.timeEnd("(userland gatsby-node) total exports.createPages") + + progress.done() +} diff --git a/benchmarks/mdx-without-images/gen.js b/benchmarks/mdx-without-images/gen.js new file mode 100644 index 0000000000000..004191b7e57a7 --- /dev/null +++ b/benchmarks/mdx-without-images/gen.js @@ -0,0 +1,43 @@ +const fs = require('fs'); +const path = require('path') +const faker = require(`faker`) + +const N = parseInt(process.env.N, 10) || 100; + +let n = 0; +function createArticle(n, sentence, slug) { + return `--- +articleNumber: ${n} +title: "${sentence.replace(/"/g, '\\"')}" +path: '${slug}' +date: ${faker.date.recent(1000).toISOString().slice(0, 10)} +--- + +import { Link } from "gatsby" + +export const author = "Fred Flintstone" +export default props =>
+ +Go Home + +${faker.lorem.paragraphs(2)} + `; +} + +console.log('Start of gen') + +if (fs.existsSync('./generated_articles')) { + TODO // count existing folders. If they are less than given number, just amend to them. Otherwise abort and require a rimraf +} else { + fs.mkdirSync('./generated_articles', {recursive: true}); +} + +console.log('Now generating ' + N + ' articles'); +for (let i=0; i", + "version": "0.1.0", + "license": "MIT", + "scripts": { + "bench": "rm -rf generated_articles; gatsby clean; N=${N:-512} node gen.js; NBR=1 node --max_old_space_size=${M:-2}000 node_modules/.bin/gatsby build", + "bench:inspect": "rm -rf generated_articles; gatsby clean; N=${N:-512} node gen.js; NBR=1 node --inspect --max_old_space_size=${M:-2}000 node_modules/.bin/gatsby build", + "build": "gatsby build", + "clean": "gatsby clean", + "develop": "gatsby develop", + "format": "prettier --write \"**/*.{js,jsx,json,md}\"" + }, + "dependencies": { + "@mdx-js/mdx": "1.6.6", + "@mdx-js/react": "1.6.6", + "faker": "^4.1.0", + "front-matter": "4.0.2", + "gatsby": "2.24.2", + "gatsby-plugin-benchmark-reporting": "*", + "gatsby-plugin-mdx": "1.2.25", + "gatsby-plugin-page-creator": "2.3.10", + "gatsby-source-filesystem": "2.3.18", + "react": "^16.12.0", + "react-dom": "^16.12.0", + "remark-react": "^7.0.1" + }, + "devDependencies": { + "prettier": "2.0.4" + }, + "repository": { + "type": "git", + "url": "https://github.com/gatsbyjs/gatsby/tree/master/benchmarks/mdx2" + }, + "bugs": { + "url": "https://github.com/gatsbyjs/gatsby/issues" + } +} diff --git a/benchmarks/mdx-without-images/src/components/layout_1.js b/benchmarks/mdx-without-images/src/components/layout_1.js new file mode 100644 index 0000000000000..f0d2249625bee --- /dev/null +++ b/benchmarks/mdx-without-images/src/components/layout_1.js @@ -0,0 +1,12 @@ +import React from "react" + +const Layout = ({ children }) => ( + <> +
+

Header A

+
+
{children}
+ +) + +export default Layout diff --git a/benchmarks/mdx-without-images/src/components/layout_2.js b/benchmarks/mdx-without-images/src/components/layout_2.js new file mode 100644 index 0000000000000..19aef17261ffe --- /dev/null +++ b/benchmarks/mdx-without-images/src/components/layout_2.js @@ -0,0 +1,12 @@ +import React from "react" + +const Layout = ({ children }) => ( + <> +
+

Header B

+
+
{children}
+ +) + +export default Layout diff --git a/benchmarks/mdx-without-images/src/pages/#index.js# b/benchmarks/mdx-without-images/src/pages/#index.js# new file mode 100644 index 0000000000000..78aa43769fddc --- /dev/null +++ b/benchmarks/mdx-without-images/src/pages/#index.js# @@ -0,0 +1,40 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Layout from "../components/layout_1" + +const Index = ({ data }) => { + return ( + + {data.site.siteMetadata.siteTitle} +
    + { data?.articles?.nodes.map((article) => ( +
  • + {article.frontmatter.title} +
  • + ))} +
+
+ ) +} + +export default Index + +export const query = graphql` + { + site { + siteMetadata { + siteTitle + } + } + articles: allMdx(limit: 100) { + nodes { + frontmatter { + title + } + fields { + path + } + } + } + } +` diff --git a/benchmarks/mdx-without-images/src/pages/index.js b/benchmarks/mdx-without-images/src/pages/index.js new file mode 100644 index 0000000000000..ec347b945195a --- /dev/null +++ b/benchmarks/mdx-without-images/src/pages/index.js @@ -0,0 +1,40 @@ +import React from "react" +import { Link, graphql } from "gatsby" +import Layout from "../components/layout_1" + +const Index = ({ data }) => { + return ( + + {data.site.siteMetadata.siteTitle} +
    + {data?.articles?.nodes.map((article) => ( +
  • + {article.frontmatter.title} +
  • + ))} +
+
+ ) +} + +export default Index + +export const query = graphql` + { + site { + siteMetadata { + siteTitle + } + } + articles: allMdx(limit: 100) { + nodes { + frontmatter { + title + } + fields { + path + } + } + } + } +` diff --git a/benchmarks/mdx-without-images/src/templates/article.js b/benchmarks/mdx-without-images/src/templates/article.js new file mode 100644 index 0000000000000..8c187d2567415 --- /dev/null +++ b/benchmarks/mdx-without-images/src/templates/article.js @@ -0,0 +1,34 @@ +import React from "react" +import { graphql, Link } from "gatsby" +import Layout from "../components/layout_1" +import { MDXRenderer } from "gatsby-plugin-mdx" + +const Article = ({ data }) => { + const { body } = data.mdx + const { mdx } = data + + return ( + + Go back to index page +
+

{mdx.frontmatter.title}

+
+ {body} +
+
+
+ ) +} + +export const query = graphql` + query MdxQuery($id: String!) { + mdx(id: { eq: $id }) { + body + frontmatter { + title + } + } + } +` + +export default Article diff --git a/benchmarks/mdx-without-images/static/favicon.ico b/benchmarks/mdx-without-images/static/favicon.ico new file mode 100644 index 0000000000000..1a466ba8852cf Binary files /dev/null and b/benchmarks/mdx-without-images/static/favicon.ico differ diff --git a/benchmarks/mdx-without-images/styles.css b/benchmarks/mdx-without-images/styles.css new file mode 100644 index 0000000000000..929e2fd10d2d0 --- /dev/null +++ b/benchmarks/mdx-without-images/styles.css @@ -0,0 +1,4 @@ +main { + max-width: 960px; + margin: 0 auto; +} diff --git a/dictionary.txt b/dictionary.txt index de09872cfbd2d..bbfa7ee2994e6 100644 --- a/dictionary.txt +++ b/dictionary.txt @@ -1,5 +1,6 @@ ½ ⅓ +0BSD 1000px 1000s 1000x @@ -162,7 +163,6 @@ Arshad AsciiDoc Asciidoctor AskGatsbyJS -ASKGatsbyJS Asko aspirational AST diff --git a/docs/blog/100days/apps/index.md b/docs/blog/100days/apps/index.md index 69c52df10e80c..0a09d682b9808 100644 --- a/docs/blog/100days/apps/index.md +++ b/docs/blog/100days/apps/index.md @@ -40,4 +40,4 @@ To get started quickly, use `gatsby-plugin-create-client-paths` to create privat ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/cms/index.md b/docs/blog/100days/cms/index.md index 905763d826c64..325911bfad9dc 100644 --- a/docs/blog/100days/cms/index.md +++ b/docs/blog/100days/cms/index.md @@ -36,4 +36,4 @@ Today we challenge you to add an external data source (or two) to your Gatsby pr ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/comments/index.md b/docs/blog/100days/comments/index.md index 318486f42fefc..f8b28c1a63cc0 100644 --- a/docs/blog/100days/comments/index.md +++ b/docs/blog/100days/comments/index.md @@ -40,4 +40,4 @@ _Tutorial_: [DIY Gatsby comments tutorial](/blog/2019-08-27-roll-your-own-commen ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/create-themes/index.md b/docs/blog/100days/create-themes/index.md index 0dea790054c68..17c9fdc454827 100644 --- a/docs/blog/100days/create-themes/index.md +++ b/docs/blog/100days/create-themes/index.md @@ -26,4 +26,4 @@ For inspiration, investigate the repos of the projects [that were showcased duri ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/free-hosting/index.md b/docs/blog/100days/free-hosting/index.md index 3a6f1ee04d29e..b72c216a1d7d2 100644 --- a/docs/blog/100days/free-hosting/index.md +++ b/docs/blog/100days/free-hosting/index.md @@ -35,4 +35,4 @@ And for your build tool and CDN we see many people have success with [AWS Amplif ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account.. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account.. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/gatsby-image/index.md b/docs/blog/100days/gatsby-image/index.md index d012830a0829c..bf31c24d6554b 100644 --- a/docs/blog/100days/gatsby-image/index.md +++ b/docs/blog/100days/gatsby-image/index.md @@ -41,6 +41,6 @@ Follow this tutorial that explains how to [add images to your markdown-based pag ## How to Get Help -Depending on your experience with Gatsby and React, this may be the hardest challenge we've given you. So, if you get stuck, please ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +Depending on your experience with Gatsby and React, this may be the hardest challenge we've given you. So, if you get stuck, please ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). Have fun! We can't wait to see what you build! diff --git a/docs/blog/100days/mdx/index.md b/docs/blog/100days/mdx/index.md index fdae529e6d6df..490bd0b4d70dc 100644 --- a/docs/blog/100days/mdx/index.md +++ b/docs/blog/100days/mdx/index.md @@ -28,6 +28,6 @@ Bonus: Learn about an advanced [MDX feature, “shortcodes”](https://mdxjs.com ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). For this challenge, you can also use the [MDX support resources](https://mdxjs.com/support) diff --git a/docs/blog/100days/pwa/index.md b/docs/blog/100days/pwa/index.md index bc5647706adaa..ffa56cad68eb1 100644 --- a/docs/blog/100days/pwa/index.md +++ b/docs/blog/100days/pwa/index.md @@ -40,4 +40,4 @@ Now, add [gatsby-plugin-offline](/packages/gatsby-plugin-offline) to your projec ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/100days/react-component/index.md b/docs/blog/100days/react-component/index.md index c553efe16b3e8..ed019db531d64 100644 --- a/docs/blog/100days/react-component/index.md +++ b/docs/blog/100days/react-component/index.md @@ -33,6 +33,6 @@ Lastly, familiarize yourself with the [accessibility guidelines regarding forms] ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). For this challenge, you can also ask the [Formik community](https://jaredpalmer.com/formik/help) for help. diff --git a/docs/blog/100days/serverless/index.md b/docs/blog/100days/serverless/index.md index bc9beed9cf8bf..595bf69bf7d2f 100644 --- a/docs/blog/100days/serverless/index.md +++ b/docs/blog/100days/serverless/index.md @@ -34,6 +34,6 @@ Follow Adnan Rahić’s tutorial for “[Building a serverless contact form with ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). If you follow Path B, you can find responsive, helpful support [directly from AWS](https://aws.amazon.com/premiumsupport/). diff --git a/docs/blog/100days/use-themes/index.md b/docs/blog/100days/use-themes/index.md index ba2f81bfb1db3..75276d769da5f 100644 --- a/docs/blog/100days/use-themes/index.md +++ b/docs/blog/100days/use-themes/index.md @@ -38,4 +38,4 @@ Before you dive into creating a theme, our resources below will point you to the ### What to Do If You Need Help -If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [ASKGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). +If you get stuck during the challenge, you can ask for help from the [Gatsby community](/contributing/community/) and the [AskGatsbyJS](https://twitter.com/AskGatsbyJS) Twitter account. You can find fellow Gatsby Developers on [Discord](https://discordapp.com/invite/gatsby), [Reddit](https://www.reddit.com/r/gatsbyjs/), [Spectrum](https://spectrum.chat/gatsby-js), and [Dev](https://dev.to/t/gatsby). diff --git a/docs/blog/2020-03-23-introducing-gatsby-web-creators/index.md b/docs/blog/2020-03-23-introducing-gatsby-web-creators/index.md index 9d61e652338cd..49c07d16b9190 100644 --- a/docs/blog/2020-03-23-introducing-gatsby-web-creators/index.md +++ b/docs/blog/2020-03-23-introducing-gatsby-web-creators/index.md @@ -40,4 +40,4 @@ All streams will run Fridays at 1pm ET/10am PT, on these dates: For more information including the up-to-date content schedule, visit https://gatsbyjs.com/gatsby-web-creators. -Parents and participants can also ask us questions anytime by contacting [web-creators@gatsbyjs.com](mailto:web-creators@gatsbyjs.com) or on Twitter with [@AskGatsbyjs](https://twitter.com/askgatsbyjs). +Parents and participants can also ask us questions anytime by contacting [web-creators@gatsbyjs.com](mailto:web-creators@gatsbyjs.com) or on Twitter with [@AskGatsbyJS](https://twitter.com/askgatsbyjs). diff --git a/docs/docs/creating-a-starter.md b/docs/docs/creating-a-starter.md index 79cd15d712f89..1e688bb059896 100644 --- a/docs/docs/creating-a-starter.md +++ b/docs/docs/creating-a-starter.md @@ -15,17 +15,19 @@ For a starter to work properly, it needs to include some files (see the [Hello W - `static`: a directory for static assets, such as a `favicon.ico` file. - `.gitignore`: a file telling Git which resources to leave out of source control, such as the `node_modules` directory, log files, Gatsby `.cache` and `public` directories. - `.prettierrc` _(optional)_: a configuration file for [Prettier](https://prettier.io/), a JavaScript linter and formatter used for Gatsby development. +- `LICENSE`: a file containing an [appropriate open source license](#open-source-license), preferably with a [BSD Zero Clause License](https://choosealicense.com/licenses/0bsd/). Your starter should also have these qualities: -- Open source and available from a stable URL +- Available from a stable URL +- Open source license - Configurable - Fast - Web accessible Let's expand upon these items to prepare you for creating a winning starter. -## Open source and available from a stable URL +## Available from a stable URL The Gatsby CLI allows users to install a new site with a starter using the command `gatsby new `. For this to work, your starter needs to be available to download. The easiest way to accomplish this is to host your starter on GitHub or GitLab and use the publicly available repo URL, such as: @@ -35,6 +37,10 @@ Although the official starters live in the Gatsby repo, community members can of `gatsby new my-app https://github.com/netlify-templates/gatsby-starter-netlify-cms` +## Open source license + +Gatsby recommends all starters use the [BSD Zero Clause License](https://choosealicense.com/licenses/0bsd/)(0BSD). While the [MIT License](https://choosealicense.com/licenses/mit/) is more common (and was used in Gatsby official starters [for a long time](https://github.com/gatsbyjs/gatsby/pull/25441)), MIT's "License and copyright notice" condition make it a bad fit for starters. Starters, by design, are for people to customize and use for their own sites (open and closed source). The 0BSD has no "License and copyright notice" condition. This allows folks to use and customize the starter without reference to the original license or source. This is how most creators expect starters to be treated and how developers expect to use starters, despite many having the MIT license. Using 0BSD represents better alignment between expectations and licensing. + ## Configurable Starters should utilize metadata in `gatsby-config.js` wherever possible, as this is typically the first place users will look for site configuration information. Some examples of things you could make configurable in `gatsby-config` include: diff --git a/docs/docs/query-filters.md b/docs/docs/query-filters.md new file mode 100644 index 0000000000000..dae4dd3d88179 --- /dev/null +++ b/docs/docs/query-filters.md @@ -0,0 +1,173 @@ +--- +title: Query Filters with GraphQL in Gatsby +--- + +> This documentation is up to date as of `gatsby@2.23.0`. + +## Summary + +Gatsby stores all data loaded during the source-nodes phase in Redux and it allows you to write GraphQL queries to query that data. This data, stored as individual "nodes", can be searched through using a query language that is inspired by [MongoDb queries](https://docs.mongodb.com/manual/reference/operator/query/). + +Filtering is used in GraphQL root fields of Node types (e.g. for File type it would be `file` and `allFile`). `filter` GraphQL argument is passed to the filtering system and will return all the nodes that match each of the given filters. The resto of the processing, such as pagination, is handled on GraphQL resolver level. + +Filtering is used in GraphQL root fields of Node types (e.g. for File type it would be `file` and `allFile`). The GraphQL `filter` argument is passed to the filtering system and will return all the nodes that match each of the given filters. The rest of the processing, such as pagination, is handled on GraphQL resolver level. + +### History and Sift + +For a long time Gatsby used the [sift.js](https://github.com/crcn/sift.js) library through which you can use [MongoDb queries](https://docs.mongodb.com/manual/reference/operator/query/) in JavaScript. + +Unfortunately Sift did not align with how Gatsby used it and so a custom system was written to slowly replace it. This system was called "fast filters" and as of gatsby@2.23.0 (June 2020) the Sift library is no longer used. + +## Query Language + +The syntax and API used by the filters is based on [the MongoDB query syntax](https://docs.mongodb.com/manual/reference/operator/query/) but keep in mind only a subset of comparators is supported in Gatsby. + +In general a filter has a "filter path" component ending with a "comparator", and a "filter value". It's a way of programmatically asking "show me all nodes where `node[i].a.b.c` leads to a value less than `5`". + +- path: an exact property path when traversing an object (`{ a: { b: { c: { op: x } } } }` has path `a`, `a.b`, and `a.b.c`) +- value: the needle to compare against the value at the end of a path +- comparator: a way to tell the system how to compare the given filter value to the resulting value at the end of the path. Should it be equal, lower than, or match in a special way? + +Filters are generally applied to a subset of all nodes, matching a specific `node.internal.type` value, like `` `PageData` `` or `` `markdownRemark` ``. + +When applying a filter, the path will be checked for each node and the resulting value is compared against the requested filter value with the rules of the comparator used. + +## Example + +Say we have a filter and a set of nodes: + +```js +filter = { post: { author: { name: { eq: "Alex" } } } } + +nodes = [ + { id: 1, post: { title: "Hello, world!", author: { name: "Alex" } } }, + { id: 2, post: { title: "Debugging Gatsby", author: { name: "Clarissa" } } }, + { id: 3, post: { title: "Publishing on Gatsby", author: { name: "Ika" } } }, + { id: 4, post: { title: "Fixed a bug", author: { name: "Alex" } } }, +] +``` + +The filter path is `post.author.name`, the comparator is `eq`, and the filter value is `'Alex'`. + +This ought to return two nodes, the ones with id 1 and 3, because those are the only ones where the result value `node[i].post.author.name` equals `'Alex'`. + +A filter path can combine multiple paths, for example: + +- `{ id: { gt: 2 }, post: { author: { name: { eq: 'Alex' } } } } }` would return only the node with id 4 +- `{ post: { title: { regex: '/Gatsby/i' }, author: { eq: 'Ika' } } }` would return the node with id 3. + +### Supported comparators + +Gatsby supports a subset of MongoDB comparators. Here is the list of supported comparators and how they match node(s); + +- `eq`: is exactly the filter value. +- `ne`: is anything except for the filter value. +- `in`: matches any element in given array +- `nin`: matches none of the elements in given array +- `lt`: is lower than the filter value +- `lte`: is lower than or equal to the filter value +- `gt`: is greater than the filter value +- `gte`: is greater than or equal to the filter value +- `regex`: matches given JavaScript regex +- `glob`: matches given [micromatch](https://github.com/micromatch/micromatch) pattern + +Internally the `glob` comparator is converted to a regular expression by the [micromatch](https://github.com/micromatch/micromatch) library and uses the same code path as the `regex` comparator. + +### `elemMatch` + +One additional feature that Gatsby supports is the `elemMatch` query. This query has a path where one or more steps are named `elemMatch` and while traversing a node these steps should resolve to arrays. Gatsby will then attempt to apply the remainder of the path to each element in that array. + +A contrived `elemMatch` example: + +```js +filter = {a: { elemMatch: { b: { eq: 5 } } } + +nodes = [ + { id: 1, a: [{ a: 1, b: 8, c: 7 }, { a: 3, b: 5, c: 6 }] }, + { id: 2, a: [{ a: 2, b: 4, c: 6 }, { a: 6, b: 3, c: 3 }] }, + { id: 3, a: [{ a: 3, b: 5, c: 3 }, { a: 5, b: 4, c: 1 }] }, + { id: 4, a: [{ a: 4, b: 7, c: 1 }, { a: 9, b: 1, c: 6 }] }, +] +``` + +This will return the nodes with id 1 and 3 because `node[0].a[1].b` and `node[2].a[0].b` equal `5`. + +Note that `elemMatch` will contribute each node at most once, even if multiple elements in the array would match. + +You can have nested `elemMatch` occurrences and they work the same every step. Every comparator can be used in an `elemMatch` query. + +### Comparator details + +Certain comparators restrict the kind of filter value they will accept. In general, and due to the GraphQL layer, only "scalar" or "primitive" values can be used. That is to say; numbers, strings, and booleans. It is possible to match against `null` but every operator has specific edge cases in how these are treated. + +In the next guide, a "node with partial path" is any node that has none, or only a part, of the filter path. Internally that results in `undefined`, as any non-existing property would be. For brevity there's no distinction between a partial and non-existing path. + +Specific rules: + +- `eq` + - This is like `filterValue === resultValue` in JavaScript + - Can only be used with numbers, strings, booleans, and null + - Strict comparison except for `null` + - When matching `null`, and only then, it also returns all nodes with partial paths +- `ne` + - This is like `filterValue !== resultValue` in JavaScript + - Can only be used with numbers, strings, booleans, and null + - Strict comparison except for `null` + - Will always return any nodes with partial paths +- `in` + - This is like `filterValue.includes(resultValue)` in JavaScript + - Can only be used with an array of numbers, strings, booleans, and null + - Strict comparison + - When matching `null`, and only then, it also returns all nodes with partial paths +- `nin` + - This is like `!filterValue.includes(resultValue)` in JavaScript + - Can only be used with an array of numbers, strings, booleans, and null + - Strict comparison + - Will always return any nodes with partial paths +- `lt`, `lte`, `gt`, `gte` + - This is like `<`, `<=`, `>`, `>=` respectively + - Can only be used with numbers, strings, booleans, and null + - If filter value is `null`; + - `lt` and `gt` will never match anything + - `lte` and `gte` will only match nodes with a result value of exactly `null` + - Will never return nodes with partial paths + - Weak comparison due to the nature of the JavaScript operators +- `regex`, `glob` + - This is like `new RegExp(filterValue).test(resultValue)` (with caveats for the filterValue syntax) + - Glob pattern is converted to a JavaScript RegExp with [micromatch](https://github.com/micromatch/micromatch) + - The `regex` filterValue must be a stringified regular expression, including leading and trailing forward slash and optional flags; Like `"/foo/g"` + - Never returns nodes with partial paths + - While testing, result values are explicitly casted to a string through `String(resultValue)` before passing it to `regex.test()` + +### Nulls and partial paths + +Due to legacy support for MongoDB compatibility, there are edge cases for each comparator when it comes to `null` values and for partial or non-existing paths. It's best to try and avoid these cases altogether. + +## Performance + +The key metric that impacts the performance of your queries is the node count for your type of nodes. You can see a dump of these counts when using the `--verbose` flag while building (`gatsby build --verbose`). It tells you the node counts per type during the bootstrap sequence. There will be a separate message of the number of page nodes, since they are generated later. + +While the number of pages is definitely a factor for the number of nodes, there can be other factors at play that cause many internal nodes even when the actual number of pages seems to be low. + +The actual performance of filtering is a combination of the number of nodes you have to search through, the kind of comparator being used, and how many unique filters a query consists of. + +For a low node count none of this matters. Roughly speaking, a site with fewer than 1000 - 10000 nodes should not have to worry too much about this. + +When scaling up these are some guidelines to keep in mind when filtering: + +- the `eq` comparator is by far the fastest comparator + - the `regex` and `glob` comparators are the slowest and do not scale + - the `gt` and `gte` comparators are slower than their `lt` and `lte` counterparts + - all range comparators (`lt`, `lte`, `gt`, and `gte`) must copy a subset of the array they match (slow at scale) + - the `in` and `nin` comparators create a `Set` of all nodes before applying their exclusions +- a single unique path will always outperform multiple paths +- the `elemMatch` feature does have a fixed one-time cost but should not impact overall performance at scale +- while not an absolute guarantee, the output array of a filter is normally ordered by insertion order + +While you can't always avoid going for slower comparators or filters with multiple paths (like for ranges), you should keep in mind that filters with equal logic do not have equal performance. So `{ eq: 5 }` will perform much better than `{ in: [5] }`. No internal effort is done to detect these cases. + +## Custom resolvers + +Before applying filters, all fields of any node that a filter wants to match should be completely resolved. As such, before applying a filter all nodes will go through a final resolve step which populates the `node.__gatsby_resolved` field. + +This means your custom resolver may be invoked multiple times even if fewer (or zero) nodes are actually returned by a filter step. But at most once per build, unless the node's state somehow changes afterwards. diff --git a/docs/docs/schema-sift.md b/docs/docs/schema-sift.md index a6a24f07d101a..d6e7e3602e4d3 100644 --- a/docs/docs/schema-sift.md +++ b/docs/docs/schema-sift.md @@ -2,126 +2,4 @@ title: Querying with Sift --- -> This documentation isn't up to date with the latest version of Gatsby. -> -> The [schema customization](/docs/schema-customization) and [node materialisation](https://github.com/gatsbyjs/gatsby/pull/16091) features have both made changes to this part of Gatsby. -> -> You can help by making a PR to [update this documentation](https://github.com/gatsbyjs/gatsby/issues/14228). - -## Summary - -Gatsby stores all data loaded during the source-nodes phase in Redux. And it allows you to write GraphQL queries to query that data. But Redux is a plain JavaScript object store. So how does Gatsby query over those nodes using the GraphQL query language? - -The answer is that it uses the [sift.js](https://github.com/crcn/sift.js/tree/master) library. It is a port of the MongoDB query language that works over plain JavaScript objects. It turns out that mongo's query language is very compatible with GraphQL. - -Most of the logic below is in the [run-sift.js](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/redux/run-sift.js) file, which is called from the [ProcessedNodeType `resolve()`](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/schema/build-node-types.js#L191) function. - -## ProcessedNodeType Resolve Function - -Remember, at the point this resolve function is created, we have been iterating over all the distinct `node.internal.type`s in the redux `nodes` namespace. So for instance we might be on the `MarkdownRemark` type. Therefore the `resolve()` function closes over this type name and has access to all the nodes of that type. - -The `resolve()` function calls `run-sift.js`, and provides it with the following arguments: - -- GraphQLArgs (as JavaScript object). Within a filter. E.g. `wordcount: { paragraphs: { eq: 4 } }` -- All nodes in redux of this type. E.g. where `internal.type == MmarkdownRemark'` -- Context `path`, if being called as part of a [page query](/docs/query-execution/#query-queue-execution) -- typeName. E.g. `markdownRemark` -- gqlType. See [more on gqlType](/docs/schema-gql-type) - -For example: - -```javascript -runSift({ - args: { - filter: { // Exact args from GraphQL Query - wordcount: { - paragraphs: { - eq: 4 - } - } - } - }, - nodes: ${latestNodes}, - path: context.path, // E.g. /blogs/my-blog - typeName: `markdownRemark`, - type: ${gqlType} -}) -``` - -## Run-sift.js - -This file converts GraphQL Arguments into sift queries and applies them to the collection of all nodes of this type. The rough steps are: - -1. Convert query args to sift args -2. Drop leaves from args -3. Resolve inner query fields on all nodes -4. Track newly realized fields -5. Run sift query on all nodes -6. Create Page dependency if required - -### 1. Convert query args to sift args - -Sift expects all field names to be prepended by a `$`. The [siftifyArgs](https://github.com/gatsbyjs/gatsby/blob/6dc8a14f8efc78425b1f225901dce7264001e962/packages/gatsby/src/redux/run-sift.js#L39) function takes care of this. It descends the args tree, performing the following transformations for each field key/value scenario. - -- field key is`elemMatch`? Change to `$elemMatch`. Recurse on value object -- field value is regex? Apply regex cleaning -- field value is glob, use [minimatch](https://www.npmjs.com/package/minimatch) library to convert to Regex -- normal value, prepend `$` to field name. - -So, the above query would become: - -```javascript -{ - `$wordcount`: { - `$paragraphs`: { - `$eq`: 4 - } - } -} -``` - -### 2. Drop leaves (e.g. `{eq: 4}`) from args - -To assist in step 3, we create a version of the siftified args called `fieldsToSift` that has all leaves of the args tree replaced with boolean `true`. This is handled by the [extractFieldsToSift](https://github.com/gatsbyjs/gatsby/blob/6dc8a14f8efc78425b1f225901dce7264001e962/packages/gatsby/src/redux/run-sift.js#L65) function. `fieldsToSift` would look like this after the function is applied: - -```javascript -{ - `wordcount`: { - `paragraphs`: true - } -} -``` - -### 3. Resolve inner query fields on all nodes - -Step 4 will perform the actual sift query over all the nodes, returning the first one that matches the query. But we must remember that the nodes that are in redux only include data that was explicitly created by their source or transform plugins. If instead of creating a data field, a plugin used `setFieldsOnGraphQLNodeType` to define a custom field, then we have to manually call that field's resolver on each node. The args in step 2 is a great example. The `wordcount` field is defined by the [gatsby-transformer-remark](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-transformer-remark/src/extend-node-type.js#L416) plugin, rather than created during the creation of the remark node. - -The [nodesPromise](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/redux/run-sift.js#L168) function iterates over all nodes of this type. Then, for each node, [resolveRecursive](https://github.com/gatsbyjs/gatsby/blob/6dc8a14f8efc78425b1f225901dce7264001e962/packages/gatsby/src/redux/run-sift.js#L135) descends the `siftToFields` tree, getting the field name, and then finding its gqlType, and then calling that type's `resolve` function manually. E.g, for the above example, we would find the gqlField for `wordcount` and call its resolve field: - -```javascript -markdownRemarkGqlType.resolve(node, {}, {}, { fieldName: `wordcount` }) -``` - -Note that the graphql-js library has NOT been invoked yet. We're instead calling the appropriate gqlType resolve function manually. - -The resolve method in this case would return a paragraph node, which also needs to be properly resolved. So We descend the `fieldsToSift` arg tree and perform the above operation on the paragraph node (using the found paragraph gqlType). - -After `resolveRecursive` has finished, we will have "realized" all the query fields in each node, giving us confidence that we can perform the query with all the data being there. - -### 4. Track newly realized fields - -Since new fields on the node may have been created in this process, we call `trackInlineObjectsInRootNode()` to track these new objects. See [Node Tracking](/docs/node-tracking/) docs for more. - -### 5. Run sift query on all nodes - -Now that we've realized all fields that need to be queried, on all nodes of this type, we are finally ready to apply the sift query. This step is handled by [tempPromise](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby/src/redux/run-sift.js#L214). It simply concatenates all the top level objects in the args tree together with a sift `$and` expression, and then iterates over all nodes returning the first one that satisfies the sift expression. - -In the case that `connection === true` (argument passed to run-sift), then instead of just choosing the first argument, we will select ALL nodes that match the sift query. If the GraphQL query specified `sort`, `skip`, or `limit` fields, then we use the [graphql-skip-limit](https://www.npmjs.com/package/graphql-skip-limit) library to filter down to the appropriate results. See [Schema Connections](/docs/schema-connections) for more info. - -### 6. Create Page dependency if required - -Assuming we find a node (or multiple if `connection` === true), we finish off by recording the page that initiated the query (in the `path` field) depends on the found node. More on this in [Page -> Node Dependencies](/docs/page-node-dependencies/). - -## Note about plugin resolver side effects - -As [mentioned above](#3-resolve-inner-query-fields-on-all-nodes), `run-sift` must "realize" all query fields before querying over them. This involves calling the resolvers of custom plugins on **each node of that type**. Therefore, if a resolver performs side effects, then these will be triggered, regardless of whether the field result actually matches the query. +This article is deprecated in favor of [query-filters](/docs/query-filters). diff --git a/docs/starters.yml b/docs/starters.yml index 409985edf1131..ae0527800959c 100644 --- a/docs/starters.yml +++ b/docs/starters.yml @@ -6941,3 +6941,21 @@ - Blog posts page features a live filter tool - Uses site metadata to populate About page - Resume page generated using template Markdown files +- url: https://texblog.akshatbisht.com/ + repo: https://github.com/aaaakshat/gatsby-starter-texblog + description: A lightweight, LaTeX enabled starter to beautifully showcase your typeset articles. + tags: + - Blog + - Markdown + - MDX + - SEO + - Styling:SCSS + - Language:TypeScript + features: + - Automatically generated landing page with articles organised by date + - LaTeX support (rendered via remark-katex) + - Custom Image component to easily add images + - MDX to add components to articles + - Uses SCSS for easy-to-understand naming + - Google Analytics support + - Responsive design diff --git a/examples/client-only-paths/package.json b/examples/client-only-paths/package.json index 65540ed68a22c..1794a197d547f 100644 --- a/examples/client-only-paths/package.json +++ b/examples/client-only-paths/package.json @@ -5,8 +5,8 @@ "version": "1.0.0", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-plugin-netlify": "^2.3.12", + "gatsby": "^2.24.41", + "gatsby-plugin-netlify": "^2.3.13", "gatsby-plugin-typography": "^2.5.10", "lodash": "^4.17.19", "react": "^16.3.1", diff --git a/examples/creating-source-plugins/example-site/package.json b/examples/creating-source-plugins/example-site/package.json index 343f62db31222..7195aec0fff28 100644 --- a/examples/creating-source-plugins/example-site/package.json +++ b/examples/creating-source-plugins/example-site/package.json @@ -14,9 +14,9 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" }, "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-transformer-sharp": "^2.5.12", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/examples/data-fetching/package.json b/examples/data-fetching/package.json index ca4533845ecf0..a9f1caa589785 100644 --- a/examples/data-fetching/package.json +++ b/examples/data-fetching/package.json @@ -6,7 +6,7 @@ "author": "@gatsbyjs", "dependencies": { "dotenv": "^8.2.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-react-helmet": "^3.3.10", "gatsby-source-graphql": "^2.7.0", "prop-types": "^15.7.2", diff --git a/examples/ecommerce-tutorial-with-stripe/package.json b/examples/ecommerce-tutorial-with-stripe/package.json index 81eb5d7ea1e30..658514cc61328 100644 --- a/examples/ecommerce-tutorial-with-stripe/package.json +++ b/examples/ecommerce-tutorial-with-stripe/package.json @@ -6,12 +6,12 @@ "author": "@thorwebdev", "dependencies": { "@stripe/stripe-js": "^1.8.0", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-source-stripe": "^2.2.2", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/feed/package.json b/examples/feed/package.json index 37592718f2260..9d0e9810e538f 100644 --- a/examples/feed/package.json +++ b/examples/feed/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Nicholas Young ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-feed": "^2.5.11", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-remark": "^2.8.28", diff --git a/examples/gatsbygram/package.json b/examples/gatsbygram/package.json index c80649a6e80d2..f83e75f56520d 100644 --- a/examples/gatsbygram/package.json +++ b/examples/gatsbygram/package.json @@ -6,14 +6,14 @@ "author": "Kyle Mathews ", "dependencies": { "core-js": "^2.6.11", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", - "gatsby-image": "^2.4.14", + "gatsby-image": "^2.4.15", "gatsby-plugin-glamor": "^2.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-offline": "^2.2.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-json": "^2.4.11", diff --git a/examples/graphql-reference/package.json b/examples/graphql-reference/package.json index 1a532421753e4..e788cee0e2bae 100644 --- a/examples/graphql-reference/package.json +++ b/examples/graphql-reference/package.json @@ -5,10 +5,10 @@ "version": "0.1.0", "author": "LekoArts ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-remark-responsive-iframe": "^2.4.12", "gatsby-source-filesystem": "^2.3.24", diff --git a/examples/hn/package.json b/examples/hn/package.json index b317c6e589c7f..cc0224311bce6 100644 --- a/examples/hn/package.json +++ b/examples/hn/package.json @@ -6,7 +6,7 @@ "author": "Kyle Mathews ", "dependencies": { "flat": "^2.0.1", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-source-hacker-news": "^2.4.10", diff --git a/examples/image-processing/package.json b/examples/image-processing/package.json index 5c266e342ef00..55004dc2b250a 100644 --- a/examples/image-processing/package.json +++ b/examples/image-processing/package.json @@ -5,11 +5,11 @@ "version": "1.0.0", "author": "Florian Kissling ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-source-drupal": "^3.5.27", "gatsby-source-filesystem": "^2.3.24", diff --git a/examples/no-plugins/package.json b/examples/no-plugins/package.json index 00e4a16bc8142..729c398b0f8d4 100644 --- a/examples/no-plugins/package.json +++ b/examples/no-plugins/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Scotty Eckenthal ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "lodash": "^4.17.19", "react": "^16.4.0", "react-dom": "^16.4.0", diff --git a/examples/no-trailing-slashes/package.json b/examples/no-trailing-slashes/package.json index 8f9a054a9ef62..eb834dea56739 100644 --- a/examples/no-trailing-slashes/package.json +++ b/examples/no-trailing-slashes/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Scotty Eckenthal ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "lodash": "^4.17.19", diff --git a/examples/recipe-createPage/package.json b/examples/recipe-createPage/package.json index 09f985c4e1c89..6fe41e58dbd88 100644 --- a/examples/recipe-createPage/package.json +++ b/examples/recipe-createPage/package.json @@ -5,7 +5,7 @@ "version": "0.1.0", "author": "@gatsbyjs", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "prop-types": "^15.7.2", "react": "^16.9.0", "react-dom": "^16.9.0", diff --git a/examples/recipe-linking-between-pages/package.json b/examples/recipe-linking-between-pages/package.json index d7c4721f8fade..4826a8f4b91a9 100644 --- a/examples/recipe-linking-between-pages/package.json +++ b/examples/recipe-linking-between-pages/package.json @@ -5,7 +5,7 @@ "version": "0.1.0", "author": "@gatsbyjs", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "prop-types": "^15.7.2", "react": "^16.9.0", "react-dom": "^16.9.0", diff --git a/examples/recipe-sourcing-contentful/package.json b/examples/recipe-sourcing-contentful/package.json index b0f1d03ca7dc2..e26d87bb53b2d 100644 --- a/examples/recipe-sourcing-contentful/package.json +++ b/examples/recipe-sourcing-contentful/package.json @@ -5,10 +5,10 @@ "version": "0.1.0", "author": "@gatsbyjs", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-offline": "^2.2.10", - "gatsby-source-contentful": "^2.3.35", + "gatsby-source-contentful": "^2.3.36", "gatsby-transformer-remark": "^2.8.28", "prop-types": "^15.7.2", "react": "^16.9.0", diff --git a/examples/recipe-sourcing-markdown/package.json b/examples/recipe-sourcing-markdown/package.json index ec7fa67ba048b..c71b44ade0758 100644 --- a/examples/recipe-sourcing-markdown/package.json +++ b/examples/recipe-sourcing-markdown/package.json @@ -5,7 +5,7 @@ "version": "0.1.0", "author": "@gatsbyjs", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-remark": "^2.8.28", "prop-types": "^15.7.2", diff --git a/examples/recipe-static-image/package.json b/examples/recipe-static-image/package.json index b6855e9edee01..e04664e96fc1c 100644 --- a/examples/recipe-static-image/package.json +++ b/examples/recipe-static-image/package.json @@ -13,7 +13,7 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing \"" }, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.8.6", "react-dom": "^16.8.6" }, diff --git a/examples/recipe-webpack-image/package.json b/examples/recipe-webpack-image/package.json index 1ceced7137b05..c860db2c7f92c 100644 --- a/examples/recipe-webpack-image/package.json +++ b/examples/recipe-webpack-image/package.json @@ -13,7 +13,7 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing \"" }, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.8.6", "react-dom": "^16.8.6" }, diff --git a/examples/recipes-gatsby-image/package.json b/examples/recipes-gatsby-image/package.json index e4601656691a8..c72d0a03e5407 100644 --- a/examples/recipes-gatsby-image/package.json +++ b/examples/recipes-gatsby-image/package.json @@ -7,13 +7,13 @@ "dependencies": { "@mdx-js/mdx": "^1.6.16", "@mdx-js/react": "^1.6.16", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-mdx": "^1.2.34", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "prop-types": "^15.7.2", diff --git a/examples/simple-auth/package.json b/examples/simple-auth/package.json index 6f60849d8601e..30c53c2e1076a 100644 --- a/examples/simple-auth/package.json +++ b/examples/simple-auth/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "author": "Jason Lengstorf ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-react-helmet": "^3.3.10", "prop-types": "^15.7.2", "react": "^16.4.0", diff --git a/examples/sitemap/package.json b/examples/sitemap/package.json index eacbcbe168d75..d2bde8b671f17 100644 --- a/examples/sitemap/package.json +++ b/examples/sitemap/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Nicholas Young ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", "gatsby-plugin-sitemap": "^2.4.11", "gatsby-source-filesystem": "^2.3.24", diff --git a/examples/styleguide/package.json b/examples/styleguide/package.json index e37833f313ea7..b63a357a57864 100644 --- a/examples/styleguide/package.json +++ b/examples/styleguide/package.json @@ -5,7 +5,7 @@ "author": "scott.eckenthal@gmail.com", "dependencies": { "app-root-dir": "^1.0.2", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-react-docgen": "^5.2.11", "gatsby-transformer-remark": "^2.8.28", diff --git a/examples/using-MDX/package.json b/examples/using-MDX/package.json index 37c918fc4407d..13330799ac510 100644 --- a/examples/using-MDX/package.json +++ b/examples/using-MDX/package.json @@ -7,13 +7,13 @@ "dependencies": { "@mdx-js/mdx": "^1.6.16", "@mdx-js/react": "^1.6.16", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-mdx": "^1.2.34", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "prop-types": "^15.7.2", diff --git a/examples/using-asciidoc/package.json b/examples/using-asciidoc/package.json index a7ce9d8b6e442..8df382066d8ac 100644 --- a/examples/using-asciidoc/package.json +++ b/examples/using-asciidoc/package.json @@ -6,7 +6,7 @@ "author": "Kyle Mathews ", "dependencies": { "asciidoctor.js": "^1.5.9", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-typography": "^2.5.10", diff --git a/examples/using-contentful/package.json b/examples/using-contentful/package.json index 54c2b795893d6..68cf0af7887ab 100644 --- a/examples/using-contentful/package.json +++ b/examples/using-contentful/package.json @@ -5,13 +5,13 @@ "version": "1.0.0", "author": "Marcus Ericsson (mericsson.com)", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", - "gatsby-image": "^2.4.14", + "gatsby-image": "^2.4.15", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-typography": "^2.5.10", - "gatsby-source-contentful": "^2.3.35", + "gatsby-source-contentful": "^2.3.36", "gatsby-transformer-remark": "^2.8.28", "lodash": "^4.17.19", "react": "^16.3.1", diff --git a/examples/using-css-modules/package.json b/examples/using-css-modules/package.json index 3a6116f7cb8e1..09188140fbb3d 100644 --- a/examples/using-css-modules/package.json +++ b/examples/using-css-modules/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site demonstrating using css modules in Gatsby with normal (Postcss) css and sass/scss.", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-sass": "^2.3.12", "node-sass": "^4.14.1", "react": "^16.4.0", diff --git a/examples/using-csv/package.json b/examples/using-csv/package.json index 78e8c2c61dc77..cea17dd595de6 100644 --- a/examples/using-csv/package.json +++ b/examples/using-csv/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using using-csv", "author": "Sonal Saldanha ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-csv": "^2.3.10", diff --git a/examples/using-cxs/package.json b/examples/using-cxs/package.json index e8b70c7fa45eb..7ad1171b74068 100644 --- a/examples/using-cxs/package.json +++ b/examples/using-cxs/package.json @@ -6,7 +6,7 @@ "author": "Chen-Tai Hou ", "dependencies": { "cxs": "^6.2.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-cxs": "^2.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", diff --git a/examples/using-cypress/package.json b/examples/using-cypress/package.json index a3a11a390cf8a..7d9b49a4c7dfd 100644 --- a/examples/using-cypress/package.json +++ b/examples/using-cypress/package.json @@ -17,12 +17,12 @@ "test:e2e:ci": "start-server-and-test develop http://localhost:8000 cy:run" }, "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "prop-types": "^15.7.2", diff --git a/examples/using-drupal/package.json b/examples/using-drupal/package.json index b9b01d08c3871..5eba8c5539691 100644 --- a/examples/using-drupal/package.json +++ b/examples/using-drupal/package.json @@ -5,12 +5,12 @@ "version": "1.0.0", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-glamor": "^2.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-source-drupal": "^3.5.27", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-emotion-prismjs/package.json b/examples/using-emotion-prismjs/package.json index 127a0f7e092c9..e8f16a9c5fef9 100644 --- a/examples/using-emotion-prismjs/package.json +++ b/examples/using-emotion-prismjs/package.json @@ -9,11 +9,11 @@ }, "dependencies": { "@babel/core": "7.11.1", - "@emotion/core": "^10.0.28", + "@emotion/core": "^10.0.34", "@emotion/styled": "^10.0.27", "emotion": "^10.0.27", "emotion-server": "^10.0.27", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-emotion": "^4.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", diff --git a/examples/using-emotion/package.json b/examples/using-emotion/package.json index 9aae7c69b2330..d2dd023184cde 100644 --- a/examples/using-emotion/package.json +++ b/examples/using-emotion/package.json @@ -4,11 +4,11 @@ "description": "Gatsby example site using using-emotion", "author": "Tegan Churchill ", "dependencies": { - "@emotion/core": "^10.0.28", + "@emotion/core": "^10.0.34", "@emotion/styled": "^10.0.27", "emotion": "^10.0.27", "emotion-server": "^10.0.27", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-emotion": "^4.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", diff --git a/examples/using-excel/package.json b/examples/using-excel/package.json index 9c23262dad74f..370c5207707af 100644 --- a/examples/using-excel/package.json +++ b/examples/using-excel/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using using-excel", "author": "SheetJS ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-excel": "^2.4.10", "react": "^16.4.0", diff --git a/examples/using-faker/package.json b/examples/using-faker/package.json index 44f6846da5f37..d362af0315714 100644 --- a/examples/using-faker/package.json +++ b/examples/using-faker/package.json @@ -5,7 +5,7 @@ "author": "Kyle Mathews ", "dependencies": { "core-js": "^2.6.11", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-react-helmet": "^3.3.10", "gatsby-source-faker": "^2.3.10", "react": "^16.3.2", diff --git a/examples/using-fragments/package.json b/examples/using-fragments/package.json index 44750b2f9ea45..2849a472243b8 100644 --- a/examples/using-fragments/package.json +++ b/examples/using-fragments/package.json @@ -13,7 +13,7 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\"" }, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.9.0", "react-dom": "^16.9.0" }, diff --git a/examples/using-gatsby-image/package.json b/examples/using-gatsby-image/package.json index f21bd26063b83..9a22f303c3fc9 100644 --- a/examples/using-gatsby-image/package.json +++ b/examples/using-gatsby-image/package.json @@ -4,14 +4,14 @@ "description": "Gatsby example site using using-gatsby-image", "author": "Kyle Mathews ", "dependencies": { - "@emotion/core": "^10.0.28", + "@emotion/core": "^10.0.34", "@emotion/styled": "^10.0.27", "emotion": "^10.0.27", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-emotion": "^4.3.10", - "gatsby-plugin-netlify": "^2.3.12", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-netlify": "^2.3.13", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-gatsby-source-graphql/package.json b/examples/using-gatsby-source-graphql/package.json index f984d9048ae10..3fb5e2ae1f0b8 100644 --- a/examples/using-gatsby-source-graphql/package.json +++ b/examples/using-gatsby-source-graphql/package.json @@ -10,10 +10,10 @@ }, "dependencies": { "dateformat": "^3.0.3", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", - "gatsby-plugin-netlify": "^2.3.12", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", + "gatsby-plugin-netlify": "^2.3.13", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-source-graphql": "^2.7.0", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-gatsby-with-json-yaml/package.json b/examples/using-gatsby-with-json-yaml/package.json index d048bdacf3a5c..537bf35bcdc8b 100644 --- a/examples/using-gatsby-with-json-yaml/package.json +++ b/examples/using-gatsby-with-json-yaml/package.json @@ -5,7 +5,7 @@ "version": "0.1.0", "author": "jonniebigodes", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "js-yaml": "^3.14.0", "prop-types": "^15.7.2", "react": "^16.9.0", diff --git a/examples/using-gatsby-without-graphql/package.json b/examples/using-gatsby-without-graphql/package.json index 0764f8d2bf66d..3823351d7147b 100755 --- a/examples/using-gatsby-without-graphql/package.json +++ b/examples/using-gatsby-without-graphql/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "axios": "^0.19.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.5.1", "react-dom": "^16.5.1" }, diff --git a/examples/using-glamor/package.json b/examples/using-glamor/package.json index f10606409a8ea..25497c13eefaa 100644 --- a/examples/using-glamor/package.json +++ b/examples/using-glamor/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-glamor": "^2.3.10", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", diff --git a/examples/using-hjson/package.json b/examples/using-hjson/package.json index b1404194e2ea6..31a57ac811275 100644 --- a/examples/using-hjson/package.json +++ b/examples/using-hjson/package.json @@ -5,7 +5,7 @@ "author": "Remi Barraquand ", "dependencies": { "core-js": "^2.6.11", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-hjson": "^2.4.10", "react": "^16.3.2", diff --git a/examples/using-i18n/package.json b/examples/using-i18n/package.json index 0955996605714..739d6a0fe913f 100644 --- a/examples/using-i18n/package.json +++ b/examples/using-i18n/package.json @@ -13,7 +13,7 @@ "dependencies": { "@mdx-js/mdx": "^1.6.16", "@mdx-js/react": "^1.6.16", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-mdx": "^1.2.34", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-json": "^2.4.11", diff --git a/examples/using-javascript-transforms/package.json b/examples/using-javascript-transforms/package.json index 0668dbdd4c184..84eb962d0cbd6 100644 --- a/examples/using-javascript-transforms/package.json +++ b/examples/using-javascript-transforms/package.json @@ -23,7 +23,7 @@ "dependencies": { "bulma": "0.9.0", "d3": "4.13.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-sass": "^2.3.12", "gatsby-remark-prismjs": "^3.5.10", "gatsby-source-filesystem": "^2.3.24", diff --git a/examples/using-jest/package.json b/examples/using-jest/package.json index 54b5b36750feb..f0330eb6df957 100644 --- a/examples/using-jest/package.json +++ b/examples/using-jest/package.json @@ -4,12 +4,12 @@ "version": "1.0.0", "author": "Dustin Schau ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "react": "^16.7.0", diff --git a/examples/using-js-search/package.json b/examples/using-js-search/package.json index 1dfc4660d7d0a..568a88d8d9e06 100644 --- a/examples/using-js-search/package.json +++ b/examples/using-js-search/package.json @@ -18,7 +18,7 @@ }, "dependencies": { "axios": "^0.19.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "js-search": "^1.4.3", "react": "^16.5.1", "react-dom": "^16.5.1" diff --git a/examples/using-jss/package.json b/examples/using-jss/package.json index 76b40d4f6315d..738a8ae6cf6d8 100644 --- a/examples/using-jss/package.json +++ b/examples/using-jss/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Vladimir Guguiev ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-flow": "^1.3.11", "gatsby-plugin-jss": "^2.3.10", "react": "^16.4.0", diff --git a/examples/using-local-plugins/package.json b/examples/using-local-plugins/package.json index 0764f8d2bf66d..3823351d7147b 100755 --- a/examples/using-local-plugins/package.json +++ b/examples/using-local-plugins/package.json @@ -10,7 +10,7 @@ }, "dependencies": { "axios": "^0.19.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.5.1", "react-dom": "^16.5.1" }, diff --git a/examples/using-markdown-pages/package.json b/examples/using-markdown-pages/package.json index 577b96e552291..fcaf5627f91ab 100644 --- a/examples/using-markdown-pages/package.json +++ b/examples/using-markdown-pages/package.json @@ -5,12 +5,12 @@ "version": "0.1.0", "author": "@gatsbyjs", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-remark": "^2.8.28", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-medium/package.json b/examples/using-medium/package.json index 68ad3c007c6e4..52cbd170594c1 100644 --- a/examples/using-medium/package.json +++ b/examples/using-medium/package.json @@ -7,7 +7,7 @@ "author": "Robert Vogt ", "license": "MIT", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-source-medium": "^2.3.10", "react": "^16.4.0", "react-dom": "^16.4.0" diff --git a/examples/using-mobx/package.json b/examples/using-mobx/package.json index 5fd3cdcc3f81f..6c6036e2c7299 100644 --- a/examples/using-mobx/package.json +++ b/examples/using-mobx/package.json @@ -16,7 +16,7 @@ ], "license": "MIT", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "mobx": "^5.15.5", "mobx-react": "^6.2.5", "prop-types": "^15.7.2", diff --git a/examples/using-mongodb/package.json b/examples/using-mongodb/package.json index b5137d6a47230..6d75d6d095e7b 100644 --- a/examples/using-mongodb/package.json +++ b/examples/using-mongodb/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using gatsby-source-mongodb", "author": "jhermans85@hotmail.com", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-react-helmet": "^3.3.10", "gatsby-source-mongodb": "^2.3.10", "gatsby-transformer-remark": "^2.8.28", diff --git a/examples/using-multiple-local-plugins/gatsby-site-using-local-plugins/package.json b/examples/using-multiple-local-plugins/gatsby-site-using-local-plugins/package.json index 9e460d5bf87d4..1c64d3055cac4 100644 --- a/examples/using-multiple-local-plugins/gatsby-site-using-local-plugins/package.json +++ b/examples/using-multiple-local-plugins/gatsby-site-using-local-plugins/package.json @@ -3,10 +3,10 @@ "description": "A example with the default starter loading multiple local plugins", "version": "0.1.0", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", "prop-types": "^15.7.2", "react": "^16.12.0", diff --git a/examples/using-multiple-providers/package.json b/examples/using-multiple-providers/package.json index 1d34fd9555cc7..16b851f5d88d2 100644 --- a/examples/using-multiple-providers/package.json +++ b/examples/using-multiple-providers/package.json @@ -7,7 +7,7 @@ "dependencies": { "apollo-boost": "^0.4.9", "babel-plugin-styled-components": "^1.11.1", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-jss": "^2.3.10", "gatsby-plugin-styled-components": "^3.3.10", "isomorphic-fetch": "^2.2.1", diff --git a/examples/using-multiple-themes/package.json b/examples/using-multiple-themes/package.json index 02ab89fe73f7b..b87f1c77171da 100644 --- a/examples/using-multiple-themes/package.json +++ b/examples/using-multiple-themes/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@pauliescanlon/gatsby-mdx-embed": "0.0.25", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-blog": "^1.6.61", "gatsby-theme-notes": "^1.3.87", "react": "^16.12.0", diff --git a/examples/using-page-loading-indicator/package.json b/examples/using-page-loading-indicator/package.json index a29254fe4b93d..f90a152f0cfaf 100644 --- a/examples/using-page-loading-indicator/package.json +++ b/examples/using-page-loading-indicator/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using using-page-loading-indicator", "author": "Kyle Mathews", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-nprogress": "^2.3.10", "react": "^16.4.0", "react-dom": "^16.4.0" diff --git a/examples/using-page-transitions/package.json b/examples/using-page-transitions/package.json index 94f5ca7ce2eaf..b0e2fcb518d2a 100644 --- a/examples/using-page-transitions/package.json +++ b/examples/using-page-transitions/package.json @@ -4,7 +4,7 @@ "version": "1.0.0", "author": "Steven Surgnier ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-layout": "^1.3.10", "gatsby-plugin-react-helmet": "^3.3.10", "react": "^16.4.1", diff --git a/examples/using-path-prefix/package.json b/examples/using-path-prefix/package.json index c021098fde948..23c522df308c2 100644 --- a/examples/using-path-prefix/package.json +++ b/examples/using-path-prefix/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using using-path-prefix", "author": "Kyle Mathews <mathews.kyle@gmail.com>", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.4.0", "react-dom": "^16.4.0" }, diff --git a/examples/using-plugin-options/package.json b/examples/using-plugin-options/package.json index 6ddffc7533a51..64152c8343dba 100644 --- a/examples/using-plugin-options/package.json +++ b/examples/using-plugin-options/package.json @@ -3,7 +3,7 @@ "description": "An example with the default starter using a plugin with options", "version": "0.1.0", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "prop-types": "^15.7.2", "react": "^16.12.0", "react-dom": "^16.12.0", diff --git a/examples/using-prefetching-preloading-modules/package.json b/examples/using-prefetching-preloading-modules/package.json index 5a707a8418ec6..1c22299272614 100644 --- a/examples/using-prefetching-preloading-modules/package.json +++ b/examples/using-prefetching-preloading-modules/package.json @@ -6,7 +6,7 @@ "author": "Nuttapol Laoticharoen ", "dependencies": { "babel-plugin-styled-components": "^1.11.1", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", "gatsby-plugin-styled-components": "^3.3.10", diff --git a/examples/using-reach-skip-nav/package.json b/examples/using-reach-skip-nav/package.json index 68df7ea827913..9fc99ac00eacd 100644 --- a/examples/using-reach-skip-nav/package.json +++ b/examples/using-reach-skip-nav/package.json @@ -6,7 +6,7 @@ "author": "Madalyn Parker ", "dependencies": { "@reach/skip-nav": "^0.8.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-react-helmet": "^3.3.10", "gatsby-source-filesystem": "^2.3.24", diff --git a/examples/using-redirects/package.json b/examples/using-redirects/package.json index 1135b42f081df..1d7b0fd69aa1b 100644 --- a/examples/using-redirects/package.json +++ b/examples/using-redirects/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site demonstrating using createRedirect for client-side, in browser redirection in Gatsby", "author": "Ricky de Laveaga ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-react-helmet": "^3.3.10", "react": "^16.3.2", "react-dom": "^16.3.2", diff --git a/examples/using-redux/package.json b/examples/using-redux/package.json index 01215137464b7..136a00a9c6e52 100644 --- a/examples/using-redux/package.json +++ b/examples/using-redux/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Scotty Eckenthal ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.4.0", "react-dom": "^16.4.0", "react-redux": "5.1.2", diff --git a/examples/using-remark-copy-linked-files/package.json b/examples/using-remark-copy-linked-files/package.json index 59a1fa56d259d..26231ff2fb795 100644 --- a/examples/using-remark-copy-linked-files/package.json +++ b/examples/using-remark-copy-linked-files/package.json @@ -4,11 +4,11 @@ "description": "Gatsby example site on gatsby-remark-copy-linked-files", "author": "Florian Kissling ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-remark-copy-linked-files": "^2.3.12", "gatsby-remark-images": "^3.3.25", diff --git a/examples/using-remark/package.json b/examples/using-remark/package.json index 32d67f61a4e89..d5d31a9329f05 100644 --- a/examples/using-remark/package.json +++ b/examples/using-remark/package.json @@ -7,12 +7,12 @@ "dependencies": { "babel-plugin-lodash": "^3.3.4", "es6-object-assign": "^1.1.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", - "gatsby-image": "^2.4.14", + "gatsby-image": "^2.4.15", "gatsby-plugin-catch-links": "^2.3.11", "gatsby-plugin-glamor": "^2.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-remark-autolink-headers": "^2.3.11", "gatsby-remark-copy-linked-files": "^2.3.12", diff --git a/examples/using-sass/package.json b/examples/using-sass/package.json index b1d2095db56bb..cc37b36c3bd14 100644 --- a/examples/using-sass/package.json +++ b/examples/using-sass/package.json @@ -11,7 +11,7 @@ "author": "Daniel Farrell ", "license": "MIT", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-sass": "^2.3.12", diff --git a/examples/using-shopify/package.json b/examples/using-shopify/package.json index f6ebbe3b1a917..3066772ac20a7 100644 --- a/examples/using-shopify/package.json +++ b/examples/using-shopify/package.json @@ -5,12 +5,12 @@ "version": "0.1.0", "author": "Dustin Schau ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-source-shopify": "^2.2.2", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-sqip/package.json b/examples/using-sqip/package.json index e23ef2c176925..a2a14085bbba1 100644 --- a/examples/using-sqip/package.json +++ b/examples/using-sqip/package.json @@ -4,12 +4,12 @@ "version": "1.0.0", "author": "Benedikt Rötsch ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", - "gatsby-transformer-sqip": "^2.3.25", + "gatsby-transformer-sqip": "^2.3.26", "react": "^16.4.2", "react-dom": "^16.4.2" }, diff --git a/examples/using-square-payments/package.json b/examples/using-square-payments/package.json index e648f6b4b0831..a785fc918becc 100644 --- a/examples/using-square-payments/package.json +++ b/examples/using-square-payments/package.json @@ -5,12 +5,12 @@ "version": "0.1.0", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-square-payment-form": "^1.0.3", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-styled-components/package.json b/examples/using-styled-components/package.json index cf8c4780074a2..a26f4028d550a 100644 --- a/examples/using-styled-components/package.json +++ b/examples/using-styled-components/package.json @@ -6,7 +6,7 @@ "author": "Kyle Mathews ", "dependencies": { "babel-plugin-styled-components": "^1.11.1", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", diff --git a/examples/using-styled-jsx/package.json b/examples/using-styled-jsx/package.json index ed479360cfb8d..39ce9ed34bb31 100644 --- a/examples/using-styled-jsx/package.json +++ b/examples/using-styled-jsx/package.json @@ -4,7 +4,7 @@ "description": "Gatsby example site using using-styled-jsx", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-styled-jsx": "^3.3.11", "react": "^16.2.0", "react-dom": "^16.2.0", diff --git a/examples/using-styletron/package.json b/examples/using-styletron/package.json index fcce4f5ef1e26..86e69b4c52df9 100644 --- a/examples/using-styletron/package.json +++ b/examples/using-styletron/package.json @@ -5,7 +5,7 @@ "version": "1.0.0", "author": "Nadiia Dmytrenko ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-styletron": "^3.0.5", "react": "^16.4.0", "react-dom": "^16.4.0" diff --git a/examples/using-stylus/package.json b/examples/using-stylus/package.json index 037f91481b041..a94b80124ab51 100644 --- a/examples/using-stylus/package.json +++ b/examples/using-stylus/package.json @@ -11,7 +11,7 @@ "author": "Ian Sinnott ", "license": "MIT", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-stylus": "^2.3.10", diff --git a/examples/using-type-definitions/package.json b/examples/using-type-definitions/package.json index 434479fe30cc6..9e0fe3dec82aa 100644 --- a/examples/using-type-definitions/package.json +++ b/examples/using-type-definitions/package.json @@ -4,9 +4,9 @@ "description": "An example site using createTypes action and createResolvers API", "version": "0.1.0", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-json": "^2.4.11", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-typescript/package.json b/examples/using-typescript/package.json index 4d34ef69c3c2a..7260c12ab264a 100644 --- a/examples/using-typescript/package.json +++ b/examples/using-typescript/package.json @@ -13,7 +13,7 @@ }, "sideEffects": false, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-plugin-typography": "^2.5.10", "react": "^16.12.0", "react-dom": "^16.12.0", diff --git a/examples/using-video/package.json b/examples/using-video/package.json index d4f32bf5c0587..bc66b945f848e 100644 --- a/examples/using-video/package.json +++ b/examples/using-video/package.json @@ -8,7 +8,7 @@ "license": "MIT", "dependencies": { "file-loader": "^4.3.0", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.4.0", "react-dom": "^16.4.0" }, diff --git a/examples/using-wordpress-with-acf/package.json b/examples/using-wordpress-with-acf/package.json index 142ab4e7ede1d..0732aba9ba7e9 100644 --- a/examples/using-wordpress-with-acf/package.json +++ b/examples/using-wordpress-with-acf/package.json @@ -5,12 +5,12 @@ "version": "1.0.0-beta.6", "author": "Sebastien Fichot ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", - "gatsby-image": "^2.4.14", + "gatsby-image": "^2.4.15", "gatsby-plugin-glamor": "^2.3.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-source-wordpress": "^3.3.28", "gatsby-transformer-sharp": "^2.5.12", diff --git a/examples/using-wordpress/package.json b/examples/using-wordpress/package.json index 6938fb4b6b38e..d432b3fdf9fb3 100644 --- a/examples/using-wordpress/package.json +++ b/examples/using-wordpress/package.json @@ -5,7 +5,7 @@ "version": "0.1.0", "author": "Vishwa Mehta ", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-core-utils": "^1.3.15", "gatsby-source-wordpress": "^3.3.28", "react": "^16.9.0", diff --git a/packages/gatsby-admin/CHANGELOG.md b/packages/gatsby-admin/CHANGELOG.md index 1c8c211416735..6765e396da715 100644 --- a/packages/gatsby-admin/CHANGELOG.md +++ b/packages/gatsby-admin/CHANGELOG.md @@ -3,6 +3,18 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.1.132](https://github.com/gatsbyjs/gatsby/compare/gatsby-admin@0.1.131...gatsby-admin@0.1.132) (2020-08-11) + +**Note:** Version bump only for package gatsby-admin + +## [0.1.131](https://github.com/gatsbyjs/gatsby/compare/gatsby-admin@0.1.130...gatsby-admin@0.1.131) (2020-08-11) + +**Note:** Version bump only for package gatsby-admin + +## [0.1.130](https://github.com/gatsbyjs/gatsby/compare/gatsby-admin@0.1.129...gatsby-admin@0.1.130) (2020-08-11) + +**Note:** Version bump only for package gatsby-admin + ## [0.1.129](https://github.com/gatsbyjs/gatsby/compare/gatsby-admin@0.1.128...gatsby-admin@0.1.129) (2020-08-10) **Note:** Version bump only for package gatsby-admin diff --git a/packages/gatsby-admin/gatsby-ssr.js b/packages/gatsby-admin/gatsby-ssr.js new file mode 100644 index 0000000000000..4b35e53f2e359 --- /dev/null +++ b/packages/gatsby-admin/gatsby-ssr.js @@ -0,0 +1 @@ +export { wrapPageElement } from "./gatsby-browser.js" diff --git a/packages/gatsby-admin/package.json b/packages/gatsby-admin/package.json index 96b7aacd60ec1..ac5af45fcbe6e 100644 --- a/packages/gatsby-admin/package.json +++ b/packages/gatsby-admin/package.json @@ -1,6 +1,6 @@ { "name": "gatsby-admin", - "version": "0.1.129", + "version": "0.1.132", "main": "index.js", "author": "Max Stoiber", "license": "MIT", @@ -19,7 +19,7 @@ "csstype": "^2.6.10", "feedback-fish": "^0.1.12", "formik": "^2.1.4", - "gatsby": "^2.24.40", + "gatsby": "^2.24.43", "gatsby-interface": "0.0.183", "gatsby-plugin-typescript": "^2.4.18", "gatsby-plugin-webfonts": "^1.1.3", diff --git a/packages/gatsby-cli/CHANGELOG.md b/packages/gatsby-cli/CHANGELOG.md index 734c5b59f7166..b1fc1689465b9 100644 --- a/packages/gatsby-cli/CHANGELOG.md +++ b/packages/gatsby-cli/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.12.83](https://github.com/gatsbyjs/gatsby/compare/gatsby-cli@2.12.82...gatsby-cli@2.12.83) (2020-08-11) + +**Note:** Version bump only for package gatsby-cli + ## [2.12.82](https://github.com/gatsbyjs/gatsby/compare/gatsby-cli@2.12.81...gatsby-cli@2.12.82) (2020-08-10) **Note:** Version bump only for package gatsby-cli diff --git a/packages/gatsby-cli/package.json b/packages/gatsby-cli/package.json index e494c9bf63c0e..592998970b175 100644 --- a/packages/gatsby-cli/package.json +++ b/packages/gatsby-cli/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-cli", "description": "Gatsby command-line interface for creating new sites and running Gatsby commands", - "version": "2.12.82", + "version": "2.12.83", "author": "Kyle Mathews ", "bin": { "gatsby": "cli.js" @@ -24,8 +24,8 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.12", - "gatsby-telemetry": "^1.3.26", + "gatsby-recipes": "^0.2.13", + "gatsby-telemetry": "^1.3.27", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", "ink-spinner": "^3.1.0", @@ -40,7 +40,7 @@ "react": "^16.8.0", "redux": "^4.0.5", "resolve-cwd": "^3.0.0", - "semver": "^6.3.0", + "semver": "^7.3.2", "signal-exit": "^3.0.3", "source-map": "0.7.3", "stack-trace": "^0.0.10", diff --git a/packages/gatsby-plugin-manifest/CHANGELOG.md b/packages/gatsby-plugin-manifest/CHANGELOG.md index 69945bc6600f3..60ec2309cf2c8 100644 --- a/packages/gatsby-plugin-manifest/CHANGELOG.md +++ b/packages/gatsby-plugin-manifest/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.4.23](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-manifest@2.4.22...gatsby-plugin-manifest@2.4.23) (2020-08-11) + +**Note:** Version bump only for package gatsby-plugin-manifest + ## [2.4.22](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-manifest@2.4.21...gatsby-plugin-manifest@2.4.22) (2020-08-05) **Note:** Version bump only for package gatsby-plugin-manifest diff --git a/packages/gatsby-plugin-manifest/package.json b/packages/gatsby-plugin-manifest/package.json index d3c9984c4d68e..a6f1cb076a1ac 100644 --- a/packages/gatsby-plugin-manifest/package.json +++ b/packages/gatsby-plugin-manifest/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-plugin-manifest", "description": "Gatsby plugin which adds a manifest.webmanifest to make sites progressive web apps", - "version": "2.4.22", + "version": "2.4.23", "author": "Kyle Mathews ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -9,7 +9,7 @@ "dependencies": { "@babel/runtime": "^7.10.3", "gatsby-core-utils": "^1.3.15", - "semver": "^5.7.1", + "semver": "^7.3.2", "sharp": "^0.25.1" }, "devDependencies": { diff --git a/packages/gatsby-plugin-page-creator/CHANGELOG.md b/packages/gatsby-plugin-page-creator/CHANGELOG.md index 23a74ca490b7e..2cf66a14a6538 100644 --- a/packages/gatsby-plugin-page-creator/CHANGELOG.md +++ b/packages/gatsby-plugin-page-creator/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.22](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-page-creator@2.3.21...gatsby-plugin-page-creator@2.3.22) (2020-08-11) + +### Bug Fixes + +- **gatsby-plugin-page-creator:** juggle reporter dont depend on cli ([#26357](https://github.com/gatsbyjs/gatsby/issues/26357)) ([2cef73b](https://github.com/gatsbyjs/gatsby/commit/2cef73b)) + ## [2.3.21](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-page-creator@2.3.20...gatsby-plugin-page-creator@2.3.21) (2020-08-10) ### Features diff --git a/packages/gatsby-plugin-page-creator/package.json b/packages/gatsby-plugin-page-creator/package.json index 669419d1ad4e7..c898c2d07162a 100644 --- a/packages/gatsby-plugin-page-creator/package.json +++ b/packages/gatsby-plugin-page-creator/package.json @@ -1,6 +1,6 @@ { "name": "gatsby-plugin-page-creator", - "version": "2.3.21", + "version": "2.3.22", "description": "Gatsby plugin that automatically creates pages from React components in specified directories", "main": "index.js", "scripts": { diff --git a/packages/gatsby-plugin-page-creator/src/__tests__/is-valid-collection-path-implementation.ts b/packages/gatsby-plugin-page-creator/src/__tests__/is-valid-collection-path-implementation.ts index a49a891df63fd..488cdba803fa5 100644 --- a/packages/gatsby-plugin-page-creator/src/__tests__/is-valid-collection-path-implementation.ts +++ b/packages/gatsby-plugin-page-creator/src/__tests__/is-valid-collection-path-implementation.ts @@ -15,7 +15,7 @@ describe(`isValidCollectionPathImplementation`, () => { `%o passes`, path => { expect(() => - isValidCollectionPathImplementation(compatiblePath(path)) + isValidCollectionPathImplementation(compatiblePath(path), reporter) ).not.toThrow() } ) @@ -29,7 +29,7 @@ describe(`isValidCollectionPathImplementation`, () => { ])(`%o throws as expected`, path => { const part = path.split(`/`)[2] - isValidCollectionPathImplementation(compatiblePath(path)) + isValidCollectionPathImplementation(compatiblePath(path), reporter) expect(reporter.panicOnBuild) .toBeCalledWith(`Collection page builder encountered an error parsing the filepath. To use collection paths the schema to follow is {Model.field}. The problematic part is: ${part}. filePath: ${compatiblePath(path)}`) diff --git a/packages/gatsby-plugin-page-creator/src/create-page-wrapper.ts b/packages/gatsby-plugin-page-creator/src/create-page-wrapper.ts index c4bd140a039c6..40007d15eed36 100644 --- a/packages/gatsby-plugin-page-creator/src/create-page-wrapper.ts +++ b/packages/gatsby-plugin-page-creator/src/create-page-wrapper.ts @@ -4,6 +4,7 @@ import { createClientOnlyPage } from "./create-client-only-page" import { createPagesFromCollectionBuilder } from "./create-pages-from-collection-builder" import systemPath from "path" import { trackFeatureIsUsed } from "gatsby-telemetry" +import { Reporter } from "gatsby" function pathIsCollectionBuilder(path: string): boolean { return path.includes(`{`) @@ -18,7 +19,8 @@ export function createPage( pagesDirectory: string, actions: Actions, ignore: string[], - graphql: CreatePagesArgs["graphql"] + graphql: CreatePagesArgs["graphql"], + reporter: Reporter ): void { // Filter out special components that shouldn't be made into // pages. @@ -41,7 +43,13 @@ export function createPage( `PageCreator: Found a collection route, but the proper env was not set to enable this experimental feature. Please run again with \`GATSBY_EXPERIMENTAL_ROUTING_APIS=1\` to enable.` ) } - createPagesFromCollectionBuilder(filePath, absolutePath, actions, graphql) + createPagesFromCollectionBuilder( + filePath, + absolutePath, + actions, + graphql, + reporter + ) return } diff --git a/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts b/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts index a7217ff58379a..3d61861a32435 100644 --- a/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts +++ b/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts @@ -8,18 +8,25 @@ import { derivePath } from "./derive-path" import { watchCollectionBuilder } from "./watch-collection-builder" import { collectionExtractQueryString } from "./collection-extract-query-string" import { isValidCollectionPathImplementation } from "./is-valid-collection-path-implementation" -import reporter from "gatsby-cli/lib/reporter" +import { Reporter } from "gatsby" // TODO: Do we need the ignore argument? export async function createPagesFromCollectionBuilder( filePath: string, absolutePath: string, actions: Actions, - graphql: CreatePagesArgs["graphql"] + graphql: CreatePagesArgs["graphql"], + reporter: Reporter ): Promise { - if (isValidCollectionPathImplementation(absolutePath) === false) { + if (isValidCollectionPathImplementation(absolutePath, reporter) === false) { watchCollectionBuilder(absolutePath, ``, [], actions, () => - createPagesFromCollectionBuilder(filePath, absolutePath, actions, graphql) + createPagesFromCollectionBuilder( + filePath, + absolutePath, + actions, + graphql, + reporter + ) ) return } @@ -30,7 +37,13 @@ export async function createPagesFromCollectionBuilder( // 1.a If the query string is not findable, we can't move on. So we stop and watch if (queryString === null) { watchCollectionBuilder(absolutePath, ``, [], actions, () => - createPagesFromCollectionBuilder(filePath, absolutePath, actions, graphql) + createPagesFromCollectionBuilder( + filePath, + absolutePath, + actions, + graphql, + reporter + ) ) return } @@ -51,7 +64,13 @@ ${errors.map(error => error.message).join(`\n`)}`.trim() ) watchCollectionBuilder(absolutePath, queryString, [], actions, () => - createPagesFromCollectionBuilder(filePath, absolutePath, actions, graphql) + createPagesFromCollectionBuilder( + filePath, + absolutePath, + actions, + graphql, + reporter + ) ) return @@ -97,6 +116,12 @@ ${errors.map(error => error.message).join(`\n`)}`.trim() }) watchCollectionBuilder(absolutePath, queryString, paths, actions, () => - createPagesFromCollectionBuilder(filePath, absolutePath, actions, graphql) + createPagesFromCollectionBuilder( + filePath, + absolutePath, + actions, + graphql, + reporter + ) ) } diff --git a/packages/gatsby-plugin-page-creator/src/gatsby-node.ts b/packages/gatsby-plugin-page-creator/src/gatsby-node.ts index 7ba7f6191556f..3ef449d66a6d9 100644 --- a/packages/gatsby-plugin-page-creator/src/gatsby-node.ts +++ b/packages/gatsby-plugin-page-creator/src/gatsby-node.ts @@ -67,7 +67,7 @@ Please pick a path to an existing directory.`) // Get initial list of files. let files = await glob(pagesGlob, { cwd: pagesPath }) files.forEach(file => { - createPage(file, pagesDirectory, actions, ignore, graphql) + createPage(file, pagesDirectory, actions, ignore, graphql, reporter) }) watchDirectory( @@ -75,7 +75,14 @@ Please pick a path to an existing directory.`) pagesGlob, addedPath => { if (!_.includes(files, addedPath)) { - createPage(addedPath, pagesDirectory, actions, ignore, graphql) + createPage( + addedPath, + pagesDirectory, + actions, + ignore, + graphql, + reporter + ) files.push(addedPath) } }, diff --git a/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts b/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts index 25fc3279f9435..b6d1d43d10ba0 100644 --- a/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts +++ b/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts @@ -1,12 +1,15 @@ import sysPath from "path" -import reporter from "gatsby-cli/lib/reporter" +import { Reporter } from "gatsby" // This file is a helper for consumers. It's going to log an error to them if they // in any way have an incorrect filepath setup for us to predictably use collection // querying. // // Without this, users will can get mystic errors. -export function isValidCollectionPathImplementation(filePath: string): boolean { +export function isValidCollectionPathImplementation( + filePath: string, + reporter: Reporter +): boolean { const parts = filePath.split(sysPath.sep) let passing = true diff --git a/packages/gatsby-plugin-sharp/CHANGELOG.md b/packages/gatsby-plugin-sharp/CHANGELOG.md index 9393842bf9088..42ce812ba7127 100644 --- a/packages/gatsby-plugin-sharp/CHANGELOG.md +++ b/packages/gatsby-plugin-sharp/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.6.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-sharp@2.6.26...gatsby-plugin-sharp@2.6.27) (2020-08-11) + +**Note:** Version bump only for package gatsby-plugin-sharp + ## [2.6.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-plugin-sharp@2.6.25...gatsby-plugin-sharp@2.6.26) (2020-08-10) **Note:** Version bump only for package gatsby-plugin-sharp diff --git a/packages/gatsby-plugin-sharp/package.json b/packages/gatsby-plugin-sharp/package.json index 3339539be7bf9..c6611b992f692 100644 --- a/packages/gatsby-plugin-sharp/package.json +++ b/packages/gatsby-plugin-sharp/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-plugin-sharp", "description": "Wrapper of the Sharp image manipulation library for Gatsby plugins", - "version": "2.6.26", + "version": "2.6.27", "author": "Kyle Mathews ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -21,7 +21,7 @@ "potrace": "^2.1.8", "probe-image-size": "^4.1.1", "progress": "^2.0.3", - "semver": "^5.7.1", + "semver": "^7.3.2", "sharp": "^0.25.1", "svgo": "1.3.2", "uuid": "^3.4.0" diff --git a/packages/gatsby-recipes/CHANGELOG.md b/packages/gatsby-recipes/CHANGELOG.md index af2c1f3d75ca8..5449d05fcc80c 100644 --- a/packages/gatsby-recipes/CHANGELOG.md +++ b/packages/gatsby-recipes/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [0.2.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-recipes@0.2.12...gatsby-recipes@0.2.13) (2020-08-11) + +### Bug Fixes + +- **gatsby-recipes:** fix NPMScript for parallel calls ([#26349](https://github.com/gatsbyjs/gatsby/issues/26349)) ([e845615](https://github.com/gatsbyjs/gatsby/commit/e845615)) + ## [0.2.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-recipes@0.2.11...gatsby-recipes@0.2.12) (2020-08-10) ### Bug Fixes diff --git a/packages/gatsby-recipes/package.json b/packages/gatsby-recipes/package.json index 22c4837b8f16d..e8d1843456405 100644 --- a/packages/gatsby-recipes/package.json +++ b/packages/gatsby-recipes/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-recipes", "description": "Core functionality for Gatsby Recipes", - "version": "0.2.12", + "version": "0.2.13", "author": "Kyle Mathews ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -44,7 +44,7 @@ "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", "gatsby-interface": "^0.0.166", - "gatsby-telemetry": "^1.3.26", + "gatsby-telemetry": "^1.3.27", "glob": "^7.1.6", "graphql": "^14.6.0", "graphql-compose": "^6.3.8", @@ -57,6 +57,7 @@ "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", "jest-diff": "^25.5.0", + "lock": "^1.0.0", "lodash": "^4.17.15", "mitt": "^1.2.0", "mkdirp": "^0.5.1", diff --git a/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap b/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap index f1326ac9297c2..e41eb1e7ac732 100644 --- a/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap +++ b/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap @@ -337,3 +337,19 @@ module.exports = { ", } `; + +exports[`gatsby-plugin resource handles multiple parallel create calls 1`] = ` +Object { + "id": "husky", + "name": "husky", + "value": "\\"hi\\"", +} +`; + +exports[`gatsby-plugin resource handles multiple parallel create calls 2`] = ` +Object { + "id": "husky2", + "name": "husky2", + "value": "\\"hi\\"", +} +`; diff --git a/packages/gatsby-recipes/src/providers/gatsby/plugin.js b/packages/gatsby-recipes/src/providers/gatsby/plugin.js index 9e38c1a5857ea..8910d9d104ec4 100644 --- a/packages/gatsby-recipes/src/providers/gatsby/plugin.js +++ b/packages/gatsby-recipes/src/providers/gatsby/plugin.js @@ -9,6 +9,7 @@ const prettier = require(`prettier`) const resolveCwd = require(`resolve-cwd`) const { slash } = require(`gatsby-core-utils`) +const lock = require(`../lock`) const getDiff = require(`../utils/get-diff`) const resourceSchema = require(`../resource-schema`) @@ -194,6 +195,7 @@ class MissingInfoError extends Error { } const create = async ({ root }, { name, options, key }) => { + const release = await lock(`gatsby-config.js`) // TODO generalize this — it's for the demo. if (options?.accessToken === `(Known after install)`) { throw new MissingInfoError({ name, options, key }) @@ -206,7 +208,9 @@ const create = async ({ root }, { name, options, key }) => { await fs.writeFile(getConfigPath(root), code) - return await read({ root }, key || name) + const config = await read({ root }, key || name) + release() + return config } const read = async ({ root }, id) => { diff --git a/packages/gatsby-recipes/src/providers/gatsby/plugin.test.js b/packages/gatsby-recipes/src/providers/gatsby/plugin.test.js index a34d116bb86ac..284c7e71e8b24 100644 --- a/packages/gatsby-recipes/src/providers/gatsby/plugin.test.js +++ b/packages/gatsby-recipes/src/providers/gatsby/plugin.test.js @@ -166,8 +166,11 @@ describe(`gatsby-plugin resource`, () => { }, } - await plugin.create(context, fooPlugin) - await plugin.create(context, barPlugin) + const createPromise1 = plugin.create(context, fooPlugin) + const createPromise2 = plugin.create(context, barPlugin) + + await createPromise1 + await createPromise2 const barResult = await plugin.read(context, barPlugin.key) const fooResult = await plugin.read(context, fooPlugin.key) diff --git a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.js b/packages/gatsby-recipes/src/providers/gatsby/site-metadata.js index d1de340399b11..9dfb2996f18cf 100644 --- a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.js +++ b/packages/gatsby-recipes/src/providers/gatsby/site-metadata.js @@ -1,10 +1,12 @@ const fs = require(`fs-extra`) const path = require(`path`) const babel = require(`@babel/core`) +const t = require(`@babel/types`) const declare = require(`@babel/helper-plugin-utils`).declare const Joi = require(`@hapi/joi`) const prettier = require(`prettier`) +const lock = require(`../lock`) const getDiff = require(`../utils/get-diff`) const resourceSchema = require(`../resource-schema`) @@ -78,6 +80,7 @@ module.exports = { } const create = async ({ root }, { name, value }) => { + const release = await lock(`gatsby-config.js`) const configSrc = await readConfigFile(root) const prettierConfig = await prettier.resolveConfig(root) @@ -86,7 +89,9 @@ const create = async ({ root }, { name, value }) => { await fs.writeFile(getConfigPath(root), code) - return await read({ root }, name) + const resource = await read({ root }, name) + release() + return resource } const read = async ({ root }, id) => { @@ -133,13 +138,16 @@ class BabelPluginSetSiteMetadataField { return } + let siteMetadataExists = false const siteMetadata = right.properties.find( p => p.key.name === `siteMetadata` ) - if (!siteMetadata || !siteMetadata.value) return - - const siteMetadataObj = getObjectFromNode(siteMetadata.value) + let siteMetadataObj = {} + if (siteMetadata?.value) { + siteMetadataExists = true + siteMetadataObj = getObjectFromNode(siteMetadata?.value) + } const valueType = typeof value const shouldParse = @@ -155,14 +163,20 @@ class BabelPluginSetSiteMetadataField { const newSiteMetadata = newSiteMetadataTemplate.declarations[0].init - right.properties = right.properties.map(p => { - if (p.key.name !== `siteMetadata`) return p - - return { - ...p, - value: newSiteMetadata, - } - }) + if (siteMetadataExists) { + right.properties = right.properties.map(p => { + if (p.key.name !== `siteMetadata`) return p + + return { + ...p, + value: newSiteMetadata, + } + }) + } else { + right.properties.unshift( + t.objectProperty(t.identifier(`siteMetadata`), newSiteMetadata) + ) + } path.stop() }, diff --git a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js b/packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js index 01b8f488098b3..4a103f639c4d5 100644 --- a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js +++ b/packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js @@ -39,4 +39,35 @@ describe(`gatsby-plugin resource`, () => { partialUpdate: { name: `author`, value: `Velma` }, }) }) + + test(`handles multiple parallel create calls`, async () => { + const root = starterBlogRoot + const resultPromise = plugin.create( + { + root, + }, + { + name: `husky`, + value: `hi`, + } + ) + const result2Promise = plugin.create( + { + root, + }, + { + name: `husky2`, + value: `hi`, + } + ) + + const result = await resultPromise + const result2 = await result2Promise + + expect(result).toMatchSnapshot() + expect(result2).toMatchSnapshot() + + await plugin.destroy({ root }, result) + await plugin.destroy({ root }, result2) + }) }) diff --git a/packages/gatsby-recipes/src/providers/lock.js b/packages/gatsby-recipes/src/providers/lock.js new file mode 100644 index 0000000000000..f71ba6f84a8b3 --- /dev/null +++ b/packages/gatsby-recipes/src/providers/lock.js @@ -0,0 +1,10 @@ +const lock = require(`lock`).Lock +const lockInstance = lock() + +module.exports = resources => + new Promise(resolve => + lockInstance(resources, release => { + const releaseLock = release(() => {}) + resolve(releaseLock) + }) + ) diff --git a/packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap b/packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap index e727bc3dd6a6e..30e1b37d8de15 100644 --- a/packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap +++ b/packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap @@ -78,6 +78,28 @@ Object { } `; +exports[`packageJson resource handles multiple parallel create calls 1`] = ` +Object { + "_message": "Wrote key \\"husky\\" to package.json", + "id": "husky", + "name": "husky", + "value": "{ + \\"hooks\\": {} +}", +} +`; + +exports[`packageJson resource handles multiple parallel create calls 2`] = ` +Object { + "_message": "Wrote key \\"husky2\\" to package.json", + "id": "husky2", + "name": "husky2", + "value": "{ + \\"hooks\\": {} +}", +} +`; + exports[`packageJson resource handles object values 1`] = ` Object { "_message": "Wrote key \\"husky\\" to package.json", diff --git a/packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap b/packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap index 5a10ce5a8dbd6..5b0529705adde 100644 --- a/packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap +++ b/packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap @@ -55,3 +55,21 @@ Object { "newState": "\\"apple\\": \\"foot2\\"", } `; + +exports[`npm script resource handles multiple parallel create calls 1`] = ` +Object { + "_message": "Added script \\"husky\\" to your package.json", + "command": "hi", + "id": "husky", + "name": "husky", +} +`; + +exports[`npm script resource handles multiple parallel create calls 2`] = ` +Object { + "_message": "Added script \\"husky2\\" to your package.json", + "command": "hi", + "id": "husky2", + "name": "husky2", +} +`; diff --git a/packages/gatsby-recipes/src/providers/npm/package-json.js b/packages/gatsby-recipes/src/providers/npm/package-json.js index 2d40849e77714..3941e236fb0f0 100644 --- a/packages/gatsby-recipes/src/providers/npm/package-json.js +++ b/packages/gatsby-recipes/src/providers/npm/package-json.js @@ -2,66 +2,10 @@ const fs = require(`fs-extra`) const path = require(`path`) const Joi = require(`@hapi/joi`) const getDiff = require(`../utils/get-diff`) +const lock = require(`../lock`) const resourceSchema = require(`../resource-schema`) -class Deferred { - constructor(name) { - this._promise = new Promise((resolve, reject) => { - // assign the resolve and reject functions to `this` - // making them usable on the class instance - this.resolve = resolve - this.reject = reject - }) - this.name = name - // bind `then` and `catch` to implement the same interface as Promise - this.then = this._promise.then.bind(this._promise) - this.catch = this._promise.catch.bind(this._promise) - this[Symbol.toStringTag] = `Promise` - } -} -let writesQueue = new Map() -let paused = false -const checkWritesQueue = async root => - new Promise((resolve, reject) => { - setTimeout(async () => { - if (writesQueue.size > 0) { - await processWritesQueue(root) - resolve() - } else { - paused = false - } - }, 100) - }) - -const processWritesQueue = async root => { - const toProcess = [...writesQueue.entries()] - writesQueue = new Map() - const pkg = await readPackageJson(root) - toProcess.forEach(change => { - pkg[change[0]] = change[1].value - }) - - await writePackageJson(root, pkg) - toProcess.forEach(change => { - change[1].dfd.resolve() - }) - await checkWritesQueue(root) -} - -const enqueueWrite = (root, change) => { - const dfd = new Deferred(change[0]) - writesQueue.set(change[0], { value: change[1], dfd }) - - // If we're not paused, write immediately - if (!paused) { - paused = true - processWritesQueue(root) - } - - return dfd -} - const readPackageJson = async root => { const fullPath = path.join(root, `package.json`) const contents = await fs.readFile(fullPath, `utf8`) @@ -76,9 +20,16 @@ const writePackageJson = async (root, obj) => { } const create = async ({ root }, { name, value }) => { - await enqueueWrite(root, [name, value]) + const release = await lock(`package.json`) + const pkg = await readPackageJson(root) + pkg[name] = value + + await writePackageJson(root, pkg) + + const newPkg = await read({ root }, name) - return await read({ root }, name) + release() + return newPkg } const read = async ({ root }, id) => { diff --git a/packages/gatsby-recipes/src/providers/npm/package-json.test.js b/packages/gatsby-recipes/src/providers/npm/package-json.test.js index 3210ea086bda5..96bf39873750d 100644 --- a/packages/gatsby-recipes/src/providers/npm/package-json.test.js +++ b/packages/gatsby-recipes/src/providers/npm/package-json.test.js @@ -34,6 +34,36 @@ describe(`packageJson resource`, () => { }) }) + test(`handles multiple parallel create calls`, async () => { + const resultPromise = pkgJson.create( + { + root, + }, + { + name: `husky`, + value: JSON.parse(initialValue), + } + ) + const result2Promise = pkgJson.create( + { + root, + }, + { + name: `husky2`, + value: JSON.parse(initialValue), + } + ) + + const result = await resultPromise + const result2 = await result2Promise + + expect(result).toMatchSnapshot() + expect(result2).toMatchSnapshot() + + await pkgJson.destroy({ root }, result) + await pkgJson.destroy({ root }, result2) + }) + test(`handles object values`, async () => { const result = await pkgJson.create( { diff --git a/packages/gatsby-recipes/src/providers/npm/script.js b/packages/gatsby-recipes/src/providers/npm/script.js index 31c699a3fadc2..84ecfafd79bd0 100644 --- a/packages/gatsby-recipes/src/providers/npm/script.js +++ b/packages/gatsby-recipes/src/providers/npm/script.js @@ -1,6 +1,7 @@ const fs = require(`fs-extra`) const path = require(`path`) const Joi = require(`@hapi/joi`) +const lock = require(`../lock`) const getDiff = require(`../utils/get-diff`) const resourceSchema = require(`../resource-schema`) @@ -18,12 +19,15 @@ const writePackageJson = async (root, obj) => { } const create = async ({ root }, { name, command }) => { + const release = await lock(`package.json`) const pkg = await readPackageJson(root) pkg.scripts = pkg.scripts || {} pkg.scripts[name] = command await writePackageJson(root, pkg) - return await read({ root }, name) + const readPackagejson = await read({ root }, name) + release() + return readPackagejson } const read = async ({ root }, id) => { diff --git a/packages/gatsby-recipes/src/providers/npm/script.test.js b/packages/gatsby-recipes/src/providers/npm/script.test.js index 6b01cde109914..c6fcef2e84381 100644 --- a/packages/gatsby-recipes/src/providers/npm/script.test.js +++ b/packages/gatsby-recipes/src/providers/npm/script.test.js @@ -15,4 +15,34 @@ describe(`npm script resource`, () => { partialUpdate: { command: `foot2` }, }) }) + + test(`handles multiple parallel create calls`, async () => { + const resultPromise = script.create( + { + root, + }, + { + name: `husky`, + command: `hi`, + } + ) + const result2Promise = script.create( + { + root, + }, + { + name: `husky2`, + command: `hi`, + } + ) + + const result = await resultPromise + const result2 = await result2Promise + + expect(result).toMatchSnapshot() + expect(result2).toMatchSnapshot() + + await script.destroy({ root }, result) + await script.destroy({ root }, result2) + }) }) diff --git a/packages/gatsby-remark-images-contentful/CHANGELOG.md b/packages/gatsby-remark-images-contentful/CHANGELOG.md index 65d6c0f6aa8bc..fe17e19fd18e4 100644 --- a/packages/gatsby-remark-images-contentful/CHANGELOG.md +++ b/packages/gatsby-remark-images-contentful/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-remark-images-contentful@2.3.12...gatsby-remark-images-contentful@2.3.13) (2020-08-11) + +**Note:** Version bump only for package gatsby-remark-images-contentful + ## [2.3.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-remark-images-contentful@2.3.11...gatsby-remark-images-contentful@2.3.12) (2020-07-28) ### Bug Fixes diff --git a/packages/gatsby-remark-images-contentful/package.json b/packages/gatsby-remark-images-contentful/package.json index b9fc044bc3a92..df610fc78ac2b 100644 --- a/packages/gatsby-remark-images-contentful/package.json +++ b/packages/gatsby-remark-images-contentful/package.json @@ -1,6 +1,6 @@ { "name": "gatsby-remark-images-contentful", - "version": "2.3.12", + "version": "2.3.13", "description": "Process Images in Contentful markdown so they can use the images API.", "main": "index.js", "scripts": { @@ -21,7 +21,7 @@ "cheerio": "^1.0.0-rc.3", "is-relative-url": "^3.0.0", "lodash": "^4.17.15", - "semver": "^5.7.1", + "semver": "^7.3.2", "sharp": "^0.25.1", "unist-util-select": "^1.5.0" }, diff --git a/packages/gatsby-source-contentful/CHANGELOG.md b/packages/gatsby-source-contentful/CHANGELOG.md index 4c55693c94e68..b856276c631cb 100644 --- a/packages/gatsby-source-contentful/CHANGELOG.md +++ b/packages/gatsby-source-contentful/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.37](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-contentful@2.3.36...gatsby-source-contentful@2.3.37) (2020-08-11) + +**Note:** Version bump only for package gatsby-source-contentful + ## [2.3.36](https://github.com/gatsbyjs/gatsby/compare/gatsby-source-contentful@2.3.35...gatsby-source-contentful@2.3.36) (2020-08-10) **Note:** Version bump only for package gatsby-source-contentful diff --git a/packages/gatsby-source-contentful/package.json b/packages/gatsby-source-contentful/package.json index 68a33e7a4f8dc..3a46a4657f0f4 100644 --- a/packages/gatsby-source-contentful/package.json +++ b/packages/gatsby-source-contentful/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-source-contentful", "description": "Gatsby source plugin for building websites using the Contentful CMS as a data source", - "version": "2.3.36", + "version": "2.3.37", "author": "Marcus Ericsson (mericsson.com)", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -18,7 +18,7 @@ "deep-map": "^1.5.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-plugin-sharp": "^2.6.26", + "gatsby-plugin-sharp": "^2.6.27", "gatsby-source-filesystem": "^2.3.24", "is-online": "^8.4.0", "json-stringify-safe": "^5.0.1", diff --git a/packages/gatsby-telemetry/CHANGELOG.md b/packages/gatsby-telemetry/CHANGELOG.md index 7452d306a1790..d2e5ea5a10d67 100644 --- a/packages/gatsby-telemetry/CHANGELOG.md +++ b/packages/gatsby-telemetry/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.3.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-telemetry@1.3.26...gatsby-telemetry@1.3.27) (2020-08-11) + +**Note:** Version bump only for package gatsby-telemetry + ## [1.3.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-telemetry@1.3.25...gatsby-telemetry@1.3.26) (2020-08-05) **Note:** Version bump only for package gatsby-telemetry diff --git a/packages/gatsby-telemetry/package.json b/packages/gatsby-telemetry/package.json index 4c804096cb710..667207f258278 100644 --- a/packages/gatsby-telemetry/package.json +++ b/packages/gatsby-telemetry/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-telemetry", "description": "Gatsby Telemetry", - "version": "1.3.26", + "version": "1.3.27", "author": "Jarmo Isotalo ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" diff --git a/packages/gatsby-telemetry/src/__tests__/telemetry.ts b/packages/gatsby-telemetry/src/__tests__/telemetry.ts index f71a9eebb17dd..4dbaa46d60564 100644 --- a/packages/gatsby-telemetry/src/__tests__/telemetry.ts +++ b/packages/gatsby-telemetry/src/__tests__/telemetry.ts @@ -38,4 +38,22 @@ describe(`Telemetry`, () => { ) }) }) + + describe(`allows overriding defaults`, () => { + it(`allows overriding componentId`, () => { + const t = new AnalyticsTracker({ + componentId: `desktop`, + gatsbyCliVersion: `1.2.3-beta1`, + }) + t.buildAndStoreEvent(`demo`, {}) + expect( + (EventStorage as jest.Mock).mock.instances[1].addEvent + ).toHaveBeenCalledWith( + expect.objectContaining({ + componentId: `desktop`, + gatsbyCliVersion: `1.2.3-beta1`, + }) + ) + }) + }) }) diff --git a/packages/gatsby-telemetry/src/declarations.d.ts b/packages/gatsby-telemetry/src/declarations.d.ts deleted file mode 100644 index 0a5bde3e9a554..0000000000000 --- a/packages/gatsby-telemetry/src/declarations.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -type UUID = string - -declare namespace NodeJS { - interface Process { - gatsbyTelemetrySessionId: UUID; - } -} - diff --git a/packages/gatsby-telemetry/src/event-storage.ts b/packages/gatsby-telemetry/src/event-storage.ts index ef6052d9577ae..e50d77fa3d874 100644 --- a/packages/gatsby-telemetry/src/event-storage.ts +++ b/packages/gatsby-telemetry/src/event-storage.ts @@ -103,7 +103,7 @@ export class EventStorage { } } - getConfig(key: string): string | boolean | UUID | Record { + getConfig(key: string): string | boolean | Record { if (key) { return this.config.get(key) } diff --git a/packages/gatsby-telemetry/src/index.ts b/packages/gatsby-telemetry/src/index.ts index 7628d2312d3ce..4f03d5259e19a 100644 --- a/packages/gatsby-telemetry/src/index.ts +++ b/packages/gatsby-telemetry/src/index.ts @@ -1,4 +1,9 @@ -import { AnalyticsTracker, IAggregateStats } from "./telemetry" +import { + AnalyticsTracker, + IAggregateStats, + ITelemetryTagsPayload, + ITelemetryOptsPayload, +} from "./telemetry" import * as express from "express" import { createFlush } from "./create-flush" @@ -24,35 +29,84 @@ function tick(): void { .then(() => setTimeout(tick, interval)) } -module.exports = { - trackFeatureIsUsed: (name: string): void => instance.trackFeatureIsUsed(name), - trackCli: (input, tags, opts): void => - instance.captureEvent(input, tags, opts), - trackError: (input, tags): void => instance.captureError(input, tags), - trackBuildError: (input, tags): void => - instance.captureBuildError(input, tags), - setDefaultTags: (tags): void => instance.decorateAll(tags), - decorateEvent: (event, tags): void => instance.decorateNextEvent(event, tags), - setTelemetryEnabled: (enabled): void => instance.setTelemetryEnabled(enabled), - startBackgroundUpdate: (): void => { - setTimeout(tick, interval) - }, - isTrackingEnabled: (): boolean => instance.isTrackingEnabled(), - aggregateStats: (data): IAggregateStats => instance.aggregateStats(data), - addSiteMeasurement: (event, obj): void => - instance.addSiteMeasurement(event, obj), - expressMiddleware: function (source: string) { - return function ( - _req: express.Request, - _res: express.Response, - next - ): void { - try { - instance.trackActivity(`${source}_ACTIVE`) - } catch (e) { - // ignore - } - next() +export function trackFeatureIsUsed(name: string): void { + instance.trackFeatureIsUsed(name) +} +export function trackCli( + input: string | string[], + tags?: ITelemetryTagsPayload, + opts?: ITelemetryOptsPayload +): void { + instance.captureEvent(input, tags, opts) +} + +export function trackError(input, tags): void { + instance.captureError(input, tags) +} + +export function trackBuildError(input, tags): void { + instance.captureBuildError(input, tags) +} + +export function setDefaultTags(tags): void { + instance.decorateAll(tags) +} + +export function decorateEvent(event, tags): void { + instance.decorateNextEvent(event, tags) +} + +export function setTelemetryEnabled(enabled): void { + instance.setTelemetryEnabled(enabled) +} + +export function startBackgroundUpdate(): void { + setTimeout(tick, interval) +} + +export function isTrackingEnabled(): boolean { + return instance.isTrackingEnabled() +} + +export function aggregateStats(data): IAggregateStats { + return instance.aggregateStats(data) +} + +export function addSiteMeasurement(event, obj): void { + instance.addSiteMeasurement(event, obj) +} + +export function expressMiddleware(source: string) { + return function (_req: express.Request, _res: express.Response, next): void { + try { + instance.trackActivity(`${source}_ACTIVE`) + } catch (e) { + // ignore } - }, + next() + } +} + +// Internal +export function setDefaultComponentId(componentId): void { + instance.componentId = componentId +} + +export function setGatsbyCliVersion(version): void { + instance.gatsbyCliVersion = version +} + +module.exports = { + trackFeatureIsUsed, + trackCli, + trackError, + trackBuildError, + setDefaultTags, + decorateEvent, + setTelemetryEnabled, + startBackgroundUpdate, + isTrackingEnabled, + aggregateStats, + addSiteMeasurement, + expressMiddleware, } diff --git a/packages/gatsby-telemetry/src/telemetry.ts b/packages/gatsby-telemetry/src/telemetry.ts index 92836deecc096..cfff4a7b46022 100644 --- a/packages/gatsby-telemetry/src/telemetry.ts +++ b/packages/gatsby-telemetry/src/telemetry.ts @@ -14,12 +14,12 @@ import { join, sep } from "path" import isDocker from "is-docker" import lodash from "lodash" -const typedUUIDv4 = uuidV4 as () => UUID +const typedUUIDv4 = uuidV4 as () => string const finalEventRegex = /(END|STOP)$/ const dbEngine = `redux` -type SemVer = string +export type SemVer = string interface IOSInfo { nodeVersion: SemVer @@ -43,8 +43,53 @@ export interface IAggregateStats { skewness: number } +interface IAnalyticsTrackerConstructorParameters { + componentId?: SemVer + gatsbyCliVersion?: SemVer +} + +export interface ITelemetryTagsPayload { + name?: string + starterName?: string + pluginName?: string + exitCode?: number + duration?: number + uiSource?: string + valid?: boolean + plugins?: string[] + pathname?: string + error?: { + id?: string + code?: string + text: string + level?: string + type?: string + stack?: string + context?: string + error?: { + stack?: string + } + } + cacheStatus?: string + pluginCachePurged?: string + siteMeasurements?: { + pagesCount?: number + clientsCount?: number + paths?: string[] + bundleStats?: unknown + pageDataStats?: unknown + queryStats?: unknown + } + errorV2?: unknown +} + +export interface ITelemetryOptsPayload { + debounce?: boolean +} + export class AnalyticsTracker { store = new EventStorage() + componentId: string debouncer = {} metadataCache = {} defaultTags = {} @@ -56,9 +101,13 @@ export class AnalyticsTracker { installedGatsbyVersion?: SemVer repositoryId?: IRepositoryId features = new Set() - machineId: UUID + machineId: string - constructor() { + constructor({ + componentId, + gatsbyCliVersion, + }: IAnalyticsTrackerConstructorParameters = {}) { + this.componentId = componentId || `gatsby-cli` try { if (this.store.isTrackingDisabled()) { this.trackingEnabled = false @@ -68,7 +117,7 @@ export class AnalyticsTracker { // These may throw and should be last this.componentVersion = require(`../package.json`).version - this.gatsbyCliVersion = this.getGatsbyCliVersion() + this.gatsbyCliVersion = gatsbyCliVersion || this.getGatsbyCliVersion() this.installedGatsbyVersion = this.getGatsbyVersion() } catch (e) { // ignore @@ -78,11 +127,12 @@ export class AnalyticsTracker { // We might have two instances of this lib loaded, one from globally installed gatsby-cli and one from local gatsby. // Hence we need to use process level globals that are not scoped to this module - getSessionId(): UUID { - return ( - process.gatsbyTelemetrySessionId || - (process.gatsbyTelemetrySessionId = uuidV4()) - ) + getSessionId(): string { + const p = process as any + if (!p.gatsbyTelemetrySessionId) { + p.gatsbyTelemetrySessionId = uuidV4() + } + return p.gatsbyTelemetrySessionId } getRepositoryId(): IRepositoryId { @@ -136,7 +186,11 @@ export class AnalyticsTracker { return `-0.0.0` } - captureEvent(type = ``, tags = {}, opts = { debounce: false }): void { + captureEvent( + type: string | string[] = ``, + tags: ITelemetryTagsPayload = {}, + opts: ITelemetryOptsPayload = { debounce: false } + ): void { if (!this.isTrackingEnabled()) { return } @@ -168,7 +222,7 @@ export class AnalyticsTracker { return finalEventRegex.test(event) } - captureError(type, tags = {}): void { + captureError(type: string, tags: ITelemetryTagsPayload = {}): void { if (!this.isTrackingEnabled()) { return } @@ -180,7 +234,7 @@ export class AnalyticsTracker { this.formatErrorAndStoreEvent(eventType, lodash.merge({}, tags, decoration)) } - captureBuildError(type, tags = {}): void { + captureBuildError(type: string, tags: ITelemetryTagsPayload = {}): void { if (!this.isTrackingEnabled()) { return } @@ -191,7 +245,10 @@ export class AnalyticsTracker { this.formatErrorAndStoreEvent(eventType, lodash.merge({}, tags, decoration)) } - formatErrorAndStoreEvent(eventType, tags): void { + formatErrorAndStoreEvent( + eventType: string, + tags: ITelemetryTagsPayload + ): void { if (tags.error) { // `error` ought to have been `errors` but is `error` in the database if (Array.isArray(tags.error)) { @@ -222,7 +279,7 @@ export class AnalyticsTracker { this.buildAndStoreEvent(eventType, tags) } - buildAndStoreEvent(eventType, tags): void { + buildAndStoreEvent(eventType: string, tags: ITelemetryTagsPayload): void { const event = { installedGatsbyVersion: this.installedGatsbyVersion, gatsbyCliVersion: this.gatsbyCliVersion, @@ -231,7 +288,7 @@ export class AnalyticsTracker { sessionId: this.sessionId, time: new Date(), machineId: this.getMachineId(), - componentId: `gatsby-cli`, + componentId: this.componentId, osInformation: this.getOsInfo(), componentVersion: this.componentVersion, dbEngine, @@ -246,7 +303,7 @@ export class AnalyticsTracker { } } - getMachineId(): UUID { + getMachineId(): string { // Cache the result if (this.machineId) { return this.machineId @@ -296,7 +353,7 @@ export class AnalyticsTracker { return osInfo } - trackActivity(source): void { + trackActivity(source: string): void { if (!this.isTrackingEnabled()) { return } @@ -311,12 +368,12 @@ export class AnalyticsTracker { this.debouncer[source] = now } - decorateNextEvent(event, obj): void { + decorateNextEvent(event: string, obj): void { const cached = this.metadataCache[event] || {} this.metadataCache[event] = Object.assign(cached, obj) } - addSiteMeasurement(event, obj): void { + addSiteMeasurement(event: string, obj): void { const cachedEvent = this.metadataCache[event] || {} const cachedMeasurements = cachedEvent.siteMeasurements || {} this.metadataCache[event] = Object.assign(cachedEvent, { @@ -324,7 +381,7 @@ export class AnalyticsTracker { }) } - decorateAll(tags): void { + decorateAll(tags: ITelemetryTagsPayload): void { this.defaultTags = Object.assign(this.defaultTags, tags) } diff --git a/packages/gatsby-telemetry/tsconfig.json b/packages/gatsby-telemetry/tsconfig.json index 4082f16a5d91c..9607e81fc2993 100644 --- a/packages/gatsby-telemetry/tsconfig.json +++ b/packages/gatsby-telemetry/tsconfig.json @@ -1,3 +1,6 @@ { - "extends": "../../tsconfig.json" + "extends": "../../tsconfig.json", + "compilerOptions": { + "declaration": true + } } diff --git a/packages/gatsby-transformer-sharp/CHANGELOG.md b/packages/gatsby-transformer-sharp/CHANGELOG.md index b849c570399ac..245b4612ff433 100644 --- a/packages/gatsby-transformer-sharp/CHANGELOG.md +++ b/packages/gatsby-transformer-sharp/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.5.13](https://github.com/gatsbyjs/gatsby/compare/gatsby-transformer-sharp@2.5.12...gatsby-transformer-sharp@2.5.13) (2020-08-11) + +**Note:** Version bump only for package gatsby-transformer-sharp + ## [2.5.12](https://github.com/gatsbyjs/gatsby/compare/gatsby-transformer-sharp@2.5.11...gatsby-transformer-sharp@2.5.12) (2020-07-30) **Note:** Version bump only for package gatsby-transformer-sharp diff --git a/packages/gatsby-transformer-sharp/package.json b/packages/gatsby-transformer-sharp/package.json index d79fb46a939a2..15d2a929ec52c 100644 --- a/packages/gatsby-transformer-sharp/package.json +++ b/packages/gatsby-transformer-sharp/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-transformer-sharp", "description": "Gatsby transformer plugin for images using Sharp", - "version": "2.5.12", + "version": "2.5.13", "author": "Kyle Mathews ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -12,7 +12,7 @@ "fs-extra": "^8.1.0", "potrace": "^2.1.8", "probe-image-size": "^4.1.1", - "semver": "^5.7.1", + "semver": "^7.3.2", "sharp": "^0.25.1" }, "devDependencies": { diff --git a/packages/gatsby-transformer-sqip/CHANGELOG.md b/packages/gatsby-transformer-sqip/CHANGELOG.md index 555e65f69cadd..cdcdcfc55e59b 100644 --- a/packages/gatsby-transformer-sqip/CHANGELOG.md +++ b/packages/gatsby-transformer-sqip/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.3.27](https://github.com/gatsbyjs/gatsby/compare/gatsby-transformer-sqip@2.3.26...gatsby-transformer-sqip@2.3.27) (2020-08-11) + +**Note:** Version bump only for package gatsby-transformer-sqip + ## [2.3.26](https://github.com/gatsbyjs/gatsby/compare/gatsby-transformer-sqip@2.3.25...gatsby-transformer-sqip@2.3.26) (2020-08-10) **Note:** Version bump only for package gatsby-transformer-sqip diff --git a/packages/gatsby-transformer-sqip/package.json b/packages/gatsby-transformer-sqip/package.json index 123ab524bac99..6e592c2a97119 100644 --- a/packages/gatsby-transformer-sqip/package.json +++ b/packages/gatsby-transformer-sqip/package.json @@ -1,7 +1,7 @@ { "name": "gatsby-transformer-sqip", "description": "Generates geometric primitive version of images", - "version": "2.3.26", + "version": "2.3.27", "author": "Benedikt Rötsch ", "bugs": { "url": "https://github.com/gatsbyjs/gatsby/issues" @@ -10,7 +10,7 @@ "@babel/runtime": "^7.10.3", "bluebird": "^3.7.2", "fs-extra": "^8.1.0", - "gatsby-plugin-sharp": "^2.6.26", + "gatsby-plugin-sharp": "^2.6.27", "md5-file": "^4.0.0", "mini-svg-data-uri": "^1.2.3", "p-queue": "^2.4.2", diff --git a/packages/gatsby/CHANGELOG.md b/packages/gatsby/CHANGELOG.md index 45960492ef4b8..e25e8ecd086b5 100644 --- a/packages/gatsby/CHANGELOG.md +++ b/packages/gatsby/CHANGELOG.md @@ -3,6 +3,26 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [2.24.43](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.24.42...gatsby@2.24.43) (2020-08-11) + +### Bug Fixes + +- **gatsby:** improve the log for service lock issues ([#26360](https://github.com/gatsbyjs/gatsby/issues/26360)) ([5a4496c](https://github.com/gatsbyjs/gatsby/commit/5a4496c)) + +## [2.24.42](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.24.41...gatsby@2.24.42) (2020-08-11) + +### Bug Fixes + +- **gatsby:** set correct content-type header for socket.io.js ([#26358](https://github.com/gatsbyjs/gatsby/issues/26358)) ([87babc9](https://github.com/gatsbyjs/gatsby/commit/87babc9)) + +### Features + +- **gatsby-cli:** Allow setting the server status port ([#25862](https://github.com/gatsbyjs/gatsby/issues/25862)) ([67615bf](https://github.com/gatsbyjs/gatsby/commit/67615bf)) + +## [2.24.41](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.24.40...gatsby@2.24.41) (2020-08-11) + +**Note:** Version bump only for package gatsby + ## [2.24.40](https://github.com/gatsbyjs/gatsby/compare/gatsby@2.24.39...gatsby@2.24.40) (2020-08-10) **Note:** Version bump only for package gatsby diff --git a/packages/gatsby/cache-dir/app.js b/packages/gatsby/cache-dir/app.js index 7f272119e805a..e0f8dd419487f 100644 --- a/packages/gatsby/cache-dir/app.js +++ b/packages/gatsby/cache-dir/app.js @@ -53,6 +53,15 @@ apiRunnerAsync(`onClientEntry`).then(() => { parentSocket.emit(`develop:restart`) } }) + + // Prevents certain browsers spamming XHR 'ERR_CONNECTION_REFUSED' + // errors within the console, such as when exiting the develop process. + parentSocket.on(`disconnect`, () => { + console.warn( + `[socket.io] Disconnected. Unable to perform health-check.` + ) + parentSocket.close() + }) } }) diff --git a/packages/gatsby/cache-dir/socketIo.js b/packages/gatsby/cache-dir/socketIo.js index c645499a31e42..c7089f667f810 100644 --- a/packages/gatsby/cache-dir/socketIo.js +++ b/packages/gatsby/cache-dir/socketIo.js @@ -52,10 +52,18 @@ export default function socketIo() { clearError(msg.payload.id) } } + if (msg.type && msg.payload) { ___emitter.emit(msg.type, msg.payload) } }) + + // Prevents certain browsers spamming XHR 'ERR_CONNECTION_REFUSED' + // errors within the console, such as when exiting the develop process. + socket.on(`disconnect`, () => { + console.warn(`[socket.io] Disconnected from dev server.`) + socket.close() + }) } catch (err) { console.error(`Could not connect to socket.io on dev server.`) } diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index a85739b9e0918..7cce9df6f104e 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -1,7 +1,7 @@ { "name": "gatsby", "description": "Blazing fast modern site generator for React", - "version": "2.24.40", + "version": "2.24.43", "author": "Kyle Mathews ", "bin": { "gatsby": "./cli.js" @@ -71,15 +71,15 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.82", + "gatsby-cli": "^2.12.83", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-page-creator": "^2.3.22", "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", - "gatsby-telemetry": "^1.3.26", + "gatsby-telemetry": "^1.3.27", "glob": "^7.1.6", "got": "8.3.2", "graphql": "^14.6.0", @@ -125,7 +125,7 @@ "react-refresh": "^0.7.0", "redux": "^4.0.5", "redux-thunk": "^2.3.0", - "semver": "^5.7.1", + "semver": "^7.3.2", "shallow-compare": "^1.2.2", "signal-exit": "^3.0.3", "slugify": "^1.4.4", diff --git a/packages/gatsby/src/bootstrap/requires-writer.ts b/packages/gatsby/src/bootstrap/requires-writer.ts index 27e79c0205eac..0754f8ee44e70 100644 --- a/packages/gatsby/src/bootstrap/requires-writer.ts +++ b/packages/gatsby/src/bootstrap/requires-writer.ts @@ -195,7 +195,7 @@ export const writeAll = async (state: IGatsbyState): Promise => { let syncRequires = `${hotImport} // prefer default export if available -const preferDefault = m => m && m.default || m +const preferDefault = m => (m && m.default) || m \n\n` syncRequires += `exports.components = {\n${components .map( @@ -209,7 +209,7 @@ const preferDefault = m => m && m.default || m // Create file with async requires of components/json files. let asyncRequires = `// prefer default export if available -const preferDefault = m => m && m.default || m +const preferDefault = m => (m && m.default) || m \n` asyncRequires += `exports.components = {\n${components .map((c: IGatsbyPageComponent): string => { diff --git a/packages/gatsby/src/commands/develop.ts b/packages/gatsby/src/commands/develop.ts index 4b643ab66ba86..9d47b4f13c3cc 100644 --- a/packages/gatsby/src/commands/develop.ts +++ b/packages/gatsby/src/commands/develop.ts @@ -193,8 +193,15 @@ module.exports = async (program: IProgram): Promise => { // which users will access const proxyPort = program.port const debugInfo = getDebugInfo(program) + + // INTERNAL_STATUS_PORT allows for setting the websocket port used for monitoring + // when the browser should prompt the user to restart the develop process. + // This port is randomized by default and in most cases should never be required to configure. + // It is exposed for environments where port access needs to be explicit, such as with Docker. + // As the port is meant for internal usage only, any attempt to interface with features + // it exposes via third-party software is not supported. const [statusServerPort, developPort] = await Promise.all([ - getRandomPort(), + getRandomPort(process.env.INTERNAL_STATUS_PORT), getRandomPort(), ]) @@ -288,7 +295,9 @@ module.exports = async (program: IProgram): Promise => { const data = await getService(program.directory, `developproxy`) const port = data?.port || 8000 console.error( - `Looks like develop for this site is already running. Try visiting http://localhost:${port}/ maybe?` + `Looks like develop for this site is already running, can you visit ${ + program.ssl ? `https://` : `http://` + }://localhost:${port} ? If it is not, try again in five seconds!` ) process.exit(1) } diff --git a/packages/gatsby/src/utils/develop-proxy.ts b/packages/gatsby/src/utils/develop-proxy.ts index 26155e4d2ca9c..e0f44f780b895 100644 --- a/packages/gatsby/src/utils/develop-proxy.ts +++ b/packages/gatsby/src/utils/develop-proxy.ts @@ -61,6 +61,7 @@ export const startDevelopProxy = (input: { } if (req.url === `/socket.io/socket.io.js`) { + res.setHeader(`Content-Type`, `application/javascript`) res.end( fs.readFileSync(require.resolve(`socket.io-client/dist/socket.io.js`)) ) diff --git a/packages/gatsby/src/utils/restarting-screen.ts b/packages/gatsby/src/utils/restarting-screen.ts index d146b160bdad2..1d1619bcb75db 100644 --- a/packages/gatsby/src/utils/restarting-screen.ts +++ b/packages/gatsby/src/utils/restarting-screen.ts @@ -103,6 +103,13 @@ export default html` socket.on("develop:needs-restart", () => { socket.emit("develop:restart") }) + + socket.on("disconnect", () => { + console.warn( + "[socket.io] Disconnected. Unable to perform health-check." + ) + socket.close() + }) }) diff --git a/peril.settings.json b/peril.settings.json index 1dda792e5b930..aea7a0e4d23df 100644 --- a/peril.settings.json +++ b/peril.settings.json @@ -6,10 +6,7 @@ "modules": ["@slack/client", "joi", "js-yaml", "date-fns"] }, "rules": { - "issues.opened": ["peril/rules/emptybody.ts", "peril/rules/labeler.ts"], - "pull_request.closed (pull_request.merged == true)": [ - "peril/rules/invite-collaborator.ts" - ] + "issues.opened": ["peril/rules/emptybody.ts", "peril/rules/labeler.ts"] }, "repos": { "gatsbyjs/gatsby": { diff --git a/starters/blog/package-lock.json b/starters/blog/package-lock.json index 05a12a0a447c9..d78f27384650d 100644 --- a/starters/blog/package-lock.json +++ b/starters/blog/package-lock.json @@ -1146,9 +1146,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1244,11 +1244,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1260,9 +1260,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2285,9 +2285,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3255,9 +3255,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -4311,9 +4311,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001112", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz", - "integrity": "sha512-J05RTQlqsatidif/38aN3PGULCLrg8OYQOlJUKbeYVzC2mGZkZLIztwRlB3MtrfLmawUmjFlNJvy/uhwniIe1Q==" + "version": "1.0.30001113", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001113.tgz", + "integrity": "sha512-qMvjHiKH21zzM/VDZr6oosO6Ri3U0V2tC015jRXjOecwQCJtsU5zklTNTk31jQbIOP8gha0h1ccM/g0ECP+4BA==" }, "case": { "version": "1.6.3", @@ -6462,9 +6462,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.526", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.526.tgz", - "integrity": "sha512-HiroW5ZbGwgT8kCnoEO8qnGjoTPzJxduvV/Vv/wH63eo2N6Zj3xT5fmmaSPAPUM05iN9/5fIEkIg3owTtV6QZg==" + "version": "1.3.529", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.529.tgz", + "integrity": "sha512-n3sriLldqNyjBlosbnPftjCY+m1dVOY307I1Y0HaHAqDGe3hRvK7ksJwWd+qs599ybR4jobCo1+7zXM9GyNMSA==" }, "elliptic": { "version": "6.5.3", @@ -8084,9 +8084,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -8109,7 +8109,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8149,13 +8149,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8238,9 +8238,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8256,7 +8256,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8361,9 +8361,9 @@ } }, "gatsby-image": { - "version": "2.4.14", - "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.14.tgz", - "integrity": "sha512-JO4Ul+EMCCPS0FddFc8USCDl5roUZDOXg8x99DxE0UShuZTEAtkn+kb8KzpvtPlnwt/0YwBUpcvVrat3yAVz2w==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.15.tgz", + "integrity": "sha512-18DbwBXFHytFxk3N2mRO4g4dI+cm/0lUk8WP0jGKrJlgMxUYGf5KuIfugTPbTxC0CAR48DKJqB7CZGcpaGFC+g==", "requires": { "@babel/runtime": "^7.10.3", "object-fit-images": "^3.2.4", @@ -8464,9 +8464,9 @@ } }, "gatsby-plugin-offline": { - "version": "3.2.22", - "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.22.tgz", - "integrity": "sha512-kaydtoYpsSzFaj7pYnI4rOSsAIZz2yZocpIeg+or6f63EKRMaR4eABXuIeOou6unmFvQ1azJcaVi09Zbi0kGBg==", + "version": "3.2.23", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.23.tgz", + "integrity": "sha512-EVVRfodgv7+oxterlg1DjU4GXKcRCho9DbrTPyAnadVjSdhwvsIfviLZRNxsYlYalMmOMzC1QsXe94tznNlMrA==", "requires": { "@babel/runtime": "^7.10.3", "cheerio": "^1.0.0-rc.3", @@ -8478,17 +8478,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-react-helmet": { @@ -8500,9 +8515,9 @@ } }, "gatsby-plugin-sharp": { - "version": "2.6.25", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.25.tgz", - "integrity": "sha512-FbEGPwYnVr4ZRC5XPLGEyrUZqaKoztBveSXqzHW4P1YNIKXxVdJV/1YbcfWrR2v5xlTu8ZQUZOIbsl9bIwhLIg==", + "version": "2.6.26", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.26.tgz", + "integrity": "sha512-0eUYckQlBy+WkO3qoGvJJsYFrDcyjbOXRGc9cG5K3bv/TF720I7idV1X5sW9uw+2pm8LxHwB2ZYjchg04aoJtA==", "requires": { "@babel/runtime": "^7.10.3", "async": "^2.6.3", @@ -8535,9 +8550,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -8545,7 +8560,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-plugin-typography": { @@ -8565,9 +8580,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -8614,6 +8629,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -10818,6 +10834,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/blog/package.json b/starters/blog/package.json index 0911fca665877..df6a349a4465c 100644 --- a/starters/blog/package.json +++ b/starters/blog/package.json @@ -8,14 +8,14 @@ "url": "https://github.com/gatsbyjs/gatsby/issues" }, "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-feed": "^2.5.11", "gatsby-plugin-google-analytics": "^2.3.13", "gatsby-plugin-manifest": "^2.4.22", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-plugin-typography": "^2.5.10", "gatsby-remark-copy-linked-files": "^2.3.12", "gatsby-remark-images": "^3.3.25", diff --git a/starters/default/package-lock.json b/starters/default/package-lock.json index 0471dc58ff9b4..8268c96426b56 100644 --- a/starters/default/package-lock.json +++ b/starters/default/package-lock.json @@ -1108,9 +1108,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1206,11 +1206,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1222,9 +1222,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2242,9 +2242,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3189,9 +3189,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -4245,9 +4245,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001112", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz", - "integrity": "sha512-J05RTQlqsatidif/38aN3PGULCLrg8OYQOlJUKbeYVzC2mGZkZLIztwRlB3MtrfLmawUmjFlNJvy/uhwniIe1Q==" + "version": "1.0.30001113", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001113.tgz", + "integrity": "sha512-qMvjHiKH21zzM/VDZr6oosO6Ri3U0V2tC015jRXjOecwQCJtsU5zklTNTk31jQbIOP8gha0h1ccM/g0ECP+4BA==" }, "case": { "version": "1.6.3", @@ -6350,9 +6350,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.526", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.526.tgz", - "integrity": "sha512-HiroW5ZbGwgT8kCnoEO8qnGjoTPzJxduvV/Vv/wH63eo2N6Zj3xT5fmmaSPAPUM05iN9/5fIEkIg3owTtV6QZg==" + "version": "1.3.529", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.529.tgz", + "integrity": "sha512-n3sriLldqNyjBlosbnPftjCY+m1dVOY307I1Y0HaHAqDGe3hRvK7ksJwWd+qs599ybR4jobCo1+7zXM9GyNMSA==" }, "elliptic": { "version": "6.5.3", @@ -7972,9 +7972,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -7997,7 +7997,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8037,13 +8037,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8126,9 +8126,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8144,7 +8144,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8249,9 +8249,9 @@ } }, "gatsby-image": { - "version": "2.4.14", - "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.14.tgz", - "integrity": "sha512-JO4Ul+EMCCPS0FddFc8USCDl5roUZDOXg8x99DxE0UShuZTEAtkn+kb8KzpvtPlnwt/0YwBUpcvVrat3yAVz2w==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.15.tgz", + "integrity": "sha512-18DbwBXFHytFxk3N2mRO4g4dI+cm/0lUk8WP0jGKrJlgMxUYGf5KuIfugTPbTxC0CAR48DKJqB7CZGcpaGFC+g==", "requires": { "@babel/runtime": "^7.10.3", "object-fit-images": "^3.2.4", @@ -8331,9 +8331,9 @@ } }, "gatsby-plugin-offline": { - "version": "3.2.22", - "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.22.tgz", - "integrity": "sha512-kaydtoYpsSzFaj7pYnI4rOSsAIZz2yZocpIeg+or6f63EKRMaR4eABXuIeOou6unmFvQ1azJcaVi09Zbi0kGBg==", + "version": "3.2.23", + "resolved": "https://registry.npmjs.org/gatsby-plugin-offline/-/gatsby-plugin-offline-3.2.23.tgz", + "integrity": "sha512-EVVRfodgv7+oxterlg1DjU4GXKcRCho9DbrTPyAnadVjSdhwvsIfviLZRNxsYlYalMmOMzC1QsXe94tznNlMrA==", "requires": { "@babel/runtime": "^7.10.3", "cheerio": "^1.0.0-rc.3", @@ -8345,17 +8345,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-react-helmet": { @@ -8367,9 +8382,9 @@ } }, "gatsby-plugin-sharp": { - "version": "2.6.25", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.25.tgz", - "integrity": "sha512-FbEGPwYnVr4ZRC5XPLGEyrUZqaKoztBveSXqzHW4P1YNIKXxVdJV/1YbcfWrR2v5xlTu8ZQUZOIbsl9bIwhLIg==", + "version": "2.6.26", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.26.tgz", + "integrity": "sha512-0eUYckQlBy+WkO3qoGvJJsYFrDcyjbOXRGc9cG5K3bv/TF720I7idV1X5sW9uw+2pm8LxHwB2ZYjchg04aoJtA==", "requires": { "@babel/runtime": "^7.10.3", "async": "^2.6.3", @@ -8402,9 +8417,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -8412,7 +8427,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -8424,9 +8439,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -8473,6 +8488,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -10111,6 +10127,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/default/package.json b/starters/default/package.json index c3001d9bd61ec..ec4b04c5f0640 100644 --- a/starters/default/package.json +++ b/starters/default/package.json @@ -5,12 +5,12 @@ "version": "0.1.0", "author": "Kyle Mathews ", "dependencies": { - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", - "gatsby-plugin-offline": "^3.2.22", + "gatsby-plugin-offline": "^3.2.23", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "prop-types": "^15.7.2", diff --git a/starters/gatsby-starter-blog-theme-core/package-lock.json b/starters/gatsby-starter-blog-theme-core/package-lock.json index a7e9485bc4d85..e44d199c8a03e 100644 --- a/starters/gatsby-starter-blog-theme-core/package-lock.json +++ b/starters/gatsby-starter-blog-theme-core/package-lock.json @@ -1108,9 +1108,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1206,11 +1206,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1222,9 +1222,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2249,9 +2249,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3211,9 +3211,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -8090,9 +8090,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -8115,7 +8115,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8155,13 +8155,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8244,9 +8244,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8262,7 +8262,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8544,17 +8544,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-sharp": { @@ -8593,9 +8608,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -8603,7 +8618,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -8615,9 +8630,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -8664,6 +8679,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -10736,6 +10752,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-blog-theme-core/package.json b/starters/gatsby-starter-blog-theme-core/package.json index e97965989ffc7..0206baeecf8da 100644 --- a/starters/gatsby-starter-blog-theme-core/package.json +++ b/starters/gatsby-starter-blog-theme-core/package.json @@ -11,7 +11,7 @@ "license": "0BSD", "dependencies": { "@mdx-js/react": "^1.6.16", - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-blog-core": "^1.5.61", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/starters/gatsby-starter-blog-theme/package-lock.json b/starters/gatsby-starter-blog-theme/package-lock.json index e67fe802222d2..164f2dae8a2af 100644 --- a/starters/gatsby-starter-blog-theme/package-lock.json +++ b/starters/gatsby-starter-blog-theme/package-lock.json @@ -1398,11 +1398,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1414,9 +1414,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2650,9 +2650,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3612,9 +3612,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -8498,9 +8498,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -8523,7 +8523,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8563,13 +8563,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8652,9 +8652,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8670,7 +8670,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8995,17 +8995,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-react-helmet": { @@ -9065,9 +9080,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -9075,7 +9090,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -9087,9 +9102,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -9136,6 +9151,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -11251,6 +11267,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-blog-theme/package.json b/starters/gatsby-starter-blog-theme/package.json index a91ad4980188c..1ec45e1422723 100644 --- a/starters/gatsby-starter-blog-theme/package.json +++ b/starters/gatsby-starter-blog-theme/package.json @@ -10,7 +10,7 @@ }, "license": "0BSD", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-blog": "^2.0.1", "react": "^16.12.0", "react-dom": "^16.12.0", diff --git a/starters/gatsby-starter-mdx-basic/package-lock.json b/starters/gatsby-starter-mdx-basic/package-lock.json index 4a6df9436b983..5e8635e204dbb 100644 --- a/starters/gatsby-starter-mdx-basic/package-lock.json +++ b/starters/gatsby-starter-mdx-basic/package-lock.json @@ -1142,9 +1142,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1240,11 +1240,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1256,9 +1256,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2305,9 +2305,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3267,9 +3267,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -8134,9 +8134,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -8159,7 +8159,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8199,13 +8199,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8301,9 +8301,9 @@ } }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8319,7 +8319,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8424,9 +8424,9 @@ } }, "gatsby-image": { - "version": "2.4.14", - "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.14.tgz", - "integrity": "sha512-JO4Ul+EMCCPS0FddFc8USCDl5roUZDOXg8x99DxE0UShuZTEAtkn+kb8KzpvtPlnwt/0YwBUpcvVrat3yAVz2w==", + "version": "2.4.15", + "resolved": "https://registry.npmjs.org/gatsby-image/-/gatsby-image-2.4.15.tgz", + "integrity": "sha512-18DbwBXFHytFxk3N2mRO4g4dI+cm/0lUk8WP0jGKrJlgMxUYGf5KuIfugTPbTxC0CAR48DKJqB7CZGcpaGFC+g==", "requires": { "@babel/runtime": "^7.10.3", "object-fit-images": "^3.2.4", @@ -8640,17 +8640,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-react-helmet": { @@ -8662,9 +8677,9 @@ } }, "gatsby-plugin-sharp": { - "version": "2.6.25", - "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.25.tgz", - "integrity": "sha512-FbEGPwYnVr4ZRC5XPLGEyrUZqaKoztBveSXqzHW4P1YNIKXxVdJV/1YbcfWrR2v5xlTu8ZQUZOIbsl9bIwhLIg==", + "version": "2.6.26", + "resolved": "https://registry.npmjs.org/gatsby-plugin-sharp/-/gatsby-plugin-sharp-2.6.26.tgz", + "integrity": "sha512-0eUYckQlBy+WkO3qoGvJJsYFrDcyjbOXRGc9cG5K3bv/TF720I7idV1X5sW9uw+2pm8LxHwB2ZYjchg04aoJtA==", "requires": { "@babel/runtime": "^7.10.3", "async": "^2.6.3", @@ -8697,9 +8712,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -8707,7 +8722,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -8719,9 +8734,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -8768,6 +8783,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -10651,6 +10667,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-mdx-basic/package.json b/starters/gatsby-starter-mdx-basic/package.json index a30d1e24945fc..80b1b36e07b8d 100644 --- a/starters/gatsby-starter-mdx-basic/package.json +++ b/starters/gatsby-starter-mdx-basic/package.json @@ -6,13 +6,13 @@ "dependencies": { "@mdx-js/mdx": "^1.6.16", "@mdx-js/react": "^1.6.16", - "gatsby": "^2.24.37", - "gatsby-image": "^2.4.14", + "gatsby": "^2.24.41", + "gatsby-image": "^2.4.15", "gatsby-plugin-manifest": "^2.4.22", "gatsby-plugin-mdx": "^1.2.34", "gatsby-plugin-offline": "^2.2.10", "gatsby-plugin-react-helmet": "^3.3.10", - "gatsby-plugin-sharp": "^2.6.25", + "gatsby-plugin-sharp": "^2.6.26", "gatsby-source-filesystem": "^2.3.24", "gatsby-transformer-sharp": "^2.5.12", "prop-types": "^15.7.2", diff --git a/starters/gatsby-starter-minimal/package-lock.json b/starters/gatsby-starter-minimal/package-lock.json index 5f5bb2c764428..b884787c1d389 100644 --- a/starters/gatsby-starter-minimal/package-lock.json +++ b/starters/gatsby-starter-minimal/package-lock.json @@ -1108,9 +1108,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1206,11 +1206,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1222,9 +1222,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -1905,9 +1905,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -2787,9 +2787,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -3565,9 +3565,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001112", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz", - "integrity": "sha512-J05RTQlqsatidif/38aN3PGULCLrg8OYQOlJUKbeYVzC2mGZkZLIztwRlB3MtrfLmawUmjFlNJvy/uhwniIe1Q==" + "version": "1.0.30001113", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001113.tgz", + "integrity": "sha512-qMvjHiKH21zzM/VDZr6oosO6Ri3U0V2tC015jRXjOecwQCJtsU5zklTNTk31jQbIOP8gha0h1ccM/g0ECP+4BA==" }, "case": { "version": "1.6.3", @@ -5326,9 +5326,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.526", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.526.tgz", - "integrity": "sha512-HiroW5ZbGwgT8kCnoEO8qnGjoTPzJxduvV/Vv/wH63eo2N6Zj3xT5fmmaSPAPUM05iN9/5fIEkIg3owTtV6QZg==" + "version": "1.3.529", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.529.tgz", + "integrity": "sha512-n3sriLldqNyjBlosbnPftjCY+m1dVOY307I1Y0HaHAqDGe3hRvK7ksJwWd+qs599ybR4jobCo1+7zXM9GyNMSA==" }, "elliptic": { "version": "6.5.3", @@ -6847,9 +6847,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -6872,7 +6872,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -6912,13 +6912,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -7001,9 +7001,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -7019,7 +7019,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -7185,23 +7185,38 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -7209,7 +7224,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -7221,9 +7236,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -7270,6 +7285,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -8559,6 +8575,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-minimal/package.json b/starters/gatsby-starter-minimal/package.json index 3f0456af05cda..be9f65c06cb4f 100644 --- a/starters/gatsby-starter-minimal/package.json +++ b/starters/gatsby-starter-minimal/package.json @@ -15,7 +15,7 @@ }, "license": "0BSD", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.13.1", "react-dom": "^16.13.1" } diff --git a/starters/gatsby-starter-notes-theme/package-lock.json b/starters/gatsby-starter-notes-theme/package-lock.json index 406c555a151ab..c0667ca57d023 100644 --- a/starters/gatsby-starter-notes-theme/package-lock.json +++ b/starters/gatsby-starter-notes-theme/package-lock.json @@ -1225,11 +1225,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1241,9 +1241,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -1942,9 +1942,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -2847,9 +2847,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -7098,9 +7098,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -7123,7 +7123,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -7163,13 +7163,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -7252,9 +7252,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -7270,7 +7270,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -7597,17 +7597,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-redirects": { @@ -7624,9 +7639,9 @@ "integrity": "sha512-AlQC+uC9lvrP3LlGsLe0f0azp7B5c49qWl4b3FDj8xbravBoqFmJT7XrNTpYYbxnCnx/K1v0QtwP8qindw0S2g==" }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -7634,7 +7649,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -7646,9 +7661,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -7695,6 +7710,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -9291,6 +9307,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-notes-theme/package.json b/starters/gatsby-starter-notes-theme/package.json index 3d8fb490eef87..b86be83bff996 100644 --- a/starters/gatsby-starter-notes-theme/package.json +++ b/starters/gatsby-starter-notes-theme/package.json @@ -10,7 +10,7 @@ }, "license": "0BSD", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-notes": "^1.3.87", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/starters/gatsby-starter-theme-workspace/example/package.json b/starters/gatsby-starter-theme-workspace/example/package.json index c87cc33ccfa61..1b0aa212098bc 100644 --- a/starters/gatsby-starter-theme-workspace/example/package.json +++ b/starters/gatsby-starter-theme-workspace/example/package.json @@ -9,7 +9,7 @@ "build": "gatsby build" }, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-minimal": "^1.0.0", "react": "^16.12.0", "react-dom": "^16.12.0" diff --git a/starters/gatsby-starter-theme/package-lock.json b/starters/gatsby-starter-theme/package-lock.json index 8008380399a69..1aa7cc859c2b5 100644 --- a/starters/gatsby-starter-theme/package-lock.json +++ b/starters/gatsby-starter-theme/package-lock.json @@ -1225,11 +1225,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1241,9 +1241,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -2279,9 +2279,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -3241,9 +3241,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -8144,9 +8144,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -8169,7 +8169,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -8209,13 +8209,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -8298,9 +8298,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -8316,7 +8316,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -8665,17 +8665,32 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-react-helmet": { @@ -8743,9 +8758,9 @@ } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -8753,7 +8768,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -8765,9 +8780,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -8814,6 +8829,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -11108,6 +11124,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/gatsby-starter-theme/package.json b/starters/gatsby-starter-theme/package.json index c5920070636b5..684d4408b997c 100644 --- a/starters/gatsby-starter-theme/package.json +++ b/starters/gatsby-starter-theme/package.json @@ -10,7 +10,7 @@ }, "license": "0BSD", "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "gatsby-theme-blog": "^1.6.61", "gatsby-theme-notes": "^1.3.87", "react": "^16.12.0", diff --git a/starters/hello-world/package-lock.json b/starters/hello-world/package-lock.json index e246e30bca0ee..c204862e766e0 100644 --- a/starters/hello-world/package-lock.json +++ b/starters/hello-world/package-lock.json @@ -1108,9 +1108,9 @@ } }, "@emotion/core": { - "version": "10.0.28", - "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.28.tgz", - "integrity": "sha512-pH8UueKYO5jgg0Iq+AmCLxBsvuGtvlmiDCOuv8fGNYn3cowFpLN98L8zO56U0H1PjDIyAlXymgL3Wu7u7v6hbA==", + "version": "10.0.34", + "resolved": "https://registry.npmjs.org/@emotion/core/-/core-10.0.34.tgz", + "integrity": "sha512-Kcs8WHZG1NgaVFQsSpgN07G0xpfPAKUclwKvUqKrYrJovezl9uTz++1M4JfXHrgFVEiJ5QO46hMo1ZDDfvY/tw==", "requires": { "@babel/runtime": "^7.5.5", "@emotion/cache": "^10.0.27", @@ -1206,11 +1206,11 @@ "integrity": "sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA==" }, "@graphql-tools/schema": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.16.tgz", - "integrity": "sha512-e5jqE13L5eywCc0Uqlf2ThgScj1KgrCQmwvm+giVK0Dh9goMbwLZt/ciEJSr/LYn/vsH5sec9Qu5Jml6IX7zLA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/schema/-/schema-6.0.17.tgz", + "integrity": "sha512-Fpuvsmc1hUF+dgebEYEQryRGj+HS0jdmVmXR4ojMT9mkwROdGtwH3G18zy15feNLe1k3hKp6HdS5TI8fUkwdKg==", "requires": { - "@graphql-tools/utils": "6.0.16", + "@graphql-tools/utils": "6.0.17", "tslib": "~2.0.0" }, "dependencies": { @@ -1222,9 +1222,9 @@ } }, "@graphql-tools/utils": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.16.tgz", - "integrity": "sha512-WSYVqiIpda0CzXgHuKBJkqE0zZs4aruoVxn5KVMmqDoZbPVJ4f/pATVgKYyelOlBlx5gOfs8PCFpWcQhDB39LA==", + "version": "6.0.17", + "resolved": "https://registry.npmjs.org/@graphql-tools/utils/-/utils-6.0.17.tgz", + "integrity": "sha512-msV5a15fd6g5LnR+9EwrWin/OV0Ixy/dFkcXMLPmCVbh9cXtqVU9eqmLYxKRM8p4kXoBGlWAgibBaLhrSrLgjw==", "requires": { "@ardatan/aggregate-error": "0.0.1", "camel-case": "4.1.1" @@ -1905,9 +1905,9 @@ } }, "@types/react": { - "version": "16.9.45", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.45.tgz", - "integrity": "sha512-vv950slTF5UZ5eDOf13b8qC1SD4rTvkqg3HfaUKzr17U97oeJZAa+dUaIHn0QoOJflNTIt6Pem9MmapULs9dkA==", + "version": "16.9.46", + "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.46.tgz", + "integrity": "sha512-dbHzO3aAq1lB3jRQuNpuZ/mnu+CdD3H0WVaaBQA8LTT3S33xhVBUj232T8M3tAhSWJs/D/UqORYUlJNl/8VQZg==", "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -2787,9 +2787,9 @@ "integrity": "sha512-JrB9ZASlMAfkRF+5NdgoQxgenhJxzXFEO1vrqsSDJdzLrC38L2wrvXF9mm1YLbrehkZxcrNz9UYDyARP4jaY9g==" }, "babel-plugin-remove-graphql-queries": { - "version": "2.9.16", - "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.16.tgz", - "integrity": "sha512-7Z+awkeghPRk4axY8N6ywQu9GpxpqHTkXRiZ+VxDaIppbybeZsAQ7uA6B4B63M4nm0BSOrHZzZWuT/kOg2RA8g==" + "version": "2.9.17", + "resolved": "https://registry.npmjs.org/babel-plugin-remove-graphql-queries/-/babel-plugin-remove-graphql-queries-2.9.17.tgz", + "integrity": "sha512-ThFGZlxD+U4H+aSX4DRpz7pdJq6Y7wob0rDDx7Q2rZPp9lbNfnGACUjPyTiCIy8EsBMpPYvT4WZjb4Gd0Xq6zQ==" }, "babel-plugin-syntax-jsx": { "version": "6.18.0", @@ -3565,9 +3565,9 @@ } }, "caniuse-lite": { - "version": "1.0.30001112", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001112.tgz", - "integrity": "sha512-J05RTQlqsatidif/38aN3PGULCLrg8OYQOlJUKbeYVzC2mGZkZLIztwRlB3MtrfLmawUmjFlNJvy/uhwniIe1Q==" + "version": "1.0.30001113", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001113.tgz", + "integrity": "sha512-qMvjHiKH21zzM/VDZr6oosO6Ri3U0V2tC015jRXjOecwQCJtsU5zklTNTk31jQbIOP8gha0h1ccM/g0ECP+4BA==" }, "case": { "version": "1.6.3", @@ -5326,9 +5326,9 @@ "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" }, "electron-to-chromium": { - "version": "1.3.526", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.526.tgz", - "integrity": "sha512-HiroW5ZbGwgT8kCnoEO8qnGjoTPzJxduvV/Vv/wH63eo2N6Zj3xT5fmmaSPAPUM05iN9/5fIEkIg3owTtV6QZg==" + "version": "1.3.529", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.529.tgz", + "integrity": "sha512-n3sriLldqNyjBlosbnPftjCY+m1dVOY307I1Y0HaHAqDGe3hRvK7ksJwWd+qs599ybR4jobCo1+7zXM9GyNMSA==" }, "elliptic": { "version": "6.5.3", @@ -6847,9 +6847,9 @@ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" }, "gatsby": { - "version": "2.24.37", - "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.37.tgz", - "integrity": "sha512-WCrNQ9KUqTKV2mteZvJQ3m7Y7nakdJHAI8T6k+7prsDe9jCErzhWw+RtB3F309kpWnIEBH2ZfOk/sX9/DVFF+w==", + "version": "2.24.41", + "resolved": "https://registry.npmjs.org/gatsby/-/gatsby-2.24.41.tgz", + "integrity": "sha512-sEr/eiJKl9MQudgpOyBMgLDvUoZbQO3zIunn4+nSzkBEdDFrSDLNdUVuX3ojQV5230eA2phhARygFrgGjk9Crg==", "requires": { "@babel/code-frame": "^7.10.3", "@babel/core": "^7.10.3", @@ -6872,7 +6872,7 @@ "babel-loader": "^8.1.0", "babel-plugin-add-module-exports": "^0.3.3", "babel-plugin-dynamic-import-node": "^2.3.3", - "babel-plugin-remove-graphql-queries": "^2.9.16", + "babel-plugin-remove-graphql-queries": "^2.9.17", "babel-preset-gatsby": "^0.5.5", "better-opn": "1.0.0", "better-queue": "^3.8.10", @@ -6912,13 +6912,13 @@ "find-cache-dir": "^3.3.1", "fs-exists-cached": "1.0.0", "fs-extra": "^8.1.0", - "gatsby-cli": "^2.12.80", + "gatsby-cli": "^2.12.82", "gatsby-core-utils": "^1.3.15", "gatsby-graphiql-explorer": "^0.4.12", "gatsby-legacy-polyfills": "^0.0.2", "gatsby-link": "^2.4.13", - "gatsby-plugin-page-creator": "^2.3.20", - "gatsby-plugin-typescript": "^2.4.17", + "gatsby-plugin-page-creator": "^2.3.21", + "gatsby-plugin-typescript": "^2.4.18", "gatsby-react-router-scroll": "^3.0.12", "gatsby-telemetry": "^1.3.26", "glob": "^7.1.6", @@ -7001,9 +7001,9 @@ "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" }, "gatsby-cli": { - "version": "2.12.80", - "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.80.tgz", - "integrity": "sha512-B8KUYMnepRSGexV4XjWhVAUUXy6TsmvUElQ0E3OgyI9RxpoKsCprJzhG96A+Df7Rgx+cPkV1fGArbOjfxnF4lQ==", + "version": "2.12.82", + "resolved": "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-2.12.82.tgz", + "integrity": "sha512-KB+aHONL5FDlzCAxeP/ySklFlqsqpRDo/CotYymKSRP/mBRiPLTUqGsiMx6PRjS8df1kweX4mZ+BcPu3pKn3sA==", "requires": { "@babel/code-frame": "^7.10.3", "@hapi/joi": "^15.1.1", @@ -7019,7 +7019,7 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^8.1.0", "gatsby-core-utils": "^1.3.15", - "gatsby-recipes": "^0.2.10", + "gatsby-recipes": "^0.2.12", "gatsby-telemetry": "^1.3.26", "hosted-git-info": "^3.0.4", "ink": "^2.7.1", @@ -7185,23 +7185,38 @@ } }, "gatsby-plugin-page-creator": { - "version": "2.3.20", - "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.20.tgz", - "integrity": "sha512-EtoKgXNXvkY5IA4XvBPhlM5TelR6R04e3fpcGWuYO4oqts/9Ih0GGI9CzUBRXNwM5MplNBUcUutyAwMtT9NzVA==", + "version": "2.3.21", + "resolved": "https://registry.npmjs.org/gatsby-plugin-page-creator/-/gatsby-plugin-page-creator-2.3.21.tgz", + "integrity": "sha512-DlkKW6UOfM6sap2vyqwcEfkECugYblaa5t7oNBydU7U2rR7bAFyZCfuwPMfMhDrYwWnTtY0pH8q2Yz+tT9aAOg==", "requires": { - "@babel/runtime": "^7.10.3", - "bluebird": "^3.7.2", + "@babel/traverse": "^7.10.2", "fs-exists-cached": "^1.0.0", "gatsby-page-utils": "^0.2.20", - "glob": "^7.1.6", + "globby": "^11.0.1", + "graphql": "^14.6.0", "lodash": "^4.17.15", - "micromatch": "^3.1.10" + "slugify": "^1.4.4" + }, + "dependencies": { + "globby": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", + "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } } }, "gatsby-plugin-typescript": { - "version": "2.4.17", - "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.17.tgz", - "integrity": "sha512-Bp0e2Nc3CYYfhYvvIO7DIZOzy6hlYDJFBE/rHPK9mu5RLX8THqNmT53579SJWx4ozSPCNK41EfPbAJdtEgEPaA==", + "version": "2.4.18", + "resolved": "https://registry.npmjs.org/gatsby-plugin-typescript/-/gatsby-plugin-typescript-2.4.18.tgz", + "integrity": "sha512-irFd9xu+LjEmL7olcuUziVSb2yRf0nVWFwgaDb+l5rfU6HeKr3zyHuxLqBMwvXWTxu6gVs8sAJVXCcxxM4DbeA==", "requires": { "@babel/core": "^7.10.3", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.1", @@ -7209,7 +7224,7 @@ "@babel/plugin-proposal-optional-chaining": "^7.10.3", "@babel/preset-typescript": "^7.10.1", "@babel/runtime": "^7.10.3", - "babel-plugin-remove-graphql-queries": "^2.9.16" + "babel-plugin-remove-graphql-queries": "^2.9.17" } }, "gatsby-react-router-scroll": { @@ -7221,9 +7236,9 @@ } }, "gatsby-recipes": { - "version": "0.2.10", - "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.10.tgz", - "integrity": "sha512-4iL9ZaZxIk1qTHCq+bFhT7edFJVuyWLInQKwQLsxxHIzM5DcizB21Lw62lzAOcACLiXzmJTofgVQOw+17c6Yhw==", + "version": "0.2.12", + "resolved": "https://registry.npmjs.org/gatsby-recipes/-/gatsby-recipes-0.2.12.tgz", + "integrity": "sha512-lvZzxqk2gqmFJipb5liCeVGbRRT1H4OOaLsJ9dT1TgbSrf1YnpvvfEEaJuOnm/prHs1oOlEdf14ZooA5OxhJeA==", "requires": { "@babel/core": "^7.9.6", "@babel/generator": "^7.9.6", @@ -7270,6 +7285,7 @@ "graphql-type-json": "^0.3.2", "hicat": "^0.7.0", "html-tag-names": "^1.1.5", + "ink-box": "^1.0.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", "isomorphic-fetch": "^2.1.0", @@ -8559,6 +8575,143 @@ } } }, + "ink-box": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ink-box/-/ink-box-1.0.0.tgz", + "integrity": "sha512-wD2ldWX9lcE/6+flKbAJ0TZF7gKbTH8CRdhEor6DD8d+V0hPITrrGeST2reDBpCia8wiqHrdxrqTyafwtmVanA==", + "requires": { + "boxen": "^3.0.0", + "prop-types": "^15.7.2" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==" + }, + "boxen": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-3.2.0.tgz", + "integrity": "sha512-cU4J/+NodM3IHdSL2yN8bqYqnmlBTidDR4RC7nJs61ZmtGz8VZzM3HLQX0zY5mrSmPtR3xWwsq2jOUQqFZN8+A==", + "requires": { + "ansi-align": "^3.0.0", + "camelcase": "^5.3.1", + "chalk": "^2.4.2", + "cli-boxes": "^2.2.0", + "string-width": "^3.0.0", + "term-size": "^1.2.0", + "type-fest": "^0.3.0", + "widest-line": "^2.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "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" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "term-size": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz", + "integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=", + "requires": { + "execa": "^0.7.0" + } + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==" + }, + "widest-line": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", + "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", + "requires": { + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + } + } + }, "ink-spinner": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/ink-spinner/-/ink-spinner-3.1.0.tgz", diff --git a/starters/hello-world/package.json b/starters/hello-world/package.json index 065c9085d1308..82adf3a9697a7 100644 --- a/starters/hello-world/package.json +++ b/starters/hello-world/package.json @@ -14,7 +14,7 @@ "test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1" }, "dependencies": { - "gatsby": "^2.24.37", + "gatsby": "^2.24.41", "react": "^16.12.0", "react-dom": "^16.12.0" }, diff --git a/www/src/data/sidebars/doc-links.yaml b/www/src/data/sidebars/doc-links.yaml index 56dcd1cd087e5..0857b8bed6c94 100644 --- a/www/src/data/sidebars/doc-links.yaml +++ b/www/src/data/sidebars/doc-links.yaml @@ -660,8 +660,8 @@ link: /docs/schema-gql-type/ - title: Building the Input Filters link: /docs/schema-input-gql/ - - title: Querying with Sift - link: /docs/schema-sift/ + - title: Query Filters + link: /docs/query-filters/ - title: Connections link: /docs/schema-connections/ - title: Page Creation diff --git a/yarn.lock b/yarn.lock index 9f88aac90e739..0d790df82ef86 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15364,6 +15364,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lock@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lock/-/lock-1.1.0.tgz#53157499d1653b136ca66451071fca615703fa55" + integrity sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU= + lockfile@1.0.4, lockfile@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/lockfile/-/lockfile-1.0.4.tgz#07f819d25ae48f87e538e6578b6964a4981a5609"