diff --git a/packages/gatsby-recipes/.gitignore b/deprecated-packages/gatsby-recipes/.gitignore similarity index 100% rename from packages/gatsby-recipes/.gitignore rename to deprecated-packages/gatsby-recipes/.gitignore diff --git a/packages/gatsby-recipes/CHANGELOG.md b/deprecated-packages/gatsby-recipes/CHANGELOG.md similarity index 100% rename from packages/gatsby-recipes/CHANGELOG.md rename to deprecated-packages/gatsby-recipes/CHANGELOG.md diff --git a/packages/gatsby-recipes/CONTRIBUTING.md b/deprecated-packages/gatsby-recipes/CONTRIBUTING.md similarity index 100% rename from packages/gatsby-recipes/CONTRIBUTING.md rename to deprecated-packages/gatsby-recipes/CONTRIBUTING.md diff --git a/packages/gatsby-recipes/README.md b/deprecated-packages/gatsby-recipes/README.md similarity index 98% rename from packages/gatsby-recipes/README.md rename to deprecated-packages/gatsby-recipes/README.md index 3fa984a5a51c4..087cf15bc0cc4 100644 --- a/packages/gatsby-recipes/README.md +++ b/deprecated-packages/gatsby-recipes/README.md @@ -1,5 +1,7 @@ # Gatsby Recipes +**Please Note: Gatsby Recipes has been removed from `gatsby` with v4.5.0. If you want to use it you can install `gatsby-cli@4.4.0` to use it.** + Recipes is an “infrastructure as code” system that lets users automatically manage and provision the technology stack for their Gatsby site/app through code rather than manual processes. It’s powered by React & MDX and a useful analogy is “React Native for Infrastructure”. diff --git a/deprecated-packages/gatsby-recipes/babel.config.js b/deprecated-packages/gatsby-recipes/babel.config.js new file mode 100644 index 0000000000000..364594853ca59 --- /dev/null +++ b/deprecated-packages/gatsby-recipes/babel.config.js @@ -0,0 +1,21 @@ +module.exports = api => { + const isTest = api.env(`test`) + + return { + presets: [ + [ + `@babel/env`, + { + // use ES modules for rollup and commonjs for jest + modules: isTest ? `commonjs` : false, + shippedProposals: true, + targets: { + node: `10.13.0`, + }, + }, + ], + `@babel/preset-react`, + ], + plugins: [`@babel/plugin-transform-runtime`], + } +} diff --git a/packages/gatsby-recipes/components.js b/deprecated-packages/gatsby-recipes/components.js similarity index 65% rename from packages/gatsby-recipes/components.js rename to deprecated-packages/gatsby-recipes/components.js index 95f10be79a503..44348c13fb2a6 100644 --- a/packages/gatsby-recipes/components.js +++ b/deprecated-packages/gatsby-recipes/components.js @@ -1,2 +1,2 @@ const components = require(`./dist/web/components`) -module.exports = components \ No newline at end of file +module.exports = components diff --git a/packages/gatsby-recipes/package.json b/deprecated-packages/gatsby-recipes/package.json similarity index 100% rename from packages/gatsby-recipes/package.json rename to deprecated-packages/gatsby-recipes/package.json diff --git a/packages/gatsby-recipes/recipes/README.md b/deprecated-packages/gatsby-recipes/recipes/README.md similarity index 100% rename from packages/gatsby-recipes/recipes/README.md rename to deprecated-packages/gatsby-recipes/recipes/README.md diff --git a/packages/gatsby-recipes/recipes/animated-page-transitions.mdx b/deprecated-packages/gatsby-recipes/recipes/animated-page-transitions.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/animated-page-transitions.mdx rename to deprecated-packages/gatsby-recipes/recipes/animated-page-transitions.mdx diff --git a/packages/gatsby-recipes/recipes/ava.mdx b/deprecated-packages/gatsby-recipes/recipes/ava.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/ava.mdx rename to deprecated-packages/gatsby-recipes/recipes/ava.mdx diff --git a/packages/gatsby-recipes/recipes/chakra-ui.mdx b/deprecated-packages/gatsby-recipes/recipes/chakra-ui.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/chakra-ui.mdx rename to deprecated-packages/gatsby-recipes/recipes/chakra-ui.mdx diff --git a/packages/gatsby-recipes/recipes/cypress.mdx b/deprecated-packages/gatsby-recipes/recipes/cypress.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/cypress.mdx rename to deprecated-packages/gatsby-recipes/recipes/cypress.mdx diff --git a/packages/gatsby-recipes/recipes/emotion.mdx b/deprecated-packages/gatsby-recipes/recipes/emotion.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/emotion.mdx rename to deprecated-packages/gatsby-recipes/recipes/emotion.mdx diff --git a/packages/gatsby-recipes/recipes/eslint.mdx b/deprecated-packages/gatsby-recipes/recipes/eslint.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/eslint.mdx rename to deprecated-packages/gatsby-recipes/recipes/eslint.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-image.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-image.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-image.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-layout.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-plugin-react-helmet.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog-core.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-theme-blog.mdx diff --git a/packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx b/deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx rename to deprecated-packages/gatsby-recipes/recipes/gatsby-theme-notes.mdx diff --git a/packages/gatsby-recipes/recipes/gitlab-ci-cd.mdx b/deprecated-packages/gatsby-recipes/recipes/gitlab-ci-cd.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/gitlab-ci-cd.mdx rename to deprecated-packages/gatsby-recipes/recipes/gitlab-ci-cd.mdx diff --git a/packages/gatsby-recipes/recipes/jest.mdx b/deprecated-packages/gatsby-recipes/recipes/jest.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/jest.mdx rename to deprecated-packages/gatsby-recipes/recipes/jest.mdx diff --git a/packages/gatsby-recipes/recipes/mdx-images.mdx b/deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/mdx-images.mdx rename to deprecated-packages/gatsby-recipes/recipes/mdx-images.mdx diff --git a/packages/gatsby-recipes/recipes/mdx-pages.mdx b/deprecated-packages/gatsby-recipes/recipes/mdx-pages.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/mdx-pages.mdx rename to deprecated-packages/gatsby-recipes/recipes/mdx-pages.mdx diff --git a/packages/gatsby-recipes/recipes/preact.mdx b/deprecated-packages/gatsby-recipes/recipes/preact.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/preact.mdx rename to deprecated-packages/gatsby-recipes/recipes/preact.mdx diff --git a/packages/gatsby-recipes/recipes/prettier-git-hook.mdx b/deprecated-packages/gatsby-recipes/recipes/prettier-git-hook.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/prettier-git-hook.mdx rename to deprecated-packages/gatsby-recipes/recipes/prettier-git-hook.mdx diff --git a/packages/gatsby-recipes/recipes/pwa.mdx b/deprecated-packages/gatsby-recipes/recipes/pwa.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/pwa.mdx rename to deprecated-packages/gatsby-recipes/recipes/pwa.mdx diff --git a/packages/gatsby-recipes/recipes/sass.mdx b/deprecated-packages/gatsby-recipes/recipes/sass.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/sass.mdx rename to deprecated-packages/gatsby-recipes/recipes/sass.mdx diff --git a/packages/gatsby-recipes/recipes/snipcart.mdx b/deprecated-packages/gatsby-recipes/recipes/snipcart.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/snipcart.mdx rename to deprecated-packages/gatsby-recipes/recipes/snipcart.mdx diff --git a/packages/gatsby-recipes/recipes/storybook-js.mdx b/deprecated-packages/gatsby-recipes/recipes/storybook-js.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/storybook-js.mdx rename to deprecated-packages/gatsby-recipes/recipes/storybook-js.mdx diff --git a/packages/gatsby-recipes/recipes/storybook-ts.mdx b/deprecated-packages/gatsby-recipes/recipes/storybook-ts.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/storybook-ts.mdx rename to deprecated-packages/gatsby-recipes/recipes/storybook-ts.mdx diff --git a/packages/gatsby-recipes/recipes/styled-components.mdx b/deprecated-packages/gatsby-recipes/recipes/styled-components.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/styled-components.mdx rename to deprecated-packages/gatsby-recipes/recipes/styled-components.mdx diff --git a/packages/gatsby-recipes/recipes/tailwindcss.mdx b/deprecated-packages/gatsby-recipes/recipes/tailwindcss.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/tailwindcss.mdx rename to deprecated-packages/gatsby-recipes/recipes/tailwindcss.mdx diff --git a/packages/gatsby-recipes/recipes/theme-ui.mdx b/deprecated-packages/gatsby-recipes/recipes/theme-ui.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/theme-ui.mdx rename to deprecated-packages/gatsby-recipes/recipes/theme-ui.mdx diff --git a/packages/gatsby-recipes/recipes/travis-deploy-github-pages.mdx b/deprecated-packages/gatsby-recipes/recipes/travis-deploy-github-pages.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/travis-deploy-github-pages.mdx rename to deprecated-packages/gatsby-recipes/recipes/travis-deploy-github-pages.mdx diff --git a/packages/gatsby-recipes/recipes/typescript.mdx b/deprecated-packages/gatsby-recipes/recipes/typescript.mdx similarity index 100% rename from packages/gatsby-recipes/recipes/typescript.mdx rename to deprecated-packages/gatsby-recipes/recipes/typescript.mdx diff --git a/packages/gatsby-recipes/rollup.config.js b/deprecated-packages/gatsby-recipes/rollup.config.js similarity index 96% rename from packages/gatsby-recipes/rollup.config.js rename to deprecated-packages/gatsby-recipes/rollup.config.js index b005ea7760da1..cbbed2dcca594 100644 --- a/packages/gatsby-recipes/rollup.config.js +++ b/deprecated-packages/gatsby-recipes/rollup.config.js @@ -12,8 +12,8 @@ import path from "path" function excludeDevTools() { const re = /ink/ return { - name: "ignoreDevTools", - + name: `ignoreDevTools`, + // eslint-disable-next-line load(id) { if (id.match(re)) { if (path.parse(id).name === `devtools`) { @@ -33,7 +33,7 @@ export default [ output: { dir: `dist`, entryFileNames: `[name].js`, - format: "cjs", + format: `cjs`, sourcemap: true, }, plugins: [ @@ -98,7 +98,7 @@ export default [ output: { dir: `dist/web/`, entryFileNames: `[name].js`, - format: "es", + format: `es`, sourcemap: true, }, plugins: [ diff --git a/packages/gatsby-recipes/src/__tests__/__snapshots__/find-dependency-match.js.snap b/deprecated-packages/gatsby-recipes/src/__tests__/__snapshots__/find-dependency-match.js.snap similarity index 100% rename from packages/gatsby-recipes/src/__tests__/__snapshots__/find-dependency-match.js.snap rename to deprecated-packages/gatsby-recipes/src/__tests__/__snapshots__/find-dependency-match.js.snap diff --git a/packages/gatsby-recipes/src/__tests__/find-dependency-match.js b/deprecated-packages/gatsby-recipes/src/__tests__/find-dependency-match.js similarity index 100% rename from packages/gatsby-recipes/src/__tests__/find-dependency-match.js rename to deprecated-packages/gatsby-recipes/src/__tests__/find-dependency-match.js diff --git a/packages/gatsby-recipes/src/apply-plan.js b/deprecated-packages/gatsby-recipes/src/apply-plan.js similarity index 100% rename from packages/gatsby-recipes/src/apply-plan.js rename to deprecated-packages/gatsby-recipes/src/apply-plan.js diff --git a/packages/gatsby-recipes/src/cli/index.js b/deprecated-packages/gatsby-recipes/src/cli/index.js similarity index 100% rename from packages/gatsby-recipes/src/cli/index.js rename to deprecated-packages/gatsby-recipes/src/cli/index.js diff --git a/packages/gatsby-recipes/src/components.js b/deprecated-packages/gatsby-recipes/src/components.js similarity index 100% rename from packages/gatsby-recipes/src/components.js rename to deprecated-packages/gatsby-recipes/src/components.js diff --git a/packages/gatsby-recipes/src/components/step-renderer.js b/deprecated-packages/gatsby-recipes/src/components/step-renderer.js similarity index 100% rename from packages/gatsby-recipes/src/components/step-renderer.js rename to deprecated-packages/gatsby-recipes/src/components/step-renderer.js diff --git a/packages/gatsby-recipes/src/create-plan.js b/deprecated-packages/gatsby-recipes/src/create-plan.js similarity index 100% rename from packages/gatsby-recipes/src/create-plan.js rename to deprecated-packages/gatsby-recipes/src/create-plan.js diff --git a/packages/gatsby-recipes/src/create-types.js b/deprecated-packages/gatsby-recipes/src/create-types.js similarity index 100% rename from packages/gatsby-recipes/src/create-types.js rename to deprecated-packages/gatsby-recipes/src/create-types.js diff --git a/packages/gatsby-recipes/src/create-types.test.js b/deprecated-packages/gatsby-recipes/src/create-types.test.js similarity index 100% rename from packages/gatsby-recipes/src/create-types.test.js rename to deprecated-packages/gatsby-recipes/src/create-types.test.js diff --git a/packages/gatsby-recipes/src/find-dependency-match.js b/deprecated-packages/gatsby-recipes/src/find-dependency-match.js similarity index 100% rename from packages/gatsby-recipes/src/find-dependency-match.js rename to deprecated-packages/gatsby-recipes/src/find-dependency-match.js diff --git a/packages/gatsby-recipes/src/graphql-server/index.js b/deprecated-packages/gatsby-recipes/src/graphql-server/index.js similarity index 100% rename from packages/gatsby-recipes/src/graphql-server/index.js rename to deprecated-packages/gatsby-recipes/src/graphql-server/index.js diff --git a/packages/gatsby-recipes/src/graphql-server/server.js b/deprecated-packages/gatsby-recipes/src/graphql-server/server.js similarity index 100% rename from packages/gatsby-recipes/src/graphql-server/server.js rename to deprecated-packages/gatsby-recipes/src/graphql-server/server.js diff --git a/packages/gatsby-recipes/src/index.js b/deprecated-packages/gatsby-recipes/src/index.js similarity index 100% rename from packages/gatsby-recipes/src/index.js rename to deprecated-packages/gatsby-recipes/src/index.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/LICENSE b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/LICENSE similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/LICENSE rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/LICENSE diff --git a/packages/gatsby-recipes/src/joi-to-graphql/helpers/index.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/index.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/helpers/index.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/index.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/helpers/joi-to-graphql.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/joi-to-graphql.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/helpers/joi-to-graphql.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/joi-to-graphql.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/helpers/type-dictionary.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/type-dictionary.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/helpers/type-dictionary.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/helpers/type-dictionary.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/index.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/index.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/index.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/index.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/methods/compose-schema.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/methods/compose-schema.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/methods/compose-schema.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/methods/compose-schema.js diff --git a/packages/gatsby-recipes/src/joi-to-graphql/methods/compose-type.js b/deprecated-packages/gatsby-recipes/src/joi-to-graphql/methods/compose-type.js similarity index 100% rename from packages/gatsby-recipes/src/joi-to-graphql/methods/compose-type.js rename to deprecated-packages/gatsby-recipes/src/joi-to-graphql/methods/compose-type.js diff --git a/packages/gatsby-recipes/src/parser/extract-imports.js b/deprecated-packages/gatsby-recipes/src/parser/extract-imports.js similarity index 100% rename from packages/gatsby-recipes/src/parser/extract-imports.js rename to deprecated-packages/gatsby-recipes/src/parser/extract-imports.js diff --git a/packages/gatsby-recipes/src/parser/fixtures/prettier-git-hook.mdx b/deprecated-packages/gatsby-recipes/src/parser/fixtures/prettier-git-hook.mdx similarity index 100% rename from packages/gatsby-recipes/src/parser/fixtures/prettier-git-hook.mdx rename to deprecated-packages/gatsby-recipes/src/parser/fixtures/prettier-git-hook.mdx diff --git a/packages/gatsby-recipes/src/parser/index.js b/deprecated-packages/gatsby-recipes/src/parser/index.js similarity index 100% rename from packages/gatsby-recipes/src/parser/index.js rename to deprecated-packages/gatsby-recipes/src/parser/index.js diff --git a/packages/gatsby-recipes/src/parser/index.test.js b/deprecated-packages/gatsby-recipes/src/parser/index.test.js similarity index 100% rename from packages/gatsby-recipes/src/parser/index.test.js rename to deprecated-packages/gatsby-recipes/src/parser/index.test.js diff --git a/packages/gatsby-recipes/src/parser/util.js b/deprecated-packages/gatsby-recipes/src/parser/util.js similarity index 100% rename from packages/gatsby-recipes/src/parser/util.js rename to deprecated-packages/gatsby-recipes/src/parser/util.js diff --git a/packages/gatsby-recipes/src/parser/validate.js b/deprecated-packages/gatsby-recipes/src/parser/validate.js similarity index 100% rename from packages/gatsby-recipes/src/parser/validate.js rename to deprecated-packages/gatsby-recipes/src/parser/validate.js diff --git a/packages/gatsby-recipes/src/parser/validate.test.js b/deprecated-packages/gatsby-recipes/src/parser/validate.test.js similarity index 100% rename from packages/gatsby-recipes/src/parser/validate.test.js rename to deprecated-packages/gatsby-recipes/src/parser/validate.test.js diff --git a/packages/gatsby-recipes/src/providers/contentful/client.js b/deprecated-packages/gatsby-recipes/src/providers/contentful/client.js similarity index 100% rename from packages/gatsby-recipes/src/providers/contentful/client.js rename to deprecated-packages/gatsby-recipes/src/providers/contentful/client.js diff --git a/packages/gatsby-recipes/src/providers/contentful/entry.js b/deprecated-packages/gatsby-recipes/src/providers/contentful/entry.js similarity index 100% rename from packages/gatsby-recipes/src/providers/contentful/entry.js rename to deprecated-packages/gatsby-recipes/src/providers/contentful/entry.js diff --git a/packages/gatsby-recipes/src/providers/contentful/environment.js b/deprecated-packages/gatsby-recipes/src/providers/contentful/environment.js similarity index 100% rename from packages/gatsby-recipes/src/providers/contentful/environment.js rename to deprecated-packages/gatsby-recipes/src/providers/contentful/environment.js diff --git a/packages/gatsby-recipes/src/providers/contentful/space.js b/deprecated-packages/gatsby-recipes/src/providers/contentful/space.js similarity index 100% rename from packages/gatsby-recipes/src/providers/contentful/space.js rename to deprecated-packages/gatsby-recipes/src/providers/contentful/space.js diff --git a/packages/gatsby-recipes/src/providers/contentful/type.js b/deprecated-packages/gatsby-recipes/src/providers/contentful/type.js similarity index 100% rename from packages/gatsby-recipes/src/providers/contentful/type.js rename to deprecated-packages/gatsby-recipes/src/providers/contentful/type.js diff --git a/packages/gatsby-recipes/src/providers/fs/directory.js b/deprecated-packages/gatsby-recipes/src/providers/fs/directory.js similarity index 100% rename from packages/gatsby-recipes/src/providers/fs/directory.js rename to deprecated-packages/gatsby-recipes/src/providers/fs/directory.js diff --git a/packages/gatsby-recipes/src/providers/fs/directory.test.js b/deprecated-packages/gatsby-recipes/src/providers/fs/directory.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/fs/directory.test.js rename to deprecated-packages/gatsby-recipes/src/providers/fs/directory.test.js diff --git a/packages/gatsby-recipes/src/providers/fs/file.js b/deprecated-packages/gatsby-recipes/src/providers/fs/file.js similarity index 100% rename from packages/gatsby-recipes/src/providers/fs/file.js rename to deprecated-packages/gatsby-recipes/src/providers/fs/file.js diff --git a/packages/gatsby-recipes/src/providers/fs/file.test.js b/deprecated-packages/gatsby-recipes/src/providers/fs/file.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/fs/file.test.js rename to deprecated-packages/gatsby-recipes/src/providers/fs/file.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/plugin.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/shadow-file.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/shadow-file.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/__snapshots__/shadow-file.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/shadow-file.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/__snapshots__/site-metadata.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-blog/gatsby-config.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-blog/gatsby-config.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-blog/gatsby-config.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-blog/gatsby-config.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-edge-casy/gatsby-config.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-edge-casy/gatsby-config.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-edge-casy/gatsby-config.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-edge-casy/gatsby-config.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-hello-world/gatsby-config.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-hello-world/gatsby-config.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-hello-world/gatsby-config.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-hello-world/gatsby-config.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-nope/gatsby-config.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-nope/gatsby-config.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-nope/gatsby-config.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/fixtures/gatsby-starter-nope/gatsby-config.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/page.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/page.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/page.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/page.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/plugin.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/plugin.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/plugin.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/plugin.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/plugin.test.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/plugin.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/plugin.test.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/plugin.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/shadow-file.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/shadow-file.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/shadow-file.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/shadow-file.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/shadow-file.test.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/shadow-file.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/shadow-file.test.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/shadow-file.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/site-metadata.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/site-metadata.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.test.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.test.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/build-plugin-node.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/constants.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/constants.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/constants.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/constants.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.test.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.test.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/get-object-from-node.test.js diff --git a/packages/gatsby-recipes/src/providers/gatsby/utils/is-default-export.js b/deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/is-default-export.js similarity index 100% rename from packages/gatsby-recipes/src/providers/gatsby/utils/is-default-export.js rename to deprecated-packages/gatsby-recipes/src/providers/gatsby/utils/is-default-export.js diff --git a/packages/gatsby-recipes/src/providers/git/__snapshots__/ignore.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/git/__snapshots__/ignore.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/git/__snapshots__/ignore.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/git/__snapshots__/ignore.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/git/fixtures/.gitignore b/deprecated-packages/gatsby-recipes/src/providers/git/fixtures/.gitignore similarity index 100% rename from packages/gatsby-recipes/src/providers/git/fixtures/.gitignore rename to deprecated-packages/gatsby-recipes/src/providers/git/fixtures/.gitignore diff --git a/packages/gatsby-recipes/src/providers/git/ignore.js b/deprecated-packages/gatsby-recipes/src/providers/git/ignore.js similarity index 100% rename from packages/gatsby-recipes/src/providers/git/ignore.js rename to deprecated-packages/gatsby-recipes/src/providers/git/ignore.js diff --git a/packages/gatsby-recipes/src/providers/git/ignore.test.js b/deprecated-packages/gatsby-recipes/src/providers/git/ignore.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/git/ignore.test.js rename to deprecated-packages/gatsby-recipes/src/providers/git/ignore.test.js diff --git a/packages/gatsby-recipes/src/providers/lock.js b/deprecated-packages/gatsby-recipes/src/providers/lock.js similarity index 100% rename from packages/gatsby-recipes/src/providers/lock.js rename to deprecated-packages/gatsby-recipes/src/providers/lock.js diff --git a/packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/package-json.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/npm/__snapshots__/package.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/package.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/__snapshots__/package.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/package.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap b/deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap rename to deprecated-packages/gatsby-recipes/src/providers/npm/__snapshots__/script.test.js.snap diff --git a/packages/gatsby-recipes/src/providers/npm/fixtures/package-json/package.json b/deprecated-packages/gatsby-recipes/src/providers/npm/fixtures/package-json/package.json similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/fixtures/package-json/package.json rename to deprecated-packages/gatsby-recipes/src/providers/npm/fixtures/package-json/package.json diff --git a/packages/gatsby-recipes/src/providers/npm/fixtures/scripts/package.json b/deprecated-packages/gatsby-recipes/src/providers/npm/fixtures/scripts/package.json similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/fixtures/scripts/package.json rename to deprecated-packages/gatsby-recipes/src/providers/npm/fixtures/scripts/package.json diff --git a/packages/gatsby-recipes/src/providers/npm/package-json.js b/deprecated-packages/gatsby-recipes/src/providers/npm/package-json.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/package-json.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/package-json.js diff --git a/packages/gatsby-recipes/src/providers/npm/package-json.test.js b/deprecated-packages/gatsby-recipes/src/providers/npm/package-json.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/package-json.test.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/package-json.test.js diff --git a/packages/gatsby-recipes/src/providers/npm/package.js b/deprecated-packages/gatsby-recipes/src/providers/npm/package.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/package.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/package.js diff --git a/packages/gatsby-recipes/src/providers/npm/package.test.js b/deprecated-packages/gatsby-recipes/src/providers/npm/package.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/package.test.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/package.test.js diff --git a/packages/gatsby-recipes/src/providers/npm/script.js b/deprecated-packages/gatsby-recipes/src/providers/npm/script.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/script.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/script.js diff --git a/packages/gatsby-recipes/src/providers/npm/script.test.js b/deprecated-packages/gatsby-recipes/src/providers/npm/script.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/npm/script.test.js rename to deprecated-packages/gatsby-recipes/src/providers/npm/script.test.js diff --git a/packages/gatsby-recipes/src/providers/resource-schema.js b/deprecated-packages/gatsby-recipes/src/providers/resource-schema.js similarity index 100% rename from packages/gatsby-recipes/src/providers/resource-schema.js rename to deprecated-packages/gatsby-recipes/src/providers/resource-schema.js diff --git a/packages/gatsby-recipes/src/providers/resource-test-helper.js b/deprecated-packages/gatsby-recipes/src/providers/resource-test-helper.js similarity index 100% rename from packages/gatsby-recipes/src/providers/resource-test-helper.js rename to deprecated-packages/gatsby-recipes/src/providers/resource-test-helper.js diff --git a/packages/gatsby-recipes/src/providers/utils/get-diff.js b/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js similarity index 100% rename from packages/gatsby-recipes/src/providers/utils/get-diff.js rename to deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js diff --git a/packages/gatsby-recipes/src/providers/utils/get-diff.test.js b/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/utils/get-diff.test.js rename to deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.test.js diff --git a/packages/gatsby-recipes/src/providers/utils/get-graphql-fields.js b/deprecated-packages/gatsby-recipes/src/providers/utils/get-graphql-fields.js similarity index 100% rename from packages/gatsby-recipes/src/providers/utils/get-graphql-fields.js rename to deprecated-packages/gatsby-recipes/src/providers/utils/get-graphql-fields.js diff --git a/packages/gatsby-recipes/src/providers/utils/get-graphql-fields.test.js b/deprecated-packages/gatsby-recipes/src/providers/utils/get-graphql-fields.test.js similarity index 100% rename from packages/gatsby-recipes/src/providers/utils/get-graphql-fields.test.js rename to deprecated-packages/gatsby-recipes/src/providers/utils/get-graphql-fields.test.js diff --git a/packages/gatsby-recipes/src/recipe-machine/errors.test.js b/deprecated-packages/gatsby-recipes/src/recipe-machine/errors.test.js similarity index 100% rename from packages/gatsby-recipes/src/recipe-machine/errors.test.js rename to deprecated-packages/gatsby-recipes/src/recipe-machine/errors.test.js diff --git a/packages/gatsby-recipes/src/recipe-machine/index.js b/deprecated-packages/gatsby-recipes/src/recipe-machine/index.js similarity index 100% rename from packages/gatsby-recipes/src/recipe-machine/index.js rename to deprecated-packages/gatsby-recipes/src/recipe-machine/index.js diff --git a/packages/gatsby-recipes/src/recipe-machine/index.test.js b/deprecated-packages/gatsby-recipes/src/recipe-machine/index.test.js similarity index 100% rename from packages/gatsby-recipes/src/recipe-machine/index.test.js rename to deprecated-packages/gatsby-recipes/src/recipe-machine/index.test.js diff --git a/packages/gatsby-recipes/src/recipes-list.js b/deprecated-packages/gatsby-recipes/src/recipes-list.js similarity index 100% rename from packages/gatsby-recipes/src/recipes-list.js rename to deprecated-packages/gatsby-recipes/src/recipes-list.js diff --git a/packages/gatsby-recipes/src/renderer/babel-plugin-copy-key-prop.js b/deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-copy-key-prop.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/babel-plugin-copy-key-prop.js rename to deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-copy-key-prop.js diff --git a/packages/gatsby-recipes/src/renderer/babel-plugin-move-export-keywords.js b/deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-move-export-keywords.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/babel-plugin-move-export-keywords.js rename to deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-move-export-keywords.js diff --git a/packages/gatsby-recipes/src/renderer/babel-plugin-remove-shortcodes.js b/deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-remove-shortcodes.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/babel-plugin-remove-shortcodes.js rename to deprecated-packages/gatsby-recipes/src/renderer/babel-plugin-remove-shortcodes.js diff --git a/packages/gatsby-recipes/src/renderer/error-boundary.js b/deprecated-packages/gatsby-recipes/src/renderer/error-boundary.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/error-boundary.js rename to deprecated-packages/gatsby-recipes/src/renderer/error-boundary.js diff --git a/packages/gatsby-recipes/src/renderer/index.js b/deprecated-packages/gatsby-recipes/src/renderer/index.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/index.js rename to deprecated-packages/gatsby-recipes/src/renderer/index.js diff --git a/packages/gatsby-recipes/src/renderer/index.test.js b/deprecated-packages/gatsby-recipes/src/renderer/index.test.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/index.test.js rename to deprecated-packages/gatsby-recipes/src/renderer/index.test.js diff --git a/packages/gatsby-recipes/src/renderer/input-provider.js b/deprecated-packages/gatsby-recipes/src/renderer/input-provider.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/input-provider.js rename to deprecated-packages/gatsby-recipes/src/renderer/input-provider.js diff --git a/packages/gatsby-recipes/src/renderer/input.js b/deprecated-packages/gatsby-recipes/src/renderer/input.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/input.js rename to deprecated-packages/gatsby-recipes/src/renderer/input.js diff --git a/packages/gatsby-recipes/src/renderer/parent-resource-provider.js b/deprecated-packages/gatsby-recipes/src/renderer/parent-resource-provider.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/parent-resource-provider.js rename to deprecated-packages/gatsby-recipes/src/renderer/parent-resource-provider.js diff --git a/packages/gatsby-recipes/src/renderer/provider-provider.js b/deprecated-packages/gatsby-recipes/src/renderer/provider-provider.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/provider-provider.js rename to deprecated-packages/gatsby-recipes/src/renderer/provider-provider.js diff --git a/packages/gatsby-recipes/src/renderer/reconciler.js b/deprecated-packages/gatsby-recipes/src/renderer/reconciler.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/reconciler.js rename to deprecated-packages/gatsby-recipes/src/renderer/reconciler.js diff --git a/packages/gatsby-recipes/src/renderer/render.js b/deprecated-packages/gatsby-recipes/src/renderer/render.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/render.js rename to deprecated-packages/gatsby-recipes/src/renderer/render.js diff --git a/packages/gatsby-recipes/src/renderer/render.test.js b/deprecated-packages/gatsby-recipes/src/renderer/render.test.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/render.test.js rename to deprecated-packages/gatsby-recipes/src/renderer/render.test.js diff --git a/packages/gatsby-recipes/src/renderer/resource-components.js b/deprecated-packages/gatsby-recipes/src/renderer/resource-components.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/resource-components.js rename to deprecated-packages/gatsby-recipes/src/renderer/resource-components.js diff --git a/packages/gatsby-recipes/src/renderer/resource-provider.js b/deprecated-packages/gatsby-recipes/src/renderer/resource-provider.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/resource-provider.js rename to deprecated-packages/gatsby-recipes/src/renderer/resource-provider.js diff --git a/packages/gatsby-recipes/src/renderer/step-component.js b/deprecated-packages/gatsby-recipes/src/renderer/step-component.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/step-component.js rename to deprecated-packages/gatsby-recipes/src/renderer/step-component.js diff --git a/packages/gatsby-recipes/src/renderer/transform-to-plan-structure.js b/deprecated-packages/gatsby-recipes/src/renderer/transform-to-plan-structure.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/transform-to-plan-structure.js rename to deprecated-packages/gatsby-recipes/src/renderer/transform-to-plan-structure.js diff --git a/packages/gatsby-recipes/src/renderer/transform-to-plan-structure.test.js b/deprecated-packages/gatsby-recipes/src/renderer/transform-to-plan-structure.test.js similarity index 100% rename from packages/gatsby-recipes/src/renderer/transform-to-plan-structure.test.js rename to deprecated-packages/gatsby-recipes/src/renderer/transform-to-plan-structure.test.js diff --git a/packages/gatsby-recipes/src/resolve-recipe.js b/deprecated-packages/gatsby-recipes/src/resolve-recipe.js similarity index 100% rename from packages/gatsby-recipes/src/resolve-recipe.js rename to deprecated-packages/gatsby-recipes/src/resolve-recipe.js diff --git a/packages/gatsby-recipes/src/resources.js b/deprecated-packages/gatsby-recipes/src/resources.js similarity index 100% rename from packages/gatsby-recipes/src/resources.js rename to deprecated-packages/gatsby-recipes/src/resources.js diff --git a/packages/gatsby-recipes/src/test-helper.js b/deprecated-packages/gatsby-recipes/src/test-helper.js similarity index 100% rename from packages/gatsby-recipes/src/test-helper.js rename to deprecated-packages/gatsby-recipes/src/test-helper.js diff --git a/packages/gatsby-recipes/src/transform-recipe-mdx.js b/deprecated-packages/gatsby-recipes/src/transform-recipe-mdx.js similarity index 100% rename from packages/gatsby-recipes/src/transform-recipe-mdx.js rename to deprecated-packages/gatsby-recipes/src/transform-recipe-mdx.js diff --git a/packages/gatsby-recipes/src/validate-recipe.js b/deprecated-packages/gatsby-recipes/src/validate-recipe.js similarity index 100% rename from packages/gatsby-recipes/src/validate-recipe.js rename to deprecated-packages/gatsby-recipes/src/validate-recipe.js diff --git a/packages/gatsby-recipes/src/validate-recipe.test.js b/deprecated-packages/gatsby-recipes/src/validate-recipe.test.js similarity index 100% rename from packages/gatsby-recipes/src/validate-recipe.test.js rename to deprecated-packages/gatsby-recipes/src/validate-recipe.test.js diff --git a/packages/gatsby-recipes/src/validate-steps.js b/deprecated-packages/gatsby-recipes/src/validate-steps.js similarity index 100% rename from packages/gatsby-recipes/src/validate-steps.js rename to deprecated-packages/gatsby-recipes/src/validate-steps.js diff --git a/docs/docs/adding-a-shopping-cart-with-snipcart.md b/docs/docs/adding-a-shopping-cart-with-snipcart.md index 3d60f20912b17..4b8dba43b6d04 100644 --- a/docs/docs/adding-a-shopping-cart-with-snipcart.md +++ b/docs/docs/adding-a-shopping-cart-with-snipcart.md @@ -190,5 +190,4 @@ The following quote is from the Snipcart [payment gateway page](https://app.snip - [OneShopper Gatsby starter](/starters/rohitguptab/OneShopper/) - Reference guide on [sourcing from Etsy](/docs/sourcing-from-etsy/) - Reference guide on [processing payments with Stripe](/docs/how-to/adding-common-features/processing-payments-with-stripe/) -- From the Snipcart blog: [Gatsby E-Commerce Recipe: Integrate a Cart in a Few Steps](https://snipcart.com/blog/gatsby-recipes-ecommerce) - [Snipcart documentation](https://docs.snipcart.com/v3/setup/installation) diff --git a/docs/docs/glossary/infrastructure-as-code.md b/docs/docs/glossary/infrastructure-as-code.md new file mode 100644 index 0000000000000..eccd7b7fa21e5 --- /dev/null +++ b/docs/docs/glossary/infrastructure-as-code.md @@ -0,0 +1,25 @@ +--- +title: Infrastructure as Code +disableTableOfContents: true +--- + +Learn what Infrastructure as Code means, and how you can use code to standardize and automate things. + +## What is Infrastructure as Code? + +_Infrastructure as Code_, or IaC, is the practice of managing your development, testing, and production environments using configuration files or scripts. Provisioning and configuring environments individually can introduce errors or inconsistencies. You may, for example, find yourself running different versions of Node.js on your laptop and your production servers. Infrastructure as Code minimizes this kind of drift and lets you automate the process of provisioning environments. + +Your configuration file describes what resources your project requires. If you're building an API, for example, you might create a configuration file that says, "Please install Node.js 12.16.2, npm 6.14.4, Express 4.17.1, and PostgreSQL 12.2 for Ubuntu Linux." For a Gatsby project, your configuration file may add plugins and themes. + +Configuration files, like other code files, are text. That means you can use version control software to store them and track changes to the environment. In short, IaC: + +- Creates consistent environments. +- Saves time that would otherwise be spent setting up environments. +- Reduces the risk of errors caused by mismatched environments. +- Lays the groundwork for automation. + +## Automating Gatsby site development with Gatsby Recipes + +[Gatsby Recipes](/blog/2020-04-15-announcing-gatsby-recipes/) applies the infrastructure as code concept to front-end development. With Gatsby Recipes, you can automate common site building tasks, such as adding a plugin or test suite. + +We've discontinued this experiment and you can use Gatsby versions up to `4.4.0` to still use it. The old code still lives [on GitHub](https://github.com/gatsbyjs/gatsby/tree/master/deprecated-packages/gatsby-recipes). diff --git a/docs/docs/glossary/infrastructure-as-code/index.md b/docs/docs/glossary/infrastructure-as-code/index.md deleted file mode 100644 index fd2d3be28ed33..0000000000000 --- a/docs/docs/glossary/infrastructure-as-code/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: Infrastructure as Code -disableTableOfContents: true ---- - -Learn what Infrastructure as Code means, and how you can use code to standardize and automate your Gatsby site. - -## What is Infrastructure as Code? - -_Infrastructure as Code_, or IaC, is the practice of managing your development, testing, and production environments using configuration files or scripts. Provisioning and configuring environments individually can introduce errors or inconsistencies. You may, for example, find yourself running different versions of Node.js on your laptop and your production servers. Infrastructure as Code minimizes this kind of drift and lets you automate the process of provisioning environments. - -Your configuration file describes what resources your project requires. If you're building an API, for example, you might create a configuration file that says, "Please install Node.js 12.16.2, npm 6.14.4, Express 4.17.1, and PostgreSQL 12.2 for Ubuntu Linux." For a Gatsby project, your configuration file may add plugins and themes. - -Configuration files, like other code files, are text. That means you can use version control software to store them and track changes to the environment. In short, IaC: - -- Creates consistent environments. -- Saves time that would otherwise be spent setting up environments. -- Reduces the risk of errors caused by mismatched environments. -- Lays the groundwork for automation. - -## Automating Gatsby site development with Gatsby Recipes - -[Gatsby Recipes](/blog/2020-04-15-announcing-gatsby-recipes/) applies the infrastructure as code concept to front-end development. With Gatsby Recipes, you can automate common site building tasks, such as adding a plugin or test suite. - -To get started with Gatsby Recipes, upgrade to the latest version of Gatsby and the Gatsby CLI. - -```shell -npm install -g gatsby-cli@latest -npm install gatsby@latest -``` - -You can see the list of available recipes by using `gatsby recipes`. Use your up or down arrow keys to select a recipe, and press the _Enter_ or _Return_ key to run it. - -![partial list of available Gatsby recipes](recipes-screenshot.png) - -Gatsby Recipes use [MDX](/docs/glossary/mdx/). They're a readable mix of Markdown and React. MDX is an extension of [Markdown](/docs/glossary/markdown/) that lets you use [JSX](/docs/glossary#jsx) in Markdown-formatted documents. As an example, check out the [Styled Components recipe](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-recipes/recipes/styled-components.mdx). - -```mdx -# Setup Styled Components - -[Styled Components](https://styled-components.com/) is visual primitives for the component age. -Use the best bits of ES6 and CSS to style your apps without stress 💅 - ---- - -Install necessary NPM packages - - - - - ---- - -Install the Styled Components plugin in gatsby-config.js - - - ---- - -Sweet, now it's ready to go. - -Let's also write out an example page you can use to play -with Styled Components. - - - ---- - -Read more about Styled Components on the official docs site: - -https://styled-components.com/ -``` - -You can also write and run your own recipes, or run recipes that were created by and shared with the community. Pass the path or URL of the recipe as an argument. For example, to run a local Gatsby recipe, use `gatsby recipes ./name-of-your-recipe.mdx`. To run a remote recipe, use `gatsby recipes https://example.com/community-made-recipe.mdx`. - -Gatsby Recipes help you save time and reduce configuration errors by automating the set-up process. - -## Learn more - -- [Announcing Gatsby Recipes](/blog/2020-04-15-announcing-gatsby-recipes/) -- [Developing Recipes](https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-recipes/README.md#developing-recipes) from the Gatsby repository diff --git a/docs/docs/glossary/infrastructure-as-code/recipes-screenshot.png b/docs/docs/glossary/infrastructure-as-code/recipes-screenshot.png deleted file mode 100644 index f793151c4a63e..0000000000000 Binary files a/docs/docs/glossary/infrastructure-as-code/recipes-screenshot.png and /dev/null differ diff --git a/packages/create-gatsby/README.md b/packages/create-gatsby/README.md index a8b259f8a75e9..ee6030686f8c5 100644 --- a/packages/create-gatsby/README.md +++ b/packages/create-gatsby/README.md @@ -1,4 +1,4 @@ -# create-gatsby (alpha) +# create-gatsby Create Gatsby apps in an interactive CLI experience that does the plumbing for you. @@ -18,7 +18,7 @@ yarn create gatsby It will ask you questions about what you're building, and set up a Gatsby project for you. -_Note: this package is different from the Gatsby CLI, it is intended solely to create new sites._ +_Note: This package is different from `gatsby-cli`, it is intended solely to create new sites._ ## Options @@ -33,28 +33,34 @@ npm init gatsby -y If you're making changes to the create-gatsby package, you can follow the steps below to test out your changes locally: ```sh -# Move into the create-gatsby package -cd packages/create-gatsby +# Move into the monorepo +cd # Install dependencies and build the package -yarn && yarn build +yarn bootstrap # Run the create-gatsby script -node cli.js +node packages/create-gatsby/cli.js ``` -Note that if you use the `build` script, you'll have to rebuild after each change. Alternatively, you can use the `watch` script to automatically rebuild after local changes. In that case, you'll need to run `cli.js` from the top-level directory of the `gatsby` repo: +Note that if you use the `bootstrap` script, you'll have to rebuild after each change. Alternatively, you can use the `watch` script to automatically rebuild after local changes: ```sh -# Move into the create-gatsby package -cd packages/create-gatsby +# Move into the monorepo +cd # Install dependencies and build the package -yarn && yarn watch +yarn bootstrap -# Open another terminal window and get back to the gatsby monorepo -cd +# Watch changes +yarn watch --scope=create-gatsby +``` + +Open another terminal window and go to a folder where you can easily delete the test projects: + +``` +cd # Run the create-gatsby script -node packages/create-gatsby/cli.js +node { try { - const recipesPath = require.resolve(`gatsby-recipes`, { + const coreUtilsPath = require.resolve(`gatsby-core-utils`, { paths: [root], }) - const { GatsbySiteMetadata } = require(recipesPath) - await GatsbySiteMetadata?.create({ root }, { name, value }) + const { addFieldToMinimalSiteMetadata } = require(coreUtilsPath) + await addFieldToMinimalSiteMetadata({ root }, { name, value }) } catch (e) { // Silently fail, as it's fine if we don't add it to the config } diff --git a/packages/gatsby-cli/package.json b/packages/gatsby-cli/package.json index bb806d2b08fa0..c7cf52caa7715 100644 --- a/packages/gatsby-cli/package.json +++ b/packages/gatsby-cli/package.json @@ -26,7 +26,6 @@ "fs-exists-cached": "^1.0.0", "fs-extra": "^10.0.0", "gatsby-core-utils": "^3.5.0-next.0", - "gatsby-recipes": "^1.5.0-next.0", "gatsby-telemetry": "^3.5.0-next.0", "hosted-git-info": "^3.0.8", "is-valid-path": "^0.1.1", diff --git a/packages/gatsby-cli/src/create-cli.ts b/packages/gatsby-cli/src/create-cli.ts index 623d0bd49febc..c24f76ec868b5 100644 --- a/packages/gatsby-cli/src/create-cli.ts +++ b/packages/gatsby-cli/src/create-cli.ts @@ -386,46 +386,15 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { ), }) - cli.command({ - command: `recipes [recipe]`, - describe: `[EXPERIMENTAL] Run a recipe`, - builder: _ => - _.option(`D`, { - alias: `develop`, - type: `boolean`, - default: false, - describe: `Start recipe in develop mode to live-develop your recipe (defaults to false)`, - }).option(`I`, { - alias: `install`, - type: `boolean`, - default: false, - describe: `Install recipe (defaults to plan mode)`, - }), - handler: handlerP(async ({ recipe, develop, install }: yargs.Arguments) => { - const { recipesHandler } = require(`./recipes`) - await recipesHandler( - siteInfo.directory, - recipe as string, - develop as boolean, - install as boolean - ) - }), - }) - cli.command({ command: `plugin [plugins...]`, describe: `Useful commands relating to Gatsby plugins`, builder: yargs => - yargs - .positional(`cmd`, { - choices: [`docs`, `ls`], - describe: "Valid commands include `docs`, `ls`.", - type: `string`, - }) - .positional(`plugins`, { - describe: `The plugin names`, - type: `string`, - }), + yargs.positional(`cmd`, { + choices: [`docs`, `ls`], + describe: "Valid commands include `docs`, `ls`.", + type: `string`, + }), handler: async ({ cmd, }: yargs.Arguments<{ diff --git a/packages/gatsby-cli/src/handlers/plugin-add.ts b/packages/gatsby-cli/src/handlers/plugin-add.ts deleted file mode 100644 index 71101035408d0..0000000000000 --- a/packages/gatsby-cli/src/handlers/plugin-add.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { NPMPackage, GatsbyPlugin } from "gatsby-recipes" -import reporter from "../reporter" -const normalizePluginName = (plugin: string): string => { - if (plugin.startsWith(`gatsby-`)) { - return plugin - } - if ( - plugin.startsWith(`source-`) || - plugin.startsWith(`transformer-`) || - plugin.startsWith(`plugin-`) - ) { - return `gatsby-${plugin}` - } - return `gatsby-plugin-${plugin}` -} - -async function installPluginPackage( - plugin: string, - root: string -): Promise { - const installTimer = reporter.activityTimer(`Installing ${plugin}`) - - installTimer.start() - reporter.info(`Installing ${plugin}`) - try { - const result = await NPMPackage.create({ root }, { name: plugin }) - reporter.info(result._message) - } catch (err) { - reporter.error(JSON.parse(err)?.message) - installTimer.setStatus(`FAILED`) - } - installTimer.end() -} - -async function installPluginConfig( - plugin: string, - options: Record | undefined, - root: string -): Promise { - // Plugins can optionally include a key, to allow duplicates - const [pluginName, pluginKey] = plugin.split(`:`) - - const installTimer = reporter.activityTimer( - `Adding ${pluginName} ${pluginKey ? `(${pluginKey}) ` : ``}to gatsby-config` - ) - - installTimer.start() - reporter.info(`Adding ${pluginName}`) - try { - const result = await GatsbyPlugin.create( - { root }, - { name: pluginName, options, key: pluginKey } - ) - reporter.info(result._message) - } catch (err) { - reporter.error(JSON.parse(err)?.message) - installTimer.setStatus(`FAILED`) - } - installTimer.end() -} - -export async function addPlugins( - plugins: Array, - pluginOptions: Record>, - directory: string, - packages: Array = [] -): Promise { - if (!plugins?.length) { - reporter.error(`Please specify a plugin to install`) - return - } - - const pluginList = plugins.map(normalizePluginName) - - await Promise.all( - packages.map(plugin => installPluginPackage(plugin, directory)) - ) - await Promise.all( - pluginList.map(plugin => - installPluginConfig(plugin, pluginOptions[plugin], directory) - ) - ) -} diff --git a/packages/gatsby-cli/src/handlers/plugin.ts b/packages/gatsby-cli/src/handlers/plugin.ts index ebaf9fa15f5f7..52072f756ff80 100644 --- a/packages/gatsby-cli/src/handlers/plugin.ts +++ b/packages/gatsby-cli/src/handlers/plugin.ts @@ -1,34 +1,38 @@ -import { GatsbyPlugin } from "gatsby-recipes" +import { listPlugins } from "gatsby-core-utils" import reporter from "../reporter" export default async (root: string, cmd: string | undefined): Promise => { switch (cmd) { case `docs`: console.log(` - Using a plugin: - - What is a Plugin? (https://www.gatsbyjs.com/docs/what-is-a-plugin/) - - Using a Plugin in Your Site (https://www.gatsbyjs.com/docs/using-a-plugin-in-your-site/) - - What You Don't Need Plugins For (https://www.gatsbyjs.com/docs/what-you-dont-need-plugins-for/) - - Loading Plugins from Your Local Plugins Folder (https://www.gatsbyjs.com/docs/loading-plugins-from-your-local-plugins-folder/) - - Plugin Library (https://www.gatsbyjs.com/plugins/) +Using a plugin: +- What is a Plugin? (https://www.gatsbyjs.com/docs/what-is-a-plugin/) +- Using a Plugin in Your Site (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/using-a-plugin-in-your-site/) +- Loading Plugins from Your Local Plugins Folder (https://www.gatsbyjs.com/docs/loading-plugins-from-your-local-plugins-folder/) +- Plugin Library (https://www.gatsbyjs.com/plugins/) - Creating a plugin: - - Naming a Plugin (https://www.gatsbyjs.com/docs/naming-a-plugin/) - - Files Gatsby Looks for in a Plugin (https://www.gatsbyjs.com/docs/files-gatsby-looks-for-in-a-plugin/) - - Creating a Generic Plugin (https://www.gatsbyjs.com/docs/creating-a-generic-plugin/) - - Creating a Local Plugin (https://www.gatsbyjs.com/docs/creating-a-local-plugin/) - - Creating a Source Plugin (https://www.gatsbyjs.com/docs/creating-a-source-plugin/) - - Creating a Transformer Plugin (https://www.gatsbyjs.com/docs/creating-a-transformer-plugin/) - - Submit to Plugin Library (https://www.gatsbyjs.com/contributing/submit-to-plugin-library/) - - Source Plugin Tutorial (https://www.gatsbyjs.com/tutorial/source-plugin-tutorial/) - - Maintaining a Plugin (https://www.gatsbyjs.com/docs/maintaining-a-plugin/) - - Join Discord #plugin-authoring channel to ask questions! (https://gatsby.dev/discord/) - `) +Creating a plugin: +- Naming a Plugin (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/naming-a-plugin/) +- Files Gatsby Looks for in a Plugin (https://www.gatsbyjs.com/docs/files-gatsby-looks-for-in-a-plugin/) +- Creating a Generic Plugin (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/creating-a-generic-plugin/) +- Creating a Local Plugin (https://www.gatsbyjs.com/docs/creating-a-local-plugin/) +- Creating a Source Plugin (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/creating-a-source-plugin/) +- Creating a Transformer Plugin (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/creating-a-transformer-plugin/) +- Submit to Plugin Library (https://www.gatsbyjs.com/contributing/submit-to-plugin-library/) +- Maintaining a Plugin (https://www.gatsbyjs.com/docs/how-to/plugins-and-themes/maintaining-a-plugin/) +- Join Discord #plugin-authoring channel to ask questions! (https://gatsby.dev/discord/) +`) return case `ls`: { try { - const plugins = await GatsbyPlugin.all({ root }, false) - console.log(plugins) + const plugins = await listPlugins({ root }) + let list = `` + plugins.forEach(plugin => (list += `- ${plugin}\n`)) + console.log(` +Following plugins are installed: + +${list} + `) } catch { reporter.error( `There was a problem parsing your \`gatsby-config.js\` file.\nIt may be malformed. Or, the syntax you're using is not currently supported by this command.` diff --git a/packages/gatsby-cli/src/init-starter.ts b/packages/gatsby-cli/src/init-starter.ts index 9846aaad2791a..2a2daed87850a 100644 --- a/packages/gatsby-cli/src/init-starter.ts +++ b/packages/gatsby-cli/src/init-starter.ts @@ -9,7 +9,7 @@ import isValid from "is-valid-path" import sysPath from "path" import prompts from "prompts" import url from "url" -import { updateSiteMetadata } from "gatsby-core-utils" +import { updateInternalSiteMetadata } from "gatsby-core-utils" import report from "./reporter" import { getPackageManager, setPackageManager } from "./util/package-manager" import reporter from "./reporter" @@ -353,7 +353,7 @@ export async function initStarter( ) }) - await updateSiteMetadata( + await updateInternalSiteMetadata( { name: sitePackageJson?.name || rootPath, sitePath, diff --git a/packages/gatsby-cli/src/recipes.ts b/packages/gatsby-cli/src/recipes.ts deleted file mode 100644 index fe7af7c1fa3c6..0000000000000 --- a/packages/gatsby-cli/src/recipes.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { trackCli } from "gatsby-telemetry" -import { startGraphQLServer, recipesHandler as runRecipe } from "gatsby-recipes" - -export async function recipesHandler( - projectRoot: string, - recipe: string | undefined, - develop: boolean, - install: boolean -): Promise { - trackCli(`RECIPE_RUN`, { name: recipe }) - - const graphql = await startGraphQLServer(projectRoot) - - return runRecipe({ - recipe, - isDevelopMode: develop, - isInstallMode: install, - graphqlPort: graphql.port, - projectRoot, - }) -} diff --git a/packages/gatsby-core-utils/package.json b/packages/gatsby-core-utils/package.json index e010701242bbe..c526fafdff4b8 100644 --- a/packages/gatsby-core-utils/package.json +++ b/packages/gatsby-core-utils/package.json @@ -35,6 +35,7 @@ "file-type": "^16.5.3", "fs-extra": "^10.0.0", "got": "^11.8.3", + "lock": "^1.1.0", "node-object-hash": "^2.3.10", "proper-lockfile": "^4.1.2", "tmp": "^0.2.1", diff --git a/packages/gatsby-core-utils/src/__tests__/fixtures/gatsby-config.js b/packages/gatsby-core-utils/src/__tests__/fixtures/gatsby-config.js new file mode 100644 index 0000000000000..87167a8b25d0d --- /dev/null +++ b/packages/gatsby-core-utils/src/__tests__/fixtures/gatsby-config.js @@ -0,0 +1,12 @@ +module.exports = { + siteMetadata: { + siteUrl: `https://www.yourdomain.tld`, + }, + plugins: [ + "gatsby-transformer-remark", + { + resolve: "gatsby-plugin-mdx", + options: {} + } + ] +} \ No newline at end of file diff --git a/packages/gatsby-core-utils/src/__tests__/list-plugins.ts b/packages/gatsby-core-utils/src/__tests__/list-plugins.ts new file mode 100644 index 0000000000000..c3802b812f1a2 --- /dev/null +++ b/packages/gatsby-core-utils/src/__tests__/list-plugins.ts @@ -0,0 +1,11 @@ +import * as path from "path" +import { listPlugins } from "../list-plugins" + +describe(`list-plugins`, () => { + it(`works for strings and objects with "resolve"`, async () => { + const root = path.join(__dirname, `./fixtures`) + + const list = listPlugins({ root }) + expect(list).toEqual([`gatsby-transformer-remark`, `gatsby-plugin-mdx`]) + }) +}) diff --git a/packages/gatsby-core-utils/src/__tests__/site-metadata.ts b/packages/gatsby-core-utils/src/__tests__/site-metadata.ts new file mode 100644 index 0000000000000..e7658000a31a5 --- /dev/null +++ b/packages/gatsby-core-utils/src/__tests__/site-metadata.ts @@ -0,0 +1,43 @@ +import * as path from "path" +import * as fs from "fs-extra" +import { addFieldToMinimalSiteMetadata } from "../site-metadata" + +const name = `title` +const value = `Arrakis` + +jest.mock(`fs-extra`, () => { + const fs = jest.requireActual(`fs-extra`) + return { ...fs, writeFile: jest.fn() } +}) + +const writeFileMock = fs.writeFile as jest.MockedFunction + +describe(`site-metadata`, () => { + describe(`addFieldToMinimalSiteMetadata`, () => { + beforeEach(() => { + writeFileMock.mockClear() + }) + + it(`works for simplest case`, async () => { + const root = path.join(__dirname, `./fixtures`) + + await addFieldToMinimalSiteMetadata({ root }, { name, value }) + + expect(writeFileMock.mock.calls[0][1]).toMatchInlineSnapshot(` + "module.exports = { + siteMetadata: { + title: \`Arrakis\`, + siteUrl: \`https://www.yourdomain.tld\`, + }, + plugins: [ + \\"gatsby-transformer-remark\\", + { + resolve: \\"gatsby-plugin-mdx\\", + options: {} + } + ] + }" + `) + }) + }) +}) diff --git a/packages/gatsby-core-utils/src/index.ts b/packages/gatsby-core-utils/src/index.ts index 7eabecaa1467f..6136f27238701 100644 --- a/packages/gatsby-core-utils/src/index.ts +++ b/packages/gatsby-core-utils/src/index.ts @@ -15,3 +15,4 @@ export * from "./service-lock" export * from "./site-metadata" export * from "./page-data" export * from "./page-html" +export { listPlugins } from "./list-plugins" diff --git a/packages/gatsby-core-utils/src/list-plugins.ts b/packages/gatsby-core-utils/src/list-plugins.ts new file mode 100644 index 0000000000000..18b686cf068a2 --- /dev/null +++ b/packages/gatsby-core-utils/src/list-plugins.ts @@ -0,0 +1,21 @@ +export function listPlugins({ root }: { root: string }): Array { + const parsedPlugins: Array< + string | { resolve: string; options: Record } + > = require(`${root}/gatsby-config`)?.plugins + + if (!parsedPlugins) { + return [] + } + + const plugins = parsedPlugins.map(plugin => { + if (typeof plugin === `string`) { + return plugin + } else if (plugin.resolve) { + return plugin.resolve + } else { + return `Plugin could not be recognized` + } + }) + + return plugins +} diff --git a/packages/gatsby-core-utils/src/lock.ts b/packages/gatsby-core-utils/src/lock.ts new file mode 100644 index 0000000000000..ca2130577ad77 --- /dev/null +++ b/packages/gatsby-core-utils/src/lock.ts @@ -0,0 +1,11 @@ +import { Lock as lockInner } from "lock" +const lockInstance = lockInner() + +export function lock(resources: string): Promise<() => void> { + return new Promise(resolve => + lockInstance(resources, release => { + const releaseLock = release(() => {}) + resolve(releaseLock) + }) + ) +} diff --git a/packages/gatsby-core-utils/src/site-metadata.ts b/packages/gatsby-core-utils/src/site-metadata.ts index 8d72b2d8f2280..c1a3dcc1a1f8f 100644 --- a/packages/gatsby-core-utils/src/site-metadata.ts +++ b/packages/gatsby-core-utils/src/site-metadata.ts @@ -1,4 +1,7 @@ +import * as fs from "fs-extra" import { createServiceLock, getService } from "./service-lock" +import { readConfigFile, getConfigPath } from "./utils" +import { lock } from "./lock" export interface ISiteMetadata { sitePath: string @@ -7,18 +10,18 @@ export interface ISiteMetadata { lastRun?: number } -export async function getSiteMetadata( +export async function getInternalSiteMetadata( sitePath: string ): Promise { return getService(sitePath, `metadata`, true) } -export async function updateSiteMetadata( +export async function updateInternalSiteMetadata( metadata: ISiteMetadata, merge = true ): Promise { if (merge) { - const oldMetadata = await getSiteMetadata(metadata.sitePath) + const oldMetadata = await getInternalSiteMetadata(metadata.sitePath) if (oldMetadata) { metadata = { ...oldMetadata, ...metadata } } @@ -28,3 +31,30 @@ export async function updateSiteMetadata( unlock => unlock?.() ) } + +/** + * Does a string replace by searching for beginning of "siteMetadata" + * Then it adds the name + value as the next key of that object + */ +function addField( + src: string, + { name, value }: { name: string; value: string } +): string { + const FIND = ` siteMetadata: {\n` + const REPLACE = ` siteMetadata: {\n ${name}: \`${value}\`,\n` + const modifiedConfig = src.replace(FIND, REPLACE) + return modifiedConfig +} + +export async function addFieldToMinimalSiteMetadata( + { root }: { root: string }, + { name, value }: { name: string; value: string } +): Promise { + const release = await lock(`gatsby-config.js`) + const configSrc = await readConfigFile(root) + + const code = addField(configSrc, { name, value }) + + await fs.writeFile(getConfigPath(root), code) + release() +} diff --git a/packages/gatsby-core-utils/src/utils.ts b/packages/gatsby-core-utils/src/utils.ts new file mode 100644 index 0000000000000..d748958dd5146 --- /dev/null +++ b/packages/gatsby-core-utils/src/utils.ts @@ -0,0 +1,28 @@ +import * as path from "path" +import * as fs from "fs-extra" + +export function getConfigPath(root: string): string { + return path.join(root, `gatsby-config.js`) +} + +export async function readConfigFile(root: string): Promise { + let src + try { + src = await fs.readFile(getConfigPath(root), `utf8`) + } catch (e) { + if (e.code === `ENOENT`) { + src = ` +module.exports = { + siteMetadata: { + siteUrl: \`https://www.yourdomain.tld\`, + }, + plugins: [], +} +` + } else { + throw e + } + } + + return src +} diff --git a/packages/gatsby-recipes/babel.config.js b/packages/gatsby-recipes/babel.config.js deleted file mode 100644 index a3e8579a0b255..0000000000000 --- a/packages/gatsby-recipes/babel.config.js +++ /dev/null @@ -1,20 +0,0 @@ -module.exports = api => { - const isTest = api.env('test'); - - return { - presets: [ - ["@babel/env", { - // use ES modules for rollup and commonjs for jest - modules: isTest ? `commonjs` : false, - shippedProposals: true, - targets: { - "node": "10.13.0" - } - }], - "@babel/preset-react" - ], - plugins: ["@babel/plugin-transform-runtime"] - } -}; - - diff --git a/packages/gatsby-recipes/src/providers/gatsby/fixtures/node_modules/gatsby-theme-blog/src/components/author.js b/packages/gatsby-recipes/src/providers/gatsby/fixtures/node_modules/gatsby-theme-blog/src/components/author.js deleted file mode 100644 index 65dc38d11408d..0000000000000 --- a/packages/gatsby-recipes/src/providers/gatsby/fixtures/node_modules/gatsby-theme-blog/src/components/author.js +++ /dev/null @@ -1,3 +0,0 @@ -import React from 'react' - -export default () =>

F. Scott Fitzgerald

diff --git a/packages/gatsby-source-wordpress/package.json b/packages/gatsby-source-wordpress/package.json index 980519cec92a8..81987e334ae53 100644 --- a/packages/gatsby-source-wordpress/package.json +++ b/packages/gatsby-source-wordpress/package.json @@ -35,6 +35,7 @@ "got": "^11.8.3", "lodash": "^4.17.21", "node-fetch": "^2.6.6", + "prettier": "^2.5.1", "p-queue": "^6.6.2", "read-chunk": "^3.2.0", "replaceall": "^0.1.6", diff --git a/packages/gatsby/src/commands/build.ts b/packages/gatsby/src/commands/build.ts index ea38891c01c6e..855a01f2d2cde 100644 --- a/packages/gatsby/src/commands/build.ts +++ b/packages/gatsby/src/commands/build.ts @@ -3,7 +3,7 @@ import report from "gatsby-cli/lib/reporter" import signalExit from "signal-exit" import fs from "fs-extra" import telemetry from "gatsby-telemetry" -import { updateSiteMetadata, isTruthy, uuid } from "gatsby-core-utils" +import { updateInternalSiteMetadata, isTruthy, uuid } from "gatsby-core-utils" import { buildRenderer, buildHTMLPagesAndDeleteStaleArtifacts, @@ -84,7 +84,7 @@ module.exports = async function build( ) } - await updateSiteMetadata({ + await updateInternalSiteMetadata({ name: program.sitePackageJson.name, sitePath: program.directory, lastRun: Date.now(), diff --git a/packages/gatsby/src/commands/develop.ts b/packages/gatsby/src/commands/develop.ts index 1f9f81d30a4ac..2a31cd37db68e 100644 --- a/packages/gatsby/src/commands/develop.ts +++ b/packages/gatsby/src/commands/develop.ts @@ -16,7 +16,7 @@ import { slash, createServiceLock, getService, - updateSiteMetadata, + updateInternalSiteMetadata, UnlockFn, uuid, } from "gatsby-core-utils" @@ -338,7 +338,7 @@ module.exports = async (program: IProgram): Promise => { port: telemetryServerPort, } ) - await updateSiteMetadata({ + await updateInternalSiteMetadata({ name: program.sitePackageJson.name, sitePath: program.directory, pid: process.pid, diff --git a/yarn.lock b/yarn.lock index 05ef13e26504a..7e96d690bda91 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1198,7 +1198,7 @@ dependencies: "@babel/plugin-transform-react-jsx" "^7.14.5" -"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.11", "@babel/plugin-transform-react-jsx@^7.14.5", "@babel/plugin-transform-react-jsx@^7.14.9": +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.11", "@babel/plugin-transform-react-jsx@^7.14.5": version "7.14.9" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.9.tgz#3314b2163033abac5200a869c4de242cd50a914c" integrity sha512-30PeETvS+AeD1f58i1OVyoDlVYQhap/K20ZrMjLmmzmC2AYR/G43D4sdJAaDAqCD3MYpSWbmrz3kES158QSLjw== @@ -1462,11 +1462,6 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/standalone@^7.15.5": - version "7.15.5" - resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.15.5.tgz#6aba337fa718bfa42ce8665f7377d7911487dda8" - integrity sha512-rho2fzDGLrdYVbl0S71I8z6AREWnVvADzv7Gb4TLKhqpE6cJAvno0ALMuF253+wqhN8futx4ELWQpBYMxi4jmA== - "@babel/template@^7.0.0", "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.15.4", "@babel/template@^7.3.3": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" @@ -1821,7 +1816,7 @@ "@graphql-tools/utils" "^6.2.4" tslib "~2.0.1" -"@graphql-tools/schema@^7.0.0", "@graphql-tools/schema@^7.1.5": +"@graphql-tools/schema@^7.1.5": version "7.1.5" resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-7.1.5.tgz#07b24e52b182e736a6b77c829fc48b84d89aa711" integrity sha512-uyn3HSNSckf4mvQSq0Q07CPaVZMNFCYEVxroApOaw802m9DcZPgf9XVPy/gda5GWj9AhbijfRYVTZQgHnJ4CXA== @@ -1854,7 +1849,7 @@ camel-case "4.1.1" tslib "~2.0.1" -"@graphql-tools/utils@^7.0.2", "@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.10.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1": +"@graphql-tools/utils@^7.1.2", "@graphql-tools/utils@^7.10.0", "@graphql-tools/utils@^7.7.0", "@graphql-tools/utils@^7.7.1", "@graphql-tools/utils@^7.8.1": version "7.10.0" resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-7.10.0.tgz#07a4cb5d1bec1ff1dc1d47a935919ee6abd38699" integrity sha512-d334r6bo9mxdSqZW6zWboEnnOOFRrAPVQJ7LkU8/6grglrbcu6WhwCLzHb90E94JI3TD3ricC3YGbUqIi9Xg0w== @@ -1885,7 +1880,7 @@ tslib "~2.2.0" value-or-promise "1.0.6" -"@graphql-typed-document-node/core@^3.0.0", "@graphql-typed-document-node/core@^3.1.0": +"@graphql-typed-document-node/core@^3.0.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950" integrity sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg== @@ -2310,16 +2305,6 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^25.5.0": - version "25.5.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-25.5.0.tgz#4d6a4793f7b9599fc3680877b856a97dbccf2a9d" - integrity sha512-OXD0RgQ86Tu3MazKo8bnrkDRaDXXMGUqd+kTtLtK1Zb7CRzQcaSRPPPV37SvYTdevXEBVxe0HXylEjs8ibkmCw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - "@jest/types@^26.6.2": version "26.6.2" resolved "https://registry.yarnpkg.com/@jest/types/-/types-26.6.2.tgz#bef5a532030e1d88a2f5a6d933f84e97226ed48e" @@ -3354,52 +3339,11 @@ unist-builder "2.0.3" unist-util-visit "2.0.3" -"@mdx-js/mdx@^2.0.0-next.4", "@mdx-js/mdx@^2.0.0-next.7": - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.0.0-next.7.tgz#3f27449e6a78ac0a9cc682f98e1c93442e93f166" - integrity sha512-GcdHQ+YTlIaNpsMPlw32kEp+GCrb+2GLeDDf2AFtJiRoTelgCinjYp1twxY42WF6A4K80ZYgpr0/A6PDQbKNyw== - dependencies: - "@babel/core" "7.10.5" - "@babel/plugin-syntax-jsx" "7.10.4" - "@babel/plugin-syntax-object-rest-spread" "7.8.3" - "@mdx-js/util" "^2.0.0-next.7" - babel-plugin-apply-mdx-type-prop "^2.0.0-next.7" - babel-plugin-extract-export-names "^2.0.0-next.7" - babel-plugin-extract-import-names "^2.0.0-next.7" - camelcase-css "2.0.1" - detab "2.0.3" - hast-to-hyperscript "9.0.0" - hast-util-raw "6.0.0" - lodash.uniq "4.5.0" - mdast-util-to-hast "9.1.0" - remark-footnotes "1.0.0" - remark-mdx "^2.0.0-next.7" - remark-mdxjs "^2.0.0-next.7" - remark-parse "8.0.2" - remark-squeeze-paragraphs "4.0.0" - unified "9.0.0" - unist-builder "2.0.3" - unist-util-visit "2.0.3" - "@mdx-js/react@^1.6.16": version "1.6.16" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-1.6.16.tgz#538eb14473194d0b3c54020cb230e426174315cd" integrity sha512-+FhuSVOPo7+4fZaRwWuCSRUcZkJOkZu0rfAbBKvoCg1LWb1Td8Vzi0DTLORdSvgWNbU6+EL40HIgwTOs00x2Jw== -"@mdx-js/react@^2.0.0-next.4", "@mdx-js/react@^2.0.0-next.7": - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.0.0-next.7.tgz#33d3a2a961d5f2ebf36d096642c2a306111feae4" - integrity sha512-VugV3o0zOD6pABtQEDDWNxiU8f+tS4KMiOgnwNiyxxOEwEZgBnXfMhZYDtHfrnhHxS59ValJ5zITnbdBwPbJkA== - -"@mdx-js/runtime@^2.0.0-next.4": - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/@mdx-js/runtime/-/runtime-2.0.0-next.7.tgz#6efd063bc9bec85a16e38fddab02d12812c05d43" - integrity sha512-+Nnjjs1LsdxkkdLODnFE0gz0B69uYJ+eUxScUBDoOY61jnm1NTvq/Axu3/Ax4YMtNwVCQMqBXXeOgLBDku1ISg== - dependencies: - "@mdx-js/mdx" "^2.0.0-next.7" - "@mdx-js/react" "^2.0.0-next.7" - buble-jsx-only "^0.19.8" - "@mdx-js/util@1.6.16": version "1.6.16" resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.16.tgz#07a7342f6b61ea1ecbfb31e6e23bf7a8c79b9b57" @@ -3410,11 +3354,6 @@ resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-1.6.22.tgz#219dfd89ae5b97a8801f015323ffa4b62f45718b" integrity sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA== -"@mdx-js/util@^2.0.0-next.7": - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/@mdx-js/util/-/util-2.0.0-next.7.tgz#b1c52e7622917d7601b2c9ba2f132aaf8d4224fc" - integrity sha512-gsid2rh63B7/U1gPLXz9N5bfWR+n5GYxAcVCJDf8H+XfCC7NHsEX9ZHL9IdmXndOPT4ZTSW6V/jD8VeQdvnzLQ== - "@mrmlnc/readdir-enhanced@^2.2.1": version "2.2.1" resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" @@ -3663,7 +3602,7 @@ dependencies: slash "^3.0.0" -"@rollup/plugin-babel@^5.1.0", "@rollup/plugin-babel@^5.2.2", "@rollup/plugin-babel@^5.3.0": +"@rollup/plugin-babel@^5.2.2", "@rollup/plugin-babel@^5.3.0": version "5.3.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.0.tgz#9cb1c5146ddd6a4968ad96f209c50c62f92f9879" integrity sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== @@ -3716,7 +3655,7 @@ is-module "^1.0.0" resolve "^1.17.0" -"@rollup/plugin-replace@^2.3.3", "@rollup/plugin-replace@^2.4.2": +"@rollup/plugin-replace@^2.4.2": version "2.4.2" resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== @@ -4717,14 +4656,6 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" -"@urql/core@^1.16.0": - version "1.16.2" - resolved "https://registry.yarnpkg.com/@urql/core/-/core-1.16.2.tgz#e404b7f66c163245f44e7ef3c736707b7fb20234" - integrity sha512-Be2ekFcRovpLx6EKu/w7M3jJdC32Ev3eXJgXcJD7pVDgjv/RfUbYC4tGU87VrvQDJOg+t4gHFtIR6Vr9ws7mbg== - dependencies: - "@graphql-typed-document-node/core" "^3.1.0" - wonka "^4.0.14" - "@vercel/fetch-retry@^5.0.3": version "5.0.3" resolved "https://registry.yarnpkg.com/@vercel/fetch-retry/-/fetch-retry-5.0.3.tgz#cce5d23f6e64f6f525c24e2ac7c78f65d6c5b1f4" @@ -5036,11 +4967,6 @@ accessible-nprogress@^2.1.2: resolved "https://registry.yarnpkg.com/accessible-nprogress/-/accessible-nprogress-2.1.2.tgz#8e65ebf4936db1752638e1cd2e8730f9bef311e9" integrity sha512-reIwMbbt+ZGOmQLWPXGcPf5X1F4fzsZAekY9alCxpekxizRhQMAd/QInaA8k7WtwTcGMzD9hnYswGLcaJDRY/A== -acorn-dynamic-import@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz#482210140582a36b83c3e342e1cfebcaa9240948" - integrity sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw== - acorn-globals@^4.1.0, acorn-globals@^4.3.0, acorn-globals@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" @@ -5090,7 +5016,7 @@ acorn@^5.0.0, acorn@^5.5.3: resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.1.1: +acorn@^6.0.1, acorn@^6.0.4: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== @@ -5511,11 +5437,6 @@ arr-flatten@^1.0.1, arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" -arr-rotate@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/arr-rotate/-/arr-rotate-1.0.0.tgz#c11877d06a0a42beb39ab8956a06779d9b71d248" - integrity sha512-yOzOZcR9Tn7enTF66bqKorGGH0F36vcPaSWg8fO0c0UYb3LX3VMXj5ZxEqQLNOecAhlRJ7wYZja5i4jTlnbIfQ== - arr-union@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" @@ -5852,7 +5773,7 @@ axios-rate-limit@^1.3.0: resolved "https://registry.yarnpkg.com/axios-rate-limit/-/axios-rate-limit-1.3.0.tgz#03241d24c231c47432dab6e8234cfde819253c2e" integrity sha512-cKR5wTbU/CeeyF1xVl5hl6FlYsmzDVqxlN4rGtfO5x7J83UxKDckudsW0yW21/ZJRcO0Qrfm3fUFbhEbWTLayw== -axios@^0.21.0, axios@^0.21.1: +axios@^0.21.1: version "0.21.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA== @@ -5992,14 +5913,6 @@ babel-plugin-apply-mdx-type-prop@1.6.16: "@babel/helper-plugin-utils" "7.10.4" "@mdx-js/util" "1.6.16" -babel-plugin-apply-mdx-type-prop@^2.0.0-next.7: - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-2.0.0-next.7.tgz#6a2eeac3b0c281515c69cbc08d5163856e288e50" - integrity sha512-JhT3sMNjNRzrMxpgkVUN5s3UvDpDCcUTsqsgZvIC2OXtQqNR8ZJxMHckbAJRWmz0YqyuVbFgLUQKpDGHAAB6GA== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - "@mdx-js/util" "^2.0.0-next.7" - babel-plugin-codegen@^4.1.0: version "4.1.4" resolved "https://registry.yarnpkg.com/babel-plugin-codegen/-/babel-plugin-codegen-4.1.4.tgz#e00ff59aef90dbfd41f2dec74138c46416f524d2" @@ -6021,13 +5934,6 @@ babel-plugin-dynamic-import-node@^2.3.3: dependencies: object.assign "^4.1.0" -babel-plugin-extract-export-names@^2.0.0-next.7: - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-export-names/-/babel-plugin-extract-export-names-2.0.0-next.7.tgz#26be2512f8535a92c47fc727ce2de873313658cd" - integrity sha512-CTsKh5l99oBd5jemej5BHdzxwaXDYNi3zryGEHaCcO6h3H6OAx7sQyHV76yO7eWHXFBc+t30YSuubpwJQwLHhg== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - babel-plugin-extract-import-names@1.6.16: version "1.6.16" resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.16.tgz#b964004e794bdd62534c525db67d9e890d5cc079" @@ -6035,13 +5941,6 @@ babel-plugin-extract-import-names@1.6.16: dependencies: "@babel/helper-plugin-utils" "7.10.4" -babel-plugin-extract-import-names@^2.0.0-next.7: - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-2.0.0-next.7.tgz#e55b24fd2c86b2a7e55af279953c4a1bb6bc7b60" - integrity sha512-WSYLKKC9a3nLbfnrrbXoEeC8LS3jCn1wBWOcc4Tlwl7n97EBuvCEEMQCHnV7rEDQFl9impbAKr9kLH0QEa8IXg== - dependencies: - "@babel/helper-plugin-utils" "7.10.4" - babel-plugin-import-globals@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-import-globals/-/babel-plugin-import-globals-2.0.0.tgz#fd2527fe9764abfc373ddc903bb6ab596b771cb1" @@ -6655,19 +6554,6 @@ btoa@^1.2.1: resolved "https://registry.yarnpkg.com/btoa/-/btoa-1.2.1.tgz#01a9909f8b2c93f6bf680ba26131eb30f7fa3d73" integrity sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== -buble-jsx-only@^0.19.8: - version "0.19.8" - resolved "https://registry.yarnpkg.com/buble-jsx-only/-/buble-jsx-only-0.19.8.tgz#6e3524aa0f1c523de32496ac9aceb9cc2b493867" - integrity sha512-7AW19pf7PrKFnGTEDzs6u9+JZqQwM1VnLS19OlqYDhXomtFFknnoQJAPHeg84RMFWAvOhYrG7harizJNwUKJsA== - dependencies: - acorn "^6.1.1" - acorn-dynamic-import "^4.0.0" - acorn-jsx "^5.0.1" - chalk "^2.4.2" - magic-string "^0.25.3" - minimist "^1.2.0" - regexpu-core "^4.5.4" - buffer-crc32@~0.2.3: version "0.2.13" resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" @@ -7770,17 +7656,6 @@ content-type@^1.0.4, content-type@~1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" -contentful-management@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/contentful-management/-/contentful-management-7.5.1.tgz#a86c5a98fba1c418eb995cdd1600567c92f0fe6b" - integrity sha512-6GoF8XE0gR3KWtTl2NmoZ1h4XHEC+5ePs6zBZqQ1hY4yv1EB5OKpM0CbgfvcIBS1RR3AOrpwf7f4rqqTKFeCSw== - dependencies: - axios "^0.21.0" - contentful-sdk-core "^6.7.0" - fast-copy "^2.1.0" - lodash.isplainobject "^4.0.6" - type-fest "0.20.2" - contentful-resolve-response@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/contentful-resolve-response/-/contentful-resolve-response-1.3.0.tgz#79530897b109d326c47a32c4b327afa04966cbb7" @@ -7788,7 +7663,7 @@ contentful-resolve-response@^1.3.0: dependencies: fast-copy "^2.1.0" -contentful-sdk-core@^6.7.0, contentful-sdk-core@^6.8.5: +contentful-sdk-core@^6.8.5: version "6.10.3" resolved "https://registry.yarnpkg.com/contentful-sdk-core/-/contentful-sdk-core-6.10.3.tgz#983fd69257c239881c43cb83e3ce9f501acfbe4a" integrity sha512-IUBkAU1sJuVaEa2Nv1NKK5ImqpBZ5Q3EmaCFmMZx/UHKa+i98nDCSTUBOL1aJnpZ/s3AaSramsh73VQ4aK2kyA== @@ -8143,7 +8018,7 @@ core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== -core-js@^3.0.0, core-js@^3.16.0, core-js@^3.17.2: +core-js@^3.16.0, core-js@^3.17.2: version "3.17.2" resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.17.2.tgz#f960eae710dc62c29cca93d5332e3660e289db10" integrity sha512-XkbXqhcXeMHPRk2ItS+zQYliAMilea2euoMsnpRRdDad6b2VY6CQQcwz1K8AnWesfw4p165RzY0bTnr3UrbYiA== @@ -9167,14 +9042,6 @@ detect-libc@^1.0.2, detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detect-newline@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-1.0.3.tgz#e97b1003877d70c09af1af35bfadff168de4920d" - integrity sha1-6XsQA4d9cMCa8a81v63/Fo3kkg0= - dependencies: - get-stdin "^4.0.1" - minimist "^1.1.0" - detect-newline@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" @@ -9277,11 +9144,6 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - diff-sequences@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" @@ -9586,7 +9448,7 @@ dot-prop@^5.1.0, dot-prop@^5.2.0: dependencies: is-obj "^2.0.0" -dotenv@^8.2.0, dotenv@^8.6.0: +dotenv@^8.6.0: version "8.6.0" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b" integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g== @@ -10866,28 +10728,6 @@ fd@~0.0.2: resolved "https://registry.yarnpkg.com/fd/-/fd-0.0.3.tgz#b3240de86dbf5a345baae7382a07d4713566ff0c" integrity sha512-iAHrIslQb3U68OcMSP0kkNWabp7sSN6d2TBSb2JO3gcLJVDd4owr/hKM4SFJovFOUeeXeItjYgouEDTMWiVAnA== -fetch-mock-jest@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fetch-mock-jest/-/fetch-mock-jest-1.3.0.tgz#463fcc789b604d6e0b5faa1860f9dfebdea28f9a" - integrity sha512-3hHLcSQrww8yhGQnUyKSCQik4piaWcjHc4/bdDfKCQI6GEOsOKBWJro/XBXGnZjZPy47cVtBDx99aQxNYK0/OA== - dependencies: - fetch-mock "^9.0.0" - -fetch-mock@^9.0.0: - version "9.10.7" - resolved "https://registry.yarnpkg.com/fetch-mock/-/fetch-mock-9.10.7.tgz#9673717af181e1ecb791cf32315c13580d4571ea" - integrity sha512-YkiMHSL8CQ0vlWYpqGvlaZjViFk0Kar9jonPjSvaWoztkeHH6DENqUzBIsffzjVKhwchPI74SZRLRpIsEyNcZQ== - dependencies: - babel-runtime "^6.26.0" - core-js "^3.0.0" - debug "^4.1.1" - glob-to-regexp "^0.4.0" - is-subset "^0.1.1" - lodash.isequal "^4.5.0" - path-to-regexp "^2.2.1" - querystring "^0.2.0" - whatwg-url "^6.5.0" - figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: version "3.5.1" resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790" @@ -11812,7 +11652,7 @@ glob-to-regexp@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" -glob-to-regexp@^0.4.0, glob-to-regexp@^0.4.1: +glob-to-regexp@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== @@ -12104,7 +11944,7 @@ graphiql@^1.4.0: graphql-language-service "^3.1.2" markdown-it "^10.0.0" -graphql-compose@~7.25.0, graphql-compose@~7.25.1: +graphql-compose@~7.25.1: version "7.25.1" resolved "https://registry.yarnpkg.com/graphql-compose/-/graphql-compose-7.25.1.tgz#9d89f72781931590d4dfca6a709f381f2f76b873" integrity sha512-TPXTe1BoQkMjp/MH93yA0SQo8PiXxJAv6Eo6K/+kpJELM9l2jZnd5PCduweuXFcKv+nH973wn/VYzYKDMQ9YoQ== @@ -12186,13 +12026,6 @@ graphql-request@^1.8.2: dependencies: cross-fetch "2.2.2" -graphql-subscriptions@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11" - integrity sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA== - dependencies: - iterall "^1.2.1" - graphql-tag@^2.12.0: version "2.12.3" resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.3.tgz#ac47bf9d51c67c68ada8a33fd527143ed15bb647" @@ -12200,7 +12033,7 @@ graphql-tag@^2.12.0: dependencies: tslib "^2.1.0" -graphql-type-json@0.3.2, graphql-type-json@^0.3.2: +graphql-type-json@0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/graphql-type-json/-/graphql-type-json-0.3.2.tgz#f53a851dbfe07bd1c8157d24150064baab41e115" integrity sha512-J+vjof74oMlCWXSvt0DOf2APEdZOCdubEvGDUAlqH//VBYcOYsGgRW7Xzorr44LvkjiuvecWc8fChxuZZbChtg== @@ -12210,7 +12043,7 @@ graphql-ws@^4.1.0: resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.3.2.tgz#c58b03acc3bd5d4a92a6e9f729d29ba5e90d46a3" integrity sha512-jsW6eOlko7fJek1iaSGQFj97AWuhexL9A3PuxYtyke/VlMdbSFzmDR4PlPPCTBBskRg6tNRb5RTbBVSd2T60JQ== -graphql@^15.4.0, graphql@^15.5.1, graphql@^15.7.2: +graphql@^15.5.1, graphql@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.7.2.tgz#85ab0eeb83722977151b3feb4d631b5f2ab287ef" integrity sha512-AnnKk7hFQFmU/2I9YSQf3xw44ctnSFCfp3zE0N6W174gqe9fWG/2rKaKxROK7CcI3XtERpjEKFqts8o319Kf7A== @@ -12414,7 +12247,7 @@ hasha@^5.2.2: is-stream "^2.0.0" type-fest "^0.8.0" -hast-to-hyperscript@9.0.0, hast-to-hyperscript@^9.0.0: +hast-to-hyperscript@^9.0.0: version "9.0.0" resolved "https://registry.yarnpkg.com/hast-to-hyperscript/-/hast-to-hyperscript-9.0.0.tgz#768fb557765fe28749169c885056417342d71e83" integrity sha512-NJvMYU3GlMLs7hN3CRbsNlMzusVNkYBogVWDGybsuuVQ336gFLiD+q9qtFZT2meSHzln3pNISZWTASWothMSMg== @@ -12572,19 +12405,6 @@ hex2rgba@^0.0.1: resolved "https://registry.yarnpkg.com/hex2rgba/-/hex2rgba-0.0.1.tgz#8701ba1c6ec02c204504158407c1c4b47a9336ed" integrity sha1-hwG6HG7ALCBFBBWEB8HEtHqTNu0= -hicat@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/hicat/-/hicat-0.8.0.tgz#20cd71f58aaf1bd84d52e54f1aeea0c90fa74251" - integrity sha512-om8L9O5XwqeSdwl5NtHgrzK3wcF4fT9T4gb/NktoH8EyoZipas/tvUZLV48xT7fQfMYr9qvb0WEutqdf0LWSqA== - dependencies: - highlight.js "^10.4.1" - minimist "^1.2.5" - -highlight.js@^10.4.1: - version "10.5.0" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-10.5.0.tgz#3f09fede6a865757378f2d9ebdcbc15ba268f98f" - integrity sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw== - highlight.js@^9.15.5: version "9.15.6" resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.15.6.tgz#72d4d8d779ec066af9a17cb14360c3def0aa57c4" @@ -13176,23 +12996,14 @@ init-package-json@^1.10.3: validate-npm-package-license "^3.0.1" validate-npm-package-name "^3.0.0" -ink-select-input@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/ink-select-input/-/ink-select-input-4.2.0.tgz#a03dc1cae81f09c29cdd4612ae0be610c65c269f" - integrity sha512-pNpVNNlvbERKKj7yFZcNCecnz6RA7Lc6UZVfwYe1a3e56LPQmTYL0mbtfENQ9PBeMagny1tCtg0pQwr9y7NtVw== - dependencies: - arr-rotate "^1.0.0" - figures "^3.2.0" - lodash.isequal "^4.5.0" - -ink-spinner@^4.0.1, ink-spinner@^4.0.3: +ink-spinner@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/ink-spinner/-/ink-spinner-4.0.3.tgz#0d0f4a787ae1a4270928e063d9c52527cb264feb" integrity sha512-uJ4nbH00MM9fjTJ5xdw0zzvtXMkeGb0WV6dzSWvFv2/+ks6FIhpkt+Ge/eLdh0Ah6Vjw5pLMyNfoHQpRDRVFbQ== dependencies: cli-spinners "^2.3.0" -ink@*, ink@^3.0.8, ink@^3.2.0: +ink@*, ink@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/ink/-/ink-3.2.0.tgz#434793630dc57d611c8fe8fffa1db6b56f1a16bb" integrity sha512-firNp1q3xxTzoItj/eOOSZQnYSlyrWks5llCTVX37nJ59K3eXbQ8PtzCguqo8YI19EELo5QxaKnJd4VxzhU8tg== @@ -13426,7 +13237,7 @@ is-binary-path@^1.0.0: dependencies: binary-extensions "^1.0.0" -is-binary-path@^2.1.0, is-binary-path@~2.1.0: +is-binary-path@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== @@ -13891,11 +13702,6 @@ is-string@^1.0.5, is-string@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-subset@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-subset/-/is-subset-0.1.1.tgz#8a59117d932de1de00f245fcdd39ce43f1e939a6" - integrity sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY= - is-svg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" @@ -13937,11 +13743,6 @@ is-upper-case@^1.1.0: dependencies: upper-case "^1.1.0" -is-url@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" - integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== - is-utf8@^0.2.0, is-utf8@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" @@ -14285,16 +14086,6 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.5.0.tgz#1dd26ed64f96667c068cef026b677dfa01afcfa9" - integrity sha512-z1kygetuPiREYdNIumRpAHY6RXiGmp70YHptjdaxTWGmA085W3iCnXNx0DhflK3vwrKmrRWyY1wUpkPMVxMK7A== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.5.0" - jest-diff@^26.0.0, jest-diff@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" @@ -14432,11 +14223,6 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - jest-get-type@^26.3.0: version "26.3.0" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" @@ -16014,7 +15800,7 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" -lock@^1.0.0: +lock@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/lock/-/lock-1.1.0.tgz#53157499d1653b136ca66451071fca615703fa55" integrity sha1-UxV0mdFlOxNspmRRBx/KYVcD+lU= @@ -16153,11 +15939,6 @@ lodash.isboolean@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.iserror@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/lodash.iserror/-/lodash.iserror-3.1.1.tgz#297b9a05fab6714bc2444d7cc19d1d7c44b5ecec" @@ -16445,7 +16226,7 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.25.0, magic-string@^0.25.3, magic-string@^0.25.7: +magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.7" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== @@ -16650,13 +16431,6 @@ mdast-util-compact@^1.0.0: dependencies: unist-util-visit "^1.1.0" -mdast-util-compact@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490" - integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA== - dependencies: - unist-util-visit "^2.0.0" - mdast-util-definitions@^1.2.0: version "1.2.5" resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-1.2.5.tgz#3fe622a4171c774ebd06f11e9f8af7ec53ea5c74" @@ -19080,11 +18854,6 @@ path-to-regexp@^1.0.1: dependencies: isarray "0.0.1" -path-to-regexp@^2.2.1: - version "2.4.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704" - integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== - path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -20091,16 +19860,6 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^25.5.0: - version "25.5.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.5.0.tgz#7873c1d774f682c34b8d48b6743a2bf2ac55791a" - integrity sha512-kbo/kq2LQ/A/is0PQwsEHM7Ca6//bGPPvU6UnsdDRSKTWxT/ru/xb88v4BJf6a69H+uTytOEsTusT9ksd/1iWQ== - dependencies: - "@jest/types" "^25.5.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - pretty-format@^26.0.0, pretty-format@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" @@ -20605,7 +20364,7 @@ react-error-overlay@^6.0.9: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-is@^16.12.0, react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: +react-is@^16.7.0, react-is@^16.8.1, react-is@^16.8.4, react-is@^16.8.6: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== @@ -20619,16 +20378,6 @@ react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" -react-reconciler@^0.25.1: - version "0.25.1" - resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.25.1.tgz#f9814d59d115e1210762287ce987801529363aaa" - integrity sha512-R5UwsIvRcSs3w8n9k3tBoTtUHdVhu9u84EG7E5M0Jk9F5i6DA1pQzPfUZd6opYWGy56MJOtV3VADzy6DRwYDjw== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - react-reconciler@^0.26.2: version "0.26.2" resolved "https://registry.yarnpkg.com/react-reconciler/-/react-reconciler-0.26.2.tgz#bbad0e2d1309423f76cf3c3309ac6c96e05e9d91" @@ -21025,7 +20774,7 @@ regexpu-core@^1.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -regexpu-core@^4.5.4, regexpu-core@^4.7.1: +regexpu-core@^4.7.1: version "4.7.1" resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== @@ -21702,17 +21451,6 @@ remark-mdx@1.6.16: remark-parse "8.0.3" unified "9.1.0" -remark-mdx@2.0.0-next.7, remark-mdx@^2.0.0-next.7: - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.0.0-next.7.tgz#e8d4e4fe2c2a98bb34e10304c6e6f2823ba56dfb" - integrity sha512-JHYCfxJzvjTw8h5y10f+mCvbfIt5klAkWlULqPu1nM/r6ghF3tzJl0AFQFj5b/m/7U553+yYb/y4n0julMERYA== - dependencies: - parse-entities "^2.0.0" - remark-stringify "^8.1.0" - stringify-entities "^3.0.1" - strip-indent "^3.0.0" - unist-util-stringify-position "^2.0.3" - remark-mdx@^1.6.22: version "1.6.22" resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-1.6.22.tgz#06a8dab07dcfdd57f3373af7f86bd0e992108bbd" @@ -21727,17 +21465,6 @@ remark-mdx@^1.6.22: remark-parse "8.0.3" unified "9.2.0" -remark-mdxjs@^2.0.0-next.4, remark-mdxjs@^2.0.0-next.7: - version "2.0.0-next.7" - resolved "https://registry.yarnpkg.com/remark-mdxjs/-/remark-mdxjs-2.0.0-next.7.tgz#32db2b04abb19ee8e7e383103b16f4f555e198dc" - integrity sha512-ixa9jEQ1mB65NYJaBq+Hv91DIqQ7B3wk+L9Agwa31NkIzvt6zcgx6TKwavr0zZG69I2n1gZzekhp51AeVCzU1Q== - dependencies: - "@babel/core" "7.10.5" - "@babel/helper-plugin-utils" "7.10.4" - "@babel/plugin-proposal-object-rest-spread" "7.10.4" - "@babel/plugin-syntax-jsx" "7.10.4" - "@mdx-js/util" "^2.0.0-next.7" - remark-message-control@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/remark-message-control/-/remark-message-control-6.0.0.tgz#955b054b38c197c9f2e35b1d88a4912949db7fc5" @@ -21746,28 +21473,6 @@ remark-message-control@^6.0.0: mdast-comment-marker "^1.0.0" unified-message-control "^3.0.0" -remark-parse@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.2.tgz#5999bc0b9c2e3edc038800a64ff103d0890b318b" - integrity sha512-eMI6kMRjsAGpMXXBAywJwiwAse+KNpmt+BK55Oofy4KvBZEqUDj6mWbGLJZrujoPIPPxDXzn3T9baRlpsm2jnQ== - dependencies: - ccount "^1.0.0" - collapse-white-space "^1.0.2" - is-alphabetical "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - is-word-character "^1.0.0" - markdown-escapes "^1.0.0" - parse-entities "^2.0.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - trim "0.0.1" - trim-trailing-lines "^1.0.0" - unherit "^1.0.4" - unist-util-remove-position "^2.0.0" - vfile-location "^3.0.0" - xtend "^4.0.1" - remark-parse@8.0.3: version "8.0.3" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" @@ -21810,7 +21515,7 @@ remark-parse@^5.0.0: vfile-location "^2.0.0" xtend "^4.0.1" -remark-parse@^6.0.0, remark-parse@^6.0.3: +remark-parse@^6.0.0: version "6.0.3" resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-6.0.3.tgz#c99131052809da482108413f87b0ee7f52180a3a" dependencies: @@ -21984,26 +21689,6 @@ remark-stringify@^6.0.0: unherit "^1.0.4" xtend "^4.0.1" -remark-stringify@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.0.tgz#1e555f4402e445c364fb23d12fc5f5e0337ec8b7" - integrity sha512-FSPZv1ds76oAZjurhhuV5qXSUSoz6QRPuwYK38S41sLHwg4oB7ejnmZshj7qwjgYLf93kdz6BOX9j5aidNE7rA== - dependencies: - ccount "^1.0.0" - is-alphanumeric "^1.0.0" - is-decimal "^1.0.0" - is-whitespace-character "^1.0.0" - longest-streak "^2.0.1" - markdown-escapes "^1.0.0" - markdown-table "^2.0.0" - mdast-util-compact "^2.0.0" - parse-entities "^2.0.0" - repeat-string "^1.5.4" - state-toggle "^1.0.0" - stringify-entities "^3.0.0" - unherit "^1.0.4" - xtend "^4.0.1" - remark-stringify@^9.0.0, remark-stringify@^9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-9.0.1.tgz#576d06e910548b0a7191a71f27b33f1218862894" @@ -22564,7 +22249,7 @@ rollup-plugin-bundle-size@^1.0.3: chalk "^1.1.3" maxmin "^2.1.0" -rollup-plugin-internal@^1.0.0, rollup-plugin-internal@^1.0.4: +rollup-plugin-internal@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/rollup-plugin-internal/-/rollup-plugin-internal-1.0.4.tgz#3b2f221e4cda5eed51742a0f81617e3840473450" integrity sha512-abFOORRqps1dICHgLqasbVG+Kt45BDifUj5XuLSGQm/UBnrLuj9ctKxw8388B4YS9Gk6pv3YRjNIsJ/SJKBE9w== @@ -22633,7 +22318,7 @@ rollup@^1: "@types/node" "*" acorn "^7.1.0" -rollup@^2.34.2, rollup@^2.35.1, rollup@^2.60.2: +rollup@^2.35.1, rollup@^2.60.2: version "2.60.2" resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.60.2.tgz#3f45ace36a9b10b4297181831ea0719922513463" integrity sha512-1Bgjpq61sPjgoZzuiDSGvbI1tD91giZABgjCQBKM5aYLnzjq52GoDuWVwT/cm/MCxCMPU8gqQvkj8doQ5C8Oqw== @@ -23117,13 +22802,6 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -single-trailing-newline@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/single-trailing-newline/-/single-trailing-newline-1.0.0.tgz#81f0ad2ad645181945c80952a5c1414992ee9664" - integrity sha1-gfCtKtZFGBlFyAlSpcFBSZLulmQ= - dependencies: - detect-newline "^1.0.3" - sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -23820,7 +23498,7 @@ stringify-entities@^1.0.1: is-alphanumerical "^1.0.0" is-hexadecimal "^1.0.0" -stringify-entities@^3.0.0, stringify-entities@^3.0.1: +stringify-entities@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.0.1.tgz#32154b91286ab0869ab2c07696223bd23b6dbfc0" integrity sha512-Lsk3ISA2++eJYqBMPKcr/8eby1I6L0gP0NlxF8Zja6c05yr/yCYyb2c9PwXjd08Ib3If1vn1rbs1H5ZtVuOfvQ== @@ -24104,7 +23782,7 @@ subscriptions-transport-ws@0.9.18: symbol-observable "^1.0.4" ws "^5.2.0" -subscriptions-transport-ws@^0.9.16, subscriptions-transport-ws@^0.9.18: +subscriptions-transport-ws@^0.9.18: version "0.9.19" resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.19.tgz#10ca32f7e291d5ee8eb728b9c02e43c52606cdcf" integrity sha512-dxdemxFFB0ppCLg10FTtRqH/31FNRL1y1BQv8209MK5I4CwALb7iihQg+7p65lFcIl8MHatINWBLOqpgU4Kyyw== @@ -24614,20 +24292,13 @@ title-case@^2.1.0: no-case "^2.2.0" upper-case "^1.0.3" -tmp-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tmp-promise/-/tmp-promise-2.1.0.tgz#b3e70d34ec294279e7c3abbf12b20c7290a3b084" - integrity sha512-vpg4MiaO80NeB53/tj8RHVHOGkCGOXZ8FMrJqDtJVlgrslkBNNkrAScfE7oJBTry06kc1MrV7SPVVc1auoY0lA== - dependencies: - tmp "^0.2.0" - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" dependencies: os-tmpdir "~1.0.2" -tmp@^0.2.0, tmp@^0.2.1: +tmp@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== @@ -24958,11 +24629,6 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@0.20.2, type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - type-fest@^0.11.0: version "0.11.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" @@ -24983,6 +24649,11 @@ type-fest@^0.18.0: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f" integrity sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== +type-fest@^0.20.2: + version "0.20.2" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== + type-fest@^0.3.0: version "0.3.1" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" @@ -25209,18 +24880,6 @@ unified-message-control@^3.0.0: unist-util-visit "^2.0.0" vfile-location "^3.0.0" -unified@9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.0.0.tgz#12b099f97ee8b36792dbad13d278ee2f696eed1d" - integrity sha512-ssFo33gljU3PdlWLjNp15Inqb77d6JnJSfyplGJPT/a+fNRNyCBeveBAYJdO5khKdF6WVHa/yYCC7Xl6BDwZUQ== - dependencies: - bail "^1.0.0" - extend "^3.0.0" - is-buffer "^2.0.0" - is-plain-obj "^2.0.0" - trough "^1.0.0" - vfile "^4.0.0" - unified@9.1.0: version "9.1.0" resolved "https://registry.yarnpkg.com/unified/-/unified-9.1.0.tgz#7ba82e5db4740c47a04e688a9ca8335980547410" @@ -25480,7 +25139,7 @@ unist-util-stringify-position@^1.0.0, unist-util-stringify-position@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-1.1.2.tgz#3f37fcf351279dcbca7480ab5889bb8a832ee1c6" -unist-util-stringify-position@^2.0.0, unist-util-stringify-position@^2.0.3: +unist-util-stringify-position@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== @@ -25506,7 +25165,7 @@ unist-util-visit-parents@^3.0.0, unist-util-visit-parents@^3.1.1: "@types/unist" "^2.0.0" unist-util-is "^4.0.0" -unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.2, unist-util-visit@^2.0.3: +unist-util-visit@2.0.3, unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== @@ -25703,14 +25362,6 @@ urltools@^0.4.1: underscore "^1.8.3" urijs "^1.18.2" -urql@^1.9.7: - version "1.11.6" - resolved "https://registry.yarnpkg.com/urql/-/urql-1.11.6.tgz#6b6b60093fc9ef142915938a8dbd3cc84e2dd195" - integrity sha512-PpXzZiCKStcg52M9hJZTbcU5wIvQlYqu0vVofdaEv144JbvOhKIwzcX0+qkc3yJMyDm2isYo4D1vQQY+meRVqg== - dependencies: - "@urql/core" "^1.16.0" - wonka "^4.0.14" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -26293,7 +25944,7 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^6.4.1, whatwg-url@^6.5.0: +whatwg-url@^6.4.1: version "6.5.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" dependencies: @@ -26406,11 +26057,6 @@ woff2sfnt-sfnt2woff@^1.0.0: dependencies: pako "^1.0.7" -wonka@^4.0.14: - version "4.0.14" - resolved "https://registry.yarnpkg.com/wonka/-/wonka-4.0.14.tgz#77d680a84e575ed15a9f975eb87d6c530488f3a4" - integrity sha512-v9vmsTxpZjrA8CYfztbuoTQSHEsG3ZH+NCYfasHm0V3GqBupXrjuuz0RJyUaw2cRO7ouW2js0P6i853/qxlDcA== - word-wrap@^1.2.3, word-wrap@~1.2.3: version "1.2.3" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" @@ -26678,7 +26324,7 @@ ws@^5.2.0: dependencies: async-limiter "~1.0.0" -"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7, ws@^7.0.0, ws@^7.2.3, ws@^7.3.0, ws@^7.4.6, ws@^7.5.5: +"ws@^5.2.0 || ^6.0.0 || ^7.0.0", ws@^7, ws@^7.0.0, ws@^7.2.3, ws@^7.4.6, ws@^7.5.5: version "7.5.5" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== @@ -26793,7 +26439,7 @@ xss@^1.0.6: commander "^2.20.3" cssfilter "0.0.10" -xstate@^4.26.0, xstate@^4.26.1, xstate@^4.9.1: +xstate@^4.26.0, xstate@^4.26.1: version "4.26.1" resolved "https://registry.yarnpkg.com/xstate/-/xstate-4.26.1.tgz#4fc1afd153f88cf302a9ee2b758f6629e6a829b6" integrity sha512-JLofAEnN26l/1vbODgsDa+Phqa61PwDlxWu8+2pK+YbXf+y9pQSDLRvcYH2H1kkeUBA5fGp+xFL/zfE8jNMw4g==