From 170c604ace4cd27b056412cadbbd008d87ec2379 Mon Sep 17 00:00:00 2001 From: Michal Piechowiak Date: Tue, 23 Feb 2021 12:23:03 +0100 Subject: [PATCH 01/11] fix(gatsby): re-add prefetch/preload links for child assets (#29693) * fix(gatsby): re-add prefetch/preload links for child assets * test(artifacts): add test for adding tags for webpack's magic comments --- .../artifacts/__tests__/index.js | 27 ++++++++++++ .../src/components/magic-comments/prefetch.js | 3 ++ .../src/components/magic-comments/preload.js | 3 ++ .../pages/dynamic-imports-magic-comments.js | 17 ++++++++ .../utils/gatsby-webpack-stats-extractor.ts | 23 +++++++++++ .../gatsby/src/utils/worker/render-html.ts | 41 ++++++++----------- 6 files changed, 89 insertions(+), 25 deletions(-) create mode 100644 integration-tests/artifacts/src/components/magic-comments/prefetch.js create mode 100644 integration-tests/artifacts/src/components/magic-comments/preload.js create mode 100644 integration-tests/artifacts/src/pages/dynamic-imports-magic-comments.js diff --git a/integration-tests/artifacts/__tests__/index.js b/integration-tests/artifacts/__tests__/index.js index 099643ae9d09a..417765a0bc5c2 100644 --- a/integration-tests/artifacts/__tests__/index.js +++ b/integration-tests/artifacts/__tests__/index.js @@ -396,6 +396,33 @@ describe(`First run (baseline)`, () => { manifest[runNumber].allPages.sort() ) }) + + describe(`should add for webpack's magic comments`, () => { + let htmlContent + beforeAll(() => { + htmlContent = fs.readFileSync( + path.join( + process.cwd(), + `public`, + `dynamic-imports-magic-comments`, + `index.html` + ), + `utf-8` + ) + }) + + it(`has prefetch link`, () => { + expect(htmlContent).toMatch( + //g + ) + }) + + it(`has preload link`, () => { + expect(htmlContent).toMatch( + //g + ) + }) + }) }) describe(`page-data files`, () => { diff --git a/integration-tests/artifacts/src/components/magic-comments/prefetch.js b/integration-tests/artifacts/src/components/magic-comments/prefetch.js new file mode 100644 index 0000000000000..8536a6030b7f3 --- /dev/null +++ b/integration-tests/artifacts/src/components/magic-comments/prefetch.js @@ -0,0 +1,3 @@ +export function forPrefetch() { + return `export-for-prefetch` +} diff --git a/integration-tests/artifacts/src/components/magic-comments/preload.js b/integration-tests/artifacts/src/components/magic-comments/preload.js new file mode 100644 index 0000000000000..d0d8ff1da8a5d --- /dev/null +++ b/integration-tests/artifacts/src/components/magic-comments/preload.js @@ -0,0 +1,3 @@ +export function forPreload() { + return `export-for-preload` +} diff --git a/integration-tests/artifacts/src/pages/dynamic-imports-magic-comments.js b/integration-tests/artifacts/src/pages/dynamic-imports-magic-comments.js new file mode 100644 index 0000000000000..b991d2e724da0 --- /dev/null +++ b/integration-tests/artifacts/src/pages/dynamic-imports-magic-comments.js @@ -0,0 +1,17 @@ +import * as React from "react" + +import( + /* webpackChunkName: "magic-comment-prefetch", webpackPrefetch: true */ `../components/magic-comments/prefetch` +).then(moduleForPrefetch => { + console.log({ forPrefetch: moduleForPrefetch.forPrefetch() }) +}) + +import( + /* webpackChunkName: "magic-comment-preload", webpackPreload: true */ `../components/magic-comments/preload` +).then(moduleForPreload => { + console.log({ forPreload: moduleForPreload.forPreload() }) +}) + +export default function DynamicImportsWithWebpackMagicComments() { + return
Sample for dynamic imports with webpack's magic comments
+} diff --git a/packages/gatsby/src/utils/gatsby-webpack-stats-extractor.ts b/packages/gatsby/src/utils/gatsby-webpack-stats-extractor.ts index fdaa7e189e7fb..038d2566a2db4 100644 --- a/packages/gatsby/src/utils/gatsby-webpack-stats-extractor.ts +++ b/packages/gatsby/src/utils/gatsby-webpack-stats-extractor.ts @@ -11,6 +11,7 @@ export class GatsbyWebpackStatsExtractor { compiler.hooks.done.tapAsync(this.plugin.name, (stats, done) => { const assets = {} const assetsMap = {} + const childAssets = {} for (const chunkGroup of stats.compilation.chunkGroups) { if (chunkGroup.name) { const files: Array = [] @@ -25,11 +26,33 @@ export class GatsbyWebpackStatsExtractor { f.slice(0, chunkGroup.name.length) === chunkGroup.name ) .map(filename => `/${filename}`) + + for (const [rel, childChunkGroups] of Object.entries( + chunkGroup.getChildrenByOrders( + stats.compilation.moduleGraph, + stats.compilation.chunkGraph + ) + )) { + if (!(chunkGroup.name in childAssets)) { + childAssets[chunkGroup.name] = {} + } + + const childFiles = [] + for (const childChunkGroup of childChunkGroups) { + for (const chunk of childChunkGroup.chunks) { + childFiles.push(...chunk.files) + } + } + + childAssets[chunkGroup.name][rel] = childFiles + } } } + const webpackStats = { ...stats.toJson({ all: false, chunkGroups: true }), assetsByChunkName: assets, + childAssetsByChunkName: childAssets, } fs.writeFile( path.join(`public`, `chunk-map.json`), diff --git a/packages/gatsby/src/utils/worker/render-html.ts b/packages/gatsby/src/utils/worker/render-html.ts index 7e812121e43b8..32521efe3f5ac 100644 --- a/packages/gatsby/src/utils/worker/render-html.ts +++ b/packages/gatsby/src/utils/worker/render-html.ts @@ -135,38 +135,29 @@ async function getScriptsAndStylesForTemplate( handleAsset(asset, `preload`) } - const namedChunkGroup = webpackStats.namedChunkGroups[chunkName] - if (!namedChunkGroup) { - continue - } - - for (const asset of namedChunkGroup.assets) { - handleAsset(asset.name, `preload`) - } - - // TODO: figure out childAssets for webpack@5 - there is no longer `childAssets` in webpack.stats.json // Handling for webpack magic comments, for example: // import(/* webpackChunkName: "", webpackPrefetch: true */ ``) - // will produce + // Shape of webpackStats.childAssetsByChunkName: // { - // namedChunkGroups: { + // childAssetsByChunkName: { // : { - // // [...] some fields we don't care about, - // childAssets: { - // prefetch: [ - // "-.js", - // "-.js.map", - // ] - // } + // prefetch: [ + // "-.js", + // ] // } // } // } - // for (const [rel, assets] of Object.entries(namedChunkGroup.childAssets)) { - // // @ts-ignore TS doesn't like that assets is not typed and especially that it doesn't know that it's Iterable - // for (const asset of assets) { - // handleAsset(asset, rel) - // } - // } + const childAssets = webpackStats.childAssetsByChunkName[chunkName] + if (!childAssets) { + continue + } + + for (const [rel, assets] of Object.entries(childAssets)) { + // @ts-ignore TS doesn't like that assets is not typed and especially that it doesn't know that it's Iterable + for (const asset of assets) { + handleAsset(asset, rel) + } + } } // create scripts array, making sure "preload" scripts have priority From 823140f2b0bbbcab51923186bab8128bb8e0afe5 Mon Sep 17 00:00:00 2001 From: Matt Kane Date: Tue, 23 Feb 2021 13:40:37 +0000 Subject: [PATCH 02/11] chore: Upgrade typescript (#29388) Co-authored-by: gatsbybot --- .eslintignore | 1 + .eslintrc.js | 61 +- .../src/components/class-component.js | 1 + package.json | 10 +- packages/create-gatsby/package.json | 4 +- packages/create-gatsby/src/utils.ts | 2 +- packages/create-gatsby/tsconfig.json | 1 + packages/gatsby-admin/package.json | 6 +- .../src/components/instantsearch-provider.tsx | 3 +- .../gatsby-admin/src/components/layout.tsx | 3 +- .../src/components/plugin-search.tsx | 1 + packages/gatsby-admin/src/pages/plugins.tsx | 6 +- packages/gatsby-cli/package.json | 2 +- packages/gatsby-cli/src/create-cli.ts | 84 +- packages/gatsby-core-utils/package.json | 2 +- packages/gatsby-design-tokens/package.json | 2 +- packages/gatsby-legacy-polyfills/package.json | 2 +- packages/gatsby-page-utils/package.json | 2 +- packages/gatsby-plugin-image/package.json | 4 +- .../src/components/later-hydrator.tsx | 1 + .../src/components/layout-wrapper.tsx | 4 +- .../src/components/static-image.server.tsx | 4 +- .../src/components/static-image.tsx | 1 + .../create-pages-from-collection-builder.ts | 4 +- .../src/extract-query.ts | 2 +- .../src/gatsby-node.ts | 4 +- ...is-valid-collection-path-implementation.ts | 6 +- .../src/path-utils.ts | 21 - packages/gatsby-plugin-utils/package.json | 2 +- .../src/use-scroll-restoration.ts | 4 +- packages/gatsby-telemetry/package.json | 2 +- .../gatsby-telemetry/src/get-dependencies.ts | 7 +- packages/gatsby-telemetry/src/store.ts | 6 +- packages/gatsby/package.json | 6 +- .../src/bootstrap/load-plugins/validate.ts | 4 +- packages/gatsby/src/commands/build-html.ts | 3 +- packages/gatsby/src/commands/develop.ts | 2 +- packages/gatsby/src/db/common/query.ts | 11 +- .../gatsby/src/redux/actions/restricted.ts | 2 +- packages/gatsby/src/redux/types.ts | 7 +- .../infer/__tests__/inference-metadata.ts | 10 +- .../src/schema/infer/inference-metadata.ts | 19 +- .../src/utils/__tests__/get-page-data.ts | 7 +- .../src/utils/dev-ssr/render-dev-html.ts | 5 +- packages/gatsby/src/utils/get-value-at.ts | 5 +- packages/gatsby/src/utils/jobs-manager.ts | 15 +- packages/gatsby/src/utils/mett.ts | 2 +- packages/gatsby/src/utils/page-data.ts | 2 +- .../src/utils/wait-until-jobs-complete.ts | 6 +- packages/gatsby/src/utils/webpack-utils.ts | 17 +- .../webpack/__tests__/corejs-resolver.ts | 5 +- yarn.lock | 1281 ++++++++++++++--- 52 files changed, 1267 insertions(+), 407 deletions(-) diff --git a/.eslintignore b/.eslintignore index 7710f0da72918..1bd8c9b7ab64e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -25,6 +25,7 @@ packages/gatsby-image/withIEPolyfill/index.js packages/gatsby/cache-dir/commonjs/**/* packages/gatsby-admin/public packages/gatsby/gatsby-admin-public +packages/gatsby-codemods/transforms packages/gatsby-source-wordpress/test-site/** !packages/gatsby-source-wordpress/test-site/__tests__ diff --git a/.eslintrc.js b/.eslintrc.js index 44d4749fee814..7c3836e0b2c37 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -29,6 +29,11 @@ module.exports = { before: true, after: true, spyOn: true, + // These should be in scope but for some reason eslint can't see them + NodeJS: true, + JSX: true, + NodeRequire: true, + TimerHandler: true, __PATH_PREFIX__: true, __BASE_PATH__: true, __ASSET_PREFIX__: true, @@ -48,8 +53,10 @@ module.exports = { "no-unused-vars": [ "warn", { - varsIgnorePattern: "^_" - } + varsIgnorePattern: "^_", + argsIgnorePattern: "^_", + ignoreRestSiblings: true, + }, ], "consistent-return": ["error"], "filenames/match-regex": ["error", "^[a-z-\\d\\.]+$", true], @@ -93,7 +100,9 @@ module.exports = { ...TSEslint.configs.recommended.rules, // We should absolutely avoid using ts-ignore, but it's not always possible. // particular when a dependencies types are incorrect. - "@typescript-eslint/ban-ts-ignore": "warn", + "@typescript-eslint/ban-ts-comment": { + "ts-ignore": "allow-with-description", + }, // This rule is great. It helps us not throw on types for areas that are // easily inferrable. However we have a desire to have all function inputs // and outputs declaratively typed. So this let's us ignore the parameters @@ -102,16 +111,38 @@ module.exports = { "error", { ignoreParameters: true }, ], - "@typescript-eslint/camelcase": [ + "@typescript-eslint/ban-types": [ "error", { - // This rule tries to ensure we use camelCase for all variables, properties - // functions, etc. However, it is not always possible to ensure properties - // are camelCase. Specifically we have `node.__gatsby_resolve` which breaks - // this rule. This allows properties to be whatever they need to be. - properties: "never", - // Allow unstable api's to use `unstable_`, which is easier to grep - allow: ["^unstable_"], + extendDefaults: true, + types: { + "{}": false, + object: { + fixWith: "Record", + }, + }, + }, + ], + "@typescript-eslint/naming-convention": [ + { + selector: "default", + format: ["camelCase"], + }, + { selector: "variable", format: ["camelCase", "UPPER_CASE"] }, + { + selector: "parameter", + format: ["camelCase"], + leadingUnderscore: "allow", + prefix: ["unstable_", ""], + }, + { + selector: "typeLike", + format: ["PascalCase"], + }, + { + selector: "interface", + format: ["PascalCase"], + prefix: ["I"], }, ], // This rule tries to prevent using `require()`. However in node code, @@ -127,6 +158,7 @@ module.exports = { // - baz: string; // + baz: string // } + "@typescript-eslint/no-extra-semi": false, "@typescript-eslint/member-delimiter-style": [ "error", { @@ -135,13 +167,6 @@ module.exports = { }, }, ], - // This ensures all interfaces are named with an I as a prefix - // e.g., - // interface IFoo {} - "@typescript-eslint/interface-name-prefix": [ - "error", - { prefixWithI: "always" }, - ], "@typescript-eslint/no-empty-function": "off", // This ensures that we always type the return type of functions // a high level focus of our TS setup is typing fn inputs and outputs. diff --git a/e2e-tests/development-runtime/src/components/class-component.js b/e2e-tests/development-runtime/src/components/class-component.js index 0c3553b15237b..1bf40e6c9ce16 100644 --- a/e2e-tests/development-runtime/src/components/class-component.js +++ b/e2e-tests/development-runtime/src/components/class-component.js @@ -1,6 +1,7 @@ import React, { Component } from "react" class ClassComponent extends Component { + // eslint-disable-next-line no-undef state = { custom: true, } diff --git a/package.json b/package.json index a48d10eed274b..a67d36bd82992 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "@types/signal-exit": "^3.0.0", "@types/stack-trace": "^0.0.29", "@types/webpack-merge": "^4.1.5", - "@typescript-eslint/eslint-plugin": "^2.34.0", - "@typescript-eslint/parser": "^2.34.0", + "@typescript-eslint/eslint-plugin": "^4.14.2", + "@typescript-eslint/parser": "^4.14.2", "babel-eslint": "^10.1.0", "babel-jest": "^24.9.0", "chalk": "^4.1.0", @@ -73,6 +73,7 @@ "remark-preset-lint-markdown-style-guide": "^3.0.1", "remark-preset-lint-recommended": "^4.0.1", "remark-retext": "^4.0.0", + "retext": "^7.0.1", "retext-diacritics": "^3.0.0", "retext-emoji": "^7.0.2", "retext-english": "^3.0.4", @@ -82,11 +83,10 @@ "retext-spell": "^4.0.0", "retext-syntax-mentions": "^2.1.1", "retext-syntax-urls": "^2.0.0", - "retext": "^7.0.1", "rimraf": "^3.0.2", "svgo": "1.3.2", "ts-jest": "^22", - "typescript": "^3.9.7", + "typescript": "^4.1.5", "unified": "^9.2.0", "yargs": "^15.4.1" }, @@ -159,4 +159,4 @@ "workspaces": [ "packages/*" ] -} \ No newline at end of file +} diff --git a/packages/create-gatsby/package.json b/packages/create-gatsby/package.json index 344dbea06f5c9..146a89661922e 100644 --- a/packages/create-gatsby/package.json +++ b/packages/create-gatsby/package.json @@ -29,13 +29,13 @@ "fs-extra": "^9.0.1", "gatsby-plugin-utils": "^1.0.0-next.0", "joi": "^17.2.1", - "microbundle": "^0.12.4", + "microbundle": "^0.13.0", "node-fetch": "^2.6.1", "prettier": "^2.1.2", "string-length": "^4.0.1", "terminal-link": "^2.1.1", "tiny-spin": "^1.0.2", - "typescript": "^4.0.5", + "typescript": "^4.1.5", "uuid": "3.4.0" }, "repository": { diff --git a/packages/create-gatsby/src/utils.ts b/packages/create-gatsby/src/utils.ts index bcf66234d56b9..26165037004b0 100644 --- a/packages/create-gatsby/src/utils.ts +++ b/packages/create-gatsby/src/utils.ts @@ -1,6 +1,6 @@ const ESC = `\u001b` -export const clearLine = (count = 1): Promise => +export const clearLine = (count = 1): Promise => new Promise(resolve => { // First move the cursor up one line... process.stderr.moveCursor(0, -count, () => { diff --git a/packages/create-gatsby/tsconfig.json b/packages/create-gatsby/tsconfig.json index dec522cda6d45..711af0cabea91 100644 --- a/packages/create-gatsby/tsconfig.json +++ b/packages/create-gatsby/tsconfig.json @@ -7,6 +7,7 @@ "allowJs": true /* Allow javascript files to be compiled. */, // "checkJs": true, /* Report errors in .js files. */ // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // If you're getting a warning about declarationDir, it's probably this https://github.com/developit/microbundle/issues/771 "declaration": false /* Generates corresponding '.d.ts' file. */, // "sourceMap": true, /* Generates corresponding '.map' file. */ // "outFile": "./", /* Concatenate and emit output to single file. */ diff --git a/packages/gatsby-admin/package.json b/packages/gatsby-admin/package.json index 61de5652dac8a..89d82ee2fedf6 100644 --- a/packages/gatsby-admin/package.json +++ b/packages/gatsby-admin/package.json @@ -16,8 +16,8 @@ "@feedback-fish/react": "^1.2.1", "@types/react-instantsearch-dom": "^5.2.6", "@types/socket.io-client": "^1.4.35", - "@typescript-eslint/eslint-plugin": "^2.34.0", - "@typescript-eslint/parser": "^2.34.0", + "@typescript-eslint/eslint-plugin": "^4.14.2", + "@typescript-eslint/parser": "^4.14.2", "csstype": "^2.6.14", "formik": "^2.2.6", "gatsby": "^3.0.0-next.8", @@ -45,7 +45,7 @@ "strict-ui": "^0.2.0-0", "subscriptions-transport-ws": "^0.9.18", "theme-ui": "^0.4.0-rc.14", - "typescript": "^3.9.7", + "typescript": "^4.1.5", "urql": "^1.11.6", "yup": "^0.32.8" }, diff --git a/packages/gatsby-admin/src/components/instantsearch-provider.tsx b/packages/gatsby-admin/src/components/instantsearch-provider.tsx index 4571748531cc9..6b10a88ba6d5c 100644 --- a/packages/gatsby-admin/src/components/instantsearch-provider.tsx +++ b/packages/gatsby-admin/src/components/instantsearch-provider.tsx @@ -7,12 +7,13 @@ import { ToggleRefinement, } from "react-instantsearch-dom" import algoliaConfig from "../utils/algolia-config" +import { ReactNode } from "react" export default function InstantSearchProvider({ children, searchState, }: { - children: React.ReactNode + children: ReactNode searchState?: string }): JSX.Element { return ( diff --git a/packages/gatsby-admin/src/components/layout.tsx b/packages/gatsby-admin/src/components/layout.tsx index f1ccf229d9eff..b1a75cbaec325 100644 --- a/packages/gatsby-admin/src/components/layout.tsx +++ b/packages/gatsby-admin/src/components/layout.tsx @@ -5,8 +5,9 @@ import { Helmet } from "react-helmet" import Providers from "./providers" import Navbar from "./navbar" import { PageviewTracker } from "./pageview-tracker" +import { ReactNode } from "react" -function Layout({ children }: { children: React.ReactNode }): JSX.Element { +function Layout({ children }: { children: ReactNode }): JSX.Element { return ( diff --git a/packages/gatsby-admin/src/components/plugin-search.tsx b/packages/gatsby-admin/src/components/plugin-search.tsx index 28109baa9e780..6b0268924f8d3 100644 --- a/packages/gatsby-admin/src/components/plugin-search.tsx +++ b/packages/gatsby-admin/src/components/plugin-search.tsx @@ -1,5 +1,6 @@ /* @jsx jsx */ import { jsx } from "strict-ui" +import React from "react" import { connectAutoComplete } from "react-instantsearch-dom" import { Combobox, diff --git a/packages/gatsby-admin/src/pages/plugins.tsx b/packages/gatsby-admin/src/pages/plugins.tsx index b37b8e84afbc6..251fdcdaefa46 100644 --- a/packages/gatsby-admin/src/pages/plugins.tsx +++ b/packages/gatsby-admin/src/pages/plugins.tsx @@ -5,7 +5,7 @@ import { useQuery } from "urql" import { Spinner } from "theme-ui" import { Global } from "@emotion/react" import { useMutation } from "urql" -import { useState, Fragment, useEffect } from "react" +import { useState, Fragment, useEffect, FormEvent } from "react" import { AnchorButton, Button, @@ -70,8 +70,10 @@ const markdownRenderers = { style={style} > {tokens.map((line, i) => ( + // eslint-disable-next-line react/jsx-key
{line.map((token, key) => ( + // eslint-disable-next-line react/jsx-key ))}
@@ -319,7 +321,7 @@ export default function PluginView( { + onSubmit={(evt: FormEvent): void => { evt.preventDefault() setValidationError(null) let json diff --git a/packages/gatsby-cli/package.json b/packages/gatsby-cli/package.json index 21168c0dcd768..6b64755cd4a23 100644 --- a/packages/gatsby-cli/package.json +++ b/packages/gatsby-cli/package.json @@ -69,7 +69,7 @@ "rollup": "^2.34.2", "rollup-plugin-auto-external": "^2.0.0", "rollup-plugin-internal": "^1.0.0", - "typescript": "^3.9.7" + "typescript": "^4.1.5" }, "files": [ "lib/", diff --git a/packages/gatsby-cli/src/create-cli.ts b/packages/gatsby-cli/src/create-cli.ts index 2518fad2500bc..dcee342521f69 100644 --- a/packages/gatsby-cli/src/create-cli.ts +++ b/packages/gatsby-cli/src/create-cli.ts @@ -24,8 +24,10 @@ import { getPackageManager, setPackageManager } from "./util/package-manager" import reporter from "./reporter" import pluginHandler from "./handlers/plugin" -const handlerP = (fn: Function) => (...args: Array): void => { - Promise.resolve(fn(...args)).then( +const handlerP = (fn: (args: yargs.Arguments) => void) => ( + args: yargs.Arguments +): void => { + Promise.resolve(fn(args)).then( () => process.exit(0), err => report.panic(err) ) @@ -65,7 +67,9 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { return undefined } - function resolveLocalCommand(command: string): Function | never { + function resolveLocalCommand( + command: string + ): ((...args: Array) => void) | never { if (!isLocalSite) { cli.showHelp() report.verbose(`current directory: ${directory}`) @@ -107,8 +111,11 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { function getCommandHandler( command: string, - handler?: (args: yargs.Arguments, cmd: Function) => void - ) { + handler?: ( + args: yargs.Arguments, + cmd: (args: yargs.Arguments) => void + ) => void + ): (argv: yargs.Arguments) => void { return (argv: yargs.Arguments): void => { report.setVerbose(!!argv.verbose) @@ -193,23 +200,26 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { describe: `Opens a port for debugging. Will block until debugger is attached. See https://www.gatsbyjs.com/docs/debugging-the-build-process/`, }), handler: handlerP( - getCommandHandler(`develop`, (args: yargs.Arguments, cmd: Function) => { - process.env.NODE_ENV = process.env.NODE_ENV || `development` - startGraphQLServer(siteInfo.directory, true) + getCommandHandler( + `develop`, + (args: yargs.Arguments, cmd: (args: yargs.Arguments) => unknown) => { + process.env.NODE_ENV = process.env.NODE_ENV || `development` + startGraphQLServer(siteInfo.directory, true) + + if (args.hasOwnProperty(`inspect`)) { + args.inspect = args.inspect || 9229 + } + if (args.hasOwnProperty(`inspect-brk`)) { + args.inspect = args.inspect || 9229 + } - if (args.hasOwnProperty(`inspect`)) { - args.inspect = args.inspect || 9229 - } - if (args.hasOwnProperty(`inspect-brk`)) { - args.inspect = args.inspect || 9229 + cmd(args) + // Return an empty promise to prevent handlerP from exiting early. + // The development server shouldn't ever exit until the user directly + // kills it so this is fine. + return new Promise(() => {}) } - - cmd(args) - // Return an empty promise to prevent handlerP from exiting early. - // The development server shouldn't ever exit until the user directly - // kills it so this is fine. - return new Promise(() => {}) - }) + ) ), }) @@ -260,10 +270,13 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { hidden: true, }), handler: handlerP( - getCommandHandler(`build`, (args: yargs.Arguments, cmd: Function) => { - process.env.NODE_ENV = `production` - return cmd(args) - }) + getCommandHandler( + `build`, + (args: yargs.Arguments, cmd: (args: yargs.Arguments) => void) => { + process.env.NODE_ENV = `production` + return cmd(args) + } + ) ), }) @@ -364,7 +377,7 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { describe: `Get a node repl with context of Gatsby environment, see (https://www.gatsbyjs.com/docs/gatsby-repl/)`, handler: getCommandHandler( `repl`, - (args: yargs.Arguments, cmd: Function) => { + (args: yargs.Arguments, cmd: (args: yargs.Arguments) => void) => { process.env.NODE_ENV = process.env.NODE_ENV || `development` return cmd(args) } @@ -386,19 +399,14 @@ function buildLocalCommands(cli: yargs.Argv, isLocalSite: boolean): void { default: false, describe: `Install recipe (defaults to plan mode)`, }), - handler: handlerP( - async ({ - recipe, - develop, - install, - }: yargs.Arguments<{ - recipe: string | undefined - develop: boolean - install: boolean - }>) => { - await recipesHandler(siteInfo.directory, recipe, develop, install) - } - ), + handler: handlerP(async ({ recipe, develop, install }: yargs.Arguments) => { + await recipesHandler( + siteInfo.directory, + recipe as string, + develop as boolean, + install as boolean + ) + }), }) cli.command({ diff --git a/packages/gatsby-core-utils/package.json b/packages/gatsby-core-utils/package.json index db33df2eb97f7..839bd4d97defb 100644 --- a/packages/gatsby-core-utils/package.json +++ b/packages/gatsby-core-utils/package.json @@ -44,7 +44,7 @@ "@types/ci-info": "2.0.0", "babel-preset-gatsby-package": "^1.0.0-next.0", "cross-env": "^7.0.3", - "typescript": "^3.9.7" + "typescript": "^4.1.5" }, "engines": { "node": ">=12.13.0" diff --git a/packages/gatsby-design-tokens/package.json b/packages/gatsby-design-tokens/package.json index ef80549409a5a..a716bfb4b58d6 100644 --- a/packages/gatsby-design-tokens/package.json +++ b/packages/gatsby-design-tokens/package.json @@ -31,7 +31,7 @@ "devDependencies": { "agadoo": "^1.1.0", "cross-env": "^7.0.3", - "microbundle": "^0.12.4", + "microbundle": "^0.13.0", "preval.macro": "^3.0.0" }, "engines": { diff --git a/packages/gatsby-legacy-polyfills/package.json b/packages/gatsby-legacy-polyfills/package.json index 07a54a610c0cf..68fcc9c1222d4 100644 --- a/packages/gatsby-legacy-polyfills/package.json +++ b/packages/gatsby-legacy-polyfills/package.json @@ -37,7 +37,7 @@ "cross-env": "^7.0.3", "execa": "^4.1.0", "fs-extra": "^9.0.1", - "microbundle": "^0.12.4", + "microbundle": "^0.13.0", "npm-run-all": "^4.1.5", "object-assign": "^4.1.1", "source-map": "^0.7.3", diff --git a/packages/gatsby-page-utils/package.json b/packages/gatsby-page-utils/package.json index 01f55459d6a2a..7a8c631508e47 100644 --- a/packages/gatsby-page-utils/package.json +++ b/packages/gatsby-page-utils/package.json @@ -38,7 +38,7 @@ "babel-preset-gatsby-package": "^1.0.0-next.0", "cross-env": "^7.0.3", "rimraf": "^3.0.2", - "typescript": "^3.9.9" + "typescript": "^4.1.5" }, "files": [ "dist/" diff --git a/packages/gatsby-plugin-image/package.json b/packages/gatsby-plugin-image/package.json index a35a2dc10a819..4524f262660b3 100644 --- a/packages/gatsby-plugin-image/package.json +++ b/packages/gatsby-plugin-image/package.json @@ -57,11 +57,11 @@ "cssnano": "^4.1.10", "del-cli": "^3.0.1", "do-sync": "^2.2.0", - "microbundle": "^0.12.4", + "microbundle": "^0.13.0", "npm-run-all": "^4.1.5", "postcss": "^8.2.4", "terser": "^5.3.8", - "typescript": "^3.9.7" + "typescript": "^4.1.5" }, "peerDependencies": { "gatsby": "^3.0.0-next.0", diff --git a/packages/gatsby-plugin-image/src/components/later-hydrator.tsx b/packages/gatsby-plugin-image/src/components/later-hydrator.tsx index cc1c136cabcfa..6ce5fea61c63b 100644 --- a/packages/gatsby-plugin-image/src/components/later-hydrator.tsx +++ b/packages/gatsby-plugin-image/src/components/later-hydrator.tsx @@ -3,6 +3,7 @@ export function LaterHydrator({ children, }: React.PropsWithChildren<{}>): React.ReactNode { React.useEffect(() => { + // eslint-disable-next-line no-unused-expressions import(`./lazy-hydrate`) }, []) diff --git a/packages/gatsby-plugin-image/src/components/layout-wrapper.tsx b/packages/gatsby-plugin-image/src/components/layout-wrapper.tsx index 09ae80690c389..755d5a7c9808f 100644 --- a/packages/gatsby-plugin-image/src/components/layout-wrapper.tsx +++ b/packages/gatsby-plugin-image/src/components/layout-wrapper.tsx @@ -1,7 +1,7 @@ // eslint-disable-next-line @typescript-eslint/triple-slash-reference /// -import React, { Fragment, FunctionComponent } from "react" +import React, { Fragment, FunctionComponent, ReactElement } from "react" import terserMacro from "../../macros/terser.macro" import { Layout } from "../image-utils" @@ -62,7 +62,7 @@ export const LayoutWrapper: FunctionComponent = function La height, children, }) { - let sizer: JSX.Element | null = null + let sizer: ReactElement | null = null if (layout === `fullWidth`) { sizer = (
diff --git a/packages/gatsby-plugin-image/src/components/static-image.server.tsx b/packages/gatsby-plugin-image/src/components/static-image.server.tsx index 483cf55dba18b..75f86147bd012 100644 --- a/packages/gatsby-plugin-image/src/components/static-image.server.tsx +++ b/packages/gatsby-plugin-image/src/components/static-image.server.tsx @@ -1,4 +1,4 @@ -import React, { FunctionComponent } from "react" +import React, { FunctionComponent, ReactElement } from "react" import { GatsbyImage as GatsbyImageServer } from "./gatsby-image.server" import { GatsbyImageProps, IGatsbyImageData } from "./gatsby-image.browser" import PropTypes from "prop-types" @@ -40,7 +40,7 @@ export function _getStaticImage( blurredOptions, /* eslint-enable @typescript-eslint/no-unused-vars */ ...props - }): JSX.Element { + }): ReactElement { if (__error) { console.warn(__error) } diff --git a/packages/gatsby-plugin-image/src/components/static-image.tsx b/packages/gatsby-plugin-image/src/components/static-image.tsx index b8433e5c7295f..b2305d83a1d7f 100644 --- a/packages/gatsby-plugin-image/src/components/static-image.tsx +++ b/packages/gatsby-plugin-image/src/components/static-image.tsx @@ -2,6 +2,7 @@ import { GatsbyImage as GatsbyImageBrowser, IGatsbyImageData, } from "./gatsby-image.browser" +import React from "react" import { _getStaticImage, propTypes, diff --git a/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts b/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts index 4700a1a95a863..a11a1de01bfdd 100644 --- a/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts +++ b/packages/gatsby-plugin-page-creator/src/create-pages-from-collection-builder.ts @@ -92,7 +92,7 @@ ${errors.map(error => error.message).join(`\n`)}`.trim(), // 2. Get the nodes out of the data. We very much expect data to come back in a known shape: // data = { [key: string]: { nodes: Array } } const nodes = (Object.values(Object.values(data)[0])[0] as any) as Array< - Record + Record> > if (nodes) { @@ -107,7 +107,7 @@ ${errors.map(error => error.message).join(`\n`)}`.trim(), // 3. Loop through each node and create the page, also save the path it creates to pass to the watcher // the watcher will use this data to delete the pages if the query changes significantly. - const paths = nodes.map((node: Record) => { + const paths = nodes.map((node: Record>) => { // URL path for the component and node const { derivedPath, errors } = derivePath( filePath, diff --git a/packages/gatsby-plugin-page-creator/src/extract-query.ts b/packages/gatsby-plugin-page-creator/src/extract-query.ts index 9e4aef4919d7f..6b9823d48076a 100644 --- a/packages/gatsby-plugin-page-creator/src/extract-query.ts +++ b/packages/gatsby-plugin-page-creator/src/extract-query.ts @@ -26,7 +26,7 @@ export function generateQueryFromString( // translates the object into `{ fields__value: 'foo' }`. This is necassary to pass the value // into a query function for each individual page. export function reverseLookupParams( - queryResults: Record, + queryResults: Record | string>, absolutePath: string ): Record { const reversedParams = { diff --git a/packages/gatsby-plugin-page-creator/src/gatsby-node.ts b/packages/gatsby-plugin-page-creator/src/gatsby-node.ts index c44bdfb7a207a..e0bc8f42fc678 100644 --- a/packages/gatsby-plugin-page-creator/src/gatsby-node.ts +++ b/packages/gatsby-plugin-page-creator/src/gatsby-node.ts @@ -166,7 +166,7 @@ Please pick a path to an existing directory.`, export function setFieldsOnGraphQLNodeType( { getNode, type, store, reporter }: SetFieldsOnGraphQLNodeTypeArgs, { slugify: slugifyOptions }: PluginOptions & { slugify: ISlugifyOptions } -): object { +): Record { try { const extensions = store.getState().program.extensions const collectionQuery = _.camelCase(`all ${type.name}`) @@ -180,7 +180,7 @@ export function setFieldsOnGraphQLNodeType( }, }, resolve: ( - source: object, + source: Record, { filePath }: { filePath: string } ): string => { // This is a quick hack for attaching parents to the node. diff --git a/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts b/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts index bfc3192757512..8cac58a49c003 100644 --- a/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts +++ b/packages/gatsby-plugin-page-creator/src/is-valid-collection-path-implementation.ts @@ -1,7 +1,6 @@ import sysPath from "path" import { Reporter } from "gatsby/reporter" import { CODES, prefixId } from "./error-utils" -import { matchAllPolyfill } from "./path-utils" // This file is a helper for consumers. It's going to log an error to them if they // in any way have an incorrect filepath setup for us to predictably use collection @@ -19,9 +18,8 @@ export function isValidCollectionPathImplementation( parts.forEach(part => { if (!part.includes(`{`) && !part.includes(`}`)) return - const model = matchAllPolyfill(/\{([a-zA-Z_]\w*)./g, part) // Search for word before first dot, e.g. Model - const field = matchAllPolyfill(/.*?((?<=\w\.)[^}]*)}/g, part) // Search for everything after the first dot, e.g. foo__bar (or in invalid case: foo.bar) - + const model = Array.from(part.matchAll(/\{([a-zA-Z_]\w*)./g)) // Search for word before first dot, e.g. Model + const field = Array.from(part.matchAll(/.*?((?<=\w\.)[^}]*)}/g)) // Search for everything after the first dot, e.g. foo__bar (or in invalid case: foo.bar) try { if ( model.length === 0 || diff --git a/packages/gatsby-plugin-page-creator/src/path-utils.ts b/packages/gatsby-plugin-page-creator/src/path-utils.ts index 664ba5ed3a4ad..8d1099d88f67a 100644 --- a/packages/gatsby-plugin-page-creator/src/path-utils.ts +++ b/packages/gatsby-plugin-page-creator/src/path-utils.ts @@ -121,24 +121,3 @@ export function compose( return (filePart: string): string => functions.reduce((value, fn) => fn(value), filePart) } - -/** - * Since String.prototype.matchAll() is only supported by Node v12+ and we still support Node 10, this is how we need to workaround this - * @param regexPattern - Should include the /g flag! - * @param sourceString - Input string to match against - * @returns An array of RegExpExecArray similar to the shape of .matchAll() - */ -export function matchAllPolyfill( - regexPattern, - sourceString -): Array { - const output: Array = [] - let match: RegExpExecArray | null - while ((match = regexPattern.exec(sourceString))) { - // get rid of the string copy - delete match.input - // store the match data - output.push(match) - } - return output -} diff --git a/packages/gatsby-plugin-utils/package.json b/packages/gatsby-plugin-utils/package.json index 0499d36405e2b..894b7bef50f3e 100644 --- a/packages/gatsby-plugin-utils/package.json +++ b/packages/gatsby-plugin-utils/package.json @@ -29,7 +29,7 @@ "babel-preset-gatsby-package": "^1.0.0-next.0", "cross-env": "^7.0.3", "rimraf": "^3.0.2", - "typescript": "^3.9.7" + "typescript": "^4.1.5" }, "peerDependencies": { "gatsby": "^3.0.0-next.0" diff --git a/packages/gatsby-react-router-scroll/src/use-scroll-restoration.ts b/packages/gatsby-react-router-scroll/src/use-scroll-restoration.ts index c7e2fb67eb696..58b40686e55b2 100644 --- a/packages/gatsby-react-router-scroll/src/use-scroll-restoration.ts +++ b/packages/gatsby-react-router-scroll/src/use-scroll-restoration.ts @@ -1,9 +1,9 @@ import { ScrollContext } from "./scroll-handler" -import { useRef, useContext, useLayoutEffect } from "react" +import { useRef, useContext, useLayoutEffect, MutableRefObject } from "react" import { useLocation } from "@reach/router" interface IScrollRestorationProps { - ref: React.MutableRefObject + ref: MutableRefObject onScroll(): void } diff --git a/packages/gatsby-telemetry/package.json b/packages/gatsby-telemetry/package.json index 5849cae6b3cf8..b2a5bcfe8a573 100644 --- a/packages/gatsby-telemetry/package.json +++ b/packages/gatsby-telemetry/package.json @@ -32,7 +32,7 @@ "jest-cli": "^24.9.0", "jest-junit": "^6.4.0", "rimraf": "^3.0.2", - "typescript": "^3.9.7" + "typescript": "^4.1.5" }, "files": [ "lib/", diff --git a/packages/gatsby-telemetry/src/get-dependencies.ts b/packages/gatsby-telemetry/src/get-dependencies.ts index 6c7c311d9939e..c853bff29f546 100644 --- a/packages/gatsby-telemetry/src/get-dependencies.ts +++ b/packages/gatsby-telemetry/src/get-dependencies.ts @@ -12,7 +12,7 @@ export function getDependencies(): { } } -function mapData(deps: object): Array | undefined { +function mapData(deps: Record): Array | undefined { if (!deps) { return undefined } @@ -26,7 +26,10 @@ function mapData(deps: object): Array | undefined { .map(({ name, version }) => `${name}@${version}`) } -function parsePackageJson(): { dependencies: object; devDependencies: object } { +function parsePackageJson(): { + dependencies: Record + devDependencies: Record +} { try { const packageJson = readFileSync(`./package.json`, `utf8`) if (!packageJson) { diff --git a/packages/gatsby-telemetry/src/store.ts b/packages/gatsby-telemetry/src/store.ts index 4f2698183d49d..d1f351901e536 100644 --- a/packages/gatsby-telemetry/src/store.ts +++ b/packages/gatsby-telemetry/src/store.ts @@ -28,7 +28,7 @@ export class Store { async flushFile( filePath: string, - flushOperation: Function + flushOperation: (contents: string) => Promise ): Promise { const now = `${Date.now()}-${process.pid}` let success = false @@ -57,7 +57,9 @@ export class Store { return true } - async startFlushEvents(flushOperation: Function): Promise { + async startFlushEvents( + flushOperation: (contents: string) => Promise + ): Promise { try { await this.flushFile(this.bufferFilePath, flushOperation) const files = readdirSync(this.baseDir) diff --git a/packages/gatsby/package.json b/packages/gatsby/package.json index 7c007d6573b2a..d70650a604f1e 100644 --- a/packages/gatsby/package.json +++ b/packages/gatsby/package.json @@ -22,8 +22,8 @@ "@pmmmwh/react-refresh-webpack-plugin": "^0.4.3", "@reach/router": "^1.3.4", "@types/http-proxy": "^1.17.4", - "@typescript-eslint/eslint-plugin": "^2.24.0", - "@typescript-eslint/parser": "^2.24.0", + "@typescript-eslint/eslint-plugin": "^4.14.2", + "@typescript-eslint/parser": "^4.14.2", "address": "1.1.2", "anser": "^2.0.1", "ansi-html": "^0.0.7", @@ -187,7 +187,7 @@ "react": "^16.12.0", "react-dom": "^16.12.0", "rimraf": "^3.0.2", - "typescript": "^3.9.5", + "typescript": "^4.1.5", "xhr-mock": "^2.5.1", "zipkin": "^0.22.0", "zipkin-javascript-opentracing": "^3.0.0", diff --git a/packages/gatsby/src/bootstrap/load-plugins/validate.ts b/packages/gatsby/src/bootstrap/load-plugins/validate.ts index 5edfd6e5033be..f1b590aab94f7 100644 --- a/packages/gatsby/src/bootstrap/load-plugins/validate.ts +++ b/packages/gatsby/src/bootstrap/load-plugins/validate.ts @@ -7,7 +7,7 @@ import reporter from "gatsby-cli/lib/reporter" import { validateOptionsSchema, Joi } from "gatsby-plugin-utils" import { resolveModuleExports } from "../resolve-module-exports" import { getLatestAPIs } from "../../utils/get-latest-apis" -import { GatsbyNode } from "../../../" +import { GatsbyNode, PackageJson } from "../../../" import { IPluginInfo, IFlattenedPlugin, @@ -444,7 +444,7 @@ export const handleMultipleReplaceRenderers = ({ export function warnOnIncompatiblePeerDependency( name: string, - packageJSON: object + packageJSON: PackageJson ): void { // Note: In the future the peer dependency should be enforced for all plugins. const gatsbyPeerDependency = _.get(packageJSON, `peerDependencies.gatsby`) diff --git a/packages/gatsby/src/commands/build-html.ts b/packages/gatsby/src/commands/build-html.ts index 8e21598884ecb..1fc0e28a50149 100644 --- a/packages/gatsby/src/commands/build-html.ts +++ b/packages/gatsby/src/commands/build-html.ts @@ -35,7 +35,6 @@ export interface IBuildArgs extends IProgram { let devssrWebpackCompiler: webpack.Compiler let devssrWebpackWatcher: IWebpackWatchingPauseResume let needToRecompileSSRBundle = true - export const getDevSSRWebpack = (): { devssrWebpackWatcher: IWebpackWatchingPauseResume devssrWebpackCompiler: webpack.Compiler @@ -103,7 +102,7 @@ const runWebpack = ( return resolve(stats) } } - ) + ) as IWebpackWatchingPauseResume } }) diff --git a/packages/gatsby/src/commands/develop.ts b/packages/gatsby/src/commands/develop.ts index 47d1555493245..6d55698be9f88 100644 --- a/packages/gatsby/src/commands/develop.ts +++ b/packages/gatsby/src/commands/develop.ts @@ -96,7 +96,7 @@ class ControllableScript { this.debugInfo = debugInfo } start(): void { - const args = [] + const args: Array = [] const tmpFileName = tmp.tmpNameSync({ tmpdir: path.join(process.cwd(), `.cache`), }) diff --git a/packages/gatsby/src/db/common/query.ts b/packages/gatsby/src/db/common/query.ts index c1a70e537a688..f68ac68fd46f6 100644 --- a/packages/gatsby/src/db/common/query.ts +++ b/packages/gatsby/src/db/common/query.ts @@ -88,7 +88,7 @@ function createDbQueriesFromObjectNested( export function prefixResolvedFields( queries: Array, - resolvedFields: object + resolvedFields: Record ): Array { const dottedFields = objectToDottedField(resolvedFields) const dottedFieldKeys = Object.getOwnPropertyNames(dottedFields) @@ -140,14 +140,17 @@ export function prefixResolvedFields( // Like above, but doesn't handle $elemMatch export function objectToDottedField( - obj: object, + obj: Record, path: Array = [] -): object { +): Record { let result = {} Object.keys(obj).forEach(key => { const value = obj[key] if (_.isPlainObject(value)) { - const pathResult = objectToDottedField(value, path.concat(key)) + const pathResult = objectToDottedField( + value as Record, + path.concat(key) + ) result = { ...result, ...pathResult, diff --git a/packages/gatsby/src/redux/actions/restricted.ts b/packages/gatsby/src/redux/actions/restricted.ts index 1e016d85858e3..a188fb1fcdc2e 100644 --- a/packages/gatsby/src/redux/actions/restricted.ts +++ b/packages/gatsby/src/redux/actions/restricted.ts @@ -461,7 +461,7 @@ type AvailableActionsByAPI = Record< > const set = ( - availableActionsByAPI: {}, + availableActionsByAPI: Record, api: API, actionName: RestrictionActionNames, action: SomeActionCreator diff --git a/packages/gatsby/src/redux/types.ts b/packages/gatsby/src/redux/types.ts index 81eb1fea2e495..7f5c87b890855 100644 --- a/packages/gatsby/src/redux/types.ts +++ b/packages/gatsby/src/redux/types.ts @@ -30,7 +30,7 @@ export interface IGatsbyPage { component: SystemPath componentChunkName: string isCreatedByStatefulCreatePages: boolean - context: {} + context: Record updatedAt: number pluginCreator___NODE: Identifier pluginCreatorId: Identifier @@ -683,11 +683,6 @@ export interface IDeletePageAction { payload: IGatsbyPage } -export interface IReplaceStaticQueryAction { - type: `REPLACE_STATIC_QUERY` - payload: IGatsbyStaticQueryComponents -} - export interface IRemoveStaticQuery { type: `REMOVE_STATIC_QUERY` payload: IGatsbyStaticQueryComponents["id"] diff --git a/packages/gatsby/src/schema/infer/__tests__/inference-metadata.ts b/packages/gatsby/src/schema/infer/__tests__/inference-metadata.ts index 39d83c564541b..e16e8ceca0dbd 100644 --- a/packages/gatsby/src/schema/infer/__tests__/inference-metadata.ts +++ b/packages/gatsby/src/schema/infer/__tests__/inference-metadata.ts @@ -1040,7 +1040,7 @@ describe(`Type conflicts`, () => { describe(`Type change detection`, () => { let initialMetadata - const nodes = (): Array => [ + const nodes = (): Array> => [ { foo: `foo` }, { object: { foo: `foo`, bar: `bar` } }, { list: [`item`], bar: `bar` }, @@ -1050,12 +1050,14 @@ describe(`Type change detection`, () => { ] const addOne = ( - node: object, + node: Record, metadata: ITypeMetadata = initialMetadata ): ITypeMetadata => addNode(_.cloneDeep(metadata), node as Node) - const deleteOne = (node: object, metadata = initialMetadata): ITypeMetadata => - deleteNode(_.cloneDeep(metadata), node as Node) + const deleteOne = ( + node: Record, + metadata = initialMetadata + ): ITypeMetadata => deleteNode(_.cloneDeep(metadata), node as Node) beforeEach(() => { initialMetadata = addNodes(undefined, nodes() as Array) diff --git a/packages/gatsby/src/schema/infer/inference-metadata.ts b/packages/gatsby/src/schema/infer/inference-metadata.ts index 308b78af541c7..8cf6149a985e9 100644 --- a/packages/gatsby/src/schema/infer/inference-metadata.ts +++ b/packages/gatsby/src/schema/infer/inference-metadata.ts @@ -159,12 +159,12 @@ const getType = (value: unknown, key: string): ValueType | "null" => { } const updateValueDescriptorObject = ( - value: object, + value: Record, typeInfo: ITypeInfoObject, nodeId: string, operation: Operation, metadata: ITypeMetadata, - path: Array + path: Array> ): void => { path.push(value) @@ -193,7 +193,7 @@ const updateValueDescriptorArray = ( nodeId: string, operation: Operation, metadata: ITypeMetadata, - path: Array + path: Array> ): void => { value.forEach(item => { let descriptor = typeInfo.item @@ -256,11 +256,11 @@ const updateValueDescriptor = ( operation: Operation = `add`, descriptor: IValueDescriptor, metadata: ITypeMetadata, - path: Array + path: Array> ): void => { // The object may be traversed multiple times from root. // Each time it does it should not revisit the same node twice - if (path.includes(value as object)) { + if (path.includes(value as Record)) { return } @@ -274,6 +274,7 @@ const updateValueDescriptor = ( let typeInfo: ITypeInfo | undefined = descriptor[typeName] if (typeInfo === undefined) { + // eslint-disable-next-line no-undef typeInfo = (descriptor[typeName] as ITypeInfo) = { total: 0 } } typeInfo.total += delta @@ -299,7 +300,7 @@ const updateValueDescriptor = ( switch (typeName) { case `object`: updateValueDescriptorObject( - value as object, + value as Record, typeInfo as ITypeInfoObject, nodeId, operation, @@ -352,8 +353,8 @@ const updateValueDescriptor = ( } const mergeObjectKeys = ( - dpropsKeysA: object = {}, - dpropsKeysB: object = {} + dpropsKeysA: Record = {}, + dpropsKeysB: Record = {} ): Array => { const dprops = Object.keys(dpropsKeysA) const otherProps = Object.keys(dpropsKeysB) @@ -502,7 +503,7 @@ const haveEqualFields = ( ) } -const initialMetadata = (state?: object): ITypeMetadata => { +const initialMetadata = (state?: Record): ITypeMetadata => { return { typeName: undefined, disabled: false, diff --git a/packages/gatsby/src/utils/__tests__/get-page-data.ts b/packages/gatsby/src/utils/__tests__/get-page-data.ts index 367a8cb2cc445..dd909bf2f6a94 100644 --- a/packages/gatsby/src/utils/__tests__/get-page-data.ts +++ b/packages/gatsby/src/utils/__tests__/get-page-data.ts @@ -365,7 +365,10 @@ function startPageQuery(page: Partial): void { ) } -function finishQuery(page: Partial, jsonObject: object): void { +function finishQuery( + page: Partial, + jsonObject: Record +): void { const payload: IQueryStartAction["payload"] = { path: page.path!, componentPath: page.componentPath!, @@ -399,7 +402,7 @@ function deletePageDataFilesFromFs(): void { function writePageDataFileToFs( page: Partial, - jsonObject: object + jsonObject: Record ): void { MOCK_FILE_INFO[ pathJoin( diff --git a/packages/gatsby/src/utils/dev-ssr/render-dev-html.ts b/packages/gatsby/src/utils/dev-ssr/render-dev-html.ts index 2ddfa59c5ff37..5621e1ac5f5d0 100644 --- a/packages/gatsby/src/utils/dev-ssr/render-dev-html.ts +++ b/packages/gatsby/src/utils/dev-ssr/render-dev-html.ts @@ -9,6 +9,7 @@ import { findPageByPath } from "../find-page-by-path" import { getPageData as getPageDataExperimental } from "../get-page-data" import { getDevSSRWebpack } from "../../commands/build-html" import { emitter } from "../../redux" +import { Stats } from "webpack" const startWorker = (): any => { const newWorker = new JestWorker(require.resolve(`./render-dev-html-child`), { @@ -99,7 +100,7 @@ const ensurePathComponentInSSRBundle = async ( ) if (!found) { - await new Promise(resolve => { + await new Promise(resolve => { let readAttempts = 0 const searchForStringInterval = setInterval(async () => { readAttempts += 1 @@ -170,7 +171,7 @@ export const renderDevHTML = ({ needToRecompileSSRBundle ) { let isResolved = false - await new Promise(resolve => { + await new Promise(resolve => { function finish(stats: Stats): void { emitter.off(`DEV_SSR_COMPILATION_DONE`, finish) if (!isResolved) { diff --git a/packages/gatsby/src/utils/get-value-at.ts b/packages/gatsby/src/utils/get-value-at.ts index ffbb6d9c5348b..379293184af78 100644 --- a/packages/gatsby/src/utils/get-value-at.ts +++ b/packages/gatsby/src/utils/get-value-at.ts @@ -1,4 +1,7 @@ -export function getValueAt(obj: object, selector: string | Array): any { +export function getValueAt( + obj: Record, + selector: string | Array +): any { const selectors = typeof selector === `string` ? selector.split(`.`) : selector return get(obj, selectors) diff --git a/packages/gatsby/src/utils/jobs-manager.ts b/packages/gatsby/src/utils/jobs-manager.ts index c6d49abbe63e6..c5fc45086867f 100644 --- a/packages/gatsby/src/utils/jobs-manager.ts +++ b/packages/gatsby/src/utils/jobs-manager.ts @@ -71,7 +71,7 @@ let hasShownIPCDisabledWarning = false const jobsInProcess: Map< string, - { id: string; deferred: pDefer.DeferredPromise } + { id: string; deferred: pDefer.DeferredPromise> } > = new Map() const externalJobsMap: Map< string, @@ -184,7 +184,10 @@ function runExternalWorker(job: InternalJob): Promise { * If we do, run it locally. * TODO add external job execution through ipc */ -function runJob(job: InternalJob, forceLocal = false): Promise { +function runJob( + job: InternalJob, + forceLocal = false +): Promise> { const { plugin } = job try { const worker = require(path.posix.join(plugin.resolve, `gatsby-worker.js`)) @@ -281,7 +284,9 @@ export function createInternalJob( /** * Creates a job */ -export async function enqueueJob(job: InternalJob): Promise { +export async function enqueueJob( + job: InternalJob +): Promise> { // When we already have a job that's executing, return the same promise. // we have another check in our createJobV2 action to return jobs that have been done in a previous gatsby run if (jobsInProcess.has(job.contentDigest)) { @@ -299,7 +304,7 @@ export async function enqueueJob(job: InternalJob): Promise { activityForJobs!.start() } - const deferred = pDefer() + const deferred = pDefer>() jobsInProcess.set(job.contentDigest, { id: job.id, deferred, @@ -334,7 +339,7 @@ export async function enqueueJob(job: InternalJob): Promise { */ export function getInProcessJobPromise( contentDigest: string -): Promise | undefined { +): Promise> | undefined { return jobsInProcess.get(contentDigest)?.deferred.promise } diff --git a/packages/gatsby/src/utils/mett.ts b/packages/gatsby/src/utils/mett.ts index 39fa30160d32b..73a73e91ceb02 100644 --- a/packages/gatsby/src/utils/mett.ts +++ b/packages/gatsby/src/utils/mett.ts @@ -10,7 +10,7 @@ type MettHandler = ( export interface IMett { on(eventName: EventName, callback: MettHandler): void off(eventName: EventName, callback: MettHandler): void - emit(eventName: EventName, e: Payload): void + emit(eventName: EventName, e?: Payload): void } type EventName = string diff --git a/packages/gatsby/src/utils/page-data.ts b/packages/gatsby/src/utils/page-data.ts index ee50d503d20b3..e279a423642aa 100644 --- a/packages/gatsby/src/utils/page-data.ts +++ b/packages/gatsby/src/utils/page-data.ts @@ -205,7 +205,7 @@ export async function flush(): Promise { if (!flushQueue.idle()) { await new Promise(resolve => { - flushQueue.drain = resolve + flushQueue.drain = resolve as () => unknown }) } diff --git a/packages/gatsby/src/utils/wait-until-jobs-complete.ts b/packages/gatsby/src/utils/wait-until-jobs-complete.ts index 4bf5bea775af7..7e52d7b350372 100644 --- a/packages/gatsby/src/utils/wait-until-jobs-complete.ts +++ b/packages/gatsby/src/utils/wait-until-jobs-complete.ts @@ -2,8 +2,8 @@ import { emitter, store } from "../redux" import { waitUntilAllJobsComplete as waitUntilAllJobsV2Complete } from "./jobs-manager" -export const waitUntilAllJobsComplete = (): Promise => { - const jobsV1Promise = new Promise(resolve => { +export const waitUntilAllJobsComplete = (): Promise => { + const jobsV1Promise = new Promise(resolve => { const onEndJob = (): void => { if (store.getState().jobs.active.length === 0) { resolve() @@ -15,5 +15,5 @@ export const waitUntilAllJobsComplete = (): Promise => { onEndJob() }) - return Promise.all([jobsV1Promise, waitUntilAllJobsV2Complete()]) + return Promise.all([jobsV1Promise, waitUntilAllJobsV2Complete()]).then() } diff --git a/packages/gatsby/src/utils/webpack-utils.ts b/packages/gatsby/src/utils/webpack-utils.ts index 27f12ef831a48..4de8e10379958 100644 --- a/packages/gatsby/src/utils/webpack-utils.ts +++ b/packages/gatsby/src/utils/webpack-utils.ts @@ -1,5 +1,5 @@ import * as path from "path" -import { Loader, RuleSetRule, Plugin, Configuration } from "webpack" +import { Loader, RuleSetRule, Plugin } from "webpack" import { GraphQLSchema } from "graphql" import postcss from "postcss" import autoprefixer from "autoprefixer" @@ -39,7 +39,11 @@ type CSSModulesOptions = | boolean | string | { - mode?: "local" | "global" | "pure" | Function + mode?: + | "local" + | "global" + | "pure" + | ((resourcePath: string) => "local" | "global" | "pure") auto?: boolean exportGlobals?: boolean localIdentName?: string @@ -68,8 +72,10 @@ interface ILoaderUtils { yaml: LoaderResolver style: LoaderResolver css: LoaderResolver<{ - url?: boolean | Function - import?: boolean | Function + url?: boolean | ((url: string, resourcePath: string) => boolean) + import?: + | boolean + | ((url: string, media: string, resourcePath: string) => boolean) modules?: CSSModulesOptions sourceMap?: boolean importLoaders?: number @@ -86,6 +92,9 @@ interface ILoaderUtils { file: LoaderResolver url: LoaderResolver js: LoaderResolver + json: LoaderResolver + null: LoaderResolver + raw: LoaderResolver dependencies: LoaderResolver miniCssExtract: LoaderResolver diff --git a/packages/gatsby/src/utils/webpack/__tests__/corejs-resolver.ts b/packages/gatsby/src/utils/webpack/__tests__/corejs-resolver.ts index ead459c7eb29f..40792fff607cd 100644 --- a/packages/gatsby/src/utils/webpack/__tests__/corejs-resolver.ts +++ b/packages/gatsby/src/utils/webpack/__tests__/corejs-resolver.ts @@ -12,7 +12,10 @@ function executeResolve( ensureHook: (hook: string): string => hook, getHook: (): Record => { return { - tapAsync: (_name: string, fn: Function): void => { + tapAsync: ( + _name: string, + fn: (...args: Array) => void + ): void => { fn(request, null, (err, result) => err ? reject(err) : resolve(result) ) diff --git a/yarn.lock b/yarn.lock index 6882ed52e7861..474b277d52441 100644 --- a/yarn.lock +++ b/yarn.lock @@ -207,6 +207,11 @@ dependencies: "@babel/highlight" "^7.12.13" +"@babel/compat-data@^7.11.0", "@babel/compat-data@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.13.0.tgz#7889eb7ee6518e2afa5d312b15fd7fd1fe9f3744" + integrity sha512-mKgFbYQ+23pjwNGBNPNWrBfa3g/EcmrPnwQpjWoNxq9xYf+M8wcLhMlz/wkWimLjzNzGnl3D+C2186gMzk0VuA== + "@babel/compat-data@^7.12.1", "@babel/compat-data@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.12.5.tgz#f56db0c4bb1bbbf221b4e81345aab4141e7cb0e9" @@ -278,7 +283,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.10.2", "@babel/core@^7.12.3", "@babel/core@^7.6.4", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.1.6", "@babel/core@^7.12.3", "@babel/core@^7.6.4", "@babel/core@^7.7.5": version "7.12.10" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.10.tgz#b79a2e1b9f70ed3d84bbfb6d8c4ef825f606bccd" integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== @@ -299,6 +304,28 @@ semver "^5.4.1" source-map "^0.5.0" +"@babel/core@^7.12.10": + version "7.13.1" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.13.1.tgz#7ddd027176debe40f13bb88bac0c21218c5b1ecf" + integrity sha512-FzeKfFBG2rmFtGiiMdXZPFt/5R5DXubVi82uYhjGX4Msf+pgYQMCFIqFXZWs5vbIYbf14VeBIgdGI03CDOOM1w== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helpers" "^7.13.0" + "@babel/parser" "^7.13.0" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + convert-source-map "^1.7.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.1.2" + lodash "^4.17.19" + semver "7.0.0" + source-map "^0.5.0" + "@babel/core@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.12.17.tgz#993c5e893333107a2815d8e0d73a2c3755e280b2" @@ -347,6 +374,15 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.13.0.tgz#bd00d4394ca22f220390c56a0b5b85568ec1ec0c" + integrity sha512-zBZfgvBB/ywjx0Rgc2+BwoH/3H+lDtlgD4hBOpEv5LxRnYsm/753iRuLepqnYlynpjC3AdQxtxsoeHJoEEwOAw== + dependencies: + "@babel/types" "^7.13.0" + jsesc "^2.5.1" + source-map "^0.5.0" + "@babel/helper-annotate-as-pure@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" @@ -354,6 +390,13 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-annotate-as-pure@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.13.tgz#0f58e86dfc4bb3b1fcd7db806570e177d439b6ab" + integrity sha512-7YXfX5wQ5aYM/BOlbSccHDbuXXFPxeoUmfWtz8le2yTkTZc+BxsiEnENFoi2SlmA8ewDkG2LgIMIVzzn2h8kfw== + dependencies: + "@babel/types" "^7.12.13" + "@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz#bb0b75f31bf98cbf9ff143c1ae578b87274ae1a3" @@ -362,6 +405,14 @@ "@babel/helper-explode-assignable-expression" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-builder-binary-assignment-operator-visitor@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.12.13.tgz#6bc20361c88b0a74d05137a65cac8d3cbf6f61fc" + integrity sha512-CZOv9tGphhDRlVjVkAgm8Nhklm9RzSmWpX2my+t7Ua/KT616pEzXsQCjinzvkRvHWJ9itO4f296efroX23XCMA== + dependencies: + "@babel/helper-explode-assignable-expression" "^7.12.13" + "@babel/types" "^7.12.13" + "@babel/helper-builder-react-jsx-experimental@^7.12.1", "@babel/helper-builder-react-jsx-experimental@^7.12.4": version "7.12.4" resolved "https://registry.yarnpkg.com/@babel/helper-builder-react-jsx-experimental/-/helper-builder-react-jsx-experimental-7.12.4.tgz#55fc1ead5242caa0ca2875dcb8eed6d311e50f48" @@ -379,6 +430,16 @@ "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-compilation-targets@^7.10.4", "@babel/helper-compilation-targets@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.0.tgz#c9cf29b82a76fd637f0faa35544c4ace60a155a1" + integrity sha512-SOWD0JK9+MMIhTQiUVd4ng8f3NXhPVQvTv7D3UN4wbp/6cAHnB2EmMaU1zZA2Hh1gwme+THBrVSqTFxHczTh0Q== + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + browserslist "^4.14.5" + semver "7.0.0" + "@babel/helper-compilation-targets@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz#cb470c76198db6a24e9dbc8987275631e5d29831" @@ -389,7 +450,7 @@ browserslist "^4.14.5" semver "^5.5.0" -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.7.4": +"@babel/helper-create-class-features-plugin@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz#3c45998f431edd4a9214c5f1d3ad1448a6137f6e" integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== @@ -400,6 +461,17 @@ "@babel/helper-replace-supers" "^7.12.1" "@babel/helper-split-export-declaration" "^7.10.4" +"@babel/helper-create-class-features-plugin@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.13.0.tgz#28d04ad9cfbd1ed1d8b988c9ea7b945263365846" + integrity sha512-twwzhthM4/+6o9766AW2ZBHpIHPSGrPGk1+WfHiu13u/lBnggXGNYCpeAyVfNwGDKfkhEDp+WOD/xafoJ2iLjA== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-create-regexp-features-plugin@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz#18b1302d4677f9dc4740fe8c9ed96680e29d37e8" @@ -409,6 +481,14 @@ "@babel/helper-regex" "^7.10.4" regexpu-core "^4.7.1" +"@babel/helper-create-regexp-features-plugin@^7.12.13": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.17.tgz#a2ac87e9e319269ac655b8d4415e94d38d663cb7" + integrity sha512-p2VGmBu9oefLZ2nQpgnEnG0ZlRPvL8gAGvPUMQwUdaE8k49rOMuZpOwdQoy5qJf6K8jL3bcAMhVUlHAjIgJHUg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + regexpu-core "^4.7.1" + "@babel/helper-define-map@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-define-map/-/helper-define-map-7.10.4.tgz#f037ad794264f729eda1889f4ee210b870999092" @@ -418,6 +498,20 @@ "@babel/types" "^7.10.4" lodash "^4.17.13" +"@babel/helper-define-polyfill-provider@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.1.0.tgz#a9e8a161bb594a6a26ba93f68efd475c935a1727" + integrity sha512-/nX4CQRve5OZsc0FsvkuefeIQFG7GQo2X5GbD/seME7Tu4s2gHuQfXTIKup++/W9K1SWi2dTe7H9zhgJxhn/pA== + dependencies: + "@babel/helper-compilation-targets" "^7.10.4" + "@babel/helper-module-imports" "^7.10.4" + "@babel/helper-plugin-utils" "^7.10.4" + "@babel/traverse" "^7.11.5" + debug "^4.1.1" + lodash.debounce "^4.0.8" + resolve "^1.14.2" + semver "^6.1.2" + "@babel/helper-explode-assignable-expression@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.10.4.tgz#40a1cd917bff1288f699a94a75b37a1a2dbd8c7c" @@ -426,6 +520,13 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-explode-assignable-expression@^7.12.13": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.13.0.tgz#17b5c59ff473d9f956f40ef570cf3a76ca12657f" + integrity sha512-qS0peLTDP8kOisG1blKbaoBg/o9OSa1qoumMjTK5pM+KDTtpxpsiubnCGP34vK8BXGcb2M9eigwgvoJryrzwWA== + dependencies: + "@babel/types" "^7.13.0" + "@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.11": version "7.12.11" resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz#1fd7738aee5dcf53c3ecff24f1da9c511ec47b42" @@ -465,6 +566,14 @@ dependencies: "@babel/types" "^7.10.4" +"@babel/helper-hoist-variables@^7.12.13": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.13.0.tgz#5d5882e855b5c5eda91e0cadc26c6e7a2c8593d8" + integrity sha512-0kBzvXiIKfsCA0y6cFEIJf4OdzfpRuNk4+YTeHZpGGc666SATFKTz6sRncwFnQk7/ugJ4dSrCj6iJuvW4Qwr2g== + dependencies: + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helper-member-expression-to-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz#fba0f2fcff3fba00e6ecb664bb5e6e26e2d6165c" @@ -479,6 +588,13 @@ dependencies: "@babel/types" "^7.12.17" +"@babel/helper-member-expression-to-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.13.0.tgz#6aa4bb678e0f8c22f58cdb79451d30494461b091" + integrity sha512-yvRf8Ivk62JwisqV1rFRMxiSMDGnN6KH1/mDMmIrij4jztpQNRoHqqMG3U6apYbGRPJpgPalhva9Yd06HlUxJQ== + dependencies: + "@babel/types" "^7.13.0" + "@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.7.0", "@babel/helper-module-imports@^7.7.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz#1bfc0229f794988f76ed0a4d4e90860850b54dfb" @@ -486,7 +602,7 @@ dependencies: "@babel/types" "^7.12.5" -"@babel/helper-module-imports@^7.12.13": +"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.12.13": version "7.12.13" resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.12.13.tgz#ec67e4404f41750463e455cc3203f6a32e93fcb0" integrity sha512-NGmfvRp9Rqxy0uHSSVP+SRIW1q31a7Ji10cLBcqSDUngGentY4FRiHOFZFE1CLU5eiL0oE8reH7Tg1y99TDM/g== @@ -508,6 +624,21 @@ "@babel/types" "^7.12.1" lodash "^4.17.19" +"@babel/helper-module-transforms@^7.12.13", "@babel/helper-module-transforms@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.13.0.tgz#42eb4bd8eea68bab46751212c357bfed8b40f6f1" + integrity sha512-Ls8/VBwH577+pw7Ku1QkUWIyRRNHpYlts7+qSqBBFCW3I8QteB9DxfcZ5YJpOwH6Ihe/wn8ch7fMGOP1OhEIvw== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + lodash "^4.17.19" + "@babel/helper-module-transforms@^7.12.17": version "7.12.17" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.12.17.tgz#7c75b987d6dfd5b48e575648f81eaac891539509" @@ -542,6 +673,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== +"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.13.0.tgz#806526ce125aed03373bc416a828321e3a6a33af" + integrity sha512-ZPafIPSwzUlAoWT8DKs1W2VyF2gOWthGd5NGFMsBcMMol+ZhK+EQY/e6V96poa6PA/Bh+C9plWN0hXO1uB8AfQ== + "@babel/helper-regex@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.4.tgz#59b373daaf3458e5747dece71bbaf45f9676af6d" @@ -558,6 +694,15 @@ "@babel/helper-wrap-function" "^7.10.4" "@babel/types" "^7.12.1" +"@babel/helper-remap-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.13.0.tgz#376a760d9f7b4b2077a9dd05aa9c3927cadb2209" + integrity sha512-pUQpFBE9JvC9lrQbpX0TmeNIy5s7GnZjna2lhhcHC7DzgBs6fWn722Y5cfwgrtrqc7NAJwMvOa0mKhq6XaE4jg== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-wrap-function" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helper-replace-supers@^7.12.1": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz#f009a17543bbbbce16b06206ae73b63d3fca68d9" @@ -578,6 +723,16 @@ "@babel/traverse" "^7.12.13" "@babel/types" "^7.12.13" +"@babel/helper-replace-supers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.13.0.tgz#6034b7b51943094cb41627848cb219cb02be1d24" + integrity sha512-Segd5me1+Pz+rmN/NFBOplMbZG3SqRJOBlY+mA0SxAv6rjj7zJqr1AVr3SfzUVTLCv7ZLU5FycOM/SBGuLPbZw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.13.0" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helper-simple-access@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz#32427e5aa61547d38eb1e6eaf5fd1426fdad9136" @@ -623,6 +778,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz#175567380c3e77d60ff98a54bb015fe78f2178d9" integrity sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A== +"@babel/helper-validator-option@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.12.17.tgz#d1fbf012e1a79b7eebbfdc6d270baaf8d9eb9831" + integrity sha512-TopkMDmLzq8ngChwRlyjR6raKD6gMSae4JdYDB8bByKreQgG0RBTuKe9LRxW3wFtUnjxOPRKBDwEH6Mg5KeDfw== + "@babel/helper-wrap-function@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.10.4.tgz#8a6f701eab0ff39f765b5a1cfef409990e624b87" @@ -633,6 +793,16 @@ "@babel/traverse" "^7.10.4" "@babel/types" "^7.10.4" +"@babel/helper-wrap-function@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.13.0.tgz#bdb5c66fda8526ec235ab894ad53a1235c79fcc4" + integrity sha512-1UX9F7K3BS42fI6qd2A4BjKzgGjToscyZTdp1DjknHLCIvpgne6918io+aL5LXFcER/8QWiwpoY902pVEqgTXA== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/helpers@^7.10.4", "@babel/helpers@^7.12.1", "@babel/helpers@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.12.5.tgz#1a1ba4a768d9b58310eda516c449913fe647116e" @@ -651,6 +821,15 @@ "@babel/traverse" "^7.12.17" "@babel/types" "^7.12.17" +"@babel/helpers@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.13.0.tgz#7647ae57377b4f0408bf4f8a7af01c42e41badc0" + integrity sha512-aan1MeFPxFacZeSz6Ld7YZo5aPuqnKlD7+HZY75xQsueczFccP9A7V05+oe0XpLwHK3oLorPe9eaAUljL7WEaQ== + dependencies: + "@babel/template" "^7.12.13" + "@babel/traverse" "^7.13.0" + "@babel/types" "^7.13.0" + "@babel/highlight@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" @@ -698,6 +877,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.17.tgz#bc85d2d47db38094e5bb268fc761716e7d693848" integrity sha512-r1yKkiUTYMQ8LiEI0UcQx5ETw5dpTLn9wijn9hk6KkTtOK95FndDN10M+8/s6k/Ymlbivw0Av9q4SlgF80PtHg== +"@babel/parser@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.0.tgz#49b9b6ee213e5634fa80361dae139effef893f78" + integrity sha512-w80kxEMFhE3wjMOQkfdTvv0CSdRSJZptIlLhU4eU/coNJeWjduspUFz+IRnBbAq6m5XYBFMoT1TNkk9K9yf10g== + "@babel/plugin-proposal-async-generator-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz#dc6c1170e27d8aca99ff65f4925bd06b1c90550e" @@ -707,15 +891,16 @@ "@babel/helper-remap-async-to-generator" "^7.12.1" "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@7.7.4": - version "7.7.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.7.4.tgz#2f964f0cb18b948450362742e33e15211e77c2ba" - integrity sha512-EcuXeV4Hv1X3+Q1TsuOmyyxeTRiSqurGJ26+I/FW1WbymmRRapVORm6x1Zl3iDIHyRxEs+VXWp6qnlcfcJSbbw== +"@babel/plugin-proposal-async-generator-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.13.0.tgz#42f4a4922c973ceb70bfd4708daf55601fe25434" + integrity sha512-3Loqr0+jE2/yqp29VnW1YqcWjGnIQwICotlrMfn6+1Ih2MBIbaaIFpJ5fnmYmGSUa9vwMhHOh2rMAqUH7NMWmQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.7.4" - "@babel/helper-plugin-utils" "^7.0.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-syntax-async-generators" "^7.8.0" -"@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.10.1", "@babel/plugin-proposal-class-properties@^7.12.1": +"@babel/plugin-proposal-class-properties@7.12.1", "@babel/plugin-proposal-class-properties@^7.1.0", "@babel/plugin-proposal-class-properties@^7.10.1", "@babel/plugin-proposal-class-properties@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz#a082ff541f2a29a4821065b8add9346c0c16e5de" integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== @@ -723,6 +908,14 @@ "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-proposal-class-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.13.0.tgz#146376000b94efd001e57a40a88a525afaab9f37" + integrity sha512-KnTDjFNC1g+45ka0myZNvSBFLhNCLN+GeGYLDEA8Oq7MZ6yMgfLoIRh86GRT0FjtJhZw8JyUskP9uvj5pHM9Zg== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-proposal-decorators@^7.12.1": version "7.12.12" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.12.tgz#067a6d3d6ca86d54cf56bb183239199c20daeafe" @@ -748,6 +941,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-dynamic-import" "^7.8.0" +"@babel/plugin-proposal-dynamic-import@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.17.tgz#e0ebd8db65acc37eac518fa17bead2174e224512" + integrity sha512-ZNGoFZqrnuy9H2izB2jLlnNDAfVPlGl5NhFEiFe4D84ix9GQGygF+CWMGHKuE+bpyS/AOuDQCnkiRNqW2IzS1Q== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-proposal-export-default-from@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.12.1.tgz#c6e62d668a8abcfe0d28b82f560395fecb611c5a" @@ -764,6 +965,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" +"@babel/plugin-proposal-export-namespace-from@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.13.tgz#393be47a4acd03fa2af6e3cde9b06e33de1b446d" + integrity sha512-INAgtFo4OnLN3Y/j0VwAgw3HDXcDtX+C/erMvWzuV9v71r7urb6iyMXu7eM9IgLr1ElLlOkaHjJ0SbCmdOQ3Iw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-function-bind@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-function-bind/-/plugin-proposal-function-bind-7.12.1.tgz#8b891b412ffbc8e8ff3fd4df67b8d4bbe5947004" @@ -789,6 +998,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.0" +"@babel/plugin-proposal-json-strings@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.13.tgz#ced7888a2db92a3d520a2e35eb421fdb7fcc9b5d" + integrity sha512-v9eEi4GiORDg8x+Dmi5r8ibOe0VXoKDeNPYcTTxdGN4eOWikrJfDJCJrr1l5gKGvsNyGJbrfMftC2dTL6oz7pg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-proposal-logical-assignment-operators@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz#f2c490d36e1b3c9659241034a5d2cd50263a2751" @@ -797,6 +1014,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" +"@babel/plugin-proposal-logical-assignment-operators@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.13.tgz#575b5d9a08d8299eeb4db6430da6e16e5cf14350" + integrity sha512-fqmiD3Lz7jVdK6kabeSr1PZlWSUVqSitmHEe3Z00dtGTKieWnX9beafvavc32kjORa5Bai4QNHgFDwWJP+WtSQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-proposal-nullish-coalescing-operator@^7.1.0", "@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz#3ed4fff31c015e7f3f1467f190dbe545cd7b046c" @@ -805,6 +1030,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" +"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.13.0.tgz#1a96fdf2c43109cfe5568513c5379015a23f5380" + integrity sha512-UkAvFA/9+lBBL015gjA68NvKiCReNxqFLm3SdNKaM3XXoDisA7tMAIX4PmIwatFoFqMxxT3WyG9sK3MO0Kting== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz#b1ce757156d40ed79d59d467cb2b154a5c4149ba" @@ -813,6 +1046,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" +"@babel/plugin-proposal-numeric-separator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.13.tgz#bd9da3188e787b5120b4f9d465a8261ce67ed1db" + integrity sha512-O1jFia9R8BUCl3ZGB7eitaAPu62TXJRHn7rh+ojNERCFyqRwJMTmhz+tJ+k0CwI6CLjX/ee4qW74FSqlq9I35w== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-proposal-object-rest-spread@7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.10.4.tgz#50129ac216b9a6a55b3853fdd923e74bf553a4c0" @@ -840,6 +1081,15 @@ "@babel/plugin-syntax-object-rest-spread" "^7.8.0" "@babel/plugin-transform-parameters" "^7.12.1" +"@babel/plugin-proposal-object-rest-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.13.0.tgz#8f19ad247bb96bd5ad2d4107e6eddfe0a789937b" + integrity sha512-B4qphdSTp0nLsWcuei07JPKeZej4+Hd22MdnulJXQa1nCcGSBlk8FiqenGERaPZ+PuYhz4Li2Wjc8yfJvHgUMw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-transform-parameters" "^7.13.0" + "@babel/plugin-proposal-optional-catch-binding@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz#ccc2421af64d3aae50b558a71cede929a5ab2942" @@ -848,6 +1098,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" +"@babel/plugin-proposal-optional-catch-binding@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.13.tgz#4640520afe57728af14b4d1574ba844f263bcae5" + integrity sha512-9+MIm6msl9sHWg58NvqpNpLtuFbmpFYk37x8kgnGzAHvX35E1FyAwSUt5hIkSoWJFSAH+iwU8bJ4fcD1zKXOzg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-proposal-optional-chaining@^7.1.0", "@babel/plugin-proposal-optional-chaining@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz#cce122203fc8a32794296fc377c6dedaf4363797" @@ -857,6 +1115,15 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" +"@babel/plugin-proposal-optional-chaining@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.13.0.tgz#75b41ce0d883d19e8fe635fc3f846be3b1664f4d" + integrity sha512-OVRQOZEBP2luZrvEbNSX5FfWDousthhdEoAOpej+Tpe58HFLvqRClT89RauIvBuCDFEip7GW1eT86/5lMy2RNA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-proposal-pipeline-operator@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-pipeline-operator/-/plugin-proposal-pipeline-operator-7.12.1.tgz#4bd377bc7e5be92f22f1c08b3f3963636bd8f4a1" @@ -873,6 +1140,14 @@ "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-proposal-private-methods@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.13.0.tgz#04bd4c6d40f6e6bbfa2f57e2d8094bad900ef787" + integrity sha512-MXyyKQd9inhx1kDYPkFRVOBXQ20ES8Pto3T7UZ92xj2mY0EVD8oAVzeyYuVfy/mxAdTSIayOvg+aVzcHV2bn6Q== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-proposal-throw-expressions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-throw-expressions/-/plugin-proposal-throw-expressions-7.12.1.tgz#5adf4abc7f349a2da532e663b36251f6017c4279" @@ -889,6 +1164,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-proposal-unicode-property-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.13.tgz#bebde51339be829c17aaaaced18641deb62b39ba" + integrity sha512-XyJmZidNfofEkqFV5VC/bLabGmO5QzenPO/YOfGuEbgU+2sSwMmio3YLb4WtBgcmmdwZHyVyv8on77IUjQ5Gvg== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-async-generators@^7.8.0": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -903,6 +1186,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-class-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" + integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-decorators@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz#81a8b535b284476c41be6de06853a8802b98c5dd" @@ -945,6 +1235,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-flow@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.12.13.tgz#5df9962503c0a9c918381c929d51d4d6949e7e86" + integrity sha512-J/RYxnlSLXZLVR7wTRsozxKT8qbsx1mNKJzXEEjQ0Kjx1ZACcyHgbanNWNCFtc36IzuWhYWPpvJFFoexoOWFmA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-function-bind@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-function-bind/-/plugin-syntax-function-bind-7.12.1.tgz#1e15da3e568c96dabe21579f2d66821db98aafcc" @@ -959,7 +1256,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-import-meta@^7.10.1", "@babel/plugin-syntax-import-meta@^7.10.4": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -980,13 +1277,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-jsx@^7.10.1", "@babel/plugin-syntax-jsx@^7.12.1", "@babel/plugin-syntax-jsx@^7.2.0": +"@babel/plugin-syntax-jsx@^7.12.1", "@babel/plugin-syntax-jsx@^7.2.0": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz#9d9d357cc818aa7ae7935917c1257f67677a0926" integrity sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg== dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-jsx@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.13.tgz#044fb81ebad6698fe62c478875575bcbb9b70f15" + integrity sha512-d4HM23Q1K7oq/SLNmG6mRt85l2csmQ0cHRaxRXjKW0YFdEXqlZ5kzFQKH5Uc3rDJECgu+yCRgPkG04Mm98R/1g== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -1050,6 +1354,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-syntax-top-level-await@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.13.tgz#c5f0fa6e249f5b739727f923540cf7a806130178" + integrity sha512-A81F9pDwyS7yM//KwbCSDqy3Uj4NMIurtplxphWxoYtNPov7cJsDkAFNNyVlIZ3jwGycVsurZ+LtOA8gZ376iQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-typescript@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz#460ba9d77077653803c3dd2e673f76d66b4029e5" @@ -1064,6 +1375,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-arrow-functions@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.13.0.tgz#10a59bebad52d637a027afa692e8d5ceff5e3dae" + integrity sha512-96lgJagobeVmazXFaDrbmCLQxBysKu7U6Do3mLsx27gf5Dk85ezysrs2BZUpXD703U/Su1xTBDxxar2oa4jAGg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-async-to-generator@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz#3849a49cc2a22e9743cbd6b52926d30337229af1" @@ -1073,6 +1391,15 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-remap-async-to-generator" "^7.12.1" +"@babel/plugin-transform-async-to-generator@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.13.0.tgz#8e112bf6771b82bf1e974e5e26806c5c99aa516f" + integrity sha512-3j6E004Dx0K3eGmhxVJxwwI89CTJrce7lg3UrtFuDAVQ/2+SJ/h/aSFOeE6/n0WB1GsOffsJp6MnPQNQ8nmwhg== + dependencies: + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-remap-async-to-generator" "^7.13.0" + "@babel/plugin-transform-block-scoped-functions@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz#f2a1a365bde2b7112e0a6ded9067fdd7c07905d9" @@ -1080,6 +1407,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-block-scoped-functions@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.13.tgz#a9bf1836f2a39b4eb6cf09967739de29ea4bf4c4" + integrity sha512-zNyFqbc3kI/fVpqwfqkg6RvBgFpC4J18aKKMmv7KdQ/1GgREapSJAykLMVNwfRGO3BtHj3YQZl8kxCXPcVMVeg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-block-scoping@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz#f0ee727874b42a208a48a586b84c3d222c2bbef1" @@ -1087,6 +1421,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-block-scoping@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.13.tgz#f36e55076d06f41dfd78557ea039c1b581642e61" + integrity sha512-Pxwe0iqWJX4fOOM2kEZeUuAxHMWb9nK+9oh5d11bsLoB0xMg+mkDpt0eYuDZB7ETrY9bbcVlKUGTOGWy7BHsMQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-classes@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz#65e650fcaddd3d88ddce67c0f834a3d436a32db6" @@ -1101,6 +1442,19 @@ "@babel/helper-split-export-declaration" "^7.10.4" globals "^11.1.0" +"@babel/plugin-transform-classes@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.13.0.tgz#0265155075c42918bf4d3a4053134176ad9b533b" + integrity sha512-9BtHCPUARyVH1oXGcSJD3YpsqRLROJx5ZNP6tN5vnk17N0SVf9WCtf8Nuh1CFmgByKKAIMstitKduoCmsaDK5g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-optimise-call-expression" "^7.12.13" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-replace-supers" "^7.13.0" + "@babel/helper-split-export-declaration" "^7.12.13" + globals "^11.1.0" + "@babel/plugin-transform-computed-properties@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz#d68cf6c9b7f838a8a4144badbe97541ea0904852" @@ -1108,6 +1462,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-computed-properties@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.13.0.tgz#845c6e8b9bb55376b1fa0b92ef0bdc8ea06644ed" + integrity sha512-RRqTYTeZkZAz8WbieLTvKUEUxZlUTdmL5KGMyZj7FnMfLNKV4+r5549aORG/mgojRmFlQMJDUupwAMiF2Q7OUg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-destructuring@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz#b9a570fe0d0a8d460116413cb4f97e8e08b2f847" @@ -1115,6 +1476,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-destructuring@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.0.tgz#c5dce270014d4e1ebb1d806116694c12b7028963" + integrity sha512-zym5em7tePoNT9s964c0/KU3JPPnuq7VhIxPRefJ4/s82cD+q1mgKfuGRDMCPL0HTyKz4dISuQlCusfgCJ86HA== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz#a1d16c14862817b6409c0a678d6f9373ca9cd975" @@ -1123,6 +1491,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-dotall-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.13.tgz#3f1601cc29905bfcb67f53910f197aeafebb25ad" + integrity sha512-foDrozE65ZFdUC2OfgeOCrEPTxdB3yjqxpXh8CH+ipd9CHd4s/iq81kcUpyH8ACGNEPdFqbtzfgzbT/ZGlbDeQ== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-duplicate-keys@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz#745661baba295ac06e686822797a69fbaa2ca228" @@ -1130,6 +1506,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-duplicate-keys@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.13.tgz#6f06b87a8b803fd928e54b81c258f0a0033904de" + integrity sha512-NfADJiiHdhLBW3pulJlJI2NB0t4cci4WTZ8FtdIuNc2+8pslXdPtRRAEWqUY+m9kNOk2eRYbTAOipAxlrOcwwQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz#b0f2ed356ba1be1428ecaf128ff8a24f02830ae0" @@ -1138,7 +1521,15 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-flow-strip-types@^7.10.1", "@babel/plugin-transform-flow-strip-types@^7.12.1": +"@babel/plugin-transform-exponentiation-operator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.13.tgz#4d52390b9a273e651e4aba6aee49ef40e80cd0a1" + integrity sha512-fbUelkM1apvqez/yYx1/oICVnGo2KM5s63mhGylrmXUxK/IAXSIf87QIxVfZldWf4QsOafY6vV3bX8aMHSvNrA== + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-flow-strip-types@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.12.1.tgz#8430decfa7eb2aea5414ed4a3fa6e1652b7d77c4" integrity sha512-8hAtkmsQb36yMmEtk2JZ9JnVyDSnDOdlB+0nEGzIDLuK4yR3JcEjfuFPYkdEPSh8Id+rAMeBEn+X0iVEyho6Hg== @@ -1146,6 +1537,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-flow" "^7.12.1" +"@babel/plugin-transform-flow-strip-types@^7.12.10": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.13.0.tgz#58177a48c209971e8234e99906cb6bd1122addd3" + integrity sha512-EXAGFMJgSX8gxWD7PZtW/P6M+z74jpx3wm/+9pn+c2dOawPpBkUX7BrfyPvo6ZpXbgRIEuwgwDb/MGlKvu2pOg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-syntax-flow" "^7.12.13" + "@babel/plugin-transform-for-of@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz#07640f28867ed16f9511c99c888291f560921cfa" @@ -1153,6 +1552,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-for-of@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.13.0.tgz#c799f881a8091ac26b54867a845c3e97d2696062" + integrity sha512-IHKT00mwUVYE0zzbkDgNRP6SRzvfGCYsOxIRz8KsiaaHCcT9BWIkO+H9QRJseHBLOGBZkHUdHiqj6r0POsdytg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-function-name@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz#2ec76258c70fe08c6d7da154003a480620eba667" @@ -1161,6 +1567,14 @@ "@babel/helper-function-name" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-function-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.13.tgz#bb024452f9aaed861d374c8e7a24252ce3a50051" + integrity sha512-6K7gZycG0cmIwwF7uMK/ZqeCikCGVBdyP2J5SKNCXO5EOHcqi+z7Jwf8AmyDNcBgxET8DrEtCt/mPKPyAzXyqQ== + dependencies: + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-literals@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz#d73b803a26b37017ddf9d3bb8f4dc58bfb806f57" @@ -1168,6 +1582,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.13.tgz#2ca45bafe4a820197cf315794a4d26560fe4bdb9" + integrity sha512-FW+WPjSR7hiUxMcKqyNjP05tQ2kmBCdpEpZHY1ARm96tGQCCBvXKnpjILtDplUnJ/eHZ0lALLM+d2lMFSpYJrQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-member-expression-literals@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz#496038602daf1514a64d43d8e17cbb2755e0c3ad" @@ -1175,6 +1596,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-member-expression-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.13.tgz#5ffa66cd59b9e191314c9f1f803b938e8c081e40" + integrity sha512-kxLkOsg8yir4YeEPHLuO2tXP9R/gTjpuTOjshqSpELUN3ZAg2jfDnKUvzzJxObun38sw3wm4Uu69sX/zA7iRvg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-modules-amd@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz#3154300b026185666eebb0c0ed7f8415fefcf6f9" @@ -1184,6 +1612,15 @@ "@babel/helper-plugin-utils" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-amd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.13.0.tgz#19f511d60e3d8753cc5a6d4e775d3a5184866cc3" + integrity sha512-EKy/E2NHhY/6Vw5d1k3rgoobftcNUmp9fGjb9XZwQLtTctsRBOTRO7RHHxfIky1ogMN5BxN7p9uMA3SzPfotMQ== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-commonjs@^7.1.0", "@babel/plugin-transform-modules-commonjs@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz#fa403124542636c786cf9b460a0ffbb48a86e648" @@ -1194,6 +1631,16 @@ "@babel/helper-simple-access" "^7.12.1" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-commonjs@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.13.0.tgz#276932693a20d12c9776093fdc99c0d9995e34c6" + integrity sha512-j7397PkIB4lcn25U2dClK6VLC6pr2s3q+wbE8R3vJvY6U1UTBBj0n6F+5v6+Fd/UwfDPAorMOs2TV+T4M+owpQ== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-simple-access" "^7.12.13" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-systemjs@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz#663fea620d593c93f214a464cd399bf6dc683086" @@ -1205,6 +1652,17 @@ "@babel/helper-validator-identifier" "^7.10.4" babel-plugin-dynamic-import-node "^2.3.3" +"@babel/plugin-transform-modules-systemjs@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.13.tgz#351937f392c7f07493fc79b2118201d50404a3c5" + integrity sha512-aHfVjhZ8QekaNF/5aNdStCGzwTbU7SI5hUybBKlMzqIMC7w7Ho8hx5a4R/DkTHfRfLwHGGxSpFt9BfxKCoXKoA== + dependencies: + "@babel/helper-hoist-variables" "^7.12.13" + "@babel/helper-module-transforms" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-validator-identifier" "^7.12.11" + babel-plugin-dynamic-import-node "^2.3.3" + "@babel/plugin-transform-modules-umd@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz#eb5a218d6b1c68f3d6217b8fa2cc82fec6547902" @@ -1213,6 +1671,14 @@ "@babel/helper-module-transforms" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-modules-umd@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.13.0.tgz#8a3d96a97d199705b9fd021580082af81c06e70b" + integrity sha512-D/ILzAh6uyvkWjKKyFE/W0FzWwasv6vPTSqPcjxFqn6QpX3u8DjRVliq4F2BamO2Wee/om06Vyy+vPkNrd4wxw== + dependencies: + "@babel/helper-module-transforms" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz#b407f5c96be0d9f5f88467497fa82b30ac3e8753" @@ -1220,6 +1686,13 @@ dependencies: "@babel/helper-create-regexp-features-plugin" "^7.12.1" +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.13.tgz#2213725a5f5bbbe364b50c3ba5998c9599c5c9d9" + integrity sha512-Xsm8P2hr5hAxyYblrfACXpQKdQbx4m2df9/ZZSQ8MAhsadw06+jW7s9zsSw6he+mJZXRlVMyEnVktJo4zjk1WA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/plugin-transform-new-target@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz#80073f02ee1bb2d365c3416490e085c95759dec0" @@ -1227,6 +1700,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-new-target@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.13.tgz#e22d8c3af24b150dd528cbd6e685e799bf1c351c" + integrity sha512-/KY2hbLxrG5GTQ9zzZSc3xWiOy379pIETEhbtzwZcw9rvuaVV4Fqy7BYGYOWZnaoXIQYbbJ0ziXLa/sKcGCYEQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-object-super@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz#4ea08696b8d2e65841d0c7706482b048bed1066e" @@ -1235,6 +1715,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-replace-supers" "^7.12.1" +"@babel/plugin-transform-object-super@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.13.tgz#b4416a2d63b8f7be314f3d349bd55a9c1b5171f7" + integrity sha512-JzYIcj3XtYspZDV8j9ulnoMPZZnF/Cj0LUxPOjR89BdBVx+zYJI9MdMIlUZjbXDX+6YVeS6I3e8op+qQ3BYBoQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/helper-replace-supers" "^7.12.13" + "@babel/plugin-transform-parameters@^7.10.4", "@babel/plugin-transform-parameters@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz#d2e963b038771650c922eff593799c96d853255d" @@ -1242,6 +1730,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-parameters@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.13.0.tgz#8fa7603e3097f9c0b7ca1a4821bc2fb52e9e5007" + integrity sha512-Jt8k/h/mIwE2JFEOb3lURoY5C85ETcYPnbuAJ96zRBzh1XHtQZfs62ChZ6EP22QlC8c7Xqr9q+e1SU5qttwwjw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-property-literals@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz#41bc81200d730abb4456ab8b3fbd5537b59adecd" @@ -1249,6 +1744,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-property-literals@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.13.tgz#4e6a9e37864d8f1b3bc0e2dce7bf8857db8b1a81" + integrity sha512-nqVigwVan+lR+g8Fj8Exl0UQX2kymtjcWfMOYM1vTYEKujeyv2SkMgazf2qNcK7l4SDiKyTA/nHCPqL4e2zo1A== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-react-display-name@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.1.tgz#1cbcd0c3b1d6648c55374a22fc9b6b7e5341c00d" @@ -1256,6 +1758,20 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-react-display-name@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.12.13.tgz#c28effd771b276f4647411c9733dbb2d2da954bd" + integrity sha512-MprESJzI9O5VnJZrL7gg1MpdqmiFcUv41Jc7SahxYsNP2kDkFqClxxTZq+1Qv4AFCamm+GXMRDQINNn+qrxmiA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + +"@babel/plugin-transform-react-jsx-development@^7.12.12": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.17.tgz#f510c0fa7cd7234153539f9a362ced41a5ca1447" + integrity sha512-BPjYV86SVuOaudFhsJR1zjgxxOhJDt6JHNoD48DxWEIxUCAMjV1ys6DYw4SDYZh0b1QsS2vfIA9t/ZsQGsDOUQ== + dependencies: + "@babel/plugin-transform-react-jsx" "^7.12.17" + "@babel/plugin-transform-react-jsx-development@^7.12.5": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.12.5.tgz#677de5b96da310430d6cfb7fee16a1603afa3d56" @@ -1279,7 +1795,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-jsx@^7.10.1", "@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.5": +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.12.5": version "7.12.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.7.tgz#8b14d45f6eccd41b7f924bcb65c021e9f0a06f7f" integrity sha512-YFlTi6MEsclFAPIDNZYiCRbneg1MFGao9pPG9uD5htwE0vDbPaMUMeYd6itWjw7K4kro4UbdQf3ljmFl9y48dQ== @@ -1289,6 +1805,17 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-jsx" "^7.12.1" +"@babel/plugin-transform-react-jsx@^7.12.11", "@babel/plugin-transform-react-jsx@^7.12.13", "@babel/plugin-transform-react-jsx@^7.12.17": + version "7.12.17" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.12.17.tgz#dd2c1299f5e26de584939892de3cfc1807a38f24" + integrity sha512-mwaVNcXV+l6qJOuRhpdTEj8sT/Z0owAVWf9QujTZ0d2ye9X/K+MTOTSizcgKOj18PGnTc/7g1I4+cIUjsKhBcw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.12.13" + "@babel/helper-module-imports" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-syntax-jsx" "^7.12.13" + "@babel/types" "^7.12.17" + "@babel/plugin-transform-react-pure-annotations@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.12.1.tgz#05d46f0ab4d1339ac59adf20a1462c91b37a1a42" @@ -1297,13 +1824,20 @@ "@babel/helper-annotate-as-pure" "^7.10.4" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-regenerator@^7.10.1", "@babel/plugin-transform-regenerator@^7.12.1": +"@babel/plugin-transform-regenerator@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz#5f0a28d842f6462281f06a964e88ba8d7ab49753" integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== dependencies: regenerator-transform "^0.14.2" +"@babel/plugin-transform-regenerator@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.13.tgz#b628bcc9c85260ac1aeb05b45bde25210194a2f5" + integrity sha512-lxb2ZAvSLyJ2PEe47hoGWPmW22v7CtSl9jW8mingV4H2sEX/JOcrAj2nPuGWi56ERUm2bUpjKzONAuT6HCn2EA== + dependencies: + regenerator-transform "^0.14.2" + "@babel/plugin-transform-reserved-words@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz#6fdfc8cc7edcc42b36a7c12188c6787c873adcd8" @@ -1311,6 +1845,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-reserved-words@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.13.tgz#7d9988d4f06e0fe697ea1d9803188aa18b472695" + integrity sha512-xhUPzDXxZN1QfiOy/I5tyye+TRz6lA7z6xaT4CLOjPRMVg1ldRf0LHw0TDBpYL4vG78556WuHdyO9oi5UmzZBg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-runtime@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz#04b792057eb460389ff6a4198e377614ea1e7ba5" @@ -1328,6 +1869,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-shorthand-properties@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.13.tgz#db755732b70c539d504c6390d9ce90fe64aff7ad" + integrity sha512-xpL49pqPnLtf0tVluuqvzWIgLEhuPpZzvs2yabUHSKRNlN7ScYU7aMlmavOeyXJZKgZKQRBlh8rHbKiJDraTSw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-spread@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz#527f9f311be4ec7fdc2b79bb89f7bf884b3e1e1e" @@ -1336,6 +1884,14 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" +"@babel/plugin-transform-spread@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.13.0.tgz#84887710e273c1815ace7ae459f6f42a5d31d5fd" + integrity sha512-V6vkiXijjzYeFmQTr3dBxPtZYLPcUfY34DebOU27jIl2M/Y8Egm52Hw82CSjjPqd54GTlJs5x+CR7HeNr24ckg== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" + "@babel/plugin-transform-sticky-regex@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz#5c24cf50de396d30e99afc8d1c700e8bce0f5caf" @@ -1344,6 +1900,13 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/helper-regex" "^7.10.4" +"@babel/plugin-transform-sticky-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.13.tgz#760ffd936face73f860ae646fb86ee82f3d06d1f" + integrity sha512-Jc3JSaaWT8+fr7GRvQP02fKDsYk4K/lYwWq38r/UGfaxo89ajud321NH28KRQ7xy1Ybc0VUE5Pz8psjNNDUglg== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-template-literals@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz#b43ece6ed9a79c0c71119f576d299ef09d942843" @@ -1351,6 +1914,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-template-literals@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.13.0.tgz#a36049127977ad94438dee7443598d1cefdf409d" + integrity sha512-d67umW6nlfmr1iehCcBv69eSUSySk1EsIS8aTDX4Xo9qajAh6mYtcl4kJrBkGXuxZPEgVr7RVfAvNW6YQkd4Mw== + dependencies: + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/plugin-transform-typeof-symbol@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz#9ca6be343d42512fbc2e68236a82ae64bc7af78a" @@ -1358,6 +1928,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-typeof-symbol@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.13.tgz#785dd67a1f2ea579d9c2be722de8c84cb85f5a7f" + integrity sha512-eKv/LmUJpMnu4npgfvs3LiHhJua5fo/CysENxa45YCQXZwKnGCQKAg87bvoqSW1fFT+HA32l03Qxsm8ouTY3ZQ== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-typescript@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz#d92cc0af504d510e26a754a7dbc2e5c8cd9c7ab4" @@ -1374,6 +1951,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-unicode-escapes@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.13.tgz#840ced3b816d3b5127dd1d12dcedc5dead1a5e74" + integrity sha512-0bHEkdwJ/sN/ikBHfSmOXPypN/beiGqjo+o4/5K+vxEFNPRPdImhviPakMKG4x96l85emoa0Z6cDflsdBusZbw== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-unicode-regex@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz#cc9661f61390db5c65e3febaccefd5c6ac3faecb" @@ -1382,6 +1966,14 @@ "@babel/helper-create-regexp-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" +"@babel/plugin-transform-unicode-regex@^7.12.13": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.13.tgz#b52521685804e155b1202e83fc188d34bb70f5ac" + integrity sha512-mDRzSNY7/zopwisPZ5kM9XKCfhchqIYwAKRERtEnhYscZB79VRekuRSoYbN0+KVe3y8+q1h6A4svXtP7N+UoCA== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.12.13" + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/polyfill@^7.2.5": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/polyfill/-/polyfill-7.6.0.tgz#6d89203f8b6cd323e8d946e47774ea35dc0619cc" @@ -1390,7 +1982,7 @@ core-js "^2.6.5" regenerator-runtime "^0.13.2" -"@babel/preset-env@^7.11.0", "@babel/preset-env@^7.12.1": +"@babel/preset-env@^7.12.1": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.12.1.tgz#9c7e5ca82a19efc865384bb4989148d2ee5d7ac2" integrity sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg== @@ -1462,7 +2054,81 @@ core-js-compat "^3.6.2" semver "^5.5.0" -"@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.10.1", "@babel/preset-flow@^7.12.1", "@babel/preset-flow@^7.9.0": +"@babel/preset-env@^7.12.11": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.13.0.tgz#6ecc3daf63627792ec03d1076dbb54b4928a9e0d" + integrity sha512-UeU4bHlskjdwqNnaiBEYTXbL7dtuUDtOOkcS2c64wR2UqwUMzlRsvxoKQtsVJR579dS3Wmxnb7HRc9U5mSzQhA== + dependencies: + "@babel/compat-data" "^7.13.0" + "@babel/helper-compilation-targets" "^7.13.0" + "@babel/helper-plugin-utils" "^7.13.0" + "@babel/helper-validator-option" "^7.12.17" + "@babel/plugin-proposal-async-generator-functions" "^7.13.0" + "@babel/plugin-proposal-class-properties" "^7.13.0" + "@babel/plugin-proposal-dynamic-import" "^7.12.17" + "@babel/plugin-proposal-export-namespace-from" "^7.12.13" + "@babel/plugin-proposal-json-strings" "^7.12.13" + "@babel/plugin-proposal-logical-assignment-operators" "^7.12.13" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.0" + "@babel/plugin-proposal-numeric-separator" "^7.12.13" + "@babel/plugin-proposal-object-rest-spread" "^7.13.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.12.13" + "@babel/plugin-proposal-optional-chaining" "^7.13.0" + "@babel/plugin-proposal-private-methods" "^7.13.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.12.13" + "@babel/plugin-syntax-async-generators" "^7.8.0" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-dynamic-import" "^7.8.0" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-syntax-json-strings" "^7.8.0" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" + "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" + "@babel/plugin-syntax-object-rest-spread" "^7.8.0" + "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" + "@babel/plugin-syntax-optional-chaining" "^7.8.0" + "@babel/plugin-syntax-top-level-await" "^7.12.13" + "@babel/plugin-transform-arrow-functions" "^7.13.0" + "@babel/plugin-transform-async-to-generator" "^7.13.0" + "@babel/plugin-transform-block-scoped-functions" "^7.12.13" + "@babel/plugin-transform-block-scoping" "^7.12.13" + "@babel/plugin-transform-classes" "^7.13.0" + "@babel/plugin-transform-computed-properties" "^7.13.0" + "@babel/plugin-transform-destructuring" "^7.13.0" + "@babel/plugin-transform-dotall-regex" "^7.12.13" + "@babel/plugin-transform-duplicate-keys" "^7.12.13" + "@babel/plugin-transform-exponentiation-operator" "^7.12.13" + "@babel/plugin-transform-for-of" "^7.13.0" + "@babel/plugin-transform-function-name" "^7.12.13" + "@babel/plugin-transform-literals" "^7.12.13" + "@babel/plugin-transform-member-expression-literals" "^7.12.13" + "@babel/plugin-transform-modules-amd" "^7.13.0" + "@babel/plugin-transform-modules-commonjs" "^7.13.0" + "@babel/plugin-transform-modules-systemjs" "^7.12.13" + "@babel/plugin-transform-modules-umd" "^7.13.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.13" + "@babel/plugin-transform-new-target" "^7.12.13" + "@babel/plugin-transform-object-super" "^7.12.13" + "@babel/plugin-transform-parameters" "^7.13.0" + "@babel/plugin-transform-property-literals" "^7.12.13" + "@babel/plugin-transform-regenerator" "^7.12.13" + "@babel/plugin-transform-reserved-words" "^7.12.13" + "@babel/plugin-transform-shorthand-properties" "^7.12.13" + "@babel/plugin-transform-spread" "^7.13.0" + "@babel/plugin-transform-sticky-regex" "^7.12.13" + "@babel/plugin-transform-template-literals" "^7.13.0" + "@babel/plugin-transform-typeof-symbol" "^7.12.13" + "@babel/plugin-transform-unicode-escapes" "^7.12.13" + "@babel/plugin-transform-unicode-regex" "^7.12.13" + "@babel/preset-modules" "^0.1.3" + "@babel/types" "^7.13.0" + babel-plugin-polyfill-corejs2 "^0.1.2" + babel-plugin-polyfill-corejs3 "^0.1.2" + babel-plugin-polyfill-regenerator "^0.1.1" + core-js-compat "^3.9.0" + semver "7.0.0" + +"@babel/preset-flow@^7.0.0", "@babel/preset-flow@^7.12.1", "@babel/preset-flow@^7.9.0": version "7.12.1" resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.12.1.tgz#1a81d376c5a9549e75352a3888f8c273455ae940" integrity sha512-UAoyMdioAhM6H99qPoKvpHMzxmNVXno8GYU/7vZmGaHk6/KqfDYL1W0NxszVbJ2EP271b7e6Ox+Vk2A9QsB3Sw== @@ -1481,7 +2147,18 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.10.4", "@babel/preset-react@^7.12.5", "@babel/preset-react@^7.9.4": +"@babel/preset-react@^7.12.10": + version "7.12.13" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.13.tgz#5f911b2eb24277fa686820d5bd81cad9a0602a0a" + integrity sha512-TYM0V9z6Abb6dj1K7i5NrEhA13oS5ujUYQYDfqIBXYHOc2c2VkFgc+q9kyssIyUfy4/hEwqrgSlJ/Qgv8zJLsA== + dependencies: + "@babel/helper-plugin-utils" "^7.12.13" + "@babel/plugin-transform-react-display-name" "^7.12.13" + "@babel/plugin-transform-react-jsx" "^7.12.13" + "@babel/plugin-transform-react-jsx-development" "^7.12.12" + "@babel/plugin-transform-react-pure-annotations" "^7.12.1" + +"@babel/preset-react@^7.12.5", "@babel/preset-react@^7.9.4": version "7.12.5" resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.12.5.tgz#d45625f65d53612078a43867c5c6750e78772c56" integrity sha512-jcs++VPrgyFehkMezHtezS2BpnUlR7tQFAyesJn1vGTO9aTFZrgIQrA5YydlTwxbcjMwkFY6i04flCigRRr3GA== @@ -1586,6 +2263,21 @@ globals "^11.1.0" lodash "^4.17.19" +"@babel/traverse@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.13.0.tgz#6d95752475f86ee7ded06536de309a65fc8966cc" + integrity sha512-xys5xi5JEhzC3RzEmSGrs/b3pJW/o87SypZ+G/PhaE7uqVQNv/jlmVIBXuoh5atqQ434LfXV+sf23Oxj0bchJQ== + dependencies: + "@babel/code-frame" "^7.12.13" + "@babel/generator" "^7.13.0" + "@babel/helper-function-name" "^7.12.13" + "@babel/helper-split-export-declaration" "^7.12.13" + "@babel/parser" "^7.13.0" + "@babel/types" "^7.13.0" + debug "^4.1.0" + globals "^11.1.0" + lodash "^4.17.19" + "@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.11.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.6", "@babel/types@^7.12.7", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": version "7.12.12" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.12.12.tgz#4608a6ec313abbd87afa55004d373ad04a96c299" @@ -1604,6 +2296,15 @@ lodash "^4.17.19" to-fast-properties "^2.0.0" +"@babel/types@^7.13.0": + version "7.13.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.0.tgz#74424d2816f0171b4100f0ab34e9a374efdf7f80" + integrity sha512-hE+HE8rnG1Z6Wzo+MhaKE5lM5eMx71T4EHJgku2E3xIfaULhDcxiiRxUYgwX8qwP1BBSlag+TdGOt6JAidIZTA== + dependencies: + "@babel/helper-validator-identifier" "^7.12.11" + lodash "^4.17.19" + to-fast-properties "^2.0.0" + "@cnakazawa/watch@^1.0.3": version "1.0.3" resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" @@ -3795,7 +4496,7 @@ dependencies: slash "^3.0.0" -"@rollup/plugin-babel@^5.0.3", "@rollup/plugin-babel@^5.1.0": +"@rollup/plugin-babel@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.1.0.tgz#ad8b5803fa6e1feb0f168984edc040b90d966450" integrity sha512-zXBEYmfiLAMvB+ZBa6m/q9hsQYAq1sUFdjuP1F6C2pf6uQcpHwAWQveZgzS63zXdKPUYHD3Dr7BhjCqcr0bbLw== @@ -3803,18 +4504,13 @@ "@babel/helper-module-imports" "^7.7.4" "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-commonjs@^13.0.0": - version "13.0.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.0.tgz#8a1d684ba6848afe8b9e3d85649d4b2f6f7217ec" - integrity sha512-Anxc3qgkAi7peAyesTqGYidG5GRim9jtg8xhmykNaZkImtvjA7Wsqep08D2mYsqw1IF7rA3lYfciLgzUSgRoqw== +"@rollup/plugin-babel@^5.2.2": + 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== dependencies: - "@rollup/pluginutils" "^3.0.8" - commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" + "@babel/helper-module-imports" "^7.10.4" + "@rollup/pluginutils" "^3.1.0" "@rollup/plugin-commonjs@^17.0.0": version "17.0.0" @@ -3836,16 +4532,17 @@ dependencies: "@rollup/pluginutils" "^3.0.8" -"@rollup/plugin-node-resolve@^6.1.0": - version "6.1.0" - resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-6.1.0.tgz#0d2909f4bf606ae34d43a9bc8be06a9b0c850cf0" - integrity sha512-Cv7PDIvxdE40SWilY5WgZpqfIUEaDxFxs89zCAHjqyRwlTSuql4M5hjIuc5QYJkOH0/vyiyNXKD72O+LhRipGA== +"@rollup/plugin-node-resolve@^11.0.1": + version "11.2.0" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.0.tgz#a5ab88c35bb7622d115f44984dee305112b6f714" + integrity sha512-qHjNIKYt5pCcn+5RUBQxK8krhRvf1HnyVgUCcFFcweDS7fhkOLZeYh0mhHK6Ery8/bb9tvN/ubPzmfF0qjDCTA== dependencies: - "@rollup/pluginutils" "^3.0.0" - "@types/resolve" "0.0.8" + "@rollup/pluginutils" "^3.1.0" + "@types/resolve" "1.17.1" builtin-modules "^3.1.0" + deepmerge "^4.2.2" is-module "^1.0.0" - resolve "^1.11.1" + resolve "^1.19.0" "@rollup/plugin-node-resolve@^8.4.0": version "8.4.0" @@ -3868,7 +4565,7 @@ "@rollup/pluginutils" "^3.0.8" magic-string "^0.25.5" -"@rollup/pluginutils@^3.0.0", "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": +"@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": version "3.1.0" resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== @@ -4319,11 +5016,6 @@ "@types/eslint" "*" "@types/estree" "*" -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - "@types/eslint@*", "@types/eslint@^7.2.6": version "7.2.6" resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.6.tgz#5e9aff555a975596c03a98b59ecd103decc70c3c" @@ -4673,13 +5365,6 @@ "@types/react" "*" "@types/styled-system" "*" -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-0.0.8.tgz#f26074d238e02659e323ce1a13d041eee280e194" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - "@types/resolve@1.17.1": version "1.17.1" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" @@ -4917,49 +5602,77 @@ resolved "https://registry.yarnpkg.com/@types/zen-observable/-/zen-observable-0.8.0.tgz#8b63ab7f1aa5321248aad5ac890a485656dcea4d" integrity sha512-te5lMAWii1uEJ4FwLjzdlbw3+n0FZNOvFXHxQDKeT0dilh7HOzdMzV2TrJVUzq8ep7J4Na8OUYPRLSQkJHAlrg== -"@typescript-eslint/eslint-plugin@^2.24.0", "@typescript-eslint/eslint-plugin@^2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz#6f8ce8a46c7dea4a6f1d171d2bb8fbae6dac2be9" - integrity sha512-4zY3Z88rEE99+CNvTbXSyovv2z9PNOVffTWD2W8QF5s2prBQtwN2zadqERcrHpcR7O/+KMI3fcTAmUUhK/iQcQ== +"@typescript-eslint/eslint-plugin@^4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.2.tgz#47a15803cfab89580b96933d348c2721f3d2f6fe" + integrity sha512-uMGfG7GFYK/nYutK/iqYJv6K/Xuog/vrRRZX9aEP4Zv1jsYXuvFUMDFLhUnc8WFv3D2R5QhNQL3VYKmvLS5zsQ== dependencies: - "@typescript-eslint/experimental-utils" "2.34.0" + "@typescript-eslint/experimental-utils" "4.14.2" + "@typescript-eslint/scope-manager" "4.14.2" + debug "^4.1.1" functional-red-black-tree "^1.0.1" + lodash "^4.17.15" regexpp "^3.0.0" + semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.34.0.tgz#d3524b644cdb40eebceca67f8cf3e4cc9c8f980f" - integrity sha512-eS6FTkq+wuMJ+sgtuNTtcqavWXqsflWcfBnlYhg/nS4aZ1leewkXGbvBhaapn1q6qf4M71bsR1tez5JTRMuqwA== +"@typescript-eslint/experimental-utils@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.2.tgz#9df35049d1d36b6cbaba534d703648b9e1f05cbb" + integrity sha512-mV9pmET4C2y2WlyHmD+Iun8SAEqkLahHGBkGqDVslHkmoj3VnxnGP4ANlwuxxfq1BsKdl/MPieDbohCEQgKrwA== dependencies: "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.34.0" + "@typescript-eslint/scope-manager" "4.14.2" + "@typescript-eslint/types" "4.14.2" + "@typescript-eslint/typescript-estree" "4.14.2" eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/parser@^2.24.0", "@typescript-eslint/parser@^2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.34.0.tgz#50252630ca319685420e9a39ca05fe185a256bc8" - integrity sha512-03ilO0ucSD0EPTw2X4PntSIRFtDPWjrVq7C3/Z3VQHRC7+13YB55rcJI3Jt+YgeHbjUdJPcPa7b23rXCBokuyA== +"@typescript-eslint/parser@^4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.14.2.tgz#31e216e4baab678a56e539f9db9862e2542c98d0" + integrity sha512-ipqSP6EuUsMu3E10EZIApOJgWSpcNXeKZaFeNKQyzqxnQl8eQCbV+TSNsl+s2GViX2d18m1rq3CWgnpOxDPgHg== dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.34.0" - "@typescript-eslint/typescript-estree" "2.34.0" - eslint-visitor-keys "^1.1.0" + "@typescript-eslint/scope-manager" "4.14.2" + "@typescript-eslint/types" "4.14.2" + "@typescript-eslint/typescript-estree" "4.14.2" + debug "^4.1.1" + +"@typescript-eslint/scope-manager@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.14.2.tgz#64cbc9ca64b60069aae0c060b2bf81163243b266" + integrity sha512-cuV9wMrzKm6yIuV48aTPfIeqErt5xceTheAgk70N1V4/2Ecj+fhl34iro/vIssJlb7XtzcaD07hWk7Jk0nKghg== + dependencies: + "@typescript-eslint/types" "4.14.2" + "@typescript-eslint/visitor-keys" "4.14.2" + +"@typescript-eslint/types@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.14.2.tgz#d96da62be22dc9dc6a06647f3633815350fb3174" + integrity sha512-LltxawRW6wXy4Gck6ZKlBD05tCHQUj4KLn4iR69IyRiDHX3d3NCAhO+ix5OR2Q+q9bjCrHE/HKt+riZkd1At8Q== -"@typescript-eslint/typescript-estree@2.34.0": - version "2.34.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.34.0.tgz#14aeb6353b39ef0732cc7f1b8285294937cf37d5" - integrity sha512-OMAr+nJWKdlVM9LOqCqh3pQQPwxHAN7Du8DR6dmwCrAmxtiXQnhHJ6tBNtf+cggqfo51SG/FCwnKhXCIM7hnVg== +"@typescript-eslint/typescript-estree@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.2.tgz#9c5ebd8cae4d7b014f890acd81e8e17f309c9df9" + integrity sha512-ESiFl8afXxt1dNj8ENEZT12p+jl9PqRur+Y19m0Z/SPikGL6rqq4e7Me60SU9a2M28uz48/8yct97VQYaGl0Vg== dependencies: + "@typescript-eslint/types" "4.14.2" + "@typescript-eslint/visitor-keys" "4.14.2" debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" + globby "^11.0.1" is-glob "^4.0.1" lodash "^4.17.15" semver "^7.3.2" tsutils "^3.17.1" +"@typescript-eslint/visitor-keys@4.14.2": + version "4.14.2" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.2.tgz#997cbe2cb0690e1f384a833f64794e98727c70c6" + integrity sha512-KBB+xLBxnBdTENs/rUgeUKO0UkPBRs2vD09oMRRIkj5BEN8PX1ToXV532desXfpQnZsYTyLLviS7JrPhdL154w== + dependencies: + "@typescript-eslint/types" "4.14.2" + 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" @@ -6184,7 +6897,19 @@ autolinker@~0.28.0: dependencies: gulp-header "^1.7.1" -autoprefixer@^9.8.0, autoprefixer@^9.8.4: +autoprefixer@^10.1.0: + version "10.2.4" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.2.4.tgz#c0e7cf24fcc6a1ae5d6250c623f0cb8beef2f7e1" + integrity sha512-DCCdUQiMD+P/as8m3XkeTUkUKuuRqLGcwD0nll7wevhqoJfMRpJlkFd1+MQh1pvupjiQuip42lc/VFvfUTMSKw== + dependencies: + browserslist "^4.16.1" + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + fraction.js "^4.0.13" + normalize-range "^0.1.2" + postcss-value-parser "^4.1.0" + +autoprefixer@^9.8.4: version "9.8.4" resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.4.tgz#736f1012673a70fa3464671d78d41abd54512863" integrity sha512-84aYfXlpUe45lvmS+HoAWKCkirI/sw4JK0/bTeeqgHYco3dcsOn0NqdejISjptsYwNji/21dnkDri9PsYKk89A== @@ -6477,6 +7202,15 @@ babel-plugin-macros@^2.0.0, babel-plugin-macros@^2.2.2, babel-plugin-macros@^2.6 cosmiconfig "^6.0.0" resolve "^1.12.0" +babel-plugin-macros@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.0.1.tgz#0d412d68f5b3d1b64358f24ab099bd148724e2a9" + integrity sha512-CKt4+Oy9k2wiN+hT1uZzOw7d8zb1anbQpf7KLwaaXRCi/4pzKdFKHf7v5mvoPmjkmxshh7eKZQuRop06r5WP4w== + dependencies: + "@babel/runtime" "^7.12.5" + cosmiconfig "^7.0.0" + resolve "^1.19.0" + babel-plugin-module-resolver@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-4.0.0.tgz#8f3a3d9d48287dc1d3b0d5595113adabd36a847f" @@ -6488,6 +7222,30 @@ babel-plugin-module-resolver@4.0.0: reselect "^4.0.0" resolve "^1.13.1" +babel-plugin-polyfill-corejs2@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.1.2.tgz#3e5e7ef339dd84ca34c6a20605e6d4ef62aba3b1" + integrity sha512-sSGAKN95gTnXjg3RtGI9QBW/xSqXy5fo2Bt+W5WkhconIO+QxuDZChyjZYiY90xE3MQRI1k73Dh/HAe86cWf8A== + dependencies: + "@babel/compat-data" "^7.11.0" + "@babel/helper-define-polyfill-provider" "^0.1.0" + semver "^6.1.1" + +babel-plugin-polyfill-corejs3@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.1.2.tgz#39b0d46744360738237bd54052af852c84d74ebf" + integrity sha512-7neRvPKcdvZ4X9IpYBCmT+ceVUKC1idX7DJN5sRtiPP9d0ABD6k5x/QvXTiz/9wMp86FBDX6Gz0g7WQY2lRfgw== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.0" + core-js-compat "^3.8.1" + +babel-plugin-polyfill-regenerator@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.1.1.tgz#3b9b907d1554747ff131bd5c6da81713e342db73" + integrity sha512-QZlnPDLX2JEXP8RQGeP4owNxRKUAqHD+rdlyRHV8ENeCcI9ni2qT9IzxT9jYW1aZrxCgehD31LztlMaA68zoqQ== + dependencies: + "@babel/helper-define-polyfill-provider" "^0.1.0" + babel-plugin-preval@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/babel-plugin-preval/-/babel-plugin-preval-3.0.1.tgz#a26f9690114a864a54a5cbdf865496ebf541a9c3" @@ -7054,6 +7812,17 @@ browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.12.2, browserslist@^4 escalade "^3.1.1" node-releases "^1.1.69" +browserslist@^4.16.1, browserslist@^4.16.3: + version "4.16.3" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.3.tgz#340aa46940d7db878748567c5dea24a48ddf3717" + integrity sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw== + dependencies: + caniuse-lite "^1.0.30001181" + colorette "^1.2.1" + electron-to-chromium "^1.3.649" + escalade "^3.1.1" + node-releases "^1.1.70" + bser@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bser/-/bser-2.0.0.tgz#9ac78d3ed5d915804fd87acb158bc797147a1719" @@ -7465,6 +8234,11 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001087, caniuse-lite@^1.0.30001125, can resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001178.tgz#3ad813b2b2c7d585b0be0a2440e1e233c6eabdbc" integrity sha512-VtdZLC0vsXykKni8Uztx45xynytOi71Ufx9T8kHptSw9AL4dpqailUJJHavttuzUe1KYuBYtChiWv+BAb7mPmQ== +caniuse-lite@^1.0.30001181: + version "1.0.30001191" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001191.tgz#bacb432b6701f690c8c5f7c680166b9a9f0843d9" + integrity sha512-xJJqzyd+7GCJXkcoBiQ1GuxEiOBCLQ0aVW9HMekifZsAVGdj5eJ4mFB9fEhSHipq9IOk/QXFJUiIr9lZT+EsGw== + capitalize@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-2.0.3.tgz#ccfeb1046d2a054eb30f34af907a70c3e90f3b73" @@ -8662,6 +9436,14 @@ core-js-compat@^3.6.2, core-js-compat@^3.6.5: browserslist "^4.8.5" semver "7.0.0" +core-js-compat@^3.8.1, core-js-compat@^3.9.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.9.0.tgz#29da39385f16b71e1915565aa0385c4e0963ad56" + integrity sha512-YK6fwFjCOKWwGnjFUR3c544YsnA/7DoLL0ysncuOJ4pwbriAtOpvM2bygdlcXbvQCQZ7bBU9CL4t7tGl7ETRpQ== + dependencies: + browserslist "^4.16.3" + semver "7.0.0" + core-js-pure@^3.0.0: version "3.6.4" resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.4.tgz#4bf1ba866e25814f149d4e9aaa08c36173506e3a" @@ -10253,6 +11035,11 @@ duplexer@0.1.1, duplexer@^0.1.1: version "0.1.1" resolved "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" +duplexer@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== + duplexify@^3.4.2, duplexify@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" @@ -10285,6 +11072,11 @@ electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.634: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.641.tgz#03f14efd70a7971eff2efc947b3c1d0f717c82b9" integrity sha512-b0DLhsHSHESC1I+Nx6n4w4Lr61chMd3m/av1rZQhS2IXTzaS5BMM5N+ldWdMIlni9CITMRM09m8He4+YV/92TA== +electron-to-chromium@^1.3.649: + version "1.3.672" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.672.tgz#3a6e335016dab4bc584d5292adc4f98f54541f6a" + integrity sha512-gFQe7HBb0lbOMqK2GAS5/1F+B0IMdYiAgB9OT/w1F4M7lgJK2aNOMNOM622aEax+nS1cTMytkiT0uMOkbtFmHw== + elliptic@^6.0.0: version "6.5.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" @@ -10583,11 +11375,6 @@ es6-promisify@^5.0.0: dependencies: es6-promise "^4.0.3" -es6-promisify@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-6.1.1.tgz#46837651b7b06bf6fff893d03f29393668d01621" - integrity sha512-HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg== - es6-symbol@^3.1.1, es6-symbol@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" @@ -11789,7 +12576,7 @@ find-cache-dir@^2.0.0, find-cache-dir@^2.1.0: make-dir "^2.0.0" pkg-dir "^3.0.0" -find-cache-dir@^3.0.0, find-cache-dir@^3.3.1: +find-cache-dir@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== @@ -12080,6 +12867,11 @@ frac@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b" +fraction.js@^4.0.13: + version "4.0.13" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.0.13.tgz#3c1c315fa16b35c85fffa95725a36fa729c69dfe" + integrity sha512-E1fz2Xs9ltlUp+qbiyx9wmt2n9dRzPsS11Jtdb8D2o+cC7wr9xkkKsVKJuBX0ST+LVS+LhLO+SbLJNtfWcJvXA== + fragment-cache@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" @@ -12337,6 +13129,11 @@ gensync@^1.0.0-beta.1: resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== +gensync@^1.0.0-beta.2: + version "1.0.0-beta.2" + resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" + integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + get-caller-file@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" @@ -12733,10 +13530,10 @@ globals@^9.18.0: version "9.18.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" -globalyzer@^0.1.0: - version "0.1.4" - resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.4.tgz#bc8e273afe1ac7c24eea8def5b802340c5cc534f" - integrity sha512-LeguVWaxgHN0MNbWC6YljNMzHkrCny9fzjmEUdnF1kQ7wATFD1RHFRqA1qxaX2tgxGENlcxjOflopBwj3YZiXA== +globalyzer@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" + integrity sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q== globby@11.0.1: version "11.0.1" @@ -12800,7 +13597,7 @@ globby@^9.2.0: pify "^4.0.1" slash "^2.0.0" -globrex@^0.1.1: +globrex@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/globrex/-/globrex-0.1.2.tgz#dd5d9ec826232730cd6793a5e33a9302985e6098" integrity sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg== @@ -13108,7 +13905,7 @@ gulp-header@^1.7.1: lodash.template "^4.4.0" through2 "^2.0.0" -gzip-size@5.1.1, gzip-size@^5.1.1: +gzip-size@5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== @@ -13122,6 +13919,13 @@ gzip-size@^3.0.0: dependencies: duplexer "^0.1.1" +gzip-size@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== + dependencies: + duplexer "^0.1.2" + handle-thing@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.0.tgz#0e039695ff50c93fc288557d696f3c1dc6776754" @@ -14049,12 +14853,6 @@ immer@^4.0.0: resolved "https://registry.yarnpkg.com/immer/-/immer-4.0.2.tgz#9ff0fcdf88e06f92618a5978ceecb5884e633559" integrity sha512-Q/tm+yKqnKy4RIBmmtISBlhXuSDrB69e9EKTYiIenIKQkXBQir43w+kN/eGiax3wt1J0O1b2fYcNqLSbEcXA7w== -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - dependencies: - import-from "^2.1.0" - import-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-3.0.0.tgz#20845547718015126ea9b3676b7592fb8bd4cf92" @@ -14084,12 +14882,6 @@ import-from@3.0.0, import-from@^3.0.0: dependencies: resolve-from "^5.0.0" -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - dependencies: - resolve-from "^3.0.0" - import-lazy@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" @@ -14465,6 +15257,13 @@ is-core-module@^2.0.0: dependencies: has "^1.0.3" +is-core-module@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.2.0.tgz#97037ef3d52224d85163f5597b2b63d9afed981a" + integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== + dependencies: + has "^1.0.3" + is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -14805,7 +15604,7 @@ is-redirect@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" -is-reference@^1.1.2, is-reference@^1.2.1: +is-reference@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== @@ -15634,7 +16433,7 @@ jest-worker@^24.6.0, jest-worker@^24.9.0: merge-stream "^2.0.0" supports-color "^6.1.0" -jest-worker@^26.3.0, jest-worker@^26.6.2: +jest-worker@^26.2.1, jest-worker@^26.3.0, jest-worker@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -16110,6 +16909,11 @@ kleur@^3.0.2, kleur@^3.0.3: resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== +kleur@^4.1.3: + version "4.1.4" + resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d" + integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA== + klona@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" @@ -17041,7 +17845,7 @@ magic-string@^0.22.4: dependencies: vlq "^0.2.2" -magic-string@^0.25.2, magic-string@^0.25.3, magic-string@^0.25.5, magic-string@^0.25.7: +magic-string@^0.25.3, magic-string@^0.25.5, 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== @@ -17580,53 +18384,50 @@ methods@~1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" -microbundle@^0.12.4: - version "0.12.4" - resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.12.4.tgz#b0cf10b7dbcf9424a13b04086aef9cbf416756a4" - integrity sha512-KskaxaeJc2X/AnohtdYo97L55nZZiNGPIS/ngXuDsIVnPfwHdtZWYJAJLAG+08E9VBr+eLa6N6VX+e2uoj/cNQ== - dependencies: - "@babel/core" "^7.10.2" - "@babel/plugin-proposal-class-properties" "7.7.4" - "@babel/plugin-syntax-import-meta" "^7.10.1" - "@babel/plugin-syntax-jsx" "^7.10.1" - "@babel/plugin-transform-flow-strip-types" "^7.10.1" - "@babel/plugin-transform-react-jsx" "^7.10.1" - "@babel/plugin-transform-regenerator" "^7.10.1" - "@babel/preset-env" "^7.11.0" - "@babel/preset-flow" "^7.10.1" - "@babel/preset-react" "^7.10.4" +microbundle@^0.13.0: + version "0.13.0" + resolved "https://registry.yarnpkg.com/microbundle/-/microbundle-0.13.0.tgz#e715a7492c6d2b42c292281f381e550dc0e014ee" + integrity sha512-d5glQP8nWoaZhgNF7pxmBpSI/zYMn0NfjH5tOjLudfgoceWiiq+5crwIHGqWKFDbaTcyMjD9HKowy3hNWJCHow== + dependencies: + "@babel/core" "^7.12.10" + "@babel/plugin-proposal-class-properties" "7.12.1" + "@babel/plugin-syntax-import-meta" "^7.10.4" + "@babel/plugin-syntax-jsx" "^7.12.1" + "@babel/plugin-transform-flow-strip-types" "^7.12.10" + "@babel/plugin-transform-react-jsx" "^7.12.11" + "@babel/plugin-transform-regenerator" "^7.12.1" + "@babel/preset-env" "^7.12.11" + "@babel/preset-flow" "^7.12.1" + "@babel/preset-react" "^7.12.10" "@rollup/plugin-alias" "^3.1.1" - "@rollup/plugin-babel" "^5.0.3" - "@rollup/plugin-commonjs" "^13.0.0" + "@rollup/plugin-babel" "^5.2.2" + "@rollup/plugin-commonjs" "^17.0.0" "@rollup/plugin-json" "^4.1.0" - "@rollup/plugin-node-resolve" "^6.1.0" + "@rollup/plugin-node-resolve" "^11.0.1" asyncro "^3.0.0" - autoprefixer "^9.8.0" - babel-plugin-macros "^2.8.0" + autoprefixer "^10.1.0" + babel-plugin-macros "^3.0.1" babel-plugin-transform-async-to-promises "^0.8.15" babel-plugin-transform-replace-expressions "^0.2.0" brotli-size "^4.0.0" builtin-modules "^3.1.0" - camelcase "^5.3.1" - cssnano "^4.1.10" - es6-promisify "^6.1.1" + camelcase "^6.2.0" escape-string-regexp "^4.0.0" filesize "^6.1.0" - gzip-size "^5.1.1" - kleur "^3.0.3" + gzip-size "^6.0.0" + kleur "^4.1.3" lodash.merge "^4.6.2" - module-details-from-path "^1.0.3" - pretty-bytes "^5.3.0" - rollup "^1.32.1" - rollup-plugin-bundle-size "^1.0.1" - rollup-plugin-es3 "^1.1.0" - rollup-plugin-postcss "^2.9.0" - rollup-plugin-terser "^5.3.0" - rollup-plugin-typescript2 "^0.25.3" - sade "^1.7.3" - tiny-glob "^0.2.6" - tslib "^1.13.0" - typescript "^3.9.5" + postcss "^8.2.1" + pretty-bytes "^5.4.1" + rollup "^2.35.1" + rollup-plugin-bundle-size "^1.0.3" + rollup-plugin-postcss "^4.0.0" + rollup-plugin-terser "^7.0.2" + rollup-plugin-typescript2 "^0.29.0" + sade "^1.7.4" + tiny-glob "^0.2.8" + tslib "^2.0.3" + typescript "^4.1.3" microevent.ts@~0.1.1: version "0.1.1" @@ -17940,11 +18741,6 @@ module-deps-sortable@^5.0.1: through2 "^2.0.0" xtend "^4.0.0" -module-details-from-path@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/module-details-from-path/-/module-details-from-path-1.0.3.tgz#114c949673e2a8a35e9d35788527aa37b679da2b" - integrity sha1-EUyUlnPiqKNenTV4hSeqN7Z52is= - moment@^2.19.3, moment@^2.27.0: version "2.29.0" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.0.tgz#fcbef955844d91deb55438613ddcec56e86a3425" @@ -18428,7 +19224,7 @@ node-pre-gyp@^0.10.0: semver "^5.3.0" tar "^4" -node-releases@^1.1.61, node-releases@^1.1.69: +node-releases@^1.1.61, node-releases@^1.1.69, node-releases@^1.1.70: version "1.1.70" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.70.tgz#66e0ed0273aa65666d7fe78febe7634875426a08" integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== @@ -20005,13 +20801,13 @@ postcss-js@^3.0.3: camelcase-css "^2.0.1" postcss "^8.1.6" -postcss-load-config@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== +postcss-load-config@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.0.1.tgz#d214bf9cfec1608ffaf0f4161b3ba20664ab64b9" + integrity sha512-/pDHe30UYZUD11IeG8GWx9lNtu1ToyTsZHnyy45B4Mrwr/Kb6NgYl7k753+05CJNKnjbwh4975amoPJ+TEjHNQ== dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" + cosmiconfig "^7.0.0" + import-cwd "^3.0.0" postcss-loader@^4.1.0: version "4.1.0" @@ -20174,15 +20970,18 @@ postcss-modules@^1.1.0: postcss "^7.0.1" string-hash "^1.1.1" -postcss-modules@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-2.0.0.tgz#473d0d7326651d8408585c2a154115d5cb36cce0" - integrity sha512-eqp+Bva+U2cwQO7dECJ8/V+X+uH1HduNeITB0CPPFAu6d/8LKQ32/j+p9rQ2YL1QytVcrNU0X+fBqgGmQIA1Rw== +postcss-modules@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/postcss-modules/-/postcss-modules-4.0.0.tgz#2bc7f276ab88f3f1b0fadf6cbd7772d43b5f3b9b" + integrity sha512-ghS/ovDzDqARm4Zj6L2ntadjyQMoyJmi0JkLlYtH2QFLrvNlxH5OAVRPWPeKilB0pY7SbuhO173KOWkPAxRJcw== dependencies: - css-modules-loader-core "^1.1.0" generic-names "^2.0.1" + icss-replace-symbols "^1.1.0" lodash.camelcase "^4.3.0" - postcss "^7.0.1" + postcss-modules-extract-imports "^3.0.0" + postcss-modules-local-by-default "^4.0.0" + postcss-modules-scope "^3.0.0" + postcss-modules-values "^4.0.0" string-hash "^1.1.1" postcss-normalize-charset@^4.0.1: @@ -20409,6 +21208,15 @@ postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.26, postcss@^7.0.2 source-map "^0.6.1" supports-color "^6.1.0" +postcss@^8.2.1: + version "8.2.6" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.2.6.tgz#5d69a974543b45f87e464bc4c3e392a97d6be9fe" + integrity sha512-xpB8qYxgPuly166AGlpRjUdEYtmOWx2iCwGmrv4vqZL9YPVviDVPZPRXxnXr6xPZOdxQ9lp3ZBFCRgWJ7LE3Sg== + dependencies: + colorette "^1.2.1" + nanoid "^3.1.20" + source-map "^0.6.1" + potrace@^2.1.8: version "2.1.8" resolved "https://registry.yarnpkg.com/potrace/-/potrace-2.1.8.tgz#50f6fba92e1e39ddef6f979b0a0f841809e0acf2" @@ -22848,14 +23656,14 @@ resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" -resolve@1.12.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.0.tgz#3fc644a35c84a48554609ff26ec52b66fa577df6" - integrity sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w== +resolve@1.17.0: + version "1.17.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" + integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== dependencies: path-parse "^1.0.6" -resolve@^1.1.3, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.11.0, resolve@^1.11.1, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.16.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.8.1: +resolve@^1.1.3, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.2.0, resolve@^1.3.2, resolve@^1.8.1: version "1.18.1" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.18.1.tgz#018fcb2c5b207d2a6424aee361c5a266da8f4130" integrity sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA== @@ -22863,6 +23671,14 @@ resolve@^1.1.3, resolve@^1.1.5, resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, is-core-module "^2.0.0" path-parse "^1.0.6" +resolve@^1.14.2, resolve@^1.19.0: + version "1.20.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" + integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@1.0.2, responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -23128,7 +23944,7 @@ rollup-plugin-auto-external@^2.0.0: safe-resolve "^1.0.0" semver "^5.5.0" -rollup-plugin-bundle-size@^1.0.1: +rollup-plugin-bundle-size@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/rollup-plugin-bundle-size/-/rollup-plugin-bundle-size-1.0.3.tgz#d245cd988486b4040279f9fd33f357f61673e90f" integrity sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ== @@ -23136,13 +23952,6 @@ rollup-plugin-bundle-size@^1.0.1: chalk "^1.1.3" maxmin "^2.1.0" -rollup-plugin-es3@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-es3/-/rollup-plugin-es3-1.1.0.tgz#f866f91b4db839e5b475d8e4a7b9d4c77ecade14" - integrity sha512-jTMqQgMZ/tkjRW4scf4ln5c0OiTSi+Lx/IEyFd41ldgGoLvvg9AQxmVOl93+KaoyB7XRYToYjiHDvO40NPF/fA== - dependencies: - magic-string "^0.22.4" - rollup-plugin-internal@^1.0.0: version "1.0.4" resolved "https://registry.yarnpkg.com/rollup-plugin-internal/-/rollup-plugin-internal-1.0.4.tgz#3b2f221e4cda5eed51742a0f81617e3840473450" @@ -23151,60 +23960,51 @@ rollup-plugin-internal@^1.0.0: safe-resolve "^1.0.0" tslib "^1.10.0" -rollup-plugin-postcss@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-2.9.0.tgz#e6ea0a1b8fdc4a49fc0385da58804e332750c282" - integrity sha512-Y7qDwlqjZMBexbB1kRJf+jKIQL8HR6C+ay53YzN+nNJ64hn1PNZfBE3c61hFUhD//zrMwmm7uBW30RuTi+CD0w== +rollup-plugin-postcss@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-postcss/-/rollup-plugin-postcss-4.0.0.tgz#2131fb6db0d5dce01a37235e4f6ad4523c681cea" + integrity sha512-OQzT+YspV01/6dxfyEw8lBO2px3hyL8Xn+k2QGctL7V/Yx2Z1QaMKdYVslP1mqv7RsKt6DROIlnbpmgJ3yxf6g== dependencies: - chalk "^4.0.0" + chalk "^4.1.0" concat-with-sourcemaps "^1.1.0" cssnano "^4.1.10" import-cwd "^3.0.0" - p-queue "^6.3.0" + p-queue "^6.6.2" pify "^5.0.0" - postcss "^7.0.27" - postcss-load-config "^2.1.0" - postcss-modules "^2.0.0" + postcss-load-config "^3.0.0" + postcss-modules "^4.0.0" promise.series "^0.2.0" - resolve "^1.16.0" + resolve "^1.19.0" rollup-pluginutils "^2.8.2" - safe-identifier "^0.4.1" + safe-identifier "^0.4.2" style-inject "^0.3.0" -rollup-plugin-terser@^5.3.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz#8c650062c22a8426c64268548957463bf981b413" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== +rollup-plugin-terser@^7.0.2: + version "7.0.2" + resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" + integrity sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== dependencies: - "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" + "@babel/code-frame" "^7.10.4" + jest-worker "^26.2.1" serialize-javascript "^4.0.0" - terser "^4.6.2" + terser "^5.0.0" -rollup-plugin-typescript2@^0.25.3: - version "0.25.3" - resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.25.3.tgz#a5fb2f0f85488789334ce540abe6c7011cbdf40f" - integrity sha512-ADkSaidKBovJmf5VBnZBZe+WzaZwofuvYdzGAKTN/J4hN7QJCFYAq7IrH9caxlru6T5qhX41PNFS1S4HqhsGQg== +rollup-plugin-typescript2@^0.29.0: + version "0.29.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-typescript2/-/rollup-plugin-typescript2-0.29.0.tgz#b7ad83f5241dbc5bdf1e98d9c3fca005ffe39e1a" + integrity sha512-YytahBSZCIjn/elFugEGQR5qTsVhxhUwGZIsA9TmrSsC88qroGo65O5HZP/TTArH2dm0vUmYWhKchhwi2wL9bw== dependencies: - find-cache-dir "^3.0.0" + "@rollup/pluginutils" "^3.1.0" + find-cache-dir "^3.3.1" fs-extra "8.1.0" - resolve "1.12.0" - rollup-pluginutils "2.8.1" - tslib "1.10.0" + resolve "1.17.0" + tslib "2.0.1" rollup-plugin-virtual@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/rollup-plugin-virtual/-/rollup-plugin-virtual-1.0.1.tgz#8227c94c605b981adfe433ea74de3551e42ffeb4" integrity sha512-HCTBpV8MwP5lNzZrHD2moVxHIToHU1EkzkKGVj6Z0DcgUfxrxrZmeQirQeLz2yhnkJqRjwiVywK9CS8jDYakrw== -rollup-pluginutils@2.8.1: - version "2.8.1" - resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" - integrity sha512-J5oAoysWar6GuZo0s+3bZ6sVZAC0pfqKz68De7ZgDi5z63jOVZn1uJL/+z1jeKHNbGII8kAyHF5q8LnxSX5lQg== - dependencies: - estree-walker "^0.6.1" - rollup-pluginutils@^2.8.2: version "2.8.2" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz#72f2af0748b592364dbd3389e600e5a9444a351e" @@ -23212,7 +24012,7 @@ rollup-pluginutils@^2.8.2: dependencies: estree-walker "^0.6.1" -rollup@^1, rollup@^1.32.1: +rollup@^1: version "1.32.1" resolved "https://registry.yarnpkg.com/rollup/-/rollup-1.32.1.tgz#4480e52d9d9e2ae4b46ba0d9ddeaf3163940f9c4" integrity sha512-/2HA0Ec70TvQnXdzynFffkjA6XN+1e2pEv/uKS5Ulca40g2L7KuOE3riasHoNVHOsFD5KKZgDsMk1CP3Tw9s+A== @@ -23228,6 +24028,13 @@ rollup@^2.34.2: optionalDependencies: fsevents "~2.1.2" +rollup@^2.35.1: + version "2.39.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.39.1.tgz#7afd4cefd8a332c5102a8063d301fde1f31a9173" + integrity sha512-9rfr0Z6j+vE+eayfNVFr1KZ+k+jiUl2+0e4quZafy1x6SFCjzFspfRSO2ZZQeWeX9noeDTUDgg6eCENiEPFvQg== + optionalDependencies: + fsevents "~2.3.1" + rss@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/rss/-/rss-1.2.2.tgz#50a1698876138133a74f9a05d2bdc8db8d27a921" @@ -23278,10 +24085,10 @@ rxjs@^6.4.0, rxjs@^6.5.5, rxjs@^6.6.3: dependencies: tslib "^1.9.0" -sade@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.3.tgz#a217ccc4fb4abb2d271648bf48f6628b2636fa1b" - integrity sha512-m4BctppMvJ60W1dXnHq7jMmFe3hPJZDAH85kQ3ACTo7XZNVUuTItCQ+2HfyaMeV5cKrbw7l4vD/6We3GBxvdJw== +sade@^1.7.4: + version "1.7.4" + resolved "https://registry.yarnpkg.com/sade/-/sade-1.7.4.tgz#ea681e0c65d248d2095c90578c03ca0bb1b54691" + integrity sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA== dependencies: mri "^1.1.0" @@ -23294,10 +24101,10 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" -safe-identifier@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.1.tgz#b6516bf72594f03142b5f914f4c01842ccb1b678" - integrity sha512-73tOz5TXsq3apuCc3vC8c9QRhhdNZGiBhHmPPjqpH4TO5oCDqk8UIsDcSs/RG6dYcFAkOOva0pqHS3u7hh7XXA== +safe-identifier@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/safe-identifier/-/safe-identifier-0.4.2.tgz#cf6bfca31c2897c588092d1750d30ef501d59fcb" + integrity sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w== safe-json-parse@~1.0.1: version "1.0.1" @@ -23484,7 +24291,7 @@ semver-truncate@^1.1.2: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@6.3.0, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: +semver@6.3.0, semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== @@ -25170,7 +25977,7 @@ terser-webpack-plugin@^5.1.1: source-map "^0.6.1" terser "^5.5.1" -terser@^4.0.0, terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: +terser@^4.0.0, terser@^4.1.2, terser@^4.6.3: version "4.8.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.8.0.tgz#63056343d7c70bb29f3af665865a46fe03a0df17" integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== @@ -25179,6 +25986,15 @@ terser@^4.0.0, terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: source-map "~0.6.1" source-map-support "~0.5.12" +terser@^5.0.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.6.0.tgz#138cdf21c5e3100b1b3ddfddf720962f88badcd2" + integrity sha512-vyqLMoqadC1uR0vywqOZzriDYzgEkNJFK4q9GeyOBHIbiECHiWLKcWfbQWAUaPfxkjDhapSlZB9f7fkMrvkVjA== + dependencies: + commander "^2.20.0" + source-map "~0.7.2" + source-map-support "~0.5.19" + terser@^5.3.8, terser@^5.5.1: version "5.5.1" resolved "https://registry.yarnpkg.com/terser/-/terser-5.5.1.tgz#540caa25139d6f496fdea056e414284886fb2289" @@ -25332,13 +26148,13 @@ tiny-emitter@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.0.2.tgz#82d27468aca5ade8e5fd1e6d22b57dd43ebdfb7c" -tiny-glob@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.6.tgz#9e056e169d9788fe8a734dfa1ff02e9b92ed7eda" - integrity sha512-A7ewMqPu1B5PWwC3m7KVgAu96Ch5LA0w4SnEN/LbDREj/gAD0nPWboRbn8YoP9ISZXqeNAlMvKSKoEuhcfK3Pw== +tiny-glob@^0.2.8: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tiny-glob/-/tiny-glob-0.2.8.tgz#b2792c396cc62db891ffa161fe8b33e76123e531" + integrity sha512-vkQP7qOslq63XRX9kMswlby99kyO5OvKptw7AMwBVMjXEI7Tb61eoI5DydyEMOseyGS5anDN1VPoVxEvH01q8w== dependencies: - globalyzer "^0.1.0" - globrex "^0.1.1" + globalyzer "0.1.0" + globrex "^0.1.2" tiny-inflate@^1.0.0, tiny-inflate@^1.0.2: version "1.0.2" @@ -25656,12 +26472,12 @@ tsconfig-paths@^3.9.0: minimist "^1.2.0" strip-bom "^3.0.0" -tslib@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a" - integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ== +tslib@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" + integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== -tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.2, tslib@^1.13.0, tslib@^1.6.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: +tslib@^1.0.0, tslib@^1.10.0, tslib@^1.11.2, tslib@^1.6.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -25797,15 +26613,10 @@ typedarray@^0.0.6, typedarray@~0.0.5: version "0.0.6" resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" -typescript@^3.9.5, typescript@^3.9.7, typescript@^3.9.9: - version "3.9.9" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.9.tgz#e69905c54bc0681d0518bd4d587cc6f2d0b1a674" - integrity sha512-kdMjTiekY+z/ubJCATUPlRDl39vXYiMV9iyeMuEuXZh2we6zz80uovNN2WlAxmmdE/Z/YQe+EbOEXB5RHEED3w== - -typescript@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.5.tgz#ae9dddfd1069f1cb5beb3ef3b2170dd7c1332389" - integrity sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ== +typescript@^4.1.3, typescript@^4.1.5: + version "4.1.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.1.5.tgz#123a3b214aaff3be32926f0d8f1f6e704eb89a72" + integrity sha512-6OSu9PTIzmn9TCDiovULTnET6BgXtDYL4Gg4szY+cGsc3JP1dQL8qvE8kShTRx1NIw4Q9IBHlwODjkjWEtMUyA== typography-normalize@^0.16.19: version "0.16.19" From 37a78f236862e2de8dfb4af7c2d0829ed310848c Mon Sep 17 00:00:00 2001 From: Kyle Mathews Date: Tue, 23 Feb 2021 06:46:24 -0800 Subject: [PATCH 03/11] chore(docs): Update debugging-html-builds (#29686) We're rolling out SSR for the develop server so people will need to adjust custom/plugin code --- docs/docs/debugging-html-builds.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/debugging-html-builds.md b/docs/docs/debugging-html-builds.md index fd4a48a6bbefc..ae1d496ead899 100644 --- a/docs/docs/debugging-html-builds.md +++ b/docs/docs/debugging-html-builds.md @@ -63,7 +63,7 @@ rendering. ```js:title=gatsby-node.js exports.onCreateWebpackConfig = ({ stage, loaders, actions }) => { - if (stage === "build-html") { + if (stage === "build-html" || stage === "develop-html") { actions.setWebpackConfig({ module: { rules: [ From 8da5ebc79d85c7c7e4c7bd8d90fc13ef8ff3bf8c Mon Sep 17 00:00:00 2001 From: Ward Peeters Date: Tue, 23 Feb 2021 15:48:40 +0100 Subject: [PATCH 04/11] chore: remove --cache from eslint (#29706) --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index a67d36bd82992..d69cea3cf8ce7 100644 --- a/package.json +++ b/package.json @@ -104,7 +104,7 @@ ], "private": true, "lint-staged": { - "*.{js,jsx,ts,tsx}": "eslint --cache --ext .js,.jsx,.ts,.tsx --fix", + "*.{js,jsx,ts,tsx}": "eslint --ext .js,.jsx,.ts,.tsx --fix", "*.{md,css,scss,yaml,yml}": "prettier --write", "*.svg": "svgo --pretty --indent=2 --config=svgo.yml --multipass" }, @@ -129,7 +129,7 @@ "lerna": "lerna", "lerna-prepare": "lerna run prepare", "lint": "npm-run-all --continue-on-error -p lint:code lint:docs lint:other", - "lint:code": "eslint --cache --ext .js,.jsx,.ts,.tsx .", + "lint:code": "eslint --ext .js,.jsx,.ts,.tsx .", "lint:docs": "remark docs/{contributing,docs,tutorial}", "lint:scripts": "sh scripts/lint-shell-scripts.sh", "lint:other": "npm run prettier -- --check", From 837fcd2831cfaab38274466027b5384d4c19ad84 Mon Sep 17 00:00:00 2001 From: Sidhartha Chatterjee Date: Tue, 23 Feb 2021 20:32:00 +0530 Subject: [PATCH 05/11] chore(gatsby-core-utils): Move isTruthy to gatsby-core-utils (#29707) --- .../src/__tests__/is-truthy.ts | 0 packages/gatsby-core-utils/src/index.ts | 1 + .../{gatsby-telemetry => gatsby-core-utils}/src/is-truthy.ts | 0 packages/gatsby-telemetry/src/event-storage.ts | 2 +- 4 files changed, 2 insertions(+), 1 deletion(-) rename packages/{gatsby-telemetry => gatsby-core-utils}/src/__tests__/is-truthy.ts (100%) rename packages/{gatsby-telemetry => gatsby-core-utils}/src/is-truthy.ts (100%) diff --git a/packages/gatsby-telemetry/src/__tests__/is-truthy.ts b/packages/gatsby-core-utils/src/__tests__/is-truthy.ts similarity index 100% rename from packages/gatsby-telemetry/src/__tests__/is-truthy.ts rename to packages/gatsby-core-utils/src/__tests__/is-truthy.ts diff --git a/packages/gatsby-core-utils/src/index.ts b/packages/gatsby-core-utils/src/index.ts index 5c7b3697ddef4..390d7c0d6d42e 100644 --- a/packages/gatsby-core-utils/src/index.ts +++ b/packages/gatsby-core-utils/src/index.ts @@ -8,5 +8,6 @@ export { getConfigStore } from "./get-config-store" export { getGatsbyVersion } from "./get-gatsby-version" export { getTermProgram } from "./get-term-program" export { fetchRemoteFile, IFetchRemoteFileOptions } from "./fetch-remote-file" +export { isTruthy } from "./is-truthy" export * from "./service-lock" export * from "./site-metadata" diff --git a/packages/gatsby-telemetry/src/is-truthy.ts b/packages/gatsby-core-utils/src/is-truthy.ts similarity index 100% rename from packages/gatsby-telemetry/src/is-truthy.ts rename to packages/gatsby-core-utils/src/is-truthy.ts diff --git a/packages/gatsby-telemetry/src/event-storage.ts b/packages/gatsby-telemetry/src/event-storage.ts index 177dd6fe3e9aa..a1eb51deb5499 100644 --- a/packages/gatsby-telemetry/src/event-storage.ts +++ b/packages/gatsby-telemetry/src/event-storage.ts @@ -3,7 +3,7 @@ import Configstore from "configstore" import createFetch from "@turist/fetch" import { Store } from "./store" import { ensureDirSync } from "fs-extra" -import { isTruthy } from "./is-truthy" +import { isTruthy } from "gatsby-core-utils" import { InMemoryConfigStore } from "./in-memory-store" const fetch = createFetch() From 4a4d0fd71406e24dd02f96a0926061efeb6c82aa Mon Sep 17 00:00:00 2001 From: Patrick Odeke <42679132+odkpatrick@users.noreply.github.com> Date: Tue, 23 Feb 2021 16:17:37 +0100 Subject: [PATCH 06/11] chore(docs): Updated gatsby-for-ecommerce (#29676) Fixed a minor typo --- docs/docs/conceptual/gatsby-for-ecommerce.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/conceptual/gatsby-for-ecommerce.md b/docs/docs/conceptual/gatsby-for-ecommerce.md index 863afb129bc88..769a896d4321f 100644 --- a/docs/docs/conceptual/gatsby-for-ecommerce.md +++ b/docs/docs/conceptual/gatsby-for-ecommerce.md @@ -32,7 +32,7 @@ And with Gatsby’s pre-built integrations, it can pull data in from all of thes E-commerce tends to have a number of specific requirements. When building a Gatsby site (or other decoupled/JAMStack site, for that matter) sourced from an ecommerce backend like Shopify, developers will typically have to think through a few additional touchpoints between the systems: -- **Persisting a cart across site pages and between sessions** (ie, if the user closes their browser and reopens it tomorrow, the items should still be there). This can handled either through local-storage or through the shopify-buy JS library. +- **Persisting a cart across site pages and between sessions** (ie, if the user closes their browser and reopens it tomorrow, the items should still be there). This can be handled either through local-storage or through the shopify-buy JS library. - **Product search** can be done client-side if the SKU count is small enough to store all products in a global state. Alternatively, it can be handled through the e-commerce provider’s search features, or if those aren’t robust enough, a third-party search provider like Algolia. - **Surfacing price adjustments** like tax, shipping, discounts/promos to the user while browsing the site. Different e-commerce solutions provide different levels of API access to these objects. - **Handling checkout.** In order to comply with PCI regulations around storing credit card information, e-commerce providers typically exert strong control over the "buy" or "checkout" experience. Shopify requires all checkout flows using their platform to use their hosted checkout pages, though it's common to wrap them in a subdomain of the main site (eg the Gatsby/Shopify site [strivectin.com](strivectin.com] wraps a `myshopify.com` URL under a `shop.strivectin.com` URL for checkout). From 6a18eab5832ce7ec98a3b8a0578b70e5193beebe Mon Sep 17 00:00:00 2001 From: Michal Piechowiak Date: Tue, 23 Feb 2021 16:39:11 +0100 Subject: [PATCH 07/11] fix(e2e): don't double run cypress tests (#28171) Co-authored-by: gatsbybot --- e2e-tests/development-runtime/package.json | 2 +- e2e-tests/gatsby-image/package.json | 2 +- e2e-tests/gatsby-static-image/package.json | 2 +- e2e-tests/mdx-less-babel/package.json | 2 +- e2e-tests/mdx/package.json | 2 +- e2e-tests/path-prefix/package.json | 2 +- e2e-tests/production-runtime/package.json | 2 +- .../themes/development-runtime/package.json | 2 +- .../themes/production-runtime/package.json | 2 +- e2e-tests/visual-regression/package.json | 2 +- ...ypress-run-with-conditional-record-flag.js | 22 +++++++++++++++++++ 11 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 scripts/cypress-run-with-conditional-record-flag.js diff --git a/e2e-tests/development-runtime/package.json b/e2e-tests/development-runtime/package.json index 879086cdb1d5e..e6303130a6391 100644 --- a/e2e-tests/development-runtime/package.json +++ b/e2e-tests/development-runtime/package.json @@ -44,7 +44,7 @@ "start-server-and-test": "start-server-and-test develop http://localhost:8000 cy:run", "start-server-and-debug": "start-server-and-test develop http://localhost:8000 cy:open", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "@testing-library/cypress": "^7.0.0", diff --git a/e2e-tests/gatsby-image/package.json b/e2e-tests/gatsby-image/package.json index f37fd7574fdc2..efb031ad453f9 100644 --- a/e2e-tests/gatsby-image/package.json +++ b/e2e-tests/gatsby-image/package.json @@ -29,7 +29,7 @@ "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "serve": "gatsby serve", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/gatsby-static-image/package.json b/e2e-tests/gatsby-static-image/package.json index 7735b34f22135..022eea298fe26 100644 --- a/e2e-tests/gatsby-static-image/package.json +++ b/e2e-tests/gatsby-static-image/package.json @@ -23,7 +23,7 @@ "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "serve": "gatsby serve", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/mdx-less-babel/package.json b/e2e-tests/mdx-less-babel/package.json index d5bcd53f4c59e..31609b1d32bab 100644 --- a/e2e-tests/mdx-less-babel/package.json +++ b/e2e-tests/mdx-less-babel/package.json @@ -25,7 +25,7 @@ "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "serve": "gatsby serve", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/mdx/package.json b/e2e-tests/mdx/package.json index d5bcd53f4c59e..31609b1d32bab 100644 --- a/e2e-tests/mdx/package.json +++ b/e2e-tests/mdx/package.json @@ -25,7 +25,7 @@ "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "serve": "gatsby serve", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/path-prefix/package.json b/e2e-tests/path-prefix/package.json index 7887a81f907ef..f1d96c45262f7 100644 --- a/e2e-tests/path-prefix/package.json +++ b/e2e-tests/path-prefix/package.json @@ -35,7 +35,7 @@ "serve:site": "gatsby serve --prefix-paths", "serve:assets": "node scripts/serve.js", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cpy-cli": "^2.0.0", diff --git a/e2e-tests/production-runtime/package.json b/e2e-tests/production-runtime/package.json index 4265019ecab67..f9c9f1cafa540 100644 --- a/e2e-tests/production-runtime/package.json +++ b/e2e-tests/production-runtime/package.json @@ -37,7 +37,7 @@ "cy:open:offline": "npm run cy:open -- --env TEST_PLUGIN_OFFLINE=y", "cy:run": "npm run cy:run:normal && npm run cy:run:slow", "cy:run:offline": "npm run cy:run:normal -- --env TEST_PLUGIN_OFFLINE=y && npm run cy:run:slow -- --env TEST_PLUGIN_OFFLINE=y", - "cy:run:normal": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome", + "cy:run:normal": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome", "cy:run:slow": "cross-env CYPRESS_CONNECTION_TYPE=slow cypress run --browser chrome --config testFiles=prefetching.js" }, "devDependencies": { diff --git a/e2e-tests/themes/development-runtime/package.json b/e2e-tests/themes/development-runtime/package.json index e55bc2923289f..d6a478a36d2d2 100644 --- a/e2e-tests/themes/development-runtime/package.json +++ b/e2e-tests/themes/development-runtime/package.json @@ -22,7 +22,7 @@ "update": "node scripts/update.js", "start-server-and-test": "start-server-and-test develop http://localhost:8000 cy:run", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/themes/production-runtime/package.json b/e2e-tests/themes/production-runtime/package.json index 6b7ec8ecbc6b8..b6b53ad6ed0f9 100644 --- a/e2e-tests/themes/production-runtime/package.json +++ b/e2e-tests/themes/production-runtime/package.json @@ -19,7 +19,7 @@ "test": "cross-env CYPRESS_SUPPORT=y npm run build && npm run start-server-and-test", "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "cy:open": "cypress open", - "cy:run": "(is-ci && cypress run --browser chrome --record) || cypress run --browser chrome" + "cy:run": "node ../../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome" }, "devDependencies": { "cross-env": "^5.2.0", diff --git a/e2e-tests/visual-regression/package.json b/e2e-tests/visual-regression/package.json index e5f094e56a307..73833ae5706af 100644 --- a/e2e-tests/visual-regression/package.json +++ b/e2e-tests/visual-regression/package.json @@ -26,7 +26,7 @@ "start-server-and-test": "start-server-and-test serve http://localhost:9000 cy:run", "serve": "gatsby serve", "cy:open": "cypress open", - "cy:run": "cypress run --browser chrome", + "cy:run": "node ../../scripts/cypress-run-with-conditional-record-flag.js --browser chrome", "cy:update-snapshots": "cypress run --browser chrome --env updateSnapshots=true", "cy:clean-snapshots": "rimraf cypress/snapshots/*" }, diff --git a/scripts/cypress-run-with-conditional-record-flag.js b/scripts/cypress-run-with-conditional-record-flag.js new file mode 100644 index 0000000000000..697b6550c2baa --- /dev/null +++ b/scripts/cypress-run-with-conditional-record-flag.js @@ -0,0 +1,22 @@ +const childProcess = require(`child_process`) +const path = require(`path`) +const { isCI } = require(`gatsby-core-utils`) + +const shouldRecord = + !!process.env.CYPRESS_PROJECT_ID && !!process.env.CYPRESS_RECORD_KEY && isCI() + +const cypressBin = path.join(process.cwd(), `node_modules/.bin/cypress`) + +// first arg is node binary itself +// second arg is .js file entry point (as in - path to this file) +// we only care about extra args +const cypressArgs = [`run`, ...process.argv.slice(2)] + +if (shouldRecord) { + cypressArgs.push(`--record`) +} + +childProcess.execFileSync(cypressBin, cypressArgs, { + cwd: process.cwd(), + stdio: `inherit`, +}) From 97d6d3ed841268adcf3b0de51ed2abd4d4770e70 Mon Sep 17 00:00:00 2001 From: Sidhartha Chatterjee Date: Tue, 23 Feb 2021 21:52:41 +0530 Subject: [PATCH 08/11] feat(gatsby): Respect VERBOSE env var (#29708) * Respect GC_VERBOSE env var * Switch to VERBOSE * Support VERBOSE in build as well Co-authored-by: gatsbybot --- packages/gatsby/src/commands/build.ts | 4 ++-- packages/gatsby/src/commands/develop-process.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/gatsby/src/commands/build.ts b/packages/gatsby/src/commands/build.ts index 6aca3cc44c228..8bdc30b3e87b6 100644 --- a/packages/gatsby/src/commands/build.ts +++ b/packages/gatsby/src/commands/build.ts @@ -43,10 +43,10 @@ import { markWebpackStatusAsPending, markWebpackStatusAsDone, } from "../utils/webpack-status" -import { updateSiteMetadata } from "gatsby-core-utils" +import { updateSiteMetadata, isTruthy } from "gatsby-core-utils" module.exports = async function build(program: IBuildArgs): Promise { - report.setVerbose(program.verbose) + report.setVerbose(isTruthy(process.env.VERBOSE) || program.verbose) if (program.profile) { report.warn( diff --git a/packages/gatsby/src/commands/develop-process.ts b/packages/gatsby/src/commands/develop-process.ts index c1a49f615494e..42f138d8a2376 100644 --- a/packages/gatsby/src/commands/develop-process.ts +++ b/packages/gatsby/src/commands/develop-process.ts @@ -1,7 +1,7 @@ import { syncStaticDir } from "../utils/get-static-dir" import reporter from "gatsby-cli/lib/reporter" -import chalk from "chalk" import telemetry from "gatsby-telemetry" +import { isTruthy } from "gatsby-core-utils" import express from "express" import inspector from "inspector" import { initTracer } from "../utils/tracer" @@ -80,7 +80,7 @@ const openDebuggerPort = (debugInfo: IDebugInfo): void => { } module.exports = async (program: IDevelopArgs): Promise => { - reporter.setVerbose(program.verbose) + reporter.setVerbose(isTruthy(process.env.VERBOSE) || program.verbose) if (program.debugInfo) { openDebuggerPort(program.debugInfo) From 308d418e43d32ff4b323d2aae2c5dc867b744f77 Mon Sep 17 00:00:00 2001 From: liwenzhi Date: Tue, 23 Feb 2021 12:26:17 -0400 Subject: [PATCH 09/11] =?UTF-8?q?fix(gatsby-source-wordpress):issue=20#295?= =?UTF-8?q?35=20not=20finished=20createSchemaCu=E2=80=A6=20(#29554)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: gatsbybot --- .../src/steps/create-schema-customization/build-types.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js index 9a3a35f6e1f2f..bdce362fde9df 100644 --- a/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js +++ b/packages/gatsby-source-wordpress/src/steps/create-schema-customization/build-types.js @@ -134,7 +134,10 @@ const objectType = typeBuilderApi => { }) // if all child fields are excluded, this type shouldn't exist. - if (!Object.keys(transformedFields).length) { + // check null first, otherwise cause: + // TypeError: Cannot convert undefined or null to object at Function.keys () + // Also cause wordpress blog site build failure in createSchemaCustomization step + if (!transformedFields || !Object.keys(transformedFields).length) { return } From 6016c26a0202fa3413af553abaaeb7703f659afa Mon Sep 17 00:00:00 2001 From: Sidhartha Chatterjee Date: Tue, 23 Feb 2021 21:57:00 +0530 Subject: [PATCH 10/11] fix(gatsby-plugin-gatsby-cloud): Remove sibling detection code and rely on match paths (#29610) * Remove sibling detection code and rely on match paths * Update snapshot Co-authored-by: gatsbybot --- .../__snapshots__/create-redirects.js.snap | 2 +- .../src/__tests__/is-sibling.js | 22 ------ .../src/create-redirects.js | 77 +------------------ .../src/gatsby-node.js | 67 ++++++++-------- .../src/is-sibling.js | 45 ----------- .../src/plugin-data.js | 1 + 6 files changed, 39 insertions(+), 175 deletions(-) delete mode 100644 packages/gatsby-plugin-gatsby-cloud/src/__tests__/is-sibling.js delete mode 100644 packages/gatsby-plugin-gatsby-cloud/src/is-sibling.js diff --git a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/__snapshots__/create-redirects.js.snap b/packages/gatsby-plugin-gatsby-cloud/src/__tests__/__snapshots__/create-redirects.js.snap index 95129e8f8014d..9202cd7c0838e 100644 --- a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/__snapshots__/create-redirects.js.snap +++ b/packages/gatsby-plugin-gatsby-cloud/src/__tests__/__snapshots__/create-redirects.js.snap @@ -1,3 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`create-redirects should assemble a redirects file 1`] = `"{\\"redirects\\":[{\\"fromPath\\":\\"/old-url\\",\\"toPath\\":\\"/new-url\\",\\"isPermanent\\":true},{\\"fromPath\\":\\"/url_that_is/not_pretty\\",\\"toPath\\":\\"/pretty/url\\",\\"statusCode\\":201}],\\"rewrites\\":[{\\"fromPath\\":\\"/path3/:level1/:level2\\",\\"toPath\\":\\"/path3/[level1]/[level2]/\\"},{\\"fromPath\\":\\"/url_that_is/ugly\\",\\"toPath\\":\\"/not_ugly/url\\"},{\\"fromPath\\":\\"/path2/*splatparam\\",\\"toPath\\":\\"/path2/[...splatparam]/\\"},{\\"fromPath\\":\\"/path4/:param1\\",\\"toPath\\":\\"/path4/[param1]/\\"},{\\"fromPath\\":\\"/path/*\\",\\"toPath\\":\\"/path/[...]/\\"}]}"`; +exports[`create-redirects should assemble a redirects file 1`] = `"{\\"redirects\\":[{\\"fromPath\\":\\"/old-url\\",\\"toPath\\":\\"/new-url\\",\\"isPermanent\\":true},{\\"fromPath\\":\\"/url_that_is/not_pretty\\",\\"toPath\\":\\"/pretty/url\\",\\"statusCode\\":201}],\\"rewrites\\":[{\\"fromPath\\":\\"/url_that_is/ugly\\",\\"toPath\\":\\"/not_ugly/url\\"},{\\"fromPath\\":\\"/path2/*splatparam\\",\\"toPath\\":\\"/path2/[...splatparam]/\\"},{\\"fromPath\\":\\"/path/*\\",\\"toPath\\":\\"/path/[...]/\\"},{\\"fromPath\\":\\"/path3/:level1/:level2\\",\\"toPath\\":\\"/path3/[level1]/[level2]/\\"},{\\"fromPath\\":\\"/path4/:param1\\",\\"toPath\\":\\"/path4/[param1]/\\"}]}"`; diff --git a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/is-sibling.js b/packages/gatsby-plugin-gatsby-cloud/src/__tests__/is-sibling.js deleted file mode 100644 index 88fa5e46a7323..0000000000000 --- a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/is-sibling.js +++ /dev/null @@ -1,22 +0,0 @@ -import { isSibling } from "../is-sibling" - -describe(`isSibling`, () => { - it(`returns true for siblings with a colon`, async () => { - expect(isSibling(`/param/:param1`, `/param/static`)).toBe(true) - }) - it(`returns true for siblings with an asterisk`, async () => { - expect(isSibling(`/param/*param1`, `/param/static`)).toBe(true) - }) - it(`returns false for non siblings`, async () => { - expect(isSibling(`/param/*param1`, `/param/static/blah`)).toBe(false) - }) - it(`returns false for equal paths`, async () => { - expect(isSibling(`/param/param1`, `/param/param1`)).toBe(false) - }) - it(`returns false for sibling static paths`, async () => { - expect(isSibling(`/param/param1`, `/param/static`)).toBe(false) - }) - it(`returns true for sibling paths with extra slashes`, async () => { - expect(isSibling(`/param/:param1/`, `/param/static`)).toBe(true) - }) -}) diff --git a/packages/gatsby-plugin-gatsby-cloud/src/create-redirects.js b/packages/gatsby-plugin-gatsby-cloud/src/create-redirects.js index 1bed9ee5f61d4..c930dc3408c66 100644 --- a/packages/gatsby-plugin-gatsby-cloud/src/create-redirects.js +++ b/packages/gatsby-plugin-gatsby-cloud/src/create-redirects.js @@ -1,90 +1,17 @@ import { writeFile } from "fs-extra" import { REDIRECTS_FILENAME } from "./constants" -/** - * Get all rewrites and sort them by most specific at the top - * code is based on @reach/router match utility (https://github.com/reach/router/blob/152aff2352bc62cefc932e1b536de9efde6b64a5/src/lib/utils.js#L224-L254) - */ - -const paramRe = /^:(.+)/ - -const SEGMENT_POINTS = 4 -const STATIC_POINTS = 3 -const DYNAMIC_POINTS = 2 -const SPLAT_PENALTY = 1 -const ROOT_POINTS = 1 - -const isRootSegment = segment => segment === `` -const isDynamic = segment => paramRe.test(segment) -const isSplat = segment => segment === `*` - -const rankRoute = (route, index) => { - const score = route.default - ? 0 - : segmentize(route).reduce((score, segment) => { - score += SEGMENT_POINTS - if (isRootSegment(segment)) score += ROOT_POINTS - else if (isDynamic(segment)) score += DYNAMIC_POINTS - else if (isSplat(segment)) score -= SEGMENT_POINTS + SPLAT_PENALTY - else score += STATIC_POINTS - return score - }, 0) - return { route, score, index } -} - -const rankRoutes = routes => - routes - .map(rankRoute) - .sort((a, b) => - a.score < b.score ? 1 : a.score > b.score ? -1 : a.index - b.index - ) - -const segmentize = uri => - uri - // strip starting/ending slashes - .replace(/(^\/+|\/+$)/g, ``) - .split(`/`) - -/** - * rankRewrites - * - * We need to order rewrites in order of specificity because more specific rewrites have to be first in order. - * i.e. /url_that_is/ugly is more specific than /path4/:param1 even though both have 2 url segments - */ -const rankRewrites = rewrites => { - let sortedRewrites = [] - - const fromPaths = rewrites.map(({ fromPath }) => fromPath) - const rankedRoutes = rankRoutes(fromPaths) - - for (let { route } of rankedRoutes) { - const rewrite = rewrites.find(rewrite => rewrite.fromPath === route) - if (rewrite) { - sortedRewrites.push(rewrite) - } - } - - return sortedRewrites -} - export default async function writeRedirectsFile( pluginData, redirects, - rewrites, - siblingStaticPaths + rewrites ) { const { publicFolder } = pluginData if (!redirects.length && !rewrites.length) return null - // order rewrites based on priority - const rankedRewrites = rankRewrites(rewrites) - // Is it ok to pass through the data or should we format it so that we don't have dependencies // between the redirects and rewrites formats? What are the chances those will change? const FILE_PATH = publicFolder(REDIRECTS_FILENAME) - return writeFile( - FILE_PATH, - JSON.stringify({ redirects, rewrites: rankedRewrites, siblingStaticPaths }) - ) + return writeFile(FILE_PATH, JSON.stringify({ redirects, rewrites })) } diff --git a/packages/gatsby-plugin-gatsby-cloud/src/gatsby-node.js b/packages/gatsby-plugin-gatsby-cloud/src/gatsby-node.js index 19c26a8faecc6..c5a083a7b6dcf 100644 --- a/packages/gatsby-plugin-gatsby-cloud/src/gatsby-node.js +++ b/packages/gatsby-plugin-gatsby-cloud/src/gatsby-node.js @@ -3,7 +3,8 @@ import WebpackAssetsManifest from "webpack-assets-manifest" import makePluginData from "./plugin-data" import buildHeadersProgram from "./build-headers-program" import createRedirects from "./create-redirects" -import { isSibling } from "./is-sibling" +import { readJSON } from "fs-extra" +import { joinPath } from "gatsby-core-utils" import { DEFAULT_OPTIONS, BUILD_HTML_STAGE, BUILD_CSS_STAGE } from "./constants" let assetsManifest = {} @@ -34,56 +35,58 @@ exports.onPostBuild = async ( const { redirects } = store.getState() let rewrites = [] - let siblingStaticPaths = [] if (pluginOptions.generateMatchPathRewrites) { - const { pages } = store.getState() - rewrites = Array.from(pages.values()) - .filter(page => page.matchPath && page.matchPath !== page.path) - .map(page => { - const siblings = Array.from(pages.values()) - .filter(maybeSiblingPage => { - if (maybeSiblingPage.matchPath) return false + const matchPathsFile = joinPath( + pluginData.program.directory, + `.cache`, + `match-paths.json` + ) - return isSibling(page.matchPath, maybeSiblingPage.path) - }) - .map(p => p.path) + const matchPaths = await readJSON(matchPathsFile) - siblingStaticPaths.push(...siblings) - - return { - fromPath: page.matchPath, - toPath: page.path, - } - }) + rewrites = matchPaths.map(({ matchPath, path }) => { + return { + fromPath: matchPath, + toPath: path, + } + }) } await Promise.all([ buildHeadersProgram(pluginData, pluginOptions, reporter), - createRedirects(pluginData, redirects, rewrites, siblingStaticPaths), + createRedirects(pluginData, redirects, rewrites), ]) } -exports.pluginOptionsSchema = ({ Joi }) => - Joi.object({ - headers: Joi.object() - .pattern(/^/, Joi.array().items(Joi.string())) - .description(`Option to add headers for a filename`), +const MATCH_ALL_KEYS = /^/ +const pluginOptionsSchema = function ({ Joi }) { + const headersSchema = Joi.object() + .pattern(MATCH_ALL_KEYS, Joi.array().items(Joi.string())) + .description(`Add more headers to specific pages`) + + return Joi.object({ + headers: headersSchema, allPageHeaders: Joi.array() .items(Joi.string()) - .description(`Option to add headers for all files`), + .description(`Add more headers to all the pages`), mergeSecurityHeaders: Joi.boolean().description( - `Option to include default Gatsby Cloud security headers (true by default)` + `When set to false, turns off the default security headers` ), mergeLinkHeaders: Joi.boolean().description( - `Option to include default Gatsby Cloud link headers (true by default)` + `When set to false, turns off the default gatsby js headers` ), mergeCachingHeaders: Joi.boolean().description( - `Option to include default Gatsby Cloud caching headers (true by default)` + `When set to false, turns off the default caching headers` ), transformHeaders: Joi.function() - .arity(2) - .description(`Option to transform headers using a function`), + .maxArity(2) + .description( + `Transform function for manipulating headers under each path (e.g.sorting), etc. This should return an object of type: { key: Array }` + ), generateMatchPathRewrites: Joi.boolean().description( - `Option to include redirect rules for client only paths (set to true by default)` + `When set to false, turns off automatic creation of redirect rules for client only paths` ), }) +} + +exports.pluginOptionsSchema = pluginOptionsSchema diff --git a/packages/gatsby-plugin-gatsby-cloud/src/is-sibling.js b/packages/gatsby-plugin-gatsby-cloud/src/is-sibling.js deleted file mode 100644 index 57e8ae67c4114..0000000000000 --- a/packages/gatsby-plugin-gatsby-cloud/src/is-sibling.js +++ /dev/null @@ -1,45 +0,0 @@ -import { isEqual, startsWith } from "lodash" - -export const isDynamicSegment = segment => - startsWith(segment, `:`) || startsWith(segment, `*`) - -export const isSibling = (pagePath, maybeSiblingPagePath) => { - const pageSegments = pagePath.split(`/`).filter(Boolean) - const maybeSiblingPageSegments = maybeSiblingPagePath - .split(`/`) - .filter(Boolean) - - // Do we have the same number of segments? - if (pageSegments.length !== maybeSiblingPageSegments.length) { - return false - } - - // Are all the segments except the last one the same? - if ( - !isEqual( - pageSegments.slice(0, pageSegments.length - 1), - maybeSiblingPageSegments.slice(0, pageSegments.length - 1) - ) - ) { - return false - } - - const finalSegmentForPage = pageSegments[pageSegments.length - 1] - const finalSegmentForMaybeSiblingPage = - maybeSiblingPageSegments[maybeSiblingPageSegments.length - 1] - - // Is the final segment the same? - if (finalSegmentForPage === maybeSiblingPageSegments) { - return false - } - - // Is one of the segments a dynamic one? - if ( - !isDynamicSegment(finalSegmentForPage) && - !isDynamicSegment(finalSegmentForMaybeSiblingPage) - ) { - return false - } - - return true -} diff --git a/packages/gatsby-plugin-gatsby-cloud/src/plugin-data.js b/packages/gatsby-plugin-gatsby-cloud/src/plugin-data.js index 4bbaae96ec8c4..1ffd8c1cf7d8b 100644 --- a/packages/gatsby-plugin-gatsby-cloud/src/plugin-data.js +++ b/packages/gatsby-plugin-gatsby-cloud/src/plugin-data.js @@ -21,6 +21,7 @@ export default function makePluginData(store, assetsManifest, pathPrefix) { return { pages, manifest, + program, pathPrefix, publicFolder, } From d0420393e13ba32bfaa7624bb3a3852acf7566c7 Mon Sep 17 00:00:00 2001 From: Sidhartha Chatterjee Date: Tue, 23 Feb 2021 22:11:10 +0530 Subject: [PATCH 11/11] chore(gatsby-plugin-gatsby-cloud): Update for gatsby v3 (#29711) * Bump webpack-assets-manifest for webpack 5 * Bump up gatsby peer dependency --- packages/gatsby-plugin-gatsby-cloud/package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/gatsby-plugin-gatsby-cloud/package.json b/packages/gatsby-plugin-gatsby-cloud/package.json index 0b21b6c778273..863844c04a073 100644 --- a/packages/gatsby-plugin-gatsby-cloud/package.json +++ b/packages/gatsby-plugin-gatsby-cloud/package.json @@ -11,7 +11,7 @@ "fs-extra": "^8.1.0", "kebab-hash": "^0.1.2", "lodash": "^4.17.20", - "webpack-assets-manifest": "^3.1.1" + "webpack-assets-manifest": "^5.0.1" }, "devDependencies": { "@babel/cli": "^7.12.1", @@ -29,7 +29,7 @@ "license": "MIT", "main": "index.js", "peerDependencies": { - "gatsby": "^2.0.0" + "gatsby": "^3.0.0" }, "repository": { "type": "git",