From 34cb202d9c8c202f082edb03c4cc1815eb81abe1 Mon Sep 17 00:00:00 2001 From: Ward Peeters Date: Sun, 19 Dec 2021 15:15:56 +0100 Subject: [PATCH] chore: upgrade jest (#33277) Co-authored-by: LekoArts Co-authored-by: gatsbybot --- .../actions/high-priority-prs/package.json | 2 +- .jestSetup.js | 3 + .../gatsby-recipes/package.json | 2 +- .../src/providers/utils/get-diff.js | 2 +- examples/using-jest/package.json | 4 +- integration-tests/artifacts/package.json | 2 +- .../cache-resilience/package.json | 2 +- .../functions/jest-transformer.js | 7 +- integration-tests/functions/package.json | 14 +- .../gatsby-cli/jest-transformer.js | 7 +- integration-tests/gatsby-cli/package.json | 16 +- .../gatsby-pipeline/package.json | 2 +- .../__tests__/index.js | 28 +- .../gatsby-source-wordpress/package.json | 2 +- .../test-fns/test-utils/get-gatsby-process.js | 10 +- integration-tests/images/jest-transformer.js | 7 +- integration-tests/images/package.json | 8 +- .../long-term-caching/package.json | 6 +- integration-tests/node-manifest/package.json | 6 +- integration-tests/ssr/package.json | 18 +- integration-tests/ssr/test-output.js | 2 +- .../structured-logging/__tests__/ipc-send.js | 2 +- .../structured-logging/__tests__/logs.js | 4 +- .../structured-logging/__tests__/status.js | 4 +- .../structured-logging/__tests__/to-do.js | 21 +- .../structured-logging/package.json | 8 +- jest-transformer.js | 7 +- jest.config.js | 1 - package.json | 12 +- .../src/index.ts | 48 +- .../src/__tests__/dependencies.ts | 1 + .../__tests__/__snapshots__/index.ts.snap | 56 +- .../src/__tests__/fetch-remote-file.js | 30 +- .../gatsby-core-utils/src/service-lock.ts | 8 +- packages/gatsby-link/src/__tests__/index.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../src/__tests__/catch-links.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../gatsby-plugin-gatsby-cloud/package.json | 1 - .../src/__tests__/gatsby-browser.js | 67 +- .../src/__tests__/gatsby-browser.js | 6 +- .../src/__tests__/index.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../__tests__/gatsby-image.browser.tsx | 14 + .../__tests__/gatsby-image.server.tsx | 4 + .../src/__tests__/gatsby-browser.js | 4 + packages/gatsby-plugin-mdx/package.json | 1 - .../src/__tests__/gatsby-browser.js | 3 + .../src/__tests__/gatsby-browser.test.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../src/__tests__/gatsby-browser.js | 4 + .../src/__tests__/session-storage.ts | 4 + .../src/__tests__/use-scroll-restoration.tsx | 4 + .../src/__tests__/gatsby-node.js | 2 +- .../{gastby-browser.js => gatsby-browser.js} | 4 + .../src/__tests__/directives.js | 2 +- .../src/__tests__/highlight-code.js | 7 +- .../src/__tests__/index.js | 4 +- .../src/__tests__/rich-text.js | 4 + packages/gatsby-source-shopify/package.json | 1 - .../fetch-referenced-media-items.test.js | 4 + packages/gatsby-telemetry/package.json | 5 - .../src/__tests__/gatsby-node.js | 5 +- .../src/__tests__/extend-node.js | 39 +- .../gatsby/cache-dir/__tests__/dev-loader.js | 5 + .../cache-dir/__tests__/ensure-resources.tsx | 4 + packages/gatsby/cache-dir/__tests__/loader.js | 5 + .../__tests__/public-page-renderer-dev.tsx | 4 + .../__tests__/public-page-renderer-prod.tsx | 4 + .../__snapshots__/file-parser.js.snap | 1784 ++++++------ .../gatsby/src/query/__tests__/file-parser.js | 4 +- packages/gatsby/src/redux/__tests__/index.js | 9 +- packages/gatsby/src/redux/__tests__/jobsv2.js | 13 +- .../src/utils/__tests__/get-page-data.ts | 9 +- .../src/utils/__tests__/websocket-manager.ts | 81 +- .../utils/babel/babel-plugin-remove-api.ts | 3 +- .../src/utils/jobs/__tests__/manager.js | 48 +- yarn.lock | 2577 +++++------------ 79 files changed, 2144 insertions(+), 2983 deletions(-) rename packages/gatsby-remark-images/src/__tests__/{gastby-browser.js => gatsby-browser.js} (97%) diff --git a/.github/actions/high-priority-prs/package.json b/.github/actions/high-priority-prs/package.json index ea417d7ca62dd..efa113592fac3 100644 --- a/.github/actions/high-priority-prs/package.json +++ b/.github/actions/high-priority-prs/package.json @@ -14,6 +14,6 @@ "lodash": "^4.17.15" }, "devDependencies": { - "jest": "^25.1.0" + "jest": "^27.2.1" } } diff --git a/.jestSetup.js b/.jestSetup.js index 715a57338921b..71ff21237831a 100644 --- a/.jestSetup.js +++ b/.jestSetup.js @@ -1 +1,4 @@ process.env.GATSBY_RECIPES_NO_COLOR = "true" + +// Potrace has a dependency on giwrap which has a process.nextTick as a sideEffect which messes up with jest. +jest.mock(`gifwrap`, () => jest.fn()) diff --git a/deprecated-packages/gatsby-recipes/package.json b/deprecated-packages/gatsby-recipes/package.json index d9d9c201e5e97..d2cfbf89de144 100644 --- a/deprecated-packages/gatsby-recipes/package.json +++ b/deprecated-packages/gatsby-recipes/package.json @@ -41,7 +41,7 @@ "hicat": "^0.8.0", "is-binary-path": "^2.1.0", "is-url": "^1.2.4", - "jest-diff": "^25.5.0", + "jest-diff": "^27.2.0", "lock": "^1.0.0", "lodash": "^4.17.21", "mitt": "^1.2.0", diff --git a/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js b/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js index f18d47cb10849..0fed7853b88be 100644 --- a/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js +++ b/deprecated-packages/gatsby-recipes/src/providers/utils/get-diff.js @@ -1,4 +1,4 @@ -import diff from "jest-diff" +import { diff } from "jest-diff" import chalk from "chalk" import stripAnsi from "strip-ansi" diff --git a/examples/using-jest/package.json b/examples/using-jest/package.json index 78d2a21f429aa..668bb840aead5 100644 --- a/examples/using-jest/package.json +++ b/examples/using-jest/package.json @@ -35,10 +35,10 @@ "babel-jest": "^24.9.0", "babel-preset-gatsby": "^0.5.10", "identity-obj-proxy": "^3.0.0", - "jest": "^24.9.0" + "jest": "^27.2.1" }, "repository": { "type": "git", "url": "https://github.com/gatsbyjs/gatsby" } -} \ No newline at end of file +} diff --git a/integration-tests/artifacts/package.json b/integration-tests/artifacts/package.json index 50b7bf85cabd1..d81ed176cbf7f 100644 --- a/integration-tests/artifacts/package.json +++ b/integration-tests/artifacts/package.json @@ -19,7 +19,7 @@ }, "devDependencies": { "fs-extra": "^9.0.0", - "jest": "^24.0.0" + "jest": "^27.2.1" }, "repository": { "type": "git", diff --git a/integration-tests/cache-resilience/package.json b/integration-tests/cache-resilience/package.json index 2106c46caeb32..e880b7602ca45 100644 --- a/integration-tests/cache-resilience/package.json +++ b/integration-tests/cache-resilience/package.json @@ -21,7 +21,7 @@ "fs-extra": "^9.0.1", "gatsby-core-utils": "^3.0.0-next.0", "glob": "^7.1.6", - "jest": "^24.0.0", + "jest": "^27.2.1", "jest-serializer-path": "^0.1.15", "lodash": "^4.17.20", "slash": "^3.0.0", diff --git a/integration-tests/functions/jest-transformer.js b/integration-tests/functions/jest-transformer.js index 5c4289ec3330c..02167a152534c 100644 --- a/integration-tests/functions/jest-transformer.js +++ b/integration-tests/functions/jest-transformer.js @@ -1,4 +1,5 @@ -const babelPreset = require(`babel-preset-gatsby-package`)() -module.exports = require(`babel-jest`).createTransformer({ - ...babelPreset, +const babelJest = require(`babel-jest`) + +module.exports = babelJest.default.createTransformer({ + presets: [`babel-preset-gatsby-package`], }) diff --git a/integration-tests/functions/package.json b/integration-tests/functions/package.json index b62ccef7fd769..2c6696f265ad8 100644 --- a/integration-tests/functions/package.json +++ b/integration-tests/functions/package.json @@ -4,7 +4,9 @@ "private": true, "description": "functions", "author": "Kyle Mathews", - "keywords": ["gatsby"], + "keywords": [ + "gatsby" + ], "scripts": { "build": "gatsby build", "develop": "gatsby develop", @@ -17,16 +19,16 @@ "test": "npm-run-all -s build test-prod test-dev" }, "devDependencies": { - "babel-jest": "^24.0.0", - "babel-preset-gatsby-package": "^1.3.0", - "fs-extra": "^9.0.0", - "jest": "^24.0.0", + "babel-jest": "^27.4.5", + "babel-preset-gatsby-package": "^2.4.0", + "fs-extra": "^10.0.0", + "jest": "^27.2.1", "npm-run-all": "4.1.5", "start-server-and-test": "^1.11.3" }, "dependencies": { "gatsby": "next", - "gatsby-plugin-gatsby-cloud": "^2.5.0-next.0", + "gatsby-plugin-gatsby-cloud": "next", "react": "^17.0.1", "react-dom": "^17.0.1" } diff --git a/integration-tests/gatsby-cli/jest-transformer.js b/integration-tests/gatsby-cli/jest-transformer.js index 5c4289ec3330c..02167a152534c 100644 --- a/integration-tests/gatsby-cli/jest-transformer.js +++ b/integration-tests/gatsby-cli/jest-transformer.js @@ -1,4 +1,5 @@ -const babelPreset = require(`babel-preset-gatsby-package`)() -module.exports = require(`babel-jest`).createTransformer({ - ...babelPreset, +const babelJest = require(`babel-jest`) + +module.exports = babelJest.default.createTransformer({ + presets: [`babel-preset-gatsby-package`], }) diff --git a/integration-tests/gatsby-cli/package.json b/integration-tests/gatsby-cli/package.json index e73eb89c912ce..1b58cb99ee4e0 100644 --- a/integration-tests/gatsby-cli/package.json +++ b/integration-tests/gatsby-cli/package.json @@ -6,18 +6,18 @@ }, "license": "MIT", "scripts": { - "test": "jest -w 1" + "test": "jest --runInBand" }, "devDependencies": { - "babel-jest": "^24.0.0", - "babel-preset-gatsby-package": "^1.3.0", + "babel-jest": "^27.2.1", + "babel-preset-gatsby-package": "next", "del-cli": "^3.0.1", "execa": "^4.0.1", "fs-extra": "^9.0.0", - "gatsby": "^3.3.0", - "gatsby-cli": "^3.3.0", - "gatsby-core-utils": "^2.3.0", - "jest": "^24.0.0", + "gatsby": "next", + "gatsby-cli": "next", + "gatsby-core-utils": "next", + "jest": "^27.2.1", "react": "^17.0.2", "react-dom": "^17.0.2" }, @@ -25,4 +25,4 @@ "type": "git", "url": "https://github.com/gatsbyjs/gatsby-starter-default" } -} +} \ No newline at end of file diff --git a/integration-tests/gatsby-pipeline/package.json b/integration-tests/gatsby-pipeline/package.json index f8acaeecf827a..bab9e890a76b1 100644 --- a/integration-tests/gatsby-pipeline/package.json +++ b/integration-tests/gatsby-pipeline/package.json @@ -30,7 +30,7 @@ "fs-extra": "^9.0.1", "md5-file": "^5.0.0", "node-fetch": "^2.6.0", - "jest": "^25.5.4", + "jest": "^27.2.1", "tree-kill": "^1.2.2" }, "repository": { diff --git a/integration-tests/gatsby-source-wordpress/__tests__/index.js b/integration-tests/gatsby-source-wordpress/__tests__/index.js index fcb793a06d161..421c2dfef5ae4 100644 --- a/integration-tests/gatsby-source-wordpress/__tests__/index.js +++ b/integration-tests/gatsby-source-wordpress/__tests__/index.js @@ -29,14 +29,16 @@ const isWarmCache = process.env.WARM_CACHE const testOnColdCacheOnly = isWarmCache ? test.skip : test describe(`[gatsby-source-wordpress] Build default options`, () => { - beforeAll(async done => { - await urling({ url: `http://localhost:8001/graphql`, retry: 100 }) + beforeAll(done => { + ;(async () => { + await urling({ url: `http://localhost:8001/graphql`, retry: 100 }) - if (isWarmCache) { - done() - } else { - gatsbyCleanBeforeAll(done) - } + if (isWarmCache) { + done() + } else { + gatsbyCleanBeforeAll(done) + } + })() }) testOnColdCacheOnly(`Default options build succeeded`, async () => { @@ -89,9 +91,15 @@ describe(`[gatsby-source-wordpress] Run tests on develop build`, () => { process.exit(1) } - gatsbyDevelopProcess = spawnGatsbyProcess(`develop`) - - await urling(`http://localhost:8000`, { retry: 100 }) + return new Promise(resolve => { + gatsbyDevelopProcess = spawnGatsbyProcess(`develop`) + gatsbyDevelopProcess.stdout.on("data", data => { + process.stdout.write(data) + if (data.toString().includes("http://localhost:8000")) { + resolve() + } + }) + }) }) require(`../test-fns/index`) diff --git a/integration-tests/gatsby-source-wordpress/package.json b/integration-tests/gatsby-source-wordpress/package.json index ae4d9268f2430..11423af629714 100644 --- a/integration-tests/gatsby-source-wordpress/package.json +++ b/integration-tests/gatsby-source-wordpress/package.json @@ -24,7 +24,7 @@ "devDependencies": { "cross-env": "^7.0.3", "dotenv": "^8.2.0", - "jest": "^26.6.3", + "jest": "^27.2.1", "node-fetch": "^2.6.1", "rimraf": "^3.0.2", "urling": "^1.0.7" diff --git a/integration-tests/gatsby-source-wordpress/test-fns/test-utils/get-gatsby-process.js b/integration-tests/gatsby-source-wordpress/test-fns/test-utils/get-gatsby-process.js index 1130661498691..3c7514ef5917c 100644 --- a/integration-tests/gatsby-source-wordpress/test-fns/test-utils/get-gatsby-process.js +++ b/integration-tests/gatsby-source-wordpress/test-fns/test-utils/get-gatsby-process.js @@ -24,9 +24,13 @@ exports.gatsbyCleanBeforeAll = async done => { exports.spawnGatsbyProcess = (command = `develop`, env = {}) => { const proc = spawn( process.execPath, - [gatsbyBin, command, ...(command === `develop` ? ["-H", "localhost", "--port", "8000"] : [])], + [ + gatsbyBin, + command, + ...(command === `develop` ? ["-H", "localhost", "--port", "8000"] : []), + ], { - stdio: [`inherit`, `inherit`, `inherit`], + stdio: [`pipe`, `pipe`, `pipe`], env: { ...process.env, NODE_ENV: command === `develop` ? `development` : `production`, @@ -35,7 +39,7 @@ exports.spawnGatsbyProcess = (command = `develop`, env = {}) => { } ) - process.on('SIGINT', proc.kill) + process.on("SIGINT", proc.kill) return proc } diff --git a/integration-tests/images/jest-transformer.js b/integration-tests/images/jest-transformer.js index 5c4289ec3330c..02167a152534c 100644 --- a/integration-tests/images/jest-transformer.js +++ b/integration-tests/images/jest-transformer.js @@ -1,4 +1,5 @@ -const babelPreset = require(`babel-preset-gatsby-package`)() -module.exports = require(`babel-jest`).createTransformer({ - ...babelPreset, +const babelJest = require(`babel-jest`) + +module.exports = babelJest.default.createTransformer({ + presets: [`babel-preset-gatsby-package`], }) diff --git a/integration-tests/images/package.json b/integration-tests/images/package.json index aaa305f1f42e9..9ef2d88093e8f 100644 --- a/integration-tests/images/package.json +++ b/integration-tests/images/package.json @@ -19,9 +19,9 @@ "react-dom": "^16.9.0" }, "devDependencies": { - "babel-preset-gatsby-package": "^1.3.0", - "babel-jest": "^24.0.0", - "jest": "^24.0.0", + "babel-preset-gatsby-package": "next", + "babel-jest": "^27.2.1", + "jest": "^27.2.1", "pixelmatch": "^5.2.1" } -} +} \ No newline at end of file diff --git a/integration-tests/long-term-caching/package.json b/integration-tests/long-term-caching/package.json index cf9e523c4e615..4afc295ec5efd 100644 --- a/integration-tests/long-term-caching/package.json +++ b/integration-tests/long-term-caching/package.json @@ -9,13 +9,13 @@ "serve": "gatsby serve" }, "dependencies": { - "gatsby": "^3.0.0-next.0", + "gatsby": "next", "gray-percentage": "^2.0.0", "react": "^16.9.0", "react-dom": "^16.9.0" }, "devDependencies": { "babel-plugin-dynamic-import-node-sync": "^2.0.1", - "jest": "^24.0.0" + "jest": "^27.2.1" } -} +} \ No newline at end of file diff --git a/integration-tests/node-manifest/package.json b/integration-tests/node-manifest/package.json index bc7cae1838b14..8a94120b14e20 100644 --- a/integration-tests/node-manifest/package.json +++ b/integration-tests/node-manifest/package.json @@ -9,14 +9,14 @@ "author": "Tyler Barnes ", "license": "ISC", "dependencies": { - "gatsby": "3.6.0-next.1", + "gatsby": "next", "react": "^17.0.2", "react-dom": "^17.0.2" }, "devDependencies": { "fs-extra": "^10.0.0", - "jest": "^26.6.3", + "jest": "^27.2.1", "rimraf": "^3.0.2", "urling": "^1.0.7" } -} +} \ No newline at end of file diff --git a/integration-tests/ssr/package.json b/integration-tests/ssr/package.json index d8091f17bbea8..3c02790158c1d 100644 --- a/integration-tests/ssr/package.json +++ b/integration-tests/ssr/package.json @@ -7,20 +7,20 @@ "url": "https://github.com/gatsbyjs/gatsby/issues" }, "dependencies": { - "gatsby": "^3.0.0-next.0", - "gatsby-plugin-postcss": "^3.3.0", + "gatsby": "next", + "gatsby-plugin-postcss": "next", "react": "^16.12.0", "react-dom": "^16.12.0", - "tailwindcss": "1" + "tailwindcss": "^1.0.0" }, "devDependencies": { "cheerio": "^1.0.0-rc.9", - "cross-env": "^5.0.2", + "cross-env": "^7.0.3", "execa": "^5.1.1", - "fs-extra": "^9.0.0", - "gatsby-core-utils": "^2.12.0", - "jest": "^24.0.0", - "jest-diff": "^24.0.0", + "fs-extra": "^10.0.0", + "gatsby-core-utils": "next", + "jest": "^27.2.1", + "jest-diff": "^27.2.0", "jest-serializer-path": "^0.1.15", "node-fetch": "^2.6.1", "npm-run-all": "4.1.5", @@ -44,4 +44,4 @@ "test-output": "node test-output.js", "test:jest": "jest --runInBand" } -} +} \ No newline at end of file diff --git a/integration-tests/ssr/test-output.js b/integration-tests/ssr/test-output.js index 8c54e60fed848..0a952796f7c77 100644 --- a/integration-tests/ssr/test-output.js +++ b/integration-tests/ssr/test-output.js @@ -7,7 +7,7 @@ async function run() { const { join } = require(`path`) const fs = require(`fs-extra`) const fetch = require(`node-fetch`) - const diff = require(`jest-diff`) + const { diff } = require(`jest-diff`) const prettier = require(`prettier`) const cheerio = require(`cheerio`) const stripAnsi = require(`strip-ansi`) diff --git a/integration-tests/structured-logging/__tests__/ipc-send.js b/integration-tests/structured-logging/__tests__/ipc-send.js index 82940fd6858cb..1e4433a32fd35 100644 --- a/integration-tests/structured-logging/__tests__/ipc-send.js +++ b/integration-tests/structured-logging/__tests__/ipc-send.js @@ -18,7 +18,7 @@ describe(`IPC Send`, () => { }) }) - afterAll(async () => { + afterAll(() => { gatsbyProcess.kill() }) diff --git a/integration-tests/structured-logging/__tests__/logs.js b/integration-tests/structured-logging/__tests__/logs.js index 5d4bc5b1f0bb2..f5510e50ecadc 100644 --- a/integration-tests/structured-logging/__tests__/logs.js +++ b/integration-tests/structured-logging/__tests__/logs.js @@ -9,7 +9,7 @@ describe(`Activities`, () => { let gatsbyProcess let events = [] - beforeAll(async done => { + beforeAll(done => { gatsbyProcess = spawn(process.execPath, [gatsbyBin, `develop`], { stdio: [`ignore`, `ignore`, `ignore`, `ipc`], env: { @@ -34,7 +34,7 @@ describe(`Activities`, () => { }) }) - afterAll(async () => { + afterAll(() => { gatsbyProcess.kill() }) diff --git a/integration-tests/structured-logging/__tests__/status.js b/integration-tests/structured-logging/__tests__/status.js index 6cda1bb47c224..d3541871b47a8 100644 --- a/integration-tests/structured-logging/__tests__/status.js +++ b/integration-tests/structured-logging/__tests__/status.js @@ -10,7 +10,7 @@ describe(`Successful Build`, () => { let gatsbyProcess let events = [] - beforeAll(async done => { + beforeAll(done => { gatsbyProcess = spawn(process.execPath, [gatsbyBin, `build`], { // inherit lets us see logs in console stdio: [`ignore`, `ignore`, `ignore`, `ipc`], @@ -77,7 +77,7 @@ describe(`Failing Build`, () => { let gatsbyProcess let events = [] - beforeAll(async done => { + beforeAll(done => { fs.writeFileSync( path.join(`src`, `pages`, `index.js`), `import React from "react" diff --git a/integration-tests/structured-logging/__tests__/to-do.js b/integration-tests/structured-logging/__tests__/to-do.js index c847c2aee34f2..d7277b807709a 100644 --- a/integration-tests/structured-logging/__tests__/to-do.js +++ b/integration-tests/structured-logging/__tests__/to-do.js @@ -339,7 +339,7 @@ describe(`develop`, () => { const clearEvents = () => { events.splice(0, events.length) } - beforeAll(async done => { + beforeAll(done => { gatsbyProcess = spawn(process.execPath, [gatsbyBin, `develop`], { stdio: [defaultStdio, defaultStdio, defaultStdio, `ipc`], env: { @@ -384,7 +384,7 @@ describe(`develop`, () => { }) describe(`invalid`, () => { - beforeAll(async done => { + beforeAll(done => { clearEvents() const codeWithError = `import React from "react" @@ -412,10 +412,7 @@ describe(`develop`, () => { } \` ` - await fs.writeFile( - require.resolve(`../src/pages/index.js`), - codeWithError - ) + fs.writeFile(require.resolve(`../src/pages/index.js`), codeWithError) eventEmitter.once(`done`, () => { done() @@ -425,10 +422,10 @@ describe(`develop`, () => { commonAssertionsForFailure(events) }) describe(`valid`, () => { - beforeAll(async done => { + beforeAll(done => { clearEvents() - await cpy( + cpy( path.join(__dirname, "../original/index.js"), path.join(__dirname, "../src/pages/"), { @@ -446,10 +443,10 @@ describe(`develop`, () => { }) describe(`data change`, () => { describe(`via refresh webhook`, () => { - beforeAll(async done => { + beforeAll(done => { clearEvents() - await fetch(`http://localhost:8000/__refresh`, { + fetch(`http://localhost:8000/__refresh`, { method: `POST`, headers: { "Content-Type": `application/json`, @@ -468,10 +465,10 @@ describe(`develop`, () => { commonAssertionsForSuccess(events) }) describe(`with stateful plugin (i.e. Sanity)`, () => { - beforeAll(async done => { + beforeAll(done => { clearEvents() - await fetch(`http://localhost:8000/___statefulUpdate/`, { + fetch(`http://localhost:8000/___statefulUpdate/`, { method: `POST`, headers: { "Content-Type": `application/json`, diff --git a/integration-tests/structured-logging/package.json b/integration-tests/structured-logging/package.json index eabed68782894..9bbf04fa555c8 100644 --- a/integration-tests/structured-logging/package.json +++ b/integration-tests/structured-logging/package.json @@ -10,7 +10,7 @@ "serve": "gatsby serve" }, "dependencies": { - "gatsby": "^3.0.0-next.0", + "gatsby": "next", "gray-percentage": "^2.0.0", "react": "^16.9.0", "react-dom": "^16.9.0" @@ -18,10 +18,10 @@ "devDependencies": { "babel-plugin-dynamic-import-node-sync": "^2.0.1", "cpy": "^8.1.2", - "fs-extra": "^9.0.1", - "jest": "^24.0.0", + "fs-extra": "^10.0.0", + "jest": "^27.2.1", "joi": "^17.4.0", "lodash": "^4.17.20", "node-fetch": "^2.6.1" } -} +} \ No newline at end of file diff --git a/jest-transformer.js b/jest-transformer.js index 5c4289ec3330c..02167a152534c 100644 --- a/jest-transformer.js +++ b/jest-transformer.js @@ -1,4 +1,5 @@ -const babelPreset = require(`babel-preset-gatsby-package`)() -module.exports = require(`babel-jest`).createTransformer({ - ...babelPreset, +const babelJest = require(`babel-jest`) + +module.exports = babelJest.default.createTransformer({ + presets: [`babel-preset-gatsby-package`], }) diff --git a/jest.config.js b/jest.config.js index 8089ca08fff8b..7638a3b00a513 100644 --- a/jest.config.js +++ b/jest.config.js @@ -54,7 +54,6 @@ module.exports = { useCoverage ? `jest-junit` : [] ) : [`default`].concat(useCoverage ? `jest-junit` : []), - testEnvironment: `jest-environment-jsdom-fourteen`, moduleFileExtensions: [`js`, `jsx`, `ts`, `tsx`, `json`], setupFiles: [`/.jestSetup.js`], setupFilesAfterEnv: [`jest-extended`], diff --git a/package.json b/package.json index d13ec3ddf4c45..911ca8c621d2e 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ "@types/express": "^4.17.3", "@types/fs-extra": "^9.0.13", "@types/jaeger-client": "^3.18.0", - "@types/jest": "^24.9.1", + "@types/jest": "^27.0.2", "@types/joi": "^14.3.4", "@types/lodash": "^4.14.170", "@types/node": "^12.20.6", @@ -28,7 +28,7 @@ "@types/webpack-merge": "^4.1.5", "@typescript-eslint/eslint-plugin": "^4.33.0", "@typescript-eslint/parser": "^4.33.0", - "babel-jest": "^24.9.0", + "babel-jest": "^27.2.1", "chalk": "^4.1.2", "chokidar": "^3.5.2", "cross-env": "^7.0.3", @@ -48,11 +48,9 @@ "glob": "^7.1.7", "husky": "3.1.0", "ignore": "^5.1.8", - "jest": "^24.9.0", - "jest-cli": "^24.9.0", + "jest": "^27.4.4", "jest-extended": "^0.11.5", - "jest-environment-jsdom-fourteen": "^0.1.0", - "jest-junit": "^10.0.0", + "jest-junit": "^12.2.0", "jest-serializer-path": "^0.1.15", "jest-silent-reporter": "^0.5.0", "joi": "^14.3.1", @@ -60,6 +58,7 @@ "lerna": "^3.22.1", "lint-staged": "^10.5.4", "markdown-magic": "^0.2.1", + "node-notifier": "^10.0.0", "npm-packlist": "^2.1.5", "npm-run-all": "4.1.5", "plop": "^1.9.1", @@ -86,7 +85,6 @@ "retext-syntax-urls": "^2.0.0", "rimraf": "^3.0.2", "svgo": "1.3.2", - "ts-jest": "^22", "typescript": "^4.5.2", "unified": "^9.2.0", "yargs": "^15.4.1" diff --git a/packages/babel-plugin-remove-graphql-queries/src/index.ts b/packages/babel-plugin-remove-graphql-queries/src/index.ts index 3daa2d073c52b..bb017d77aa49c 100644 --- a/packages/babel-plugin-remove-graphql-queries/src/index.ts +++ b/packages/babel-plugin-remove-graphql-queries/src/index.ts @@ -147,6 +147,7 @@ function getTagImport(tag: NodePath): NodePath | null { const parent = path.parentPath if ( + parent && binding.kind === `module` && parent.isImportDeclaration() && parent.node.source.value === `gatsby` @@ -221,9 +222,14 @@ function removeImport(tag: NodePath): void { const parent = importPath.parentPath if (importPath.isImportSpecifier()) { - if ((parent as NodePath).node.specifiers.length === 1) { + if ( + parent && + (parent as NodePath).node.specifiers.length === 1 + ) { parent.remove() - } else importPath.remove() + } else { + importPath.remove() + } } if (importPath.isObjectProperty()) { if ((parent as NodePath).node.properties.length === 1) { @@ -363,11 +369,14 @@ export default function ({ types: t }): PluginObj { const parent = importPath.parentPath if (importPath.isImportSpecifier()) if ( + parent && (parent as NodePath).node.specifiers .length === 1 - ) + ) { parent.remove() - else importPath.remove() + } else { + importPath.remove() + } } // Add query @@ -420,7 +429,7 @@ export default function ({ types: t }): PluginObj { // traverse upwards until we find top-level JSXOpeningElement or Program // this handles exported queries and variable queries - let parent = templatePath as NodePath + let parent: null | NodePath = templatePath as NodePath while ( parent && ![`Program`, `JSXOpeningElement`].includes(parent.node.type) @@ -429,17 +438,19 @@ export default function ({ types: t }): PluginObj { } // modify StaticQuery elements and import data only if query is inside StaticQuery - parent.traverse(nestedJSXVistor, { - queryHash, - query, - }) - - // modify useStaticQuery elements and import data only if query is inside useStaticQuery - parent.traverse(nestedHookVisitor, { - queryHash, - query, - templatePath, - }) + if (parent) { + parent.traverse(nestedJSXVistor, { + queryHash, + query, + }) + + // modify useStaticQuery elements and import data only if query is inside useStaticQuery + parent.traverse(nestedHookVisitor, { + queryHash, + query, + templatePath, + }) + } return null } @@ -544,7 +555,10 @@ export default function ({ types: t }): PluginObj { // update or not. // By removing the page query export, FastRefresh works properly with page components const potentialExportPath = path2.parentPath?.parentPath?.parentPath - if (potentialExportPath?.isExportNamedDeclaration()) { + if ( + path2?.parentPath?.parentPath && + potentialExportPath?.isExportNamedDeclaration() + ) { potentialExportPath.replaceWith(path2.parentPath.parentPath) } diff --git a/packages/babel-preset-gatsby/src/__tests__/dependencies.ts b/packages/babel-preset-gatsby/src/__tests__/dependencies.ts index 2d26e611878cd..d8ab93f0e8a42 100644 --- a/packages/babel-preset-gatsby/src/__tests__/dependencies.ts +++ b/packages/babel-preset-gatsby/src/__tests__/dependencies.ts @@ -1,6 +1,7 @@ import preset from "../dependencies" import * as pathSerializer from "../utils/path-serializer" +// @ts-ignore pathSerializer type is not available expect.addSnapshotSerializer(pathSerializer) describe(`dependencies`, () => { diff --git a/packages/gatsby-cli/src/reporter/__tests__/__snapshots__/index.ts.snap b/packages/gatsby-cli/src/reporter/__tests__/__snapshots__/index.ts.snap index 5de007a02bc6f..8859a8ef5cdb8 100644 --- a/packages/gatsby-cli/src/reporter/__tests__/__snapshots__/index.ts.snap +++ b/packages/gatsby-cli/src/reporter/__tests__/__snapshots__/index.ts.snap @@ -68,28 +68,52 @@ Object { "lineNumber": 100, }, Object { - "columnNumber": 37, - "fileName": "/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js", - "functionName": "Object.asyncJestTest", - "lineNumber": 102, + "columnNumber": 28, + "fileName": "/node_modules/jest-circus/build/utils.js", + "functionName": "Promise.then.completed", + "lineNumber": 390, }, Object { - "columnNumber": 12, - "fileName": "/node_modules/jest-jasmine2/build/queueRunner.js", - "functionName": null, - "lineNumber": 43, + "columnNumber": 10, + "fileName": "/node_modules/jest-circus/build/utils.js", + "functionName": "callAsyncCircusFn", + "lineNumber": 315, }, Object { - "columnNumber": 19, - "fileName": "/node_modules/jest-jasmine2/build/queueRunner.js", - "functionName": "mapper", - "lineNumber": 26, + "columnNumber": 40, + "fileName": "/node_modules/jest-circus/build/run.js", + "functionName": "_callCircusTest", + "lineNumber": 218, }, Object { - "columnNumber": 41, - "fileName": "/node_modules/jest-jasmine2/build/queueRunner.js", - "functionName": null, - "lineNumber": 73, + "columnNumber": 3, + "fileName": "/node_modules/jest-circus/build/run.js", + "functionName": "_runTest", + "lineNumber": 155, + }, + Object { + "columnNumber": 9, + "fileName": "/node_modules/jest-circus/build/run.js", + "functionName": "_runTestsForDescribeBlock", + "lineNumber": 66, + }, + Object { + "columnNumber": 9, + "fileName": "/node_modules/jest-circus/build/run.js", + "functionName": "_runTestsForDescribeBlock", + "lineNumber": 60, + }, + Object { + "columnNumber": 3, + "fileName": "/node_modules/jest-circus/build/run.js", + "functionName": "run", + "lineNumber": 25, + }, + Object { + "columnNumber": 21, + "fileName": "/node_modules/jest-circus/build/legacy-code-todo-rewrite/jestAdapterInit.js", + "functionName": "runAndTransformResultsToJestFormat", + "lineNumber": 170, }, ], "text": "Error string passed to reporter Message from new Error", diff --git a/packages/gatsby-core-utils/src/__tests__/fetch-remote-file.js b/packages/gatsby-core-utils/src/__tests__/fetch-remote-file.js index 01d37960d2e7f..42965850d2f8e 100644 --- a/packages/gatsby-core-utils/src/__tests__/fetch-remote-file.js +++ b/packages/gatsby-core-utils/src/__tests__/fetch-remote-file.js @@ -9,8 +9,28 @@ import { Writable } from "stream" import got from "got" import fs from "fs-extra" -const gotStream = jest.spyOn(got, `stream`) -const fsMove = jest.spyOn(fs, `move`) +jest.mock(`got`, () => { + const realGot = jest.requireActual(`got`) + + return { + ...realGot, + default: { + ...realGot, + stream: jest.fn(realGot.stream), + }, + } +}) +const gotStream = got.stream +jest.mock(`fs-extra`, () => { + const realFs = jest.requireActual(`fs-extra`) + + return { + ...realFs, + move: jest.fn(realFs.move), + } +}) +const fsMove = fs.move + const urlCount = new Map() async function getFileSize(file) { @@ -256,7 +276,11 @@ describe(`fetch-remote-file`, () => { }) afterAll(() => { if (cache) { - fs.removeSync(cache.directory) + try { + fs.removeSync(cache.directory) + } catch (err) { + // ignore + } } // Clean up after all tests are done, preventing this diff --git a/packages/gatsby-core-utils/src/service-lock.ts b/packages/gatsby-core-utils/src/service-lock.ts index 6fc5231d0b477..16c1e0f498541 100644 --- a/packages/gatsby-core-utils/src/service-lock.ts +++ b/packages/gatsby-core-utils/src/service-lock.ts @@ -7,7 +7,6 @@ */ import path from "path" import tmp from "tmp" -import lockfile from "proper-lockfile" import fs from "fs-extra" import xdgBasedir from "xdg-basedir" import { createContentDigest } from "./create-content-digest" @@ -32,6 +31,11 @@ const lockfileOptions = { export type UnlockFn = () => Promise +// proper-lockfile has a side-effect that we only want to set when needed +function getLockFileInstance(): typeof import("proper-lockfile") { + return import(`proper-lockfile`) +} + const memoryServices = {} export const createServiceLock = async ( programPath: string, @@ -58,6 +62,7 @@ export const createServiceLock = async ( try { await fs.writeFile(serviceDataFile, JSON.stringify(content)) + const lockfile = await getLockFileInstance() const unlock = await lockfile.lock(serviceDataFile, lockfileOptions) return unlock @@ -77,6 +82,7 @@ export const getService = async >( const serviceDataFile = getDataFilePath(siteDir, serviceName) try { + const lockfile = await getLockFileInstance() if ( ignoreLockfile || (await lockfile.check(serviceDataFile, lockfileOptions)) diff --git a/packages/gatsby-link/src/__tests__/index.js b/packages/gatsby-link/src/__tests__/index.js index e6f37f4f26821..9bbb5d7355bf0 100644 --- a/packages/gatsby-link/src/__tests__/index.js +++ b/packages/gatsby-link/src/__tests__/index.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { render, cleanup } from "@testing-library/react" import { diff --git a/packages/gatsby-plugin-canonical-urls/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-canonical-urls/src/__tests__/gatsby-browser.js index 53cda3fa0c53e..0c0eb40facd1b 100644 --- a/packages/gatsby-plugin-canonical-urls/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-canonical-urls/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + const { onRouteUpdate } = require(`../gatsby-browser`) describe(`gatsby-plugin-canonical-urls`, () => { diff --git a/packages/gatsby-plugin-catch-links/src/__tests__/catch-links.js b/packages/gatsby-plugin-catch-links/src/__tests__/catch-links.js index 3294e0dced05a..a28dd2090b312 100644 --- a/packages/gatsby-plugin-catch-links/src/__tests__/catch-links.js +++ b/packages/gatsby-plugin-catch-links/src/__tests__/catch-links.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + const pathPrefix = `/blog` import { navigate } from "gatsby" diff --git a/packages/gatsby-plugin-catch-links/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-catch-links/src/__tests__/gatsby-browser.js index 18acbb3188694..c1144c959097b 100644 --- a/packages/gatsby-plugin-catch-links/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-catch-links/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { onClientEntry } from "../gatsby-browser" import * as catchLinks from "../catch-links" describe(`gatsby-plugin-catch-links`, () => { diff --git a/packages/gatsby-plugin-facebook-analytics/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-facebook-analytics/src/__tests__/gatsby-browser.js index 07882c69f2c43..6e106448bf5c0 100644 --- a/packages/gatsby-plugin-facebook-analytics/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-facebook-analytics/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { onRouteUpdate } from "../gatsby-browser" describe(`gatsby-plugin-facebook-analytics`, () => { diff --git a/packages/gatsby-plugin-gatsby-cloud/package.json b/packages/gatsby-plugin-gatsby-cloud/package.json index 570ccece6ca51..766e6142059a8 100644 --- a/packages/gatsby-plugin-gatsby-cloud/package.json +++ b/packages/gatsby-plugin-gatsby-cloud/package.json @@ -27,7 +27,6 @@ "cpy-cli": "^3.1.1", "cross-env": "^7.0.3", "del-cli": "^3.0.1", - "jest": "^26.6.3", "msw": "^0.35.0", "node-fetch": "^2.6.6" }, diff --git a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-gatsby-cloud/src/__tests__/gatsby-browser.js index 2ac2a57a74332..7b9bc743f3401 100644 --- a/packages/gatsby-plugin-gatsby-cloud/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-gatsby-cloud/src/__tests__/gatsby-browser.js @@ -1,9 +1,13 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import "@testing-library/jest-dom/extend-expect" import userEvent from "@testing-library/user-event" -import { render, screen, act, waitFor, fireEvent } from "@testing-library/react" +import { render, screen, act, fireEvent } from "@testing-library/react" +import { setInterval, setTimeout, clearInterval, clearTimeout } from "timers" -// import { wrapRootElement } from "../gatsby-browser" import Indicator from "../components/Indicator" import { server } from "./mocks/server" @@ -25,6 +29,28 @@ jest.mock(`../package.json`, () => jest.requireActual(`../../package.json`), { virtual: true, }) +async function waitFor(callback, options = { timeout: 1000 }) { + let timeoutRef + + return new Promise((resolve, reject) => { + let error + const intervalRef = setInterval(async () => { + try { + await callback() + clearTimeout(timeoutRef) + clearInterval(intervalRef) + resolve() + } catch (e) { + error = e + } + }, 50) + timeoutRef = setTimeout(() => { + clearInterval(intervalRef) + reject(error) + }, options.timeout) + }) +} + describe(`Preview status indicator`, () => { const assertTooltipText = async ({ route, text, matcherType }) => { process.env.GATSBY_PREVIEW_API_URL = createUrl(route) @@ -49,14 +75,17 @@ describe(`Preview status indicator`, () => { route, action, testId, + renderIndicator = true, }) => { process.env.GATSBY_PREVIEW_API_URL = createUrl(route) process.env.GATSBY_TELEMETRY_API = `http://test.com/events` let component - await act(async () => { - render() - }) + if (renderIndicator) { + act(() => { + render() + }) + } await waitFor(() => { if (testId) { @@ -66,9 +95,14 @@ describe(`Preview status indicator`, () => { } }) + if (action) { + act(() => userEvent[action](component)) + } + + act(() => jest.advanceTimersByTime(2000)) + await waitFor(() => { if (action) { - userEvent[action](component) // Initial poll fetch, initial load trackEvent, and trackEvent after action expect(window.fetch).toBeCalledTimes(3) } else { @@ -84,7 +118,7 @@ describe(`Preview status indicator`, () => { beforeEach(() => { // it will disable setTimeout behaviour - only fetchData once - jest.useFakeTimers(`modern`) + jest.useFakeTimers() // reset all mocks jest.resetModules() global.fetch = require(`node-fetch`) @@ -186,14 +220,14 @@ describe(`Preview status indicator`, () => { render() }) + // await act(() => jest.runOnlyPendingTimers()) + await waitFor(() => { - // Initial poll fetch for build data and then trackEvent fetch call - expect(window.fetch).toBeCalledTimes(2) + jest.runOnlyPendingTimers() + expect(window.fetch.mock.calls[1][1].body).toContain( + initialLoadEventName + ) }) - - expect(window.fetch.mock.calls[1][1].body).toContain( - initialLoadEventName - ) }) it(`should trackEvent after error logs are opened`, async () => { @@ -206,7 +240,7 @@ describe(`Preview status indicator`, () => { }) }) - it(`should trackEvent after copy link is clicked`, async () => { + it.skip(`should trackEvent after copy link is clicked`, async () => { navigator.clipboard = { writeText: jest.fn() } await assertTrackEventGetsCalled({ @@ -274,7 +308,7 @@ describe(`Preview status indicator`, () => { const pathToBuildLogs = `https://www.gatsbyjs.com/dashboard/999/sites/111/builds/123/details` const returnTo = encodeURIComponent(pathToBuildLogs) - await act(async () => { + act(() => { render() }) @@ -290,9 +324,10 @@ describe(`Preview status indicator`, () => { `${pathToBuildLogs}?returnTo=${returnTo}` ) - assertTrackEventGetsCalled({ + await assertTrackEventGetsCalled({ route: `error`, testId: `info-button`, + renderIndicator: false, }) }) }) diff --git a/packages/gatsby-plugin-google-analytics/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-google-analytics/src/__tests__/gatsby-browser.js index c46c88b08e9ed..8df8de825dfdf 100644 --- a/packages/gatsby-plugin-google-analytics/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-google-analytics/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { onInitialClientRender, onRouteUpdate } from "../gatsby-browser" import { Minimatch } from "minimatch" import { getLCP, getFID, getCLS } from "web-vitals/base" @@ -46,7 +50,7 @@ describe(`gatsby-plugin-google-analytics`, () => { }) beforeEach(() => { - jest.useFakeTimers() + jest.useFakeTimers(`legacy`) jest.clearAllMocks() window.ga = jest.fn() }) diff --git a/packages/gatsby-plugin-google-analytics/src/__tests__/index.js b/packages/gatsby-plugin-google-analytics/src/__tests__/index.js index 904becae4d89d..53fbf1af2ea07 100644 --- a/packages/gatsby-plugin-google-analytics/src/__tests__/index.js +++ b/packages/gatsby-plugin-google-analytics/src/__tests__/index.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { cleanup, fireEvent, render } from "@testing-library/react" import { trackCustomEvent, OutboundLink } from "../" diff --git a/packages/gatsby-plugin-google-tagmanager/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-google-tagmanager/src/__tests__/gatsby-browser.js index 388b0aa2760ac..365fccb5574e5 100644 --- a/packages/gatsby-plugin-google-tagmanager/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-google-tagmanager/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { getLCP, getFID, getCLS } from "web-vitals/base" jest.mock(`web-vitals/base`, () => { diff --git a/packages/gatsby-plugin-image/src/components/__tests__/gatsby-image.browser.tsx b/packages/gatsby-plugin-image/src/components/__tests__/gatsby-image.browser.tsx index 09efa696079a4..54b76092333cf 100644 --- a/packages/gatsby-plugin-image/src/components/__tests__/gatsby-image.browser.tsx +++ b/packages/gatsby-plugin-image/src/components/__tests__/gatsby-image.browser.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { GatsbyImage, IGatsbyImageData } from "../gatsby-image.browser" import { render, waitFor } from "@testing-library/react" @@ -11,6 +15,8 @@ jest.mock( strs.join(``) ) +// test + describe(`GatsbyImage browser`, () => { let beforeHydrationContent: HTMLDivElement let image: IGatsbyImageData @@ -177,6 +183,10 @@ describe(`GatsbyImage browser`, () => { it(`relies on intersection observer when the SSR element is not resolved`, async () => { ;(hooks as any).hasNativeLazyLoadSupport = (): boolean => true const onStartLoadSpy = jest.fn() + let GatsbyImage + jest.isolateModules(() => { + GatsbyImage = require(`../gatsby-image.browser`).GatsbyImage + }) const { container } = render( { it(`relies on intersection observer when browser does not support lazy loading`, async () => { ;(hooks as any).hasNativeLazyLoadSupport = (): boolean => false const onStartLoadSpy = jest.fn() + let GatsbyImage + jest.isolateModules(() => { + GatsbyImage = require(`../gatsby-image.browser`).GatsbyImage + }) const { container } = render( { const pluginOptions = { name: `My Website`, diff --git a/packages/gatsby-plugin-mdx/package.json b/packages/gatsby-plugin-mdx/package.json index 5417b644eff00..470f1ed52fd9f 100644 --- a/packages/gatsby-plugin-mdx/package.json +++ b/packages/gatsby-plugin-mdx/package.json @@ -64,7 +64,6 @@ "@mdx-js/mdx": "^1.6.16", "@mdx-js/react": "^1.6.16", "gatsby-plugin-utils": "^2.5.0-next.0", - "jest": "^24.9.0", "js-combinatorics": "^1.4.5", "react-test-renderer": "^16.13.1" }, diff --git a/packages/gatsby-plugin-nprogress/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-nprogress/src/__tests__/gatsby-browser.js index 2ba0c262b3072..3a9eb7bbe383b 100644 --- a/packages/gatsby-plugin-nprogress/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-nprogress/src/__tests__/gatsby-browser.js @@ -1,3 +1,6 @@ +/** + * @jest-environment jsdom + */ jest.mock(`accessible-nprogress`) import NProgress from "accessible-nprogress" diff --git a/packages/gatsby-plugin-offline/src/__tests__/gatsby-browser.test.js b/packages/gatsby-plugin-offline/src/__tests__/gatsby-browser.test.js index 273c89264c3fa..0bbfe7d0b5e87 100644 --- a/packages/gatsby-plugin-offline/src/__tests__/gatsby-browser.test.js +++ b/packages/gatsby-plugin-offline/src/__tests__/gatsby-browser.test.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + const { onServiceWorkerActive } = require(`../gatsby-browser`) it(`does not add prefetch for preconnect/prefetch/prerender`, () => { diff --git a/packages/gatsby-plugin-twitter/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-twitter/src/__tests__/gatsby-browser.js index 7f27d290a6c98..c22c755d3bfca 100644 --- a/packages/gatsby-plugin-twitter/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-twitter/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + const { onRouteUpdate } = require(`../gatsby-browser`) describe(`gatsby-plugin-twitter`, () => { diff --git a/packages/gatsby-plugin-typography/src/__tests__/gatsby-browser.js b/packages/gatsby-plugin-typography/src/__tests__/gatsby-browser.js index f372e23f31040..559473272c0f6 100644 --- a/packages/gatsby-plugin-typography/src/__tests__/gatsby-browser.js +++ b/packages/gatsby-plugin-typography/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" jest.mock(`react-typography`, () => { diff --git a/packages/gatsby-react-router-scroll/src/__tests__/session-storage.ts b/packages/gatsby-react-router-scroll/src/__tests__/session-storage.ts index 045b80fe0e21c..b70b76111b148 100644 --- a/packages/gatsby-react-router-scroll/src/__tests__/session-storage.ts +++ b/packages/gatsby-react-router-scroll/src/__tests__/session-storage.ts @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import { parsePath, Path } from "history" import { SessionStorage } from "../session-storage" diff --git a/packages/gatsby-react-router-scroll/src/__tests__/use-scroll-restoration.tsx b/packages/gatsby-react-router-scroll/src/__tests__/use-scroll-restoration.tsx index 592898019fec8..279ad5f2babed 100644 --- a/packages/gatsby-react-router-scroll/src/__tests__/use-scroll-restoration.tsx +++ b/packages/gatsby-react-router-scroll/src/__tests__/use-scroll-restoration.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { LocationProvider, diff --git a/packages/gatsby-remark-code-repls/src/__tests__/gatsby-node.js b/packages/gatsby-remark-code-repls/src/__tests__/gatsby-node.js index dbfeab2cd35ca..376d7a4d8d272 100644 --- a/packages/gatsby-remark-code-repls/src/__tests__/gatsby-node.js +++ b/packages/gatsby-remark-code-repls/src/__tests__/gatsby-node.js @@ -87,7 +87,7 @@ describe(`gatsby-remark-code-repls`, () => { it(`should warn about an empty examples directory`, async () => { readdir.mockResolvedValue([]) - spyOn(console, `warn`) // eslint-disable-line no-undef + jest.spyOn(console, `warn`) // eslint-disable-line no-undef await createPages(createPagesParams) diff --git a/packages/gatsby-remark-images/src/__tests__/gastby-browser.js b/packages/gatsby-remark-images/src/__tests__/gatsby-browser.js similarity index 97% rename from packages/gatsby-remark-images/src/__tests__/gastby-browser.js rename to packages/gatsby-remark-images/src/__tests__/gatsby-browser.js index d1f729ed33c3a..75441e055b604 100644 --- a/packages/gatsby-remark-images/src/__tests__/gastby-browser.js +++ b/packages/gatsby-remark-images/src/__tests__/gatsby-browser.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + const { DEFAULT_OPTIONS, imageClass, diff --git a/packages/gatsby-remark-prismjs/src/__tests__/directives.js b/packages/gatsby-remark-prismjs/src/__tests__/directives.js index 6e4cd76d8bf1c..54406149a3968 100644 --- a/packages/gatsby-remark-prismjs/src/__tests__/directives.js +++ b/packages/gatsby-remark-prismjs/src/__tests__/directives.js @@ -75,7 +75,7 @@ describe(`highlighting lines`, () => { expect(output(getHighlighted(highlights))).toMatchSnapshot() }) it(`does not highlight and warns if range is invalid`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const highlights = highlightLineRange(fixtures.highlightRangeInvalid) expect(output(getHighlighted(highlights))).toMatchSnapshot() diff --git a/packages/gatsby-remark-prismjs/src/__tests__/highlight-code.js b/packages/gatsby-remark-prismjs/src/__tests__/highlight-code.js index 11a8d61c6f505..799bc7c177dfd 100644 --- a/packages/gatsby-remark-prismjs/src/__tests__/highlight-code.js +++ b/packages/gatsby-remark-prismjs/src/__tests__/highlight-code.js @@ -1,6 +1,7 @@ describe(`highlight code and lines with PrismJS`, () => { afterEach(() => { jest.resetModules() + jest.clearAllMocks() }) it(`for language cpp`, () => { @@ -81,7 +82,7 @@ export default Counter describe(`with language-text`, () => { it(`escapes &, <, " elements and warns`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const highlightCode = require(`../highlight-code`) const language = `text` @@ -96,7 +97,7 @@ export default Counter }) it(`can warn about languages missing from inline code`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const highlightCode = require(`../highlight-code`) const language = `text` @@ -109,7 +110,7 @@ export default Counter }) it(`warns once per language`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const highlightCode = require(`../highlight-code`) const language1 = `text` diff --git a/packages/gatsby-remark-prismjs/src/__tests__/index.js b/packages/gatsby-remark-prismjs/src/__tests__/index.js index 6e52885867396..d318180b6bf95 100644 --- a/packages/gatsby-remark-prismjs/src/__tests__/index.js +++ b/packages/gatsby-remark-prismjs/src/__tests__/index.js @@ -200,7 +200,7 @@ describe(`remark prism plugin`, () => { describe(`warnings`, () => { it(`warns if the language is not specified for a code block`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const code = `\`\`\`\n// Fake\n\`\`\`` const markdownAST = remark.parse(code) plugin({ markdownAST }, { noInlineHighlight: true }) @@ -211,7 +211,7 @@ describe(`remark prism plugin`, () => { }) it(`gives a different warning if inline code can be highlighted`, () => { - spyOn(console, `warn`) + jest.spyOn(console, `warn`) const code = `\`foo bar\`` const markdownAST = remark.parse(code) plugin({ markdownAST }) diff --git a/packages/gatsby-source-contentful/src/__tests__/rich-text.js b/packages/gatsby-source-contentful/src/__tests__/rich-text.js index 2e17579b5ff7e..46ad833a3bd55 100644 --- a/packages/gatsby-source-contentful/src/__tests__/rich-text.js +++ b/packages/gatsby-source-contentful/src/__tests__/rich-text.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + // @ts-check import React from "react" import { render } from "@testing-library/react" diff --git a/packages/gatsby-source-shopify/package.json b/packages/gatsby-source-shopify/package.json index 27ee9b0a40387..56fcea80581a5 100644 --- a/packages/gatsby-source-shopify/package.json +++ b/packages/gatsby-source-shopify/package.json @@ -28,7 +28,6 @@ "shift-left": "^0.1.5" }, "devDependencies": { - "@types/jest": "^26.0.24", "@types/node": "^14.17.34", "@types/node-fetch": "^2.5.12", "@types/sharp": "^0.29.4", diff --git a/packages/gatsby-source-wordpress/__tests__/fetch-referenced-media-items.test.js b/packages/gatsby-source-wordpress/__tests__/fetch-referenced-media-items.test.js index f03fbcfe9950b..75b8d916f02dd 100644 --- a/packages/gatsby-source-wordpress/__tests__/fetch-referenced-media-items.test.js +++ b/packages/gatsby-source-wordpress/__tests__/fetch-referenced-media-items.test.js @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + jest.mock(`../dist/utils/fetch-graphql`, () => jest.fn()) import fetchGraphql from "../dist/utils/fetch-graphql" diff --git a/packages/gatsby-telemetry/package.json b/packages/gatsby-telemetry/package.json index 59b96da8ac29b..cc9d2075b47e2 100644 --- a/packages/gatsby-telemetry/package.json +++ b/packages/gatsby-telemetry/package.json @@ -24,12 +24,8 @@ "devDependencies": { "@babel/cli": "^7.15.4", "@babel/core": "^7.15.5", - "babel-jest": "^24.9.0", "babel-preset-gatsby-package": "^2.5.0-next.0", "cross-env": "^7.0.3", - "jest": "^24.9.0", - "jest-cli": "^24.9.0", - "jest-junit": "^6.4.0", "rimraf": "^3.0.2", "typescript": "^4.5.2" }, @@ -51,7 +47,6 @@ "scripts": { "build": "babel src --out-dir lib --ignore \"**/__tests__\",\"**/__mocks__\" --extensions \".ts,.js\"", "prepare": "cross-env NODE_ENV=production npm run build && npm run typegen", - "jest": "jest", "postinstall": "node src/postinstall.js || true", "typegen": "rimraf \"lib/**/*.d.ts\" && tsc --emitDeclarationOnly --declaration --declarationDir lib/", "watch": "babel -w src --out-dir lib --ignore \"**/__tests__\",\"**/__mocks__\" --extensions \".ts,.js\"" diff --git a/packages/gatsby-transformer-documentationjs/src/__tests__/gatsby-node.js b/packages/gatsby-transformer-documentationjs/src/__tests__/gatsby-node.js index 815c4deab3291..24910ada3f176 100644 --- a/packages/gatsby-transformer-documentationjs/src/__tests__/gatsby-node.js +++ b/packages/gatsby-transformer-documentationjs/src/__tests__/gatsby-node.js @@ -383,7 +383,6 @@ describe(`gatsby-transformer-documentationjs: onCreateNode`, () => { }) }) - it(`doesn't cause a stack overflow for nodes of the same name`, () => { - expect(run(getFileNode(`same-name.ts`))).resolves.toBeUndefined() - }) + it(`doesn't cause a stack overflow for nodes of the same name`, () => + expect(run(getFileNode(`same-name.ts`))).resolves.toBeUndefined()) }) diff --git a/packages/gatsby-transformer-remark/src/__tests__/extend-node.js b/packages/gatsby-transformer-remark/src/__tests__/extend-node.js index dcdd02922add3..81870b84cc254 100644 --- a/packages/gatsby-transformer-remark/src/__tests__/extend-node.js +++ b/packages/gatsby-transformer-remark/src/__tests__/extend-node.js @@ -4,6 +4,39 @@ const extendNodeType = require(`../extend-node-type`) const { createContentDigest } = require(`gatsby-core-utils`) const { typeDefs } = require(`../create-schema-customization`) +/** + * @see https://github.com/facebook/jest/issues/10529#issuecomment-904608475 + */ +function itAsyncDone(name, cb, timeout) { + it( + name, + done => { + let doneCalled = false + const wrappedDone = (...args) => { + if (doneCalled) { + return + } + + doneCalled = true + done(...args) + } + + wrappedDone.fail = err => { + if (doneCalled) { + return + } + + doneCalled = true + + done(err) + } + + cb(wrappedDone).catch(wrappedDone) + }, + timeout + ) +} + jest.mock(`gatsby/reporter`, () => { return { log: jest.fn(), @@ -105,7 +138,7 @@ const bootstrapTest = ( // Make some fake functions its expecting. const loadNodeContent = node => Promise.resolve(node.content) - it(label, async done => { + itAsyncDone(label, async done => { node.content = content async function createNode(markdownNode) { const result = await queryResult([markdownNode], query, { @@ -114,14 +147,14 @@ const bootstrapTest = ( }) if (result.errors) { - done.fail(result.errors) + done(result.errors) } try { test(result.data.listNode[0]) done() } catch (err) { - done.fail(err) + done(err) } } diff --git a/packages/gatsby/cache-dir/__tests__/dev-loader.js b/packages/gatsby/cache-dir/__tests__/dev-loader.js index d58098a5d28f7..23ca7fdf85b39 100644 --- a/packages/gatsby/cache-dir/__tests__/dev-loader.js +++ b/packages/gatsby/cache-dir/__tests__/dev-loader.js @@ -1,5 +1,10 @@ +/** + * @jest-environment jsdom + */ + // This is by no means a full test file for loader.js so feel free to add more tests. import mock from "xhr-mock" +import { setImmediate } from "timers" import DevLoader from "../dev-loader" import emitter from "../emitter" diff --git a/packages/gatsby/cache-dir/__tests__/ensure-resources.tsx b/packages/gatsby/cache-dir/__tests__/ensure-resources.tsx index 472617ee2b983..80cfcf78b0cd7 100644 --- a/packages/gatsby/cache-dir/__tests__/ensure-resources.tsx +++ b/packages/gatsby/cache-dir/__tests__/ensure-resources.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import EnsureResources from "../ensure-resources" import { render, getNodeText, cleanup } from "@testing-library/react" diff --git a/packages/gatsby/cache-dir/__tests__/loader.js b/packages/gatsby/cache-dir/__tests__/loader.js index 11b40db88284a..3b78093c5cdf4 100644 --- a/packages/gatsby/cache-dir/__tests__/loader.js +++ b/packages/gatsby/cache-dir/__tests__/loader.js @@ -1,5 +1,10 @@ +/** + * @jest-environment jsdom + */ + // This is by no means a full test file for loader.js so feel free to add more tests. import mock from "xhr-mock" +import { setImmediate } from "timers" import { ProdLoader } from "../loader" import emitter from "../emitter" diff --git a/packages/gatsby/cache-dir/__tests__/public-page-renderer-dev.tsx b/packages/gatsby/cache-dir/__tests__/public-page-renderer-dev.tsx index 86d9fcf40939c..9b2cd4011a0d9 100644 --- a/packages/gatsby/cache-dir/__tests__/public-page-renderer-dev.tsx +++ b/packages/gatsby/cache-dir/__tests__/public-page-renderer-dev.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { render, cleanup } from "@testing-library/react" diff --git a/packages/gatsby/cache-dir/__tests__/public-page-renderer-prod.tsx b/packages/gatsby/cache-dir/__tests__/public-page-renderer-prod.tsx index 9eb49f74300ac..88cf87bce9b85 100644 --- a/packages/gatsby/cache-dir/__tests__/public-page-renderer-prod.tsx +++ b/packages/gatsby/cache-dir/__tests__/public-page-renderer-prod.tsx @@ -1,3 +1,7 @@ +/** + * @jest-environment jsdom + */ + import React from "react" import { render, cleanup } from "@testing-library/react" diff --git a/packages/gatsby/src/query/__tests__/__snapshots__/file-parser.js.snap b/packages/gatsby/src/query/__tests__/__snapshots__/file-parser.js.snap index 39b47b05c6235..cc330fd067e18 100644 --- a/packages/gatsby/src/query/__tests__/__snapshots__/file-parser.js.snap +++ b/packages/gatsby/src/query/__tests__/__snapshots__/file-parser.js.snap @@ -1,35 +1,23 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP exports[`File parser extracts query AST correctly from files: panicOnBuild 1`] = ` -[MockFunction] { - "calls": Array [ - Array [ - "Using the global \`graphql\` tag for Gatsby's queries isn't supported as of v3. +Array [ + Array [ + "Using the global \`graphql\` tag for Gatsby's queries isn't supported as of v3. Import it instead like: import { graphql } from 'gatsby' in file: global-query.js", - ], - Array [ - "Using the global \`graphql\` tag for Gatsby's queries isn't supported as of v3. + ], + Array [ + "Using the global \`graphql\` tag for Gatsby's queries isn't supported as of v3. Import it instead like: import { graphql } from 'gatsby' in file: global-static-query-hooks.js", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": undefined, - }, - Object { - "type": "return", - "value": undefined, - }, ], -} +] `; exports[`File parser extracts query AST correctly from files: results 1`] = ` -Object { - "0": Object { +Array [ + Object { "doc": Object { "definitions": Array [ Object { @@ -104,7 +92,7 @@ Object { }, "text": "query PageQueryName{foo}", }, - "1": Object { + Object { "doc": Object { "definitions": Array [ Object { @@ -179,29 +167,30 @@ Object { }, "text": "query PageQueryIndirect{foo}", }, - "10": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], - "kind": "FragmentDefinition", + "kind": "OperationDefinition", "loc": Object { - "end": 53, - "start": 3, + "end": 35, + "start": 1, }, "name": Object { "kind": "Name", "loc": Object { - "end": 21, - "start": 12, + "end": 25, + "start": 7, }, - "value": "Fragment1", + "value": "PageQueryIndirect2", }, + "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 53, - "start": 40, + "end": 35, + "start": 26, }, "selections": Array [ Object { @@ -210,14 +199,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 49, - "start": 46, + "end": 33, + "start": 30, }, "name": Object { "kind": "Name", "loc": Object { - "end": 49, - "start": 46, + "end": 33, + "start": 30, }, "value": "foo", }, @@ -225,42 +214,54 @@ Object { }, ], }, - "typeCondition": Object { - "kind": "NamedType", - "loc": Object { - "end": 39, - "start": 25, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 39, - "start": 25, - }, - "value": "RootQueryField", - }, - }, + "variableDefinitions": Array [], }, + ], + "kind": "Document", + "loc": Object { + "end": 36, + "start": 0, + }, + }, + "filePath": "page-query-indirect-2.js", + "hash": 1258001265, + "isConfigQuery": false, + "isHook": false, + "isStaticQuery": false, + "templateLoc": SourceLocation { + "end": Position { + "column": 0, + "line": 6, + }, + "filename": undefined, + "identifierName": undefined, + "start": Position { + "column": 26, + "line": 2, + }, + }, + "text": "query PageQueryIndirect2{foo}", + }, + Object { + "doc": Object { + "definitions": Array [ Object { "directives": Array [], - "kind": "FragmentDefinition", + "kind": "OperationDefinition", "loc": Object { - "end": 106, - "start": 56, + "end": 16, + "start": 1, }, "name": Object { "kind": "Name", - "loc": Object { - "end": 74, - "start": 65, - }, - "value": "Fragment2", + "value": "pagePageQueryNoNameJs1125018085", }, + "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 106, - "start": 93, + "end": 16, + "start": 7, }, "selections": Array [ Object { @@ -269,86 +270,73 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 102, - "start": 99, + "end": 14, + "start": 11, }, "name": Object { "kind": "Name", "loc": Object { - "end": 102, - "start": 99, + "end": 14, + "start": 11, }, - "value": "bar", + "value": "foo", }, "selectionSet": undefined, }, ], }, - "typeCondition": Object { - "kind": "NamedType", - "loc": Object { - "end": 92, - "start": 78, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 92, - "start": 78, - }, - "value": "RootQueryField", - }, - }, + "variableDefinitions": Array [], }, ], "kind": "Document", "loc": Object { - "end": 107, + "end": 17, "start": 0, }, }, - "filePath": "multiple-fragment-exports.js", - "hash": 1171727280, + "filePath": "page-query-no-name.js", + "hash": 1125018085, "isConfigQuery": false, "isHook": false, "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { "column": 0, - "line": 9, + "line": 6, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 35, + "column": 31, "line": 2, }, }, - "text": "fragment Fragment1 on RootQueryField{foo}fragment Fragment2 on RootQueryField{bar}", + "text": "query{foo}", }, - "11": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], - "kind": "FragmentDefinition", + "kind": "OperationDefinition", "loc": Object { - "end": 53, - "start": 3, + "end": 29, + "start": 0, }, "name": Object { "kind": "Name", "loc": Object { "end": 21, - "start": 12, + "start": 6, }, - "value": "Fragment3", + "value": "StaticQueryName", }, + "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 53, - "start": 40, + "end": 29, + "start": 22, }, "selections": Array [ Object { @@ -357,83 +345,69 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 49, - "start": 46, + "end": 27, + "start": 24, }, "name": Object { "kind": "Name", "loc": Object { - "end": 49, - "start": 46, + "end": 27, + "start": 24, }, - "value": "baz", + "value": "foo", }, "selectionSet": undefined, }, ], }, - "typeCondition": Object { - "kind": "NamedType", - "loc": Object { - "end": 39, - "start": 25, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 39, - "start": 25, - }, - "value": "RootQueryField", - }, - }, + "variableDefinitions": Array [], }, ], "kind": "Document", "loc": Object { - "end": 54, + "end": 29, "start": 0, }, }, - "filePath": "multiple-fragment-exports.js", - "hash": 3923246124, + "filePath": "static-query.js", + "hash": 2687344169, "isConfigQuery": false, "isHook": false, - "isStaticQuery": false, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 0, - "line": 14, + "column": 48, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 33, - "line": 10, + "column": 19, + "line": 4, }, }, - "text": "fragment Fragment3 on RootQueryField{baz}", + "text": "query StaticQueryName{foo}", }, - "12": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 74, - "start": 3, + "end": 7, + "start": 0, }, "name": Object { "kind": "Name", - "value": "staticFragmentShorthandJs3159585216", + "value": "staticStaticQueryNoNameJs3221935794", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 74, - "start": 9, + "end": 7, + "start": 0, }, "selections": Array [ Object { @@ -442,72 +416,18 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 70, - "start": 15, + "end": 5, + "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 19, - "start": 15, + "end": 5, + "start": 2, }, - "value": "site", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 70, - "start": 20, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 64, - "start": 28, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 40, - "start": 28, - }, - "value": "siteMetadata", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 64, - "start": 41, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 56, - "start": 51, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 56, - "start": 51, - }, - "value": "title", - }, - "selectionSet": undefined, - }, - ], - }, - }, - ], + "value": "foo", }, + "selectionSet": undefined, }, ], }, @@ -516,49 +436,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 75, + "end": 7, "start": 0, }, }, - "filePath": "fragment-shorthand.js", - "hash": 3159585216, + "filePath": "static-query-no-name.js", + "hash": 3221935794, "isConfigQuery": false, "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 0, - "line": 12, + "column": 26, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 22, + "column": 19, "line": 4, }, }, - "text": "query{site{siteMetadata{title}}}", + "text": "{foo}", }, - "13": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 47, + "end": 29, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticQueryInSeparateVariableJs1528532020", + "loc": Object { + "end": 21, + "start": 6, + }, + "value": "StaticQueryName", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 47, - "start": 0, + "end": 29, + "start": 22, }, "selections": Array [ Object { @@ -567,99 +491,18 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 46, - "start": 2, + "end": 27, + "start": 24, }, "name": Object { "kind": "Name", "loc": Object { - "end": 19, - "start": 2, - }, - "value": "allMarkdownRemark", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 46, - "start": 20, + "end": 27, + "start": 24, }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 45, - "start": 22, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 26, - "start": 22, - }, - "value": "blah", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 45, - "start": 27, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 44, - "start": 29, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 33, - "start": 29, - }, - "value": "node", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 44, - "start": 34, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 42, - "start": 36, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 42, - "start": 36, - }, - "value": "cheese", - }, - "selectionSet": undefined, - }, - ], - }, - }, - ], - }, - }, - ], + "value": "foo", }, + "selectionSet": undefined, }, ], }, @@ -668,48 +511,48 @@ Object { ], "kind": "Document", "loc": Object { - "end": 47, + "end": 29, "start": 0, }, }, - "filePath": "query-in-separate-variable.js", - "hash": 1528532020, + "filePath": "static-query-named-export.js", + "hash": 2687344169, "isConfigQuery": false, "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 69, + "column": 48, "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 22, + "column": 19, "line": 4, }, }, - "text": "{allMarkdownRemark{blah{node{cheese}}}}", + "text": "query StaticQueryName{foo}", }, - "14": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 49, + "end": 7, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticQueryInSeparateVariable2Js278713111", + "value": "staticStaticQueryClosingTagJs3221935794", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 49, + "end": 7, "start": 0, }, "selections": Array [ @@ -719,99 +562,18 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 48, + "end": 5, "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 21, + "end": 5, "start": 2, }, - "value": "allStrangeQueryName", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 48, - "start": 22, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 47, - "start": 24, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 28, - "start": 24, - }, - "value": "blah", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 47, - "start": 29, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 46, - "start": 31, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 35, - "start": 31, - }, - "value": "node", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 46, - "start": 36, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 44, - "start": 38, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 44, - "start": 38, - }, - "value": "cheese", - }, - "selectionSet": undefined, - }, - ], - }, - }, - ], - }, - }, - ], + "value": "foo", }, + "selectionSet": undefined, }, ], }, @@ -820,30 +582,30 @@ Object { ], "kind": "Document", "loc": Object { - "end": 49, + "end": 7, "start": 0, }, }, - "filePath": "query-in-separate-variable-2.js", - "hash": 278713111, + "filePath": "static-query-closing-tag.js", + "hash": 3221935794, "isConfigQuery": false, "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 82, - "line": 5, + "column": 26, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 33, - "line": 5, + "column": 19, + "line": 4, }, }, - "text": "{allStrangeQueryName{blah{node{cheese}}}}", + "text": "{foo}", }, - "15": Object { + Object { "doc": Object { "definitions": Array [ Object { @@ -899,49 +661,49 @@ Object { "start": 0, }, }, - "filePath": "static-query-hooks.js", + "filePath": "page-query-and-static-query-named-export.js", "hash": 2687344169, "isConfigQuery": false, - "isHook": true, + "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 67, - "line": 3, - }, + "column": 48, + "line": 4, + }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 38, - "line": 3, + "column": 19, + "line": 4, }, }, "text": "query StaticQueryName{foo}", }, - "16": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 29, + "end": 27, "start": 0, }, "name": Object { "kind": "Name", "loc": Object { - "end": 21, + "end": 19, "start": 6, }, - "value": "StaticQueryName", + "value": "PageQueryName", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 29, - "start": 22, + "end": 27, + "start": 20, }, "selections": Array [ Object { @@ -950,14 +712,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 27, - "start": 24, + "end": 25, + "start": 22, }, "name": Object { "kind": "Name", "loc": Object { - "end": 27, - "start": 24, + "end": 25, + "start": 22, }, "value": "foo", }, @@ -970,53 +732,52 @@ Object { ], "kind": "Document", "loc": Object { - "end": 29, + "end": 27, "start": 0, }, }, - "filePath": "static-query-hooks-with-other-export.js", - "hash": 2687344169, + "filePath": "page-query-and-static-query-named-export.js", + "hash": 3530286846, "isConfigQuery": false, - "isHook": true, - "isStaticQuery": true, + "isHook": false, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 67, - "line": 4, + "column": 60, + "line": 8, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 38, - "line": 4, + "column": 33, + "line": 8, }, }, - "text": "query StaticQueryName{foo}", + "text": "query PageQueryName{foo}", }, - "17": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], - "kind": "OperationDefinition", + "kind": "FragmentDefinition", "loc": Object { - "end": 29, - "start": 0, + "end": 53, + "start": 3, }, "name": Object { "kind": "Name", "loc": Object { "end": 21, - "start": 6, + "start": 12, }, - "value": "StaticQueryName", + "value": "Fragment1", }, - "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 29, - "start": 22, + "end": 53, + "start": 40, }, "selections": Array [ Object { @@ -1025,14 +786,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 27, - "start": 24, + "end": 49, + "start": 46, }, "name": Object { "kind": "Name", "loc": Object { - "end": 27, - "start": 24, + "end": 49, + "start": 46, }, "value": "foo", }, @@ -1040,58 +801,130 @@ Object { }, ], }, - "variableDefinitions": Array [], + "typeCondition": Object { + "kind": "NamedType", + "loc": Object { + "end": 39, + "start": 25, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 39, + "start": 25, + }, + "value": "RootQueryField", + }, + }, + }, + Object { + "directives": Array [], + "kind": "FragmentDefinition", + "loc": Object { + "end": 106, + "start": 56, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 74, + "start": 65, + }, + "value": "Fragment2", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 106, + "start": 93, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 102, + "start": 99, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 102, + "start": 99, + }, + "value": "bar", + }, + "selectionSet": undefined, + }, + ], + }, + "typeCondition": Object { + "kind": "NamedType", + "loc": Object { + "end": 92, + "start": 78, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 92, + "start": 78, + }, + "value": "RootQueryField", + }, + }, }, ], "kind": "Document", "loc": Object { - "end": 29, + "end": 107, "start": 0, }, }, - "filePath": "static-query-hooks-alternative-import.js", - "hash": 2687344169, + "filePath": "multiple-fragment-exports.js", + "hash": 1171727280, "isConfigQuery": false, - "isHook": true, - "isStaticQuery": true, + "isHook": false, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 81, - "line": 3, + "column": 0, + "line": 9, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 52, - "line": 3, + "column": 35, + "line": 2, }, }, - "text": "query StaticQueryName{foo}", + "text": "fragment Fragment1 on RootQueryField{foo}fragment Fragment2 on RootQueryField{bar}", }, - "18": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], - "kind": "OperationDefinition", + "kind": "FragmentDefinition", "loc": Object { - "end": 29, - "start": 0, + "end": 53, + "start": 3, }, "name": Object { "kind": "Name", "loc": Object { "end": 21, - "start": 6, + "start": 12, }, - "value": "StaticQueryName", + "value": "Fragment3", }, - "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 29, - "start": 22, + "end": 53, + "start": 40, }, "selections": Array [ Object { @@ -1100,69 +933,83 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 27, - "start": 24, + "end": 49, + "start": 46, }, "name": Object { "kind": "Name", "loc": Object { - "end": 27, - "start": 24, + "end": 49, + "start": 46, }, - "value": "foo", + "value": "baz", }, "selectionSet": undefined, }, ], }, - "variableDefinitions": Array [], + "typeCondition": Object { + "kind": "NamedType", + "loc": Object { + "end": 39, + "start": 25, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 39, + "start": 25, + }, + "value": "RootQueryField", + }, + }, }, ], "kind": "Document", "loc": Object { - "end": 29, + "end": 54, "start": 0, }, }, - "filePath": "static-query-hooks-with-type-parameter.ts", - "hash": 2687344169, + "filePath": "multiple-fragment-exports.js", + "hash": 3923246124, "isConfigQuery": false, - "isHook": true, - "isStaticQuery": true, + "isHook": false, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 82, - "line": 3, + "column": 0, + "line": 14, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 53, - "line": 3, + "column": 33, + "line": 10, }, }, - "text": "query StaticQueryName{foo}", + "text": "fragment Fragment3 on RootQueryField{baz}", }, - "19": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 47, - "start": 0, + "end": 74, + "start": 3, }, "name": Object { "kind": "Name", - "value": "staticStaticQueryHooksInSeparateVariableJs1528532020", + "value": "staticFragmentShorthandJs3159585216", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 47, - "start": 0, + "end": 74, + "start": 9, }, "selections": Array [ Object { @@ -1171,21 +1018,21 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 46, - "start": 2, + "end": 70, + "start": 15, }, "name": Object { "kind": "Name", "loc": Object { "end": 19, - "start": 2, + "start": 15, }, - "value": "allMarkdownRemark", + "value": "site", }, "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 46, + "end": 70, "start": 20, }, "selections": Array [ @@ -1195,22 +1042,22 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 45, - "start": 22, + "end": 64, + "start": 28, }, "name": Object { "kind": "Name", "loc": Object { - "end": 26, - "start": 22, + "end": 40, + "start": 28, }, - "value": "blah", + "value": "siteMetadata", }, "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 45, - "start": 27, + "end": 64, + "start": 41, }, "selections": Array [ Object { @@ -1219,45 +1066,18 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 44, - "start": 29, + "end": 56, + "start": 51, }, "name": Object { "kind": "Name", "loc": Object { - "end": 33, - "start": 29, - }, - "value": "node", - }, - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 44, - "start": 34, + "end": 56, + "start": 51, }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 42, - "start": 36, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 42, - "start": 36, - }, - "value": "cheese", - }, - "selectionSet": undefined, - }, - ], + "value": "title", }, + "selectionSet": undefined, }, ], }, @@ -1272,124 +1092,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 47, - "start": 0, - }, - }, - "filePath": "static-query-hooks-in-separate-variable.js", - "hash": 1528532020, - "isConfigQuery": false, - "isHook": true, - "isStaticQuery": true, - "templateLoc": SourceLocation { - "end": Position { - "column": 69, - "line": 4, - }, - "filename": undefined, - "identifierName": undefined, - "start": Position { - "column": 22, - "line": 4, - }, - }, - "text": "{allMarkdownRemark{blah{node{cheese}}}}", - }, - "2": Object { - "doc": Object { - "definitions": Array [ - Object { - "directives": Array [], - "kind": "OperationDefinition", - "loc": Object { - "end": 35, - "start": 1, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 25, - "start": 7, - }, - "value": "PageQueryIndirect2", - }, - "operation": "query", - "selectionSet": Object { - "kind": "SelectionSet", - "loc": Object { - "end": 35, - "start": 26, - }, - "selections": Array [ - Object { - "alias": undefined, - "arguments": Array [], - "directives": Array [], - "kind": "Field", - "loc": Object { - "end": 33, - "start": 30, - }, - "name": Object { - "kind": "Name", - "loc": Object { - "end": 33, - "start": 30, - }, - "value": "foo", - }, - "selectionSet": undefined, - }, - ], - }, - "variableDefinitions": Array [], - }, - ], - "kind": "Document", - "loc": Object { - "end": 36, + "end": 75, "start": 0, }, }, - "filePath": "page-query-indirect-2.js", - "hash": 1258001265, + "filePath": "fragment-shorthand.js", + "hash": 3159585216, "isConfigQuery": false, "isHook": false, - "isStaticQuery": false, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { "column": 0, - "line": 6, + "line": 12, }, "filename": undefined, "identifierName": undefined, - "start": Position { - "column": 26, - "line": 2, + "start": Position { + "column": 22, + "line": 4, }, }, - "text": "query PageQueryIndirect2{foo}", + "text": "query{site{siteMetadata{title}}}", }, - "20": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 13, + "end": 47, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticZhADollarpercentandJs1125018085", + "value": "staticQueryInSeparateVariableJs1528532020", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 13, - "start": 6, + "end": 47, + "start": 0, }, "selections": Array [ Object { @@ -1398,18 +1143,99 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 11, - "start": 8, + "end": 46, + "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 11, - "start": 8, + "end": 19, + "start": 2, }, - "value": "foo", + "value": "allMarkdownRemark", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 46, + "start": 20, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 45, + "start": 22, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 26, + "start": 22, + }, + "value": "blah", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 45, + "start": 27, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 44, + "start": 29, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 33, + "start": 29, + }, + "value": "node", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 44, + "start": 34, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 42, + "start": 36, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 42, + "start": 36, + }, + "value": "cheese", + }, + "selectionSet": undefined, + }, + ], + }, + }, + ], + }, + }, + ], }, - "selectionSet": undefined, }, ], }, @@ -1418,49 +1244,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 13, + "end": 47, "start": 0, }, }, - "filePath": "ж-ä-!@#$%^&*()_-=+:;'\\"?,~\`.js", - "hash": 1125018085, + "filePath": "query-in-separate-variable.js", + "hash": 1528532020, "isConfigQuery": false, - "isHook": true, + "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 51, - "line": 3, + "column": 69, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 38, - "line": 3, + "column": 22, + "line": 4, }, }, - "text": "query{foo}", + "text": "{allMarkdownRemark{blah{node{cheese}}}}", }, - "21": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 13, + "end": 49, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticStaticZhADollarpercentandJs1125018085", + "value": "staticQueryInSeparateVariable2Js278713111", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 13, - "start": 6, + "end": 49, + "start": 0, }, "selections": Array [ Object { @@ -1469,18 +1295,99 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 11, - "start": 8, + "end": 48, + "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 11, - "start": 8, + "end": 21, + "start": 2, }, - "value": "foo", + "value": "allStrangeQueryName", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 48, + "start": 22, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 47, + "start": 24, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 28, + "start": 24, + }, + "value": "blah", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 47, + "start": 29, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 46, + "start": 31, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 35, + "start": 31, + }, + "value": "node", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 46, + "start": 36, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 44, + "start": 38, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 44, + "start": 38, + }, + "value": "cheese", + }, + "selectionSet": undefined, + }, + ], + }, + }, + ], + }, + }, + ], }, - "selectionSet": undefined, }, ], }, @@ -1489,30 +1396,30 @@ Object { ], "kind": "Document", "loc": Object { - "end": 13, + "end": 49, "start": 0, }, }, - "filePath": "static-ж-ä-!@#$%^&*()_-=+:;'\\"?,~\`.js", - "hash": 1125018085, + "filePath": "query-in-separate-variable-2.js", + "hash": 278713111, "isConfigQuery": false, "isHook": false, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 32, - "line": 4, + "column": 82, + "line": 5, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, - "line": 4, + "column": 33, + "line": 5, }, }, - "text": "query{foo}", + "text": "{allStrangeQueryName{blah{node{cheese}}}}", }, - "22": Object { + Object { "doc": Object { "definitions": Array [ Object { @@ -1568,7 +1475,7 @@ Object { "start": 0, }, }, - "filePath": "static-query-hooks-commonjs.js", + "filePath": "static-query-hooks.js", "hash": 2687344169, "isConfigQuery": false, "isHook": true, @@ -1587,30 +1494,30 @@ Object { }, "text": "query StaticQueryName{foo}", }, - "23": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 44, + "end": 29, "start": 0, }, "name": Object { "kind": "Name", "loc": Object { - "end": 36, + "end": 21, "start": 6, }, - "value": "StaticQueryNameNoDestructuring", + "value": "StaticQueryName", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 44, - "start": 37, + "end": 29, + "start": 22, }, "selections": Array [ Object { @@ -1619,14 +1526,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 42, - "start": 39, + "end": 27, + "start": 24, }, "name": Object { "kind": "Name", "loc": Object { - "end": 42, - "start": 39, + "end": 27, + "start": 24, }, "value": "foo", }, @@ -1639,53 +1546,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 44, + "end": 29, "start": 0, }, }, - "filePath": "static-query-hooks-commonjs-no-destructuring.js", - "hash": 2462364336, + "filePath": "static-query-hooks-with-other-export.js", + "hash": 2687344169, "isConfigQuery": false, "isHook": true, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 89, + "column": 67, "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 45, + "column": 38, "line": 4, }, }, - "text": "query StaticQueryNameNoDestructuring{foo}", + "text": "query StaticQueryName{foo}", }, - "24": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 26, - "start": 1, + "end": 29, + "start": 0, }, "name": Object { "kind": "Name", "loc": Object { - "end": 16, - "start": 7, + "end": 21, + "start": 6, }, - "value": "PageQuery", + "value": "StaticQueryName", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 26, - "start": 17, + "end": 29, + "start": 22, }, "selections": Array [ Object { @@ -1694,14 +1601,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 24, - "start": 21, + "end": 27, + "start": 24, }, "name": Object { "kind": "Name", "loc": Object { - "end": 24, - "start": 21, + "end": 27, + "start": 24, }, "value": "foo", }, @@ -1714,53 +1621,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 27, + "end": 29, "start": 0, }, }, - "filePath": "page-with-config.js", - "hash": 3463071779, + "filePath": "static-query-hooks-alternative-import.js", + "hash": 2687344169, "isConfigQuery": false, - "isHook": false, - "isStaticQuery": false, + "isHook": true, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 0, - "line": 6, + "column": 81, + "line": 3, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 29, - "line": 2, + "column": 52, + "line": 3, }, }, - "text": "query PageQuery{foo}", + "text": "query StaticQueryName{foo}", }, - "25": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 32, + "end": 29, "start": 0, }, "name": Object { "kind": "Name", "loc": Object { - "end": 17, + "end": 21, "start": 6, }, - "value": "ConfigQuery", + "value": "StaticQueryName", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 32, - "start": 18, + "end": 29, + "start": 22, }, "selections": Array [ Object { @@ -1769,16 +1676,16 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 30, - "start": 20, + "end": 27, + "start": 24, }, "name": Object { "kind": "Name", "loc": Object { - "end": 30, - "start": 20, + "end": 27, + "start": 24, }, - "value": "__typename", + "value": "foo", }, "selectionSet": undefined, }, @@ -1789,53 +1696,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 32, + "end": 29, "start": 0, }, }, - "filePath": "page-with-config.js", - "hash": 3646331219, - "isConfigQuery": true, - "isHook": false, - "isStaticQuery": false, + "filePath": "static-query-hooks-with-type-parameter.ts", + "hash": 2687344169, + "isConfigQuery": false, + "isHook": true, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 56, - "line": 8, + "column": 82, + "line": 3, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 24, - "line": 8, + "column": 53, + "line": 3, }, }, - "text": "query ConfigQuery{__typename}", + "text": "query StaticQueryName{foo}", }, - "26": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 26, - "start": 1, + "end": 47, + "start": 0, }, "name": Object { "kind": "Name", - "loc": Object { - "end": 16, - "start": 7, - }, - "value": "PageQuery", + "value": "staticStaticQueryHooksInSeparateVariableJs1528532020", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 26, - "start": 17, + "end": 47, + "start": 0, }, "selections": Array [ Object { @@ -1844,18 +1747,99 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 24, - "start": 21, + "end": 46, + "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 24, - "start": 21, + "end": 19, + "start": 2, }, - "value": "foo", + "value": "allMarkdownRemark", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 46, + "start": 20, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 45, + "start": 22, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 26, + "start": 22, + }, + "value": "blah", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 45, + "start": 27, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 44, + "start": 29, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 33, + "start": 29, + }, + "value": "node", + }, + "selectionSet": Object { + "kind": "SelectionSet", + "loc": Object { + "end": 44, + "start": 34, + }, + "selections": Array [ + Object { + "alias": undefined, + "arguments": Array [], + "directives": Array [], + "kind": "Field", + "loc": Object { + "end": 42, + "start": 36, + }, + "name": Object { + "kind": "Name", + "loc": Object { + "end": 42, + "start": 36, + }, + "value": "cheese", + }, + "selectionSet": undefined, + }, + ], + }, + }, + ], + }, + }, + ], }, - "selectionSet": undefined, }, ], }, @@ -1864,49 +1848,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 27, + "end": 47, "start": 0, }, }, - "filePath": "page-with-config-no-name.js", - "hash": 3463071779, + "filePath": "static-query-hooks-in-separate-variable.js", + "hash": 1528532020, "isConfigQuery": false, - "isHook": false, - "isStaticQuery": false, + "isHook": true, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 0, - "line": 6, + "column": 69, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 29, - "line": 2, + "column": 22, + "line": 4, }, }, - "text": "query PageQuery{foo}", + "text": "{allMarkdownRemark{blah{node{cheese}}}}", }, - "27": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 14, + "end": 13, "start": 0, }, "name": Object { "kind": "Name", - "value": "configPageWithConfigNoNameJs4128538483", + "value": "staticZhADollarpercentandJs1125018085", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 14, - "start": 0, + "end": 13, + "start": 6, }, "selections": Array [ Object { @@ -1915,16 +1899,16 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 12, - "start": 2, + "end": 11, + "start": 8, }, "name": Object { "kind": "Name", "loc": Object { - "end": 12, - "start": 2, + "end": 11, + "start": 8, }, - "value": "__typename", + "value": "foo", }, "selectionSet": undefined, }, @@ -1935,49 +1919,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 14, + "end": 13, "start": 0, }, }, - "filePath": "page-with-config-no-name.js", - "hash": 4128538483, - "isConfigQuery": true, - "isHook": false, - "isStaticQuery": false, + "filePath": "ж-ä-!@#$%^&*()_-=+:;'\\"?,~\`.js", + "hash": 1125018085, + "isConfigQuery": false, + "isHook": true, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 38, - "line": 8, + "column": 51, + "line": 3, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 24, - "line": 8, + "column": 38, + "line": 3, }, }, - "text": "{__typename}", + "text": "query{foo}", }, - "3": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 16, - "start": 1, + "end": 13, + "start": 0, }, "name": Object { "kind": "Name", - "value": "pagePageQueryNoNameJs1125018085", + "value": "staticStaticZhADollarpercentandJs1125018085", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 16, - "start": 7, + "end": 13, + "start": 6, }, "selections": Array [ Object { @@ -1986,14 +1970,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 14, - "start": 11, + "end": 11, + "start": 8, }, "name": Object { "kind": "Name", "loc": Object { - "end": 14, - "start": 11, + "end": 11, + "start": 8, }, "value": "foo", }, @@ -2006,30 +1990,30 @@ Object { ], "kind": "Document", "loc": Object { - "end": 17, + "end": 13, "start": 0, }, }, - "filePath": "page-query-no-name.js", + "filePath": "static-ж-ä-!@#$%^&*()_-=+:;'\\"?,~\`.js", "hash": 1125018085, "isConfigQuery": false, "isHook": false, - "isStaticQuery": false, + "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 0, - "line": 6, + "column": 32, + "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 31, - "line": 2, + "column": 19, + "line": 4, }, }, "text": "query{foo}", }, - "4": Object { + Object { "doc": Object { "definitions": Array [ Object { @@ -2085,45 +2069,49 @@ Object { "start": 0, }, }, - "filePath": "static-query.js", + "filePath": "static-query-hooks-commonjs.js", "hash": 2687344169, "isConfigQuery": false, - "isHook": false, + "isHook": true, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 48, - "line": 4, + "column": 67, + "line": 3, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, - "line": 4, + "column": 38, + "line": 3, }, }, "text": "query StaticQueryName{foo}", }, - "5": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 7, + "end": 44, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticStaticQueryNoNameJs3221935794", + "loc": Object { + "end": 36, + "start": 6, + }, + "value": "StaticQueryNameNoDestructuring", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 7, - "start": 0, + "end": 44, + "start": 37, }, "selections": Array [ Object { @@ -2132,14 +2120,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 5, - "start": 2, + "end": 42, + "start": 39, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5, - "start": 2, + "end": 42, + "start": 39, }, "value": "foo", }, @@ -2152,53 +2140,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 7, + "end": 44, "start": 0, }, }, - "filePath": "static-query-no-name.js", - "hash": 3221935794, + "filePath": "static-query-hooks-commonjs-no-destructuring.js", + "hash": 2462364336, "isConfigQuery": false, - "isHook": false, + "isHook": true, "isStaticQuery": true, "templateLoc": SourceLocation { "end": Position { - "column": 26, + "column": 89, "line": 4, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, + "column": 45, "line": 4, }, }, - "text": "{foo}", + "text": "query StaticQueryNameNoDestructuring{foo}", }, - "6": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 29, - "start": 0, + "end": 26, + "start": 1, }, "name": Object { "kind": "Name", "loc": Object { - "end": 21, - "start": 6, + "end": 16, + "start": 7, }, - "value": "StaticQueryName", + "value": "PageQuery", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 29, - "start": 22, + "end": 26, + "start": 17, }, "selections": Array [ Object { @@ -2207,14 +2195,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 27, - "start": 24, + "end": 24, + "start": 21, }, "name": Object { "kind": "Name", "loc": Object { - "end": 27, - "start": 24, + "end": 24, + "start": 21, }, "value": "foo", }, @@ -2227,49 +2215,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 29, + "end": 27, "start": 0, }, }, - "filePath": "static-query-named-export.js", - "hash": 2687344169, + "filePath": "page-with-config.js", + "hash": 3463071779, "isConfigQuery": false, "isHook": false, - "isStaticQuery": true, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 48, - "line": 4, + "column": 0, + "line": 6, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, - "line": 4, + "column": 29, + "line": 2, }, }, - "text": "query StaticQueryName{foo}", + "text": "query PageQuery{foo}", }, - "7": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 7, + "end": 32, "start": 0, }, "name": Object { "kind": "Name", - "value": "staticStaticQueryClosingTagJs3221935794", + "loc": Object { + "end": 17, + "start": 6, + }, + "value": "ConfigQuery", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 7, - "start": 0, + "end": 32, + "start": 18, }, "selections": Array [ Object { @@ -2278,16 +2270,16 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 5, - "start": 2, + "end": 30, + "start": 20, }, "name": Object { "kind": "Name", "loc": Object { - "end": 5, - "start": 2, + "end": 30, + "start": 20, }, - "value": "foo", + "value": "__typename", }, "selectionSet": undefined, }, @@ -2298,53 +2290,53 @@ Object { ], "kind": "Document", "loc": Object { - "end": 7, + "end": 32, "start": 0, }, }, - "filePath": "static-query-closing-tag.js", - "hash": 3221935794, - "isConfigQuery": false, + "filePath": "page-with-config.js", + "hash": 3646331219, + "isConfigQuery": true, "isHook": false, - "isStaticQuery": true, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 26, - "line": 4, + "column": 56, + "line": 8, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, - "line": 4, + "column": 24, + "line": 8, }, }, - "text": "{foo}", + "text": "query ConfigQuery{__typename}", }, - "8": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 29, - "start": 0, + "end": 26, + "start": 1, }, "name": Object { "kind": "Name", "loc": Object { - "end": 21, - "start": 6, + "end": 16, + "start": 7, }, - "value": "StaticQueryName", + "value": "PageQuery", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 29, - "start": 22, + "end": 26, + "start": 17, }, "selections": Array [ Object { @@ -2353,14 +2345,14 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 27, - "start": 24, + "end": 24, + "start": 21, }, "name": Object { "kind": "Name", "loc": Object { - "end": 27, - "start": 24, + "end": 24, + "start": 21, }, "value": "foo", }, @@ -2373,53 +2365,49 @@ Object { ], "kind": "Document", "loc": Object { - "end": 29, + "end": 27, "start": 0, }, }, - "filePath": "page-query-and-static-query-named-export.js", - "hash": 2687344169, + "filePath": "page-with-config-no-name.js", + "hash": 3463071779, "isConfigQuery": false, "isHook": false, - "isStaticQuery": true, + "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 48, - "line": 4, + "column": 0, + "line": 6, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 19, - "line": 4, + "column": 29, + "line": 2, }, }, - "text": "query StaticQueryName{foo}", + "text": "query PageQuery{foo}", }, - "9": Object { + Object { "doc": Object { "definitions": Array [ Object { "directives": Array [], "kind": "OperationDefinition", "loc": Object { - "end": 27, + "end": 14, "start": 0, }, "name": Object { "kind": "Name", - "loc": Object { - "end": 19, - "start": 6, - }, - "value": "PageQueryName", + "value": "configPageWithConfigNoNameJs4128538483", }, "operation": "query", "selectionSet": Object { "kind": "SelectionSet", "loc": Object { - "end": 27, - "start": 20, + "end": 14, + "start": 0, }, "selections": Array [ Object { @@ -2428,16 +2416,16 @@ Object { "directives": Array [], "kind": "Field", "loc": Object { - "end": 25, - "start": 22, + "end": 12, + "start": 2, }, "name": Object { "kind": "Name", "loc": Object { - "end": 25, - "start": 22, + "end": 12, + "start": 2, }, - "value": "foo", + "value": "__typename", }, "selectionSet": undefined, }, @@ -2448,89 +2436,69 @@ Object { ], "kind": "Document", "loc": Object { - "end": 27, + "end": 14, "start": 0, }, }, - "filePath": "page-query-and-static-query-named-export.js", - "hash": 3530286846, - "isConfigQuery": false, + "filePath": "page-with-config-no-name.js", + "hash": 4128538483, + "isConfigQuery": true, "isHook": false, "isStaticQuery": false, "templateLoc": SourceLocation { "end": Position { - "column": 60, + "column": 38, "line": 8, }, "filename": undefined, "identifierName": undefined, "start": Position { - "column": 33, + "column": 24, "line": 8, }, }, - "text": "query PageQueryName{foo}", + "text": "{__typename}", }, -} +] `; exports[`File parser extracts query AST correctly from files: warn 1`] = ` -[MockFunction] { - "calls": Array [ - Array [ - " +Array [ + Array [ + " We were unable to find the declaration of variable \\"strangeQueryName\\", which you passed as the \\"query\\" prop into the declaration in \\"query-not-defined.js\\". Perhaps the variable name has a typo? Also note that we are currently unable to use queries defined in files other than the file where the is defined. If you're attempting to import the query, please move it into \\"query-not-defined.js\\". If being able to import queries from another file is an important capability for you, we invite your help fixing it. ", - ], - Array [ - " + ], + Array [ + " We were unable to find the declaration of variable \\"strangeQueryName\\", which you passed as the \\"query\\" prop into the declaration in \\"query-imported.js\\". Perhaps the variable name has a typo? Also note that we are currently unable to use queries defined in files other than the file where the is defined. If you're attempting to import the query, please move it into \\"query-imported.js\\". If being able to import queries from another file is an important capability for you, we invite your help fixing it. ", - ], - Array [ - " + ], + Array [ + " We were unable to find the declaration of variable \\"strangeQueryName\\", which you passed as the \\"query\\" prop into the useStaticQuery declaration in \\"static-query-hooks-not-defined.js\\". Perhaps the variable name has a typo? Also note that we are currently unable to use queries defined in files other than the file where the useStaticQuery is defined. If you're attempting to import the query, please move it into \\"static-query-hooks-not-defined.js\\". If being able to import queries from another file is an important capability for you, we invite your help fixing it. ", - ], - Array [ - " + ], + Array [ + " We were unable to find the declaration of variable \\"strangeQueryName\\", which you passed as the \\"query\\" prop into the useStaticQuery declaration in \\"static-query-hooks-imported.js\\". Perhaps the variable name has a typo? Also note that we are currently unable to use queries defined in files other than the file where the useStaticQuery is defined. If you're attempting to import the query, please move it into \\"static-query-hooks-imported.js\\". If being able to import queries from another file is an important capability for you, we invite your help fixing it. ", - ], - ], - "results": Array [ - Object { - "type": "return", - "value": undefined, - }, - Object { - "type": "return", - "value": undefined, - }, - Object { - "type": "return", - "value": undefined, - }, - Object { - "type": "return", - "value": undefined, - }, ], -} +] `; diff --git a/packages/gatsby/src/query/__tests__/file-parser.js b/packages/gatsby/src/query/__tests__/file-parser.js index 5fbdff478b49a..01a9883943a0b 100644 --- a/packages/gatsby/src/query/__tests__/file-parser.js +++ b/packages/gatsby/src/query/__tests__/file-parser.js @@ -305,8 +305,8 @@ export const config = async () => { // The second param is a "hint", see: https://jestjs.io/docs/en/expect#tomatchsnapshotpropertymatchers-hint expect(results).toMatchSnapshot({}, `results`) - expect(reporter.warn).toMatchSnapshot({}, `warn`) - expect(reporter.panicOnBuild).toMatchSnapshot({}, `panicOnBuild`) + expect(reporter.warn.mock.calls).toMatchSnapshot({}, `warn`) + expect(reporter.panicOnBuild.mock.calls).toMatchSnapshot({}, `panicOnBuild`) expect(errors.length).toEqual(1) }) diff --git a/packages/gatsby/src/redux/__tests__/index.js b/packages/gatsby/src/redux/__tests__/index.js index ee58c77282a68..77cb7fbc2bdd3 100644 --- a/packages/gatsby/src/redux/__tests__/index.js +++ b/packages/gatsby/src/redux/__tests__/index.js @@ -219,15 +219,16 @@ describe(`redux db`, () => { }) describe(`Sharding`, () => { - afterAll(() => { - v8Serialize.mockRestore() - v8Deserialize.mockRestore() - }) if (isLmdbStore()) { // Nodes are stored in LMDB, those tests are irrelevant return } + afterAll(() => { + v8Serialize.mockRestore() + v8Deserialize.mockRestore() + }) + // we set limit to 1.5 * 1024 * 1024 * 1024 per shard // simulating size for page and nodes will allow us to see if we create expected amount of shards // and that we stitch them back together correctly diff --git a/packages/gatsby/src/redux/__tests__/jobsv2.js b/packages/gatsby/src/redux/__tests__/jobsv2.js index 444b0f856814f..7d8b28fd8f9e7 100644 --- a/packages/gatsby/src/redux/__tests__/jobsv2.js +++ b/packages/gatsby/src/redux/__tests__/jobsv2.js @@ -1,9 +1,6 @@ import { jobsV2Reducer as jobsReducer } from "../reducers/jobsv2" import * as jobsManager from "../../utils/jobs/manager" -jest.spyOn(jobsManager, `enqueueJob`) -jest.spyOn(jobsManager, `removeInProgressJob`) - jest.mock(`gatsby-core-utils`, () => { return { ...jest.requireActual(`gatsby-core-utils`), @@ -14,6 +11,16 @@ jest.mock(`gatsby-core-utils`, () => { } }) +jest.mock(`../../utils/jobs/manager`, () => { + const realJobsManager = jest.requireActual(`../../utils/jobs/manager`) + + return { + ...realJobsManager, + enqueueJob: jest.fn(realJobsManager.enqueueJob), + removeInProgressJob: jest.fn(realJobsManager.removeInProgressJob), + } +}) + describe(`Job v2 actions/reducer`, () => { const plugin = { name: `test-plugin`, diff --git a/packages/gatsby/src/utils/__tests__/get-page-data.ts b/packages/gatsby/src/utils/__tests__/get-page-data.ts index b32368866d4ea..55e9251a153c4 100644 --- a/packages/gatsby/src/utils/__tests__/get-page-data.ts +++ b/packages/gatsby/src/utils/__tests__/get-page-data.ts @@ -138,7 +138,7 @@ describe(`get-page-data-util`, () => { describe(`timeouts and retries`, () => { it(`it times out eventually (default timeout)`, async () => { - jest.useFakeTimers() + jest.useFakeTimers(`legacy`) createPage(Pages.foo) const resultPromise = getPageData(Pages.foo.path) @@ -168,7 +168,7 @@ describe(`get-page-data-util`, () => { }) it(`it times out eventually (7 second timeout - 5s + 2s)`, async () => { - jest.useFakeTimers() + jest.useFakeTimers(`legacy`) createPage(Pages.foo) const resultPromise = getPageData(Pages.foo.path, 7000) @@ -189,7 +189,7 @@ describe(`get-page-data-util`, () => { }) it(`Can resolve after retry`, async () => { - jest.useFakeTimers() + jest.useFakeTimers(`legacy`) expect(clearTimeout).toHaveBeenCalledTimes(0) @@ -224,7 +224,7 @@ describe(`get-page-data-util`, () => { }) it(`Can fallback to stale page-data if it exists (better to potentially unblock user to start doing some work than fail completely)`, async () => { - jest.useFakeTimers() + jest.useFakeTimers(`legacy`) writePageDataFileToFs(Pages.foo, pageDataStaleContent) @@ -341,6 +341,7 @@ describe(`get-page-data-util`, () => { }) it(`Will resolve with fresh results if query result was marked dirty while resolving request`, async () => { + jest.useFakeTimers(`legacy`) createPage(Pages.foo) startPageQuery(Pages.foo) finishQuery(Pages.foo, queryResultStaleContent) diff --git a/packages/gatsby/src/utils/__tests__/websocket-manager.ts b/packages/gatsby/src/utils/__tests__/websocket-manager.ts index 46806c9c13979..fb633024bb0a3 100644 --- a/packages/gatsby/src/utils/__tests__/websocket-manager.ts +++ b/packages/gatsby/src/utils/__tests__/websocket-manager.ts @@ -50,6 +50,43 @@ function waitUntil( }) } +/** + * @see https://github.com/facebook/jest/issues/10529#issuecomment-904608475 + */ +function itAsyncDone( + name: string, + cb: (done: jest.DoneCallback) => Promise, + timeout?: number +): void { + it( + name, + done => { + let doneCalled = false + const wrappedDone: jest.DoneCallback = (...args) => { + if (doneCalled) { + return + } + + doneCalled = true + done(...args) + } + + wrappedDone.fail = (err): void => { + if (doneCalled) { + return + } + + doneCalled = true + + done(err) + } + + cb(wrappedDone).catch(wrappedDone) + }, + timeout + ) +} + describe(`websocket-manager`, () => { let websocketManager: WebsocketManager let httpServerAddr @@ -561,7 +598,7 @@ describe(`websocket-manager`, () => { }) describe(`Errors`, () => { - it(`Emits errors to display by clients`, async done => { + itAsyncDone(`Emits errors to display by clients`, async done => { expect.assertions(1) const clientSocket = await getClientSocketAndWaitForConnect() @@ -573,8 +610,8 @@ describe(`websocket-manager`, () => { msg.payload?.message === `error-string` ) { clientSocket.off(`message`, handler) - expect(true).toBe(true) clientSocket.disconnect() + expect(true).toBe(true) done() } } @@ -583,7 +620,7 @@ describe(`websocket-manager`, () => { websocketManager.emitError(`test`, `error-string`) }) - it(`Emits stored errors to new clients`, async done => { + itAsyncDone(`Emits stored errors to new clients`, async done => { expect.assertions(1) const clientSocket = getClientSocket() @@ -595,8 +632,8 @@ describe(`websocket-manager`, () => { msg.payload?.message === `error-string` ) { clientSocket.off(`message`, handler) - expect(true).toBe(true) clientSocket.disconnect() + expect(true).toBe(true) done() } } @@ -605,25 +642,29 @@ describe(`websocket-manager`, () => { // we don't emit error here, instead rely on error we emitted in previous test }) - it(`Can clear errors by emitting empty "overlayError" msg`, async done => { - expect.assertions(1) + itAsyncDone( + `Can clear errors by emitting empty "overlayError" msg`, + async done => { + expect.assertions(1) - const clientSocket = await getClientSocketAndWaitForConnect() + const clientSocket = await getClientSocketAndWaitForConnect() - function handler(msg): void { - if ( - msg.type === `overlayError` && - msg.payload.id === `test` && - msg.payload.message === null - ) { - clientSocket.off(`message`, handler) - expect(true).toBe(true) - done() + function handler(msg): void { + if ( + msg.type === `overlayError` && + msg.payload.id === `test` && + msg.payload.message === null + ) { + clientSocket.off(`message`, handler) + clientSocket.disconnect() + expect(true).toBe(true) + done() + } } - } - clientSocket.on(`message`, handler) - websocketManager.emitError(`test`, null) - }) + clientSocket.on(`message`, handler) + websocketManager.emitError(`test`, null) + } + ) }) }) diff --git a/packages/gatsby/src/utils/babel/babel-plugin-remove-api.ts b/packages/gatsby/src/utils/babel/babel-plugin-remove-api.ts index 03138f20309d9..1e74ebe122523 100644 --- a/packages/gatsby/src/utils/babel/babel-plugin-remove-api.ts +++ b/packages/gatsby/src/utils/babel/babel-plugin-remove-api.ts @@ -81,7 +81,8 @@ export default declare(function removeApiCalls( // if it's a module and all specifiers are removed, remove the full binding if ( ref.kind === `module` && - !(ref.path.parent as t.ImportDeclaration).specifiers.length + !(ref.path.parent as t.ImportDeclaration).specifiers.length && + ref.path.parentPath ) { ref.path.parentPath.remove() } diff --git a/packages/gatsby/src/utils/jobs/__tests__/manager.js b/packages/gatsby/src/utils/jobs/__tests__/manager.js index 0f036650d28df..31670a2eab328 100644 --- a/packages/gatsby/src/utils/jobs/__tests__/manager.js +++ b/packages/gatsby/src/utils/jobs/__tests__/manager.js @@ -1,6 +1,14 @@ const path = require(`path`) const _ = require(`lodash`) const { slash } = require(`gatsby-core-utils`) +const worker = require(`/node_modules/gatsby-plugin-test/gatsby-worker`) +const reporter = require(`gatsby-cli/lib/reporter`) +const hasha = require(`hasha`) +const fs = require(`fs-extra`) +const pDefer = require(`p-defer`) +const { uuid } = require(`gatsby-core-utils`) +const timers = require(`timers`) + let WorkerError let jobManager = null @@ -37,14 +45,19 @@ jest.mock( { virtual: true } ) -const worker = require(`/node_modules/gatsby-plugin-test/gatsby-worker`) -const reporter = require(`gatsby-cli/lib/reporter`) -const hasha = require(`hasha`) -const fs = require(`fs-extra`) -const pDefer = require(`p-defer`) -const { uuid } = require(`gatsby-core-utils`) +jest.mock(`gatsby-core-utils`, () => { + const realCoreUtils = jest.requireActual(`gatsby-core-utils`) -jest.spyOn(uuid, `v4`) + return { + ...realCoreUtils, + uuid: { + ...realCoreUtils.uuid, + v4: jest.fn(realCoreUtils.uuid.v4), + }, + } +}) + +jest.mock(`hasha`, () => jest.requireActual(`hasha`)) fs.ensureDir = jest.fn().mockResolvedValue(true) @@ -379,9 +392,6 @@ describe(`Jobs manager`, () => { describe(`IPC jobs`, () => { let listeners = [] - beforeAll(() => { - jest.useFakeTimers() - }) let originalProcessOn let originalSend @@ -395,6 +405,11 @@ describe(`Jobs manager`, () => { } process.send = jest.fn() + jest.useFakeTimers() + }) + + afterEach(() => { + jest.runOnlyPendingTimers() }) afterAll(() => { @@ -475,11 +490,8 @@ describe(`Jobs manager`, () => { worker.TEST_JOB.mockReturnValue({ output: `myresult` }) const { enqueueJob } = jobManager const jobArgs = createInternalMockJob() - const promise = enqueueJob(jobArgs) - jest.runAllTimers() - listeners[0]({ type: `JOB_NOT_WHITELISTED`, payload: { @@ -487,7 +499,12 @@ describe(`Jobs manager`, () => { }, }) - jest.runAllTimers() + // Make sure that all the promises get resolved + await new Promise(resolve => { + // If this gets flaky, maybe a waitFor? + timers.setTimeout(resolve, 500) + }) + jest.runOnlyPendingTimers() await expect(promise).resolves.toStrictEqual({ output: `myresult` }) expect(worker.TEST_JOB).toHaveBeenCalledTimes(1) @@ -506,6 +523,7 @@ describe(`Jobs manager`, () => { await expect(enqueueJob(jobArgs)).resolves.toBeUndefined() expect(process.send).not.toHaveBeenCalled() expect(worker.TEST_JOB).toHaveBeenCalledTimes(1) + jest.useFakeTimers() }) it(`shouldn't schedule a remote job when ipc is enabled and env variable is false`, async () => { @@ -518,6 +536,7 @@ describe(`Jobs manager`, () => { expect(process.send).not.toHaveBeenCalled() expect(worker.TEST_JOB).toHaveBeenCalled() + jest.useFakeTimers() }) it(`should warn when external jobs are enabled but ipc isn't used`, async () => { @@ -535,6 +554,7 @@ describe(`Jobs manager`, () => { expect(reporter.warn).toHaveBeenCalledTimes(1) expect(worker.TEST_JOB).toHaveBeenCalled() + jest.useFakeTimers() }) }) }) diff --git a/yarn.lock b/yarn.lock index 3e7c0337fe880..4602ab70e89a6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -182,7 +182,7 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.0", "@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== @@ -260,7 +260,7 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.13.16", "@babel/core@^7.14.5", "@babel/core@^7.15.5", "@babel/core@^7.7.5": +"@babel/core@^7.1.0", "@babel/core@^7.12.10", "@babel/core@^7.13.16", "@babel/core@^7.14.5", "@babel/core@^7.15.5", "@babel/core@^7.7.2", "@babel/core@^7.7.5": version "7.15.5" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.15.5.tgz#f8ed9ace730722544609f90c9bb49162dc3bf5b9" integrity sha512-pYgXxiwAgQpgM1bNkZsDEq85f0ggXMA5L7c+o3tskGMh2BunCI9QUwB9Z4jpvXUOuMdyGKiGKQiRe11VS6Jzvg== @@ -306,7 +306,7 @@ jsesc "^2.5.1" source-map "^0.5.0" -"@babel/generator@^7.0.0", "@babel/generator@^7.10.5", "@babel/generator@^7.12.1", "@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.15.4": +"@babel/generator@^7.10.5", "@babel/generator@^7.12.1", "@babel/generator@^7.12.11", "@babel/generator@^7.12.5", "@babel/generator@^7.15.4", "@babel/generator@^7.7.2": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.15.4.tgz#85acb159a267ca6324f9793986991ee2022a05b0" integrity sha512-d3itta0tu+UayjEORPNz6e1T3FtvWlP5N4V5M+lhp/CxT4oAA7/NcScnpRyspUMLK6tu9MNHmQHxRykuN2R7hw== @@ -571,10 +571,10 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.12.3.tgz#a305415ebe7a6c7023b40b5122a0662d928334cd" integrity sha512-kFsOS0IbsuhO5ojF8Hc8z/8vEIOkylVBrjiZUbLTE3XFe0Qi+uu6HjzQixkFaqr0ZPAMZcBVxEwmsnsLPZ2Xsw== -"@babel/parser@^7.0.0", "@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.3", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.3.3": - version "7.15.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.5.tgz#d33a58ca69facc05b26adfe4abebfed56c1c2dac" - integrity sha512-2hQstc6I7T6tQsWzlboMh3SgMRPaS4H6H7cPQsJkdzTzEGqQrpLDsE2BGASU5sBPoEQyHzeqU6C8uKbFeEk6sg== +"@babel/parser@^7.1.0", "@babel/parser@^7.10.5", "@babel/parser@^7.12.3", "@babel/parser@^7.12.7", "@babel/parser@^7.13.16", "@babel/parser@^7.15.4", "@babel/parser@^7.15.5", "@babel/parser@^7.3.3", "@babel/parser@^7.7.2": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.15.7.tgz#0c3ed4a2eb07b165dfa85b3cc45c727334c4edae" + integrity sha512-rycZXvQ+xS9QyIcJ9HXeDWf1uxqlbVFAUq0Rq0dbc50Zb/+wUe/ehyfzGfm9KZZF0kBejYgxltBXocP+gKdL2g== "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.15.4": version "7.15.4" @@ -937,7 +937,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.0.0", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": +"@babel/plugin-syntax-object-rest-spread@7.8.3", "@babel/plugin-syntax-object-rest-spread@^7.8.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3": version "7.8.3" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== @@ -986,7 +986,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.14.0", "@babel/plugin-syntax-typescript@^7.14.5": +"@babel/plugin-syntax-typescript@^7.14.0", "@babel/plugin-syntax-typescript@^7.14.5", "@babel/plugin-syntax-typescript@^7.7.2": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== @@ -1462,7 +1462,7 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/template@^7.0.0", "@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.15.4", "@babel/template@^7.3.3": +"@babel/template@^7.10.4", "@babel/template@^7.12.7", "@babel/template@^7.15.4", "@babel/template@^7.3.3": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.15.4.tgz#51898d35dcf3faa670c4ee6afcfd517ee139f194" integrity sha512-UgBAfEa1oGuYgDIPM2G+aHa4Nlo9Lh6mGD2bDBGMTbYnc38vulXPuC1MGjYILIEmlwl6Rd+BPR9ee3gm20CBtg== @@ -1471,7 +1471,7 @@ "@babel/parser" "^7.15.4" "@babel/types" "^7.15.4" -"@babel/traverse@^7.0.0", "@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.10.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4": +"@babel/traverse@^7.1.0", "@babel/traverse@^7.1.6", "@babel/traverse@^7.10.5", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.9", "@babel/traverse@^7.13.0", "@babel/traverse@^7.15.4", "@babel/traverse@^7.7.2": version "7.15.4" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.15.4.tgz#ff8510367a144bfbff552d9e18e28f3e2889c22d" integrity sha512-W6lQD8l4rUbQR/vYgSuCAE75ADyyQvOpFVsvPPdkhf6lATXAsQIG9YdtOcu8BB1dZ0LKu+Zo3c1wEcbKeuhdlA== @@ -1487,9 +1487,9 @@ globals "^11.1.0" "@babel/types@^7.0.0", "@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.7", "@babel/types@^7.14.5", "@babel/types@^7.14.9", "@babel/types@^7.15.4", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.15.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.4.tgz#74eeb86dbd6748d2741396557b9860e57fce0a0d" - integrity sha512-0f1HJFuGmmbrKTCZtbm3cU+b/AqdEYk5toj5iQur58xkVMlS0JWaKxTBSmCXd47uiN7vbcozAupm6Mvs80GNhw== + version "7.15.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.15.6.tgz#99abdc48218b2881c058dd0a7ab05b99c9be758f" + integrity sha512-BPU+7QhqNjmWyDO0/vitH/CuhpV8ZmK1wpKva8nuyNF5MJfuRNWMc+hc14+u9xT93kvykMdncrJT19h74uB1Ig== dependencies: "@babel/helper-validator-identifier" "^7.14.9" to-fast-properties "^2.0.0" @@ -1499,14 +1499,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@cnakazawa/watch@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@cnakazawa/watch/-/watch-1.0.3.tgz#099139eaec7ebf07a27c1786a3ff64f39464d2ef" - integrity sha512-r5160ogAvGyHsal38Kux7YYtodEKOj89RGb28ht1jh3SJb08VwRwAKKJL0bGb04Zd/3r9FL3BFIc3bBidYffCA== - dependencies: - exec-sh "^0.3.2" - minimist "^1.2.0" - "@contentful/rich-text-react-renderer@^14.1.3": version "14.1.3" resolved "https://registry.npmjs.org/@contentful/rich-text-react-renderer/-/rich-text-react-renderer-14.1.3.tgz#501136677742d0ad3f4b50fa2c12b17fc1d68cc8" @@ -1997,7 +1989,7 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== -"@jest/console@^24.7.1", "@jest/console@^24.9.0": +"@jest/console@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== @@ -2006,173 +1998,94 @@ chalk "^2.0.1" slash "^2.0.0" -"@jest/console@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-26.6.2.tgz#4e04bc464014358b03ab4937805ee36a0aeb98f2" - integrity sha512-IY1R2i2aLsLr7Id3S6p2BA82GNWryt4oSvEXLAKc+L2zdi89dSkE8xC1C+0kpATG4JhBJREnQOH7/zmccM2B0g== +"@jest/console@^27.4.2": + version "27.4.2" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.4.2.tgz#7a95612d38c007ddb528ee446fe5e5e785e685ce" + integrity sha512-xknHThRsPB/To1FUbi6pCe43y58qFC03zfb6R7fDb/FfC7k2R3i1l+izRBJf8DI46KhYGRaF14Eo9A3qbBoixg== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.4.2" + jest-util "^27.4.2" slash "^3.0.0" -"@jest/core@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-24.9.0.tgz#2ceccd0b93181f9c4850e74f2a9ad43d351369c4" - integrity sha512-Fogg3s4wlAr1VX7q+rhV9RVnUv5tD7VuWfYy1+whMiWUrvl7U3QJSJyWcDio9Lq2prqYsZaeTv2Rz24pWGkJ2A== - dependencies: - "@jest/console" "^24.7.1" - "@jest/reporters" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-changed-files "^24.9.0" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-resolve-dependencies "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - jest-watcher "^24.9.0" - micromatch "^3.1.10" - p-each-series "^1.0.0" - realpath-native "^1.1.0" - rimraf "^2.5.4" - slash "^2.0.0" - strip-ansi "^5.0.0" - -"@jest/core@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-26.6.3.tgz#7639fcb3833d748a4656ada54bde193051e45fad" - integrity sha512-xvV1kKbhfUqFVuZ8Cyo+JPpipAHHAV3kcDBftiduK8EICXmTFddryy3P7NfZt8Pv37rA9nEJBKCCkglCPt/Xjw== +"@jest/core@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.4.4.tgz#f2ba293235ca23fb48b4b923ccfe67c17e791a92" + integrity sha512-xBNPVqYAdAiAMXnb4ugx9Cdmr0S52lBsLbQMR/sGBRO0810VSPKiuSDtuup6qdkK1e9vxbv3KK3IAP1QFAp8mw== dependencies: - "@jest/console" "^26.6.2" - "@jest/reporters" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.4.2" + "@jest/reporters" "^27.4.4" + "@jest/test-result" "^27.4.2" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" + emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-changed-files "^26.6.2" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-resolve-dependencies "^26.6.3" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - jest-watcher "^26.6.2" - micromatch "^4.0.2" - p-each-series "^2.1.0" + jest-changed-files "^27.4.2" + jest-config "^27.4.4" + jest-haste-map "^27.4.4" + jest-message-util "^27.4.2" + jest-regex-util "^27.4.0" + jest-resolve "^27.4.4" + jest-resolve-dependencies "^27.4.4" + jest-runner "^27.4.4" + jest-runtime "^27.4.4" + jest-snapshot "^27.4.4" + jest-util "^27.4.2" + jest-validate "^27.4.2" + jest-watcher "^27.4.2" + micromatch "^4.0.4" rimraf "^3.0.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-24.9.0.tgz#21e3afa2d65c0586cbd6cbefe208bafade44ab18" - integrity sha512-5A1QluTPhvdIPFYnO3sZC3smkNeXPVELz7ikPbhUj0bQjB07EoE9qtLrem14ZUYWdVayYbsjVwIiL4WBIMV4aQ== - dependencies: - "@jest/fake-timers" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - -"@jest/environment@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-26.6.2.tgz#ba364cc72e221e79cc8f0a99555bf5d7577cf92c" - integrity sha512-nFy+fHl28zUrRsCeMB61VDThV1pVTtlEokBRgqPrcT1JNq4yRNIyTHfyht6PqtUvY9IsuLGTrbG8kPXjSZIZwA== +"@jest/environment@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.4.4.tgz#66ebebc79673d84aad29d2bb70a8c51e6c29bb4d" + integrity sha512-q+niMx7cJgt/t/b6dzLOh4W8Ef/8VyKG7hxASK39jakijJzbFBGpptx3RXz13FFV7OishQ9lTbv+dQ5K3EhfDQ== dependencies: - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/fake-timers" "^27.4.2" + "@jest/types" "^27.4.2" "@types/node" "*" - jest-mock "^26.6.2" + jest-mock "^27.4.2" -"@jest/fake-timers@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-24.9.0.tgz#ba3e6bf0eecd09a636049896434d306636540c93" - integrity sha512-eWQcNa2YSwzXWIMC5KufBh3oWRIijrQFROsIqt6v/NS9Io/gknw1jsAC9c+ih/RQX4A3O7SeWAhQeN0goKhT9A== - dependencies: - "@jest/types" "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - -"@jest/fake-timers@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-26.6.2.tgz#459c329bcf70cee4af4d7e3f3e67848123535aad" - integrity sha512-14Uleatt7jdzefLPYM3KLcnUl1ZNikaKq34enpb5XG9i81JpppDb5muZvonvKyrl7ftEHkKS5L5/eB/kxJ+bvA== +"@jest/fake-timers@^27.4.2": + version "27.4.2" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.4.2.tgz#d217f86c3ba2027bf29e0b731fd0cb761a72d093" + integrity sha512-f/Xpzn5YQk5adtqBgvw1V6bF8Nx3hY0OIRRpCvWcfPl0EAjdqWPdhH3t/3XpiWZqtjIEHDyMKP9ajpva1l4Zmg== dependencies: - "@jest/types" "^26.6.2" - "@sinonjs/fake-timers" "^6.0.1" + "@jest/types" "^27.4.2" + "@sinonjs/fake-timers" "^8.0.1" "@types/node" "*" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-message-util "^27.4.2" + jest-mock "^27.4.2" + jest-util "^27.4.2" -"@jest/globals@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-26.6.2.tgz#5b613b78a1aa2655ae908eba638cc96a20df720a" - integrity sha512-85Ltnm7HlB/KesBUuALwQ68YTU72w9H2xW9FjZ1eL1U3lhtefjjl5c2MiUbpXt/i6LaPRvoOFJ22yCBSfQ0JIA== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/types" "^26.6.2" - expect "^26.6.2" - -"@jest/reporters@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-24.9.0.tgz#86660eff8e2b9661d042a8e98a028b8d631a5b43" - integrity sha512-mu4X0yjaHrffOsWmVLzitKmmmWSQ3GGuefgNscUSWNiUNcEOSEQk9k3pERKEQVBb0Cnn88+UESIsZEMH3o88Gw== +"@jest/globals@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.4.4.tgz#fe501a80c23ea2dab585c42be2a519bb5e38530d" + integrity sha512-bqpqQhW30BOreXM8bA8t8JbOQzsq/WnPTnBl+It3UxAD9J8yxEAaBEylHx1dtBapAr/UBk8GidXbzmqnee8tYQ== dependencies: - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.2" - istanbul-lib-coverage "^2.0.2" - istanbul-lib-instrument "^3.0.1" - istanbul-lib-report "^2.0.4" - istanbul-lib-source-maps "^3.0.1" - istanbul-reports "^2.2.6" - jest-haste-map "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - node-notifier "^5.4.2" - slash "^2.0.0" - source-map "^0.6.0" - string-length "^2.0.0" + "@jest/environment" "^27.4.4" + "@jest/types" "^27.4.2" + expect "^27.4.2" -"@jest/reporters@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-26.6.2.tgz#1f518b99637a5f18307bd3ecf9275f6882a667f6" - integrity sha512-h2bW53APG4HvkOnVMo8q3QXa6pcaNt1HkwVsOPMBV6LD/q9oSpxNSYZQYkAnjdMjrJ86UuYeLo+aEZClV6opnw== +"@jest/reporters@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.4.4.tgz#9e809829f602cd6e68bd058d1ea528f4b7482365" + integrity sha512-ssyJSw9B9Awb1QaxDhIPSs4de1b7SE2kv7tqFehQL13xpn5HUkMYZK/ufTOXiCAnXFOZS+XDl1GaQ/LmJAzI1A== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.4.2" + "@jest/test-result" "^27.4.2" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" + "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" @@ -2183,19 +2096,17 @@ istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.0.2" - jest-haste-map "^26.6.2" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-haste-map "^27.4.4" + jest-resolve "^27.4.4" + jest-util "^27.4.2" + jest-worker "^27.4.4" slash "^3.0.0" source-map "^0.6.0" string-length "^4.0.1" terminal-link "^2.0.0" - v8-to-istanbul "^7.0.0" - optionalDependencies: - node-notifier "^8.0.0" + v8-to-istanbul "^8.1.0" -"@jest/source-map@^24.3.0", "@jest/source-map@^24.9.0": +"@jest/source-map@^24.9.0": version "24.9.0" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== @@ -2204,10 +2115,10 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/source-map@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-26.6.2.tgz#29af5e1e2e324cafccc936f218309f54ab69d535" - integrity sha512-YwYcCwAnNmOVsZ8mr3GfnzdXDAl4LaenZP5z+G0c8bzC9/dugL8zRmxZzdoTl4IaS3CryS1uWnROLPFmb6lVvA== +"@jest/source-map@^27.4.0": + version "27.4.0" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.4.0.tgz#2f0385d0d884fb3e2554e8f71f8fa957af9a74b6" + integrity sha512-Ntjx9jzP26Bvhbm93z/AKcPRj/9wrkI88/gK60glXDx1q+IeI0rf7Lw2c89Ch6ofonB0On/iRDreQuQ6te9pgQ== dependencies: callsites "^3.0.0" graceful-fs "^4.2.4" @@ -2222,75 +2133,63 @@ "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-result@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-26.6.2.tgz#55da58b62df134576cc95476efa5f7949e3f5f18" - integrity sha512-5O7H5c/7YlojphYNrK02LlDIV2GNPYisKwHm2QTKjNZeEzezCbwYs9swJySv2UfPMyZ0VdsmMv7jIlD/IKYQpQ== +"@jest/test-result@^27.4.2": + version "27.4.2" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.4.2.tgz#05fd4a5466ec502f3eae0b39dff2b93ea4d5d9ec" + integrity sha512-kr+bCrra9jfTgxHXHa2UwoQjxvQk3Am6QbpAiJ5x/50LW8llOYrxILkqY0lZRW/hu8FXesnudbql263+EW9iNA== dependencies: - "@jest/console" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.4.2" + "@jest/types" "^27.4.2" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-24.9.0.tgz#f8f334f35b625a4f2f355f2fe7e6036dad2e6b31" - integrity sha512-6qqsU4o0kW1dvA95qfNog8v8gkRN9ph6Lz7r96IvZpHdNipP2cBcb07J1Z45mz/VIS01OHJ3pY8T5fUY38tg4A== - dependencies: - "@jest/test-result" "^24.9.0" - jest-haste-map "^24.9.0" - jest-runner "^24.9.0" - jest-runtime "^24.9.0" - -"@jest/test-sequencer@^26.6.3": - version "26.6.3" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-26.6.3.tgz#98e8a45100863886d074205e8ffdc5a7eb582b17" - integrity sha512-YHlVIjP5nfEyjlrSr8t/YdNfU/1XEt7c5b4OxcXCjyRhjzLYu/rO69/WHPuYcbCWkz8kAeZVZp2N2+IOLLEPGw== +"@jest/test-sequencer@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.4.4.tgz#60be14369b2702e42d6042e71b8ab3fc69f5ce68" + integrity sha512-mCh+d4JTGTtX7vr13d7q2GHJy33nAobEwtEJ8X3u7R8+0ImVO2eAsQzsLfX8lyvdYHBxYABhqbYuaUNo42/pQw== dependencies: - "@jest/test-result" "^26.6.2" + "@jest/test-result" "^27.4.2" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-runner "^26.6.3" - jest-runtime "^26.6.3" + jest-haste-map "^27.4.4" + jest-runtime "^27.4.4" -"@jest/transform@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-24.9.0.tgz#4ae2768b296553fadab09e9ec119543c90b16c56" - integrity sha512-TcQUmyNRxV94S0QpMOnZl0++6RMiqpbH/ZMccFB/amku6Uwvyb1cjYX7xkp5nGNkbX4QPH/FcB6q1HBTHynLmQ== +"@jest/transform@^27.2.1": + version "27.2.1" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.2.1.tgz#743443adb84b3b7419951fc702515ce20ba6285e" + integrity sha512-xmB5vh81KK8DiiCMtI5vI59mP+GggNmc9BiN+fg4mKdQHV369+WuZc1Lq2xWFCOCsRPHt24D9h7Idp4YaMB1Ww== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^24.9.0" - babel-plugin-istanbul "^5.1.0" - chalk "^2.0.1" + "@jest/types" "^27.1.1" + babel-plugin-istanbul "^6.0.0" + chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.1.15" - jest-haste-map "^24.9.0" - jest-regex-util "^24.9.0" - jest-util "^24.9.0" - micromatch "^3.1.10" + graceful-fs "^4.2.4" + jest-haste-map "^27.2.0" + jest-regex-util "^27.0.6" + jest-util "^27.2.0" + micromatch "^4.0.4" pirates "^4.0.1" - realpath-native "^1.1.0" - slash "^2.0.0" + slash "^3.0.0" source-map "^0.6.1" - write-file-atomic "2.4.1" + write-file-atomic "^3.0.0" -"@jest/transform@^26.6.2": - version "26.6.2" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-26.6.2.tgz#5ac57c5fa1ad17b2aae83e73e45813894dcf2e4b" - integrity sha512-E9JjhUgNzvuQ+vVAL21vlyfy12gP0GhazGgJC4h6qUt1jSdUXGWJ1wfu/X7Sd8etSgxV4ovT1pb9v5D6QW4XgA== +"@jest/transform@^27.4.4": + version "27.4.4" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.4.4.tgz#347e39402730879ba88c6ea6982db0d88640aa78" + integrity sha512-7U/nDSrGsGzL7+X8ScNFV71w8u8knJQWSa9C2xsrrKLMOgb+rWuCG4VAyWke/53BU96GnT+Ka81xCAHA5gk6zA== dependencies: "@babel/core" "^7.1.0" - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" babel-plugin-istanbul "^6.0.0" chalk "^4.0.0" convert-source-map "^1.4.0" fast-json-stable-stringify "^2.0.0" graceful-fs "^4.2.4" - jest-haste-map "^26.6.2" - jest-regex-util "^26.0.0" - jest-util "^26.6.2" - micromatch "^4.0.2" + jest-haste-map "^27.4.4" + jest-regex-util "^27.4.0" + jest-util "^27.4.2" + micromatch "^4.0.4" pirates "^4.0.1" slash "^3.0.0" source-map "^0.6.1" @@ -2327,6 +2226,17 @@ "@types/yargs" "^16.0.0" chalk "^4.0.0" +"@jest/types@^27.4.2": + version "27.4.2" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.4.2.tgz#96536ebd34da6392c2b7c7737d693885b5dd44a5" + integrity sha512-j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.0" + "@types/istanbul-reports" "^3.0.0" + "@types/node" "*" + "@types/yargs" "^16.0.0" + chalk "^4.0.0" + "@jimp/bmp@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@jimp/bmp/-/bmp-0.14.0.tgz#6df246026554f276f7b354047c6fff9f5b2b5182" @@ -3727,10 +3637,10 @@ dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-6.0.1.tgz#293674fccb3262ac782c7aadfdeca86b10c75c40" - integrity sha512-MZPUxrmFubI36XS1DI3qmI0YdN1gks62JtFZvxR67ljjSNCeK6U08Zx4msEWOXuofgqUt6zPHSi1H9fbjR/NRA== +"@sinonjs/fake-timers@^8.0.1": + version "8.1.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" + integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== dependencies: "@sinonjs/commons" "^1.7.0" @@ -3872,10 +3782,10 @@ resolved "https://registry.yarnpkg.com/@types/babel__code-frame/-/babel__code-frame-7.0.2.tgz#e0c0f1648cbc09a9d4e5b4ed2ae9a6f7c8f5aeb0" integrity sha512-imO+jT/yjOKOAS5GQZ8SDtwiIloAGGr6OaZDKB0V5JVaSfGZLat5K5/ZRtyKW6R60XHV3RHYPTFfhYb+wDKyKg== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.0", "@types/babel__core@^7.1.12", "@types/babel__core@^7.1.15", "@types/babel__core@^7.1.7": - version "7.1.15" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" - integrity sha512-bxlMKPDbY8x5h6HBwVzEOk2C8fb6SLfYQ5Jw3uBYuYF1lfWk/kbLd81la82vrIkBb0l+JdmrZaDikPrNxpS/Ew== +"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.12", "@types/babel__core@^7.1.14", "@types/babel__core@^7.1.15": + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -3899,9 +3809,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6", "@types/babel__traverse@^7.11.1": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" @@ -4165,20 +4075,13 @@ opentracing "~0.14.3" prom-client "~11.3.0 || ^12.0.0 || ^13.0.0" -"@types/jest@*", "@types/jest@^26.0.24": - version "26.0.24" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-26.0.24.tgz#943d11976b16739185913a1936e0de0c4a7d595a" - integrity sha512-E/X5Vib8BWqZNRlDxj9vYXhsDwPYbPINqKF9BsnSoon4RQ0D9moEuLD8txgyypFLH7J4+Lho9Nr/c8H0Fi+17w== +"@types/jest@*", "@types/jest@^27.0.2": + version "27.0.2" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" + integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== dependencies: - jest-diff "^26.0.0" - pretty-format "^26.0.0" - -"@types/jest@^24.9.1": - version "24.9.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" - integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== - dependencies: - jest-diff "^24.3.0" + jest-diff "^27.0.0" + pretty-format "^27.0.0" "@types/joi@^14.3.4": version "14.3.4" @@ -4299,10 +4202,10 @@ resolved "https://registry.yarnpkg.com/@types/parse5/-/parse5-5.0.3.tgz#e7b5aebbac150f8b5fdd4a46e7f0bd8e65e19109" integrity sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw== -"@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== +"@types/prettier@^2.1.5": + version "2.3.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" + integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== "@types/prop-types@*", "@types/prop-types@^15.7.3": version "15.7.3" @@ -4437,9 +4340,9 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" "@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/string-similarity@^4.0.0": version "4.0.0" @@ -4967,7 +4870,7 @@ accessible-nprogress@^2.1.2: resolved "https://registry.yarnpkg.com/accessible-nprogress/-/accessible-nprogress-2.1.2.tgz#8e65ebf4936db1752638e1cd2e8730f9bef311e9" integrity sha512-reIwMbbt+ZGOmQLWPXGcPf5X1F4fzsZAekY9alCxpekxizRhQMAd/QInaA8k7WtwTcGMzD9hnYswGLcaJDRY/A== -acorn-globals@^4.1.0, acorn-globals@^4.3.0, acorn-globals@^4.3.2: +acorn-globals@^4.3.2: version "4.3.3" resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.3.tgz#a86f75b69680b8780d30edd21eee4e0ea170c05e" integrity sha512-vkR40VwS2SYO98AIeFvzWWh+xyc2qi9s7OoXSFEGIP/rOJKzjnhykaZJNnHdoq4BL2gGxI5EZOU16z896EYnOQ== @@ -5011,12 +4914,12 @@ acorn-walk@^7.0.0, acorn-walk@^7.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== -acorn@^5.0.0, acorn@^5.5.3: +acorn@^5.0.0: version "5.7.4" resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== -acorn@^6.0.1, acorn@^6.0.4: +acorn@^6.0.1: version "6.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== @@ -5276,13 +5179,6 @@ any-promise@^1.0.0: resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= -anymatch@^1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" - dependencies: - micromatch "^2.1.5" - normalize-path "^2.0.0" - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -5423,17 +5319,11 @@ arity-n@^1.0.4: resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= -arr-diff@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" - dependencies: - arr-flatten "^1.0.1" - arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" -arr-flatten@^1.0.1, arr-flatten@^1.1.0: +arr-flatten@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" @@ -5501,10 +5391,6 @@ array-uniq@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" -array-unique@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" - array-unique@^0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" @@ -5661,7 +5547,7 @@ async-cache@^1.1.0: dependencies: lru-cache "^4.0.0" -async-each@^1.0.0, async-each@^1.0.1: +async-each@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -5790,38 +5676,6 @@ babel-check-duplicated-nodes@^1.0.0: resolved "https://registry.yarnpkg.com/babel-check-duplicated-nodes/-/babel-check-duplicated-nodes-1.0.0.tgz#a0b9fc7796abb0b69cf5f6f3f91d0f8d06e2aeeb" integrity sha512-luUr6B28RzichAHdhCaGY6z53sm4+PAxzSedNlhZ9LtdW9txpR3G2Y5983iOnBosky88V08LeaUiDB/NR7vWvQ== -babel-code-frame@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-core@^6.26.0, babel-core@^6.26.3: - version "6.26.3" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" - dependencies: - babel-code-frame "^6.26.0" - babel-generator "^6.26.0" - babel-helpers "^6.24.1" - babel-messages "^6.23.0" - babel-register "^6.26.0" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - convert-source-map "^1.5.1" - debug "^2.6.9" - json5 "^0.5.1" - lodash "^4.17.4" - minimatch "^3.0.4" - path-is-absolute "^1.0.1" - private "^0.1.8" - slash "^1.0.0" - source-map "^0.5.7" - babel-core@^7.0.0-bridge.0: version "7.0.0-bridge.0" resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece" @@ -5832,49 +5686,30 @@ babel-extract-comments@^1.0.0: dependencies: babylon "^6.18.0" -babel-generator@^6.18.0, babel-generator@^6.26.0: - version "6.26.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" - dependencies: - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - detect-indent "^4.0.0" - jsesc "^1.3.0" - lodash "^4.17.4" - source-map "^0.5.7" - trim-right "^1.0.1" - -babel-helpers@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" - dependencies: - babel-runtime "^6.22.0" - babel-template "^6.24.1" - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== +babel-jest@^27.2.1: + version "27.2.1" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.2.1.tgz#48edfa5cf8d59ab293da94321a369ccc7b67a4b1" + integrity sha512-kkaekSJHew1zfDW3cA2QiSBPg4uiLpiW0OwJKqFv0r2/mFgym/IBn7hxPntL6FvS66G/ROh+lz4pRiCJAH1/UQ== dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" + "@jest/transform" "^27.2.1" + "@jest/types" "^27.1.1" + "@types/babel__core" "^7.1.14" + babel-plugin-istanbul "^6.0.0" + babel-preset-jest "^27.2.0" + chalk "^4.0.0" + graceful-fs "^4.2.4" + slash "^3.0.0" -babel-jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-26.6.3.tgz#d87d25cb0037577a0c89f82e5755c5d293c01056" - integrity sha512-pl4Q+GAVOHwvjrck6jKjvmGhnO3jHX/xuB9d27f+EJZ/6k+6nMuPjorrYp7s++bKKdANwzElBWnLWaObvTnaZA== +babel-jest@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.4.4.tgz#a012441f8a155df909839543a09510ab3477aa11" + integrity sha512-+6RVutZxOQgJkt4svgTHPFtOQlVe9dUg3wrimIAM38pY6hL/nsL8glfFSUjD9jNVjaVjzkCzj6loFFecrjr9Qw== dependencies: - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/babel__core" "^7.1.7" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" + "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^26.6.2" + babel-preset-jest "^27.4.0" chalk "^4.0.0" graceful-fs "^4.2.4" slash "^3.0.0" @@ -5894,12 +5729,6 @@ babel-loader@^8.2.2, babel-loader@^8.2.3: make-dir "^3.1.0" schema-utils "^2.6.5" -babel-messages@^6.23.0: - version "6.23.0" - resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" - dependencies: - babel-runtime "^6.22.0" - babel-plugin-add-module-exports@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz#6caa4ddbe1f578c6a5264d4d3e6c8a2720a7ca2b" @@ -5948,23 +5777,6 @@ babel-plugin-import-globals@^2.0.0: dependencies: "@babel/helper-module-imports" "^7.0.0" -babel-plugin-istanbul@^4.1.6: - version "4.1.6" - resolved "http://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45" - dependencies: - babel-plugin-syntax-object-rest-spread "^6.13.0" - find-up "^2.1.0" - istanbul-lib-instrument "^1.10.1" - test-exclude "^4.2.1" - -babel-plugin-istanbul@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.1.0.tgz#6892f529eff65a3e2d33d87dc5888ffa2ecd4a30" - dependencies: - find-up "^3.0.0" - istanbul-lib-instrument "^3.0.0" - test-exclude "^5.0.0" - babel-plugin-istanbul@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" @@ -5976,22 +5788,20 @@ babel-plugin-istanbul@^6.0.0: istanbul-lib-instrument "^4.0.0" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-22.4.4.tgz#b9851906eab34c7bf6f8c895a2b08bea1a844c0b" - integrity sha512-DUvGfYaAIlkdnygVIEl0O4Av69NtuQWcrjMOv6DODPuhuGLDnbsARz3AwiiI/EkIMMlxQDUcrZ9yoyJvTNjcVQ== - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== +babel-plugin-jest-hoist@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.2.0.tgz#79f37d43f7e5c4fdc4b2ca3e10cc6cf545626277" + integrity sha512-TOux9khNKdi64mW+0OIhcmbAn75tTlzKhxmiNXevQaPbrBYK7YKjP1jl6NHTJ6XR5UgUrJbCnWlKVnJn29dfjw== dependencies: + "@babel/template" "^7.3.3" + "@babel/types" "^7.3.3" + "@types/babel__core" "^7.0.0" "@types/babel__traverse" "^7.0.6" -babel-plugin-jest-hoist@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-26.6.2.tgz#8185bd030348d254c6d7dd974355e6a28b21e62d" - integrity sha512-PO9t0697lNTmcEHH69mdtYiOIkkOlj9fySqfO3K1eCcdISevLAE0xY59VLLUj0SoiPiTX/JU2CYFpILydUa5Lw== +babel-plugin-jest-hoist@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.4.0.tgz#d7831fc0f93573788d80dee7e682482da4c730d6" + integrity sha512-Jcu7qS4OX5kTWBc45Hz7BMmgXuJqRnhatqpUhnzGC3OBYpOmf2tv6jFNwZpwM7wU7MUuv2r9IPS/ZlYOuburVw== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" @@ -6093,7 +5903,7 @@ babel-plugin-syntax-jsx@^6.18.0: version "6.18.0" resolved "http://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" -babel-plugin-syntax-object-rest-spread@^6.13.0, babel-plugin-syntax-object-rest-spread@^6.8.0: +babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" resolved "http://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" @@ -6102,15 +5912,6 @@ babel-plugin-transform-async-to-promises@^0.8.15: resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-promises/-/babel-plugin-transform-async-to-promises-0.8.15.tgz#13b6d8ef13676b4e3c576d3600b85344bb1ba346" integrity sha512-fDXP68ZqcinZO2WCiimCL9zhGjGXOnn3D33zvbh+yheZ/qOrNVVDDIBtAaM3Faz8TRvQzHiRKsu3hfrBAhEncQ== -babel-plugin-transform-es2015-modules-commonjs@^6.26.2: - version "6.26.2" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" - dependencies: - babel-plugin-transform-strict-mode "^6.24.1" - babel-runtime "^6.26.0" - babel-template "^6.26.0" - babel-types "^6.26.0" - babel-plugin-transform-object-rest-spread@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" @@ -6130,13 +5931,6 @@ babel-plugin-transform-replace-expressions@^0.2.0: dependencies: "@babel/parser" "^7.3.3" -babel-plugin-transform-strict-mode@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" - dependencies: - babel-runtime "^6.22.0" - babel-types "^6.24.1" - babel-preset-current-node-syntax@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" @@ -6155,74 +5949,30 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^22.4.3: - version "22.4.4" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-22.4.4.tgz#ec9fbd8bcd7dfd24b8b5320e0e688013235b7c39" - integrity sha512-+dxMtOFwnSYWfum0NaEc0O03oSdwBsjx4tMSChRDPGwu/4wSY6Q6ANW3wkjKpJzzguaovRs/DODcT4hbSN8yiA== - dependencies: - babel-plugin-jest-hoist "^22.4.4" - babel-plugin-syntax-object-rest-spread "^6.13.0" - -babel-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-jest@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-26.6.2.tgz#747872b1171df032252426586881d62d31798fee" - integrity sha512-YvdtlVm9t3k777c5NPQIv6cxFFFapys25HiUmuSgHwIZhfifweR5c5Sf5nwE3MAbfu327CYSvps8Yx6ANLyleQ== +babel-preset-jest@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.2.0.tgz#556bbbf340608fed5670ab0ea0c8ef2449fba885" + integrity sha512-z7MgQ3peBwN5L5aCqBKnF6iqdlvZvFUQynEhu0J+X9nHLU72jO3iY331lcYrg+AssJ8q7xsv5/3AICzVmJ/wvg== dependencies: - babel-plugin-jest-hoist "^26.6.2" + babel-plugin-jest-hoist "^27.2.0" babel-preset-current-node-syntax "^1.0.0" -babel-register@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" +babel-preset-jest@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.4.0.tgz#70d0e676a282ccb200fbabd7f415db5fdf393bca" + integrity sha512-NK4jGYpnBvNxcGo7/ZpZJr51jCGT+3bwwpVIDY2oNfTxJJldRtB4VAcYdgp1loDE50ODuTu+yBjpMAswv5tlpg== dependencies: - babel-core "^6.26.0" - babel-runtime "^6.26.0" - core-js "^2.5.0" - home-or-tmp "^2.0.0" - lodash "^4.17.4" - mkdirp "^0.5.1" - source-map-support "^0.4.15" + babel-plugin-jest-hoist "^27.4.0" + babel-preset-current-node-syntax "^1.0.0" -babel-runtime@^6.11.6, babel-runtime@^6.22.0, babel-runtime@^6.26.0, babel-runtime@^6.9.2: +babel-runtime@^6.11.6, babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" dependencies: core-js "^2.4.0" regenerator-runtime "^0.11.0" -babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" - dependencies: - babel-runtime "^6.26.0" - babel-traverse "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - lodash "^4.17.4" - -babel-traverse@^6.18.0, babel-traverse@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" - dependencies: - babel-code-frame "^6.26.0" - babel-messages "^6.23.0" - babel-runtime "^6.26.0" - babel-types "^6.26.0" - babylon "^6.18.0" - debug "^2.6.8" - globals "^9.18.0" - invariant "^2.2.2" - lodash "^4.17.4" - -babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0: +babel-types@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" dependencies: @@ -6441,14 +6191,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^1.8.2: - version "1.8.5" - resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" - dependencies: - expand-range "^1.8.1" - preserve "^0.2.0" - repeat-element "^1.1.2" - braces@^2.3.1, braces@^2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -6498,7 +6240,7 @@ browser-process-hrtime@^1.0.0: resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== -browser-resolve@^1.11.2, browser-resolve@^1.11.3, browser-resolve@^1.7.0, browser-resolve@^1.8.1: +browser-resolve@^1.7.0, browser-resolve@^1.8.1: version "1.11.3" resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" dependencies: @@ -6864,7 +6606,7 @@ camelcase@^4.0.0, camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" -camelcase@^6.0.0, camelcase@^6.2.0: +camelcase@^6.2.0: version "6.2.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== @@ -6888,13 +6630,6 @@ capitalize@^2.0.3: resolved "https://registry.yarnpkg.com/capitalize/-/capitalize-2.0.3.tgz#ccfeb1046d2a054eb30f34af907a70c3e90f3b73" integrity sha512-Qc5ksT1/zEJBbFYD05h99hCNEW0cgyD0zzE5WvkgisNnppJ+16zfaSk34evF0j6pGW8hejkRUeygJ5uN5k22SQ== -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - capture-stack-trace@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" @@ -7064,21 +6799,6 @@ chokidar-cli@^3.0.0: lodash.throttle "^4.1.1" yargs "^13.3.0" -chokidar@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" - dependencies: - anymatch "^1.3.0" - async-each "^1.0.0" - glob-parent "^2.0.0" - inherits "^2.0.1" - is-binary-path "^1.0.0" - is-glob "^2.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.0.0" - optionalDependencies: - fsevents "^1.0.0" - chokidar@^3.0.0, chokidar@^3.4.0, chokidar@^3.4.2, chokidar@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" @@ -7114,10 +6834,20 @@ ci-info@^1.5.0: version "1.6.0" resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" -cjs-module-lexer@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" - integrity sha512-uc2Vix1frTfnuzxxu1Hp4ktSvM3QaI4oXl4ZUqL1wjTu/BGki9TrCWoqLTg/drR1KwAEarXuRFCG2Svr1GxPFw== +ci-info@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" + integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== + +ci-info@^3.2.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== + +cjs-module-lexer@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" + integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== clap@^1.0.9: version "1.2.3" @@ -7207,14 +6937,6 @@ clipboardy@^2.3.0: execa "^1.0.0" is-wsl "^2.1.1" -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - cliui@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" @@ -8013,7 +7735,7 @@ core-js@3.9.0: resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.9.0.tgz#790b1bb11553a2272b36e2625c7179db345492f8" integrity sha512-PyFBJaLq93FlyYdsndE5VaueA9K5cNB7CGzeCj191YYLhkQM0gdZR2SKihM70oF0wdqKSKClv/tEBOpoRmdOVQ== -core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.6.5: +core-js@^2.4.0, core-js@^2.4.1, core-js@^2.6.5: version "2.6.11" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== @@ -8081,22 +7803,6 @@ cp-file@^7.0.0: nested-error-stacks "^2.0.0" p-event "^4.1.0" -cpx@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/cpx/-/cpx-1.5.0.tgz#185be018511d87270dedccc293171e37655ab88f" - dependencies: - babel-runtime "^6.9.2" - chokidar "^1.6.0" - duplexer "^0.1.1" - glob "^7.0.5" - glob2base "^0.0.12" - minimatch "^3.0.2" - mkdirp "^0.5.1" - resolve "^1.1.7" - safe-buffer "^5.0.1" - shell-quote "^1.6.1" - subarg "^1.0.0" - cpy-cli@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/cpy-cli/-/cpy-cli-3.1.1.tgz#2adb06544102c948ce098e522d5b8ddcf4f7c0b4" @@ -8580,22 +8286,15 @@ csso@~2.3.1: clap "^1.0.9" source-map "^0.5.3" -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - cssom@^0.4.1, cssom@^0.4.4: version "0.4.4" resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== -cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== - dependencies: - cssom "0.3.x" +cssom@~0.3.6: + version "0.3.8" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" + integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== cssstyle@^2.0.0, cssstyle@^2.3.0: version "2.3.0" @@ -8759,7 +8458,7 @@ de-indent@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" -debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6.9: +debug@2, debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" dependencies: @@ -8796,14 +8495,14 @@ decamelize-keys@^1.0.0, decamelize-keys@^1.1.0: decamelize "^1.1.0" map-obj "^1.0.0" -decamelize@^1.1.0, decamelize@^1.1.1, decamelize@^1.1.2, decamelize@^1.2.0: +decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== decode-uri-component@^0.2.0: version "0.2.0" @@ -9021,12 +8720,6 @@ detect-file@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" -detect-indent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" - dependencies: - repeating "^2.0.0" - detect-indent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" @@ -9036,14 +8729,10 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.0.0.tgz#0abd0f549f69fc6659a254fe96786186b6f528fd" integrity sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA== -detect-libc@^1.0.2, detect-libc@^1.0.3: +detect-libc@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - detect-newline@^3.0.0, detect-newline@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -9142,14 +8831,15 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-26.6.2.tgz#48ba99157de1923412eed41db6b6d4aa9ca7c0b1" - integrity sha512-Mv/TDa3nZ9sbc5soK+OoA74BsS3mL37yixCvUAQkiuA4Wz6YtwP/K47n2rv2ovzHZvoiQeA5FTQOschKkEwB0Q== +diff-sequences@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" + integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== -diff@^3.2.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" +diff-sequences@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.4.0.tgz#d783920ad8d06ec718a060d00196dfef25b132a5" + integrity sha512-YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww== diff@^4.0.1: version "4.0.1" @@ -9538,10 +9228,10 @@ electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.878: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.886.tgz#ac039c4001b665b1dd0f0ed9c2e4da90ff3c9267" integrity sha512-+vYdeBosI63VkCtNWnEVFjgNd/IZwvnsWkKyPtWAvrhA+XfByKoBJcbsMgudVU/bUcGAF9Xp3aXn96voWlc3oQ== -emittery@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.2.tgz#25595908e13af0f5674ab419396e2fb394cdfa82" - integrity sha512-A8OG5SR/ij3SsJdWDJdkkSYUjQdCUx6APQXem0SaEePBSRg4eymGYwBkKo1Y6DU+af/Jn2dBQqDBvjnr9Vi8nQ== +emittery@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" + integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== "emoji-regex@>=6.0.0 <=6.1.1": version "6.1.1" @@ -9832,7 +9522,7 @@ escape-string-regexp@^4.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== -escodegen@^1.11.0, escodegen@^1.11.1, escodegen@^1.7.0, escodegen@^1.9.1: +escodegen@^1.11.1, escodegen@^1.7.0: version "1.12.0" resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.12.0.tgz#f763daf840af172bb3a2b6dd7219c0e17f7ff541" integrity sha512-TuA+EhsanGcme5T3R0L80u4t8CpbXQjegRmf7+FPTJrtCTErXFeelblRgHQa1FofEzqYYJmJ/OqjTwREp9qgmg== @@ -10325,11 +10015,6 @@ events@^3.2.0, events@^3.3.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -exec-sh@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.2.tgz#6738de2eb7c8e671d0366aea0b0db8c6f7d7391b" - integrity sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg== - execa@^0.6.0: version "0.6.3" resolved "https://registry.yarnpkg.com/execa/-/execa-0.6.3.tgz#57b69a594f081759c69e5370f0d17b9cb11658fe" @@ -10367,7 +10052,7 @@ execa@^1.0.0: signal-exit "^3.0.0" strip-eof "^1.0.0" -execa@^4.0.0, execa@^4.1.0: +execa@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== @@ -10417,12 +10102,6 @@ exit@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" -expand-brackets@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" - dependencies: - is-posix-bracket "^0.1.0" - expand-brackets@^2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" @@ -10451,22 +10130,10 @@ expand-tilde@^2.0.0, expand-tilde@^2.0.2: dependencies: homedir-polyfill "^1.0.1" -expect@^22.4.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/expect/-/expect-22.4.3.tgz#d5a29d0a0e1fb2153557caef2674d4547e914674" - integrity sha512-XcNXEPehqn8b/jm8FYotdX0YrXn36qp4HWlrVT4ktwQas1l1LPxiVWncYnnL2eyMtKAmVIaG0XAp0QlrqJaxaA== - dependencies: - ansi-styles "^3.2.0" - jest-diff "^22.4.3" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.4.3" - jest-message-util "^22.4.3" - jest-regex-util "^22.4.3" - -expect@^24.1.0, expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== +expect@^24.1.0: + version "24.9.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" + integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== dependencies: "@jest/types" "^24.9.0" ansi-styles "^3.2.0" @@ -10475,17 +10142,17 @@ expect@^24.1.0, expect@^24.9.0: jest-message-util "^24.9.0" jest-regex-util "^24.9.0" -expect@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" - integrity sha512-9/hlOBkQl2l/PLHJx6JjoDF6xPKcJEsUlWKb23rKE7KzeDqUZKXKNMW27KIue5JMdBV9HgmoJPcc8HtO85t9IA== +expect@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/expect/-/expect-27.4.2.tgz#4429b0f7e307771d176de9bdf23229b101db6ef6" + integrity sha512-BjAXIDC6ZOW+WBFNg96J22D27Nq5ohn+oGcuP2rtOtcjuxNoV9McpQ60PcQWhdFOSBIQdR72e+4HdnbZTFSTyg== dependencies: - "@jest/types" "^26.6.2" - ansi-styles "^4.0.0" - jest-get-type "^26.3.0" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-regex-util "^26.0.0" + "@jest/types" "^27.4.2" + ansi-styles "^5.0.0" + jest-get-type "^27.4.0" + jest-matcher-utils "^27.4.2" + jest-message-util "^27.4.2" + jest-regex-util "^27.4.0" express-graphql@^0.12.0: version "0.12.0" @@ -10573,12 +10240,6 @@ external-editor@^3.0.3: iconv-lite "^0.4.24" tmp "^0.0.33" -extglob@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" - dependencies: - is-extglob "^1.0.0" - extglob@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" @@ -10802,10 +10463,6 @@ filelist@^1.0.1: dependencies: minimatch "^3.0.4" -filename-regex@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" - filename-reserved-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz#abf73dfab735d045440abfea2d91f389ebbfa229" @@ -10899,10 +10556,6 @@ find-cache-dir@^3.3.1, find-cache-dir@^3.3.2: make-dir "^3.0.2" pkg-dir "^4.1.0" -find-index@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" - find-root@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" @@ -11082,12 +10735,6 @@ for-in@^1.0.1, for-in@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" -for-own@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - dependencies: - for-in "^1.0.1" - for-own@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" @@ -11226,15 +10873,6 @@ fs-exists-sync@^0.1.0: resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= -fs-extra@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-6.0.0.tgz#0f0afb290bb3deb87978da816fcd3c7797f3a817" - integrity sha512-lk2cUCo8QzbiEWEbt7Cw3m27WMiRG321xsssbcIpfMhpRjrlC08WBOVQqj1/nQYYNnPtyIhP1oqLO3QwT2tPCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - fs-extra@8.1.0, fs-extra@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -11314,14 +10952,7 @@ fs.realpath@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" -fsevents@^1.0.0, fsevents@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" - dependencies: - nan "^2.9.2" - node-pre-gyp "^0.10.0" - -fsevents@^2.1.2, fsevents@~2.3.2: +fsevents@^2.3.2, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -11383,10 +11014,6 @@ gensync@^1.0.0-beta.1, gensync@^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" - get-caller-file@^2.0.1, get-caller-file@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" @@ -11604,19 +11231,6 @@ gitlab@^10.0.1: query-string "^6.8.2" universal-url "^2.0.0" -glob-base@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" - dependencies: - glob-parent "^2.0.0" - is-glob "^2.0.0" - -glob-parent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" - dependencies: - is-glob "^2.0.0" - glob-parent@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" @@ -11655,12 +11269,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob2base@^0.0.12: - version "0.0.12" - resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" - dependencies: - find-index "^0.1.1" - glob@7.1.3: version "7.1.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.3.tgz#3960832d3f1574108342dafd3a67b332c0969df1" @@ -11779,10 +11387,6 @@ globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -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.0" resolved "https://registry.yarnpkg.com/globalyzer/-/globalyzer-0.1.0.tgz#cb76da79555669a1519d5a8edf093afaa0bf1465" @@ -12073,6 +11677,7 @@ gray-percentage@^2.0.0: growly@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" + integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= gulp-header@^1.7.1: version "1.8.12" @@ -12104,7 +11709,7 @@ gzip-size@^6.0.0: dependencies: duplexer "^0.1.2" -handlebars@4.7.7, handlebars@^4.0.5, handlebars@^4.1.2, handlebars@^4.7.6: +handlebars@4.7.7, handlebars@^4.0.5, handlebars@^4.7.6: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -12431,13 +12036,6 @@ hoist-non-react-statics@^3.3.2: dependencies: react-is "^16.7.0" -home-or-tmp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.1" - homedir-polyfill@^1.0.0, homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -13138,16 +12736,12 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -invariant@^2.2.2, invariant@^2.2.3, invariant@^2.2.4: +invariant@^2.2.3, invariant@^2.2.4: version "2.2.4" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" dependencies: loose-envify "^1.0.0" -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -13274,6 +12868,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-ci@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" + integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== + dependencies: + ci-info "^3.1.1" + is-color-stop@^1.0.0, is-color-stop@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" @@ -13338,21 +12939,11 @@ is-docker@^2.0.0, is-docker@^2.2.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-dotfile@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" - is-empty@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/is-empty/-/is-empty-1.2.0.tgz#de9bb5b278738a05a0b09a57e1fb4d4a341a9f6b" integrity sha1-3pu1snhzigWgsJpX4ftNSjQan2s= -is-equal-shallow@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" - dependencies: - is-primitive "^2.0.0" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -13396,10 +12987,6 @@ is-function@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" -is-generator-fn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a" - is-generator-fn@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.0.0.tgz#038c31b774709641bda678b1f06a4e3227c10b3e" @@ -13411,7 +12998,7 @@ is-glob@4.0.1: dependencies: is-extglob "^2.1.1" -is-glob@^2.0.0, is-glob@^2.0.1: +is-glob@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" dependencies: @@ -13596,19 +13183,11 @@ is-plain-object@^5.0.0: resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344" integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== -is-posix-bracket@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" - is-potential-custom-element-name@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-primitive@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" - is-promise@4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-4.0.0.tgz#42ff9f84206c1991d26debf520dd5c01042dd2f3" @@ -13779,10 +13358,6 @@ is-word-character@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.2.tgz#46a5dac3f2a1840898b91e576cd40d493f3ae553" -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - is-wsl@^2.1.1, is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -13829,44 +13404,11 @@ isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -istanbul-lib-coverage@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0" - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - istanbul-lib-coverage@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== -istanbul-lib-instrument@^1.10.1: - version "1.10.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca" - dependencies: - babel-generator "^6.18.0" - babel-template "^6.16.0" - babel-traverse "^6.18.0" - babel-types "^6.18.0" - babylon "^6.18.0" - istanbul-lib-coverage "^1.2.1" - semver "^5.3.0" - -istanbul-lib-instrument@^3.0.0, istanbul-lib-instrument@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.0.1.tgz#dd631e117dd9891e8bf1de7bb400cb8e491363af" - dependencies: - "@babel/generator" "^7.0.0" - "@babel/parser" "^7.0.0" - "@babel/template" "^7.0.0" - "@babel/traverse" "^7.0.0" - "@babel/types" "^7.0.0" - istanbul-lib-coverage "^2.0.2" - semver "^5.5.0" - istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" @@ -13877,15 +13419,6 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -13895,16 +13428,6 @@ istanbul-lib-report@^3.0.0: make-dir "^3.0.0" supports-color "^7.1.0" -istanbul-lib-source-maps@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.1.tgz#002936e1106c4fa49714a946e6c63c1098b52e11" - dependencies: - debug "^3.1.0" - istanbul-lib-coverage "^2.0.2" - make-dir "^1.3.0" - rimraf "^2.6.2" - source-map "^0.6.1" - istanbul-lib-source-maps@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" @@ -13914,13 +13437,6 @@ istanbul-lib-source-maps@^4.0.0: istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" -istanbul-reports@^2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.6.tgz#7b4f2660d82b29303a8fe6091f8ca4bf058da1af" - integrity sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA== - dependencies: - handlebars "^4.1.2" - istanbul-reports@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" @@ -13944,137 +13460,87 @@ jake@^10.6.1: filelist "^1.0.1" minimatch "^3.0.4" -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-changed-files@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" - integrity sha512-fDS7szLcY9sCtIip8Fjry9oGf3I2ht/QT21bAHm5Dmf0mD4X3ReNUf17y+bO6fR8WgbIZTlbyG1ak/53cbRzKQ== +jest-changed-files@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.4.2.tgz#da2547ea47c6e6a5f6ed336151bd2075736eb4a5" + integrity sha512-/9x8MjekuzUQoPjDHbBiXbNEBauhrPU2ct7m8TfCg69ywt1y/N+yYwGh3gCpnqUS3klYWDU/lSNgv+JhoD2k1A== dependencies: - "@jest/types" "^26.6.2" - execa "^4.0.0" - throat "^5.0.0" + "@jest/types" "^27.4.2" + execa "^5.0.0" + throat "^6.0.1" -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== +jest-circus@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.4.4.tgz#8bf89aa604b914ecc10e3d895aae283b529f965d" + integrity sha512-4DWhvQerDq5X4GaqhEUoZiBhuNdKDGr0geW0iJwarbDljAmGaGOErKQG+z2PBr0vgN05z7tsGSY51mdWr8E4xg== dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" + "@jest/environment" "^27.4.4" + "@jest/test-result" "^27.4.2" + "@jest/types" "^27.4.2" + "@types/node" "*" + chalk "^4.0.0" + co "^4.6.0" + dedent "^0.7.0" + expect "^27.4.2" + is-generator-fn "^2.0.0" + jest-each "^27.4.2" + jest-matcher-utils "^27.4.2" + jest-message-util "^27.4.2" + jest-runtime "^27.4.4" + jest-snapshot "^27.4.4" + jest-util "^27.4.2" + pretty-format "^27.4.2" + slash "^3.0.0" + stack-utils "^2.0.3" + throat "^6.0.1" -jest-cli@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-26.6.3.tgz#43117cfef24bc4cd691a174a8796a532e135e92a" - integrity sha512-GF9noBSa9t08pSyl3CY4frMrqp+aQXFGFkf5hEPbh/pIUFYWMK6ZLTfbmadxJVcJrdRoChlWQsA2VkJcDFK8hg== +jest-cli@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.4.4.tgz#7115ff01f605c2c848314141b1ac144099ddeed5" + integrity sha512-+MfsHnZPUOBigCBURuQFRpgYoPCgmIFkICkqt4SrramZCUp/UAuWcst4pMZb84O3VU8JyKJmnpGG4qH8ClQloA== dependencies: - "@jest/core" "^26.6.3" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/core" "^27.4.4" + "@jest/test-result" "^27.4.2" + "@jest/types" "^27.4.2" chalk "^4.0.0" exit "^0.1.2" graceful-fs "^4.2.4" import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^26.6.3" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-config "^27.4.4" + jest-util "^27.4.2" + jest-validate "^27.4.2" prompts "^2.0.1" - yargs "^15.4.1" - -jest-config@^22.4.3, jest-config@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-22.4.4.tgz#72a521188720597169cd8b4ff86934ef5752d86a" - integrity sha512-9CKfo1GC4zrXSoMLcNeDvQBfgtqGTB1uP8iDIZ97oB26RCUb886KkKWhVcpyxVDOUxbhN+uzcBCeFe7w+Iem4A== - dependencies: - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^22.4.1" - jest-environment-node "^22.4.1" - jest-get-type "^22.1.0" - jest-jasmine2 "^22.4.4" - jest-regex-util "^22.1.0" - jest-resolve "^22.4.2" - jest-util "^22.4.1" - jest-validate "^22.4.4" - pretty-format "^22.4.0" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" + yargs "^16.2.0" -jest-config@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-26.6.3.tgz#64f41444eef9eb03dc51d5c53b75c8c71f645349" - integrity sha512-t5qdIj/bCj2j7NFVHb2nFB4aUdfucDn3JRKgrZnplb8nieAirAzRSHP8uDEd+qV6ygzg9Pz4YG7UTJf94LPSyg== +jest-config@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.4.4.tgz#0e3615392361baae0e29dbf64c296d5563d7e28b" + integrity sha512-6lxg0ugO6KS2zKEbpdDwBzu1IT0Xg4/VhxXMuBu+z/5FvBjLCEMTaWQm3bCaGCZUR9j9FK4DzUIxyhIgn6kVEg== dependencies: "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^26.6.3" - "@jest/types" "^26.6.2" - babel-jest "^26.6.3" + "@jest/test-sequencer" "^27.4.4" + "@jest/types" "^27.4.2" + babel-jest "^27.4.4" chalk "^4.0.0" + ci-info "^3.2.0" deepmerge "^4.2.2" glob "^7.1.1" graceful-fs "^4.2.4" - jest-environment-jsdom "^26.6.2" - jest-environment-node "^26.6.2" - jest-get-type "^26.3.0" - jest-jasmine2 "^26.6.3" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" - micromatch "^4.0.2" - pretty-format "^26.6.2" - -jest-diff@^22.4.0, jest-diff@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-22.4.3.tgz#e18cc3feff0aeef159d02310f2686d4065378030" - integrity sha512-/QqGvCDP5oZOF6PebDuLwrB2BMD8ffJv6TAGAdEVuDx1+uEgrHpSFrfrOiMRx2eJ1hgNjlQrOQEHetVwij90KA== - dependencies: - chalk "^2.0.1" - diff "^3.2.0" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" + jest-circus "^27.4.4" + jest-environment-jsdom "^27.4.4" + jest-environment-node "^27.4.4" + jest-get-type "^27.4.0" + jest-jasmine2 "^27.4.4" + jest-regex-util "^27.4.0" + jest-resolve "^27.4.4" + jest-runner "^27.4.4" + jest-util "^27.4.2" + jest-validate "^27.4.2" + micromatch "^4.0.4" + pretty-format "^27.4.2" + slash "^3.0.0" -jest-diff@^24.3.0, jest-diff@^24.9.0: +jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -14084,124 +13550,68 @@ jest-diff@^24.3.0, jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^26.0.0, jest-diff@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-26.6.2.tgz#1aa7468b52c3a68d7d5c5fdcdfcd5e49bd164394" - integrity sha512-6m+9Z3Gv9wN0WFVasqjCL/06+EFCMTqDEUl/b87HYK2rAPTyfz4ZIuSlPhY51PIQRWx5TaxeF1qmXKe9gfN3sA== +jest-diff@^27.0.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.2.0.tgz#bda761c360f751bab1e7a2fe2fc2b0a35ce8518c" + integrity sha512-QSO9WC6btFYWtRJ3Hac0sRrkspf7B01mGrrQEiCW6TobtViJ9RWL0EmOs/WnBsZDsI/Y2IoSHZA2x6offu0sYw== dependencies: chalk "^4.0.0" - diff-sequences "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" + diff-sequences "^27.0.6" + jest-get-type "^27.0.6" + pretty-format "^27.2.0" -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== +jest-diff@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.4.2.tgz#786b2a5211d854f848e2dcc1e324448e9481f36f" + integrity sha512-ujc9ToyUZDh9KcqvQDkk/gkbf6zSaeEg9AiBxtttXW59H/AcqEYp1ciXAtJp+jXWva5nAf/ePtSsgWwE5mqp4Q== dependencies: - detect-newline "^2.1.0" + chalk "^4.0.0" + diff-sequences "^27.4.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.2" -jest-docblock@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-26.0.0.tgz#3e2fa20899fc928cb13bd0ff68bd3711a36889b5" - integrity sha512-RDZ4Iz3QbtRWycd8bUEPxQsTlYazfYn/h5R65Fc6gOfwozFhoImx+affzky/FFBuqISPTqjXomoIGJVKBWoo0w== +jest-docblock@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.4.0.tgz#06c78035ca93cbbb84faf8fce64deae79a59f69f" + integrity sha512-7TBazUdCKGV7svZ+gh7C8esAnweJoG+SvcF6Cjqj4l17zA2q1cMwx2JObSioubk317H+cjcHgP+7fTs60paulg== dependencies: detect-newline "^3.0.0" -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-each@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-26.6.2.tgz#02526438a77a67401c8a6382dfe5999952c167cb" - integrity sha512-Mer/f0KaATbjl8MCJ+0GEpNdqmnVmDYqCTJYTvoo7rqmRiDllmp2AYN+06F93nXcY3ur9ShIjS+CO/uD+BbH4A== +jest-each@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.4.2.tgz#19364c82a692d0d26557642098d1f4619c9ee7d3" + integrity sha512-53V2MNyW28CTruB3lXaHNk6PkiIFuzdOC9gR3C6j8YE/ACfrPnz+slB0s17AgU1TtxNzLuHyvNlLJ+8QYw9nBg== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" chalk "^4.0.0" - jest-get-type "^26.3.0" - jest-util "^26.6.2" - pretty-format "^26.6.2" - -jest-environment-jsdom-fourteen@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-0.1.0.tgz#aad6393a9d4b565b69a609109bf469f62bf18ccc" - dependencies: - jest-mock "^24.5.0" - jest-util "^24.5.0" - jsdom "^14.0.0" - -jest-environment-jsdom@^22.4.1: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-22.4.3.tgz#d67daa4155e33516aecdd35afd82d4abf0fa8a1e" - integrity sha512-FviwfR+VyT3Datf13+ULjIMO5CSeajlayhhYQwpzgunswoaLIPutdbrnfUHEMyJCwvqQFaVtTmn9+Y8WCt6n1w== - dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" - jsdom "^11.5.1" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-jsdom@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-26.6.2.tgz#78d09fe9cf019a357009b9b7e1f101d23bd1da3e" - integrity sha512-jgPqCruTlt3Kwqg5/WVFyHIOJHsiAvhcp2qiR2QQstuG9yWox5+iHpU3ZrcBxW14T4fe5Z68jAfLRh7joCSP2Q== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + jest-get-type "^27.4.0" + jest-util "^27.4.2" + pretty-format "^27.4.2" + +jest-environment-jsdom@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.4.4.tgz#94f738e99514d7a880e8ed8e03e3a321d43b49db" + integrity sha512-cYR3ndNfHBqQgFvS1RL7dNqSvD//K56j/q1s2ygNHcfTCAp12zfIromO1w3COmXrxS8hWAh7+CmZmGCIoqGcGA== + dependencies: + "@jest/environment" "^27.4.4" + "@jest/fake-timers" "^27.4.2" + "@jest/types" "^27.4.2" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" - jsdom "^16.4.0" - -jest-environment-node@^22.4.1: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-22.4.3.tgz#54c4eaa374c83dd52a9da8759be14ebe1d0b9129" - integrity sha512-reZl8XF6t/lMEuPWwo9OLfttyC26A5AMgDyEQ6DBgZuyfyeNUzYT8BFo6uxCCP/Av/b7eb9fTi3sIHFPBzmlRA== - dependencies: - jest-mock "^22.4.3" - jest-util "^22.4.3" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-environment-node@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-26.6.2.tgz#824e4c7fb4944646356f11ac75b229b0035f2b0c" - integrity sha512-zhtMio3Exty18dy8ee8eJ9kjnRyZC1N4C1Nt/VShN1apyXc8rWGtJ9lI7vqiWcyyXS4BVSEn9lxAM2D+07/Tag== - dependencies: - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/types" "^26.6.2" + jest-mock "^27.4.2" + jest-util "^27.4.2" + jsdom "^16.6.0" + +jest-environment-node@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.4.4.tgz#42fe5e3b224cb69b99811ebf6f5eaa5a59618514" + integrity sha512-D+v3lbJ2GjQTQR23TK0kY3vFVmSeea05giInI41HHOaJnAwOnmUHTZgUaZL+VxUB43pIzoa7PMwWtCVlIUoVoA== + dependencies: + "@jest/environment" "^27.4.4" + "@jest/fake-timers" "^27.4.2" + "@jest/types" "^27.4.2" "@types/node" "*" - jest-mock "^26.6.2" - jest-util "^26.6.2" + jest-mock "^27.4.2" + jest-util "^27.4.2" jest-extended@^0.11.5: version "0.11.5" @@ -14212,7 +13622,7 @@ jest-extended@^0.11.5: jest-get-type "^22.4.3" jest-matcher-utils "^22.0.0" -jest-get-type@^22.1.0, jest-get-type@^22.4.3: +jest-get-type@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" @@ -14221,152 +13631,99 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^26.3.0: - version "26.3.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-26.3.0.tgz#e97dc3c3f53c2b406ca7afaed4493b1d099199e0" - integrity sha512-TpfaviN1R2pQWkIihlfEanwOXK0zcxrKEE4MlU6Tn7keoXdN6/3gK/xl0yEh8DOunn5pOVGKf8hB4R9gVh04ig== +jest-get-type@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" + integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== +jest-get-type@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.4.0.tgz#7503d2663fffa431638337b3998d39c5e928e9b5" + integrity sha512-tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ== + +jest-haste-map@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.2.0.tgz#703b3a473e3f2e27d75ab07864ffd7bbaad0d75e" + integrity sha512-laFet7QkNlWjwZtMGHCucLvF8o9PAh2cgePRck1+uadSM4E4XH9J4gnx4do+a6do8ZV5XHNEAXEkIoNg5XUH2Q== dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" + "@jest/types" "^27.1.1" + "@types/graceful-fs" "^4.1.2" + "@types/node" "*" + anymatch "^3.0.3" fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" + graceful-fs "^4.2.4" + jest-regex-util "^27.0.6" + jest-serializer "^27.0.6" + jest-util "^27.2.0" + jest-worker "^27.2.0" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^1.2.7" + fsevents "^2.3.2" -jest-haste-map@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-26.6.2.tgz#dd7e60fe7dc0e9f911a23d79c5ff7fb5c2cafeaa" - integrity sha512-easWIJXIw71B2RdR8kgqpjQrbMRWQBgiBwXYEhtGUTaX+doCjBheluShdDMeR8IMfJiTqH4+zfhtg29apJf/8w== +jest-haste-map@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.4.4.tgz#ec6013845368a155372e25e42e2b77e6ecc5019f" + integrity sha512-kvspmHmgPIZoDaqUsvsJFTaspuxhATvdO6wsFNGNSi8kfdiOCEEvECNbht8xG+eE5Ol88JyJmp2D7RF4dYo85Q== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" "@types/graceful-fs" "^4.1.2" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.4" - jest-regex-util "^26.0.0" - jest-serializer "^26.6.2" - jest-util "^26.6.2" - jest-worker "^26.6.2" - micromatch "^4.0.2" - sane "^4.0.3" + jest-regex-util "^27.4.0" + jest-serializer "^27.4.0" + jest-util "^27.4.2" + jest-worker "^27.4.4" + micromatch "^4.0.4" walker "^1.0.7" optionalDependencies: - fsevents "^2.1.2" + fsevents "^2.3.2" -jest-jasmine2@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-22.4.4.tgz#c55f92c961a141f693f869f5f081a79a10d24e23" - integrity sha512-nK3vdUl50MuH7vj/8at7EQVjPGWCi3d5+6aCi7Gxy/XMWdOdbH1qtO/LjKbqD8+8dUAEH+BVVh7HkjpCWC1CSw== - dependencies: - chalk "^2.0.1" - co "^4.6.0" - expect "^22.4.0" - graceful-fs "^4.1.11" - is-generator-fn "^1.0.0" - jest-diff "^22.4.0" - jest-matcher-utils "^22.4.0" - jest-message-util "^22.4.0" - jest-snapshot "^22.4.0" - jest-util "^22.4.1" - source-map-support "^0.5.0" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-jasmine2@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-26.6.3.tgz#adc3cf915deacb5212c93b9f3547cd12958f2edd" - integrity sha512-kPKUrQtc8aYwBV7CqBg5pu+tmYXlvFlSFYn18ev4gPFtrRzB15N2gW/Roew3187q2w2eHuu0MU9TJz6w0/nPEg== +jest-jasmine2@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.4.4.tgz#1fcdc64de932913366e7d5f2960c375e1145176e" + integrity sha512-ygk2tUgtLeN3ouj4KEYw9p81GLI1EKrnvourPULN5gdgB482PH5op9gqaRG0IenbJhBbbRwiSvh5NoBoQZSqdA== dependencies: "@babel/traverse" "^7.1.0" - "@jest/environment" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/environment" "^27.4.4" + "@jest/source-map" "^27.4.0" + "@jest/test-result" "^27.4.2" + "@jest/types" "^27.4.2" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - expect "^26.6.2" + expect "^27.4.2" is-generator-fn "^2.0.0" - jest-each "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-runtime "^26.6.3" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - pretty-format "^26.6.2" - throat "^5.0.0" - -jest-junit@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-10.0.0.tgz#c94b91c24920a327c9d2a075e897b2dba4af494b" - integrity sha512-dbOVRyxHprdSpwSAR9/YshLwmnwf+RSl5hf0kCGlhAcEeZY9aRqo4oNmaT0tLC16Zy9D0zekDjWkjHGjXlglaQ== + jest-each "^27.4.2" + jest-matcher-utils "^27.4.2" + jest-message-util "^27.4.2" + jest-runtime "^27.4.4" + jest-snapshot "^27.4.4" + jest-util "^27.4.2" + pretty-format "^27.4.2" + throat "^6.0.1" + +jest-junit@^12.2.0: + version "12.2.0" + resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-12.2.0.tgz#cff7f9516e84f8e30f6bdea04cd84db6b095a376" + integrity sha512-ecGzF3KEQwLbMP5xMO7wqmgmyZlY/5yWDvgE/vFa+/uIT0KsU5nluf0D2fjIlOKB+tb6DiuSSpZuGpsmwbf7Fw== dependencies: - jest-validate "^24.9.0" - mkdirp "^0.5.1" + mkdirp "^1.0.4" strip-ansi "^5.2.0" - uuid "^3.3.3" - xml "^1.0.1" - -jest-junit@^6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/jest-junit/-/jest-junit-6.4.0.tgz#23e15c979fa6338afde46f2d2ac2a6b7e8cf0d9e" - integrity sha512-GXEZA5WBeUich94BARoEUccJumhCgCerg7mXDFLxWwI2P7wL3Z7sGWk+53x343YdBLjiMR9aD/gYMVKO+0pE4Q== - dependencies: - jest-validate "^24.0.0" - mkdirp "^0.5.1" - strip-ansi "^4.0.0" + uuid "^8.3.2" xml "^1.0.1" -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== +jest-leak-detector@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.4.2.tgz#7fc3120893a7a911c553f3f2bdff9faa4454abbb" + integrity sha512-ml0KvFYZllzPBJWDei3mDzUhyp/M4ubKebX++fPaudpe8OsxUE+m+P6ciVLboQsrzOCWDjE20/eXew9QMx/VGw== dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" + jest-get-type "^27.4.0" + pretty-format "^27.4.2" -jest-leak-detector@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-26.6.2.tgz#7717cf118b92238f2eba65054c8a0c9c653a91af" - integrity sha512-i4xlXpsVSMeKvg2cEKdfhh0H39qlJlP5Ex1yQxwF9ubahboQYMgTtz5oML35AVA3B4Eu+YsmwaiKVev9KCvLxg== - dependencies: - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-matcher-utils@^22.0.0, jest-matcher-utils@^22.4.0, jest-matcher-utils@^22.4.3: +jest-matcher-utils@^22.0.0: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" integrity sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA== @@ -14385,26 +13742,15 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-matcher-utils@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-26.6.2.tgz#8e6fd6e863c8b2d31ac6472eeb237bc595e53e7a" - integrity sha512-llnc8vQgYcNqDrqRDXWwMr9i7rS5XFiCwvh6DTP7Jqa2mqpcCBBlpCbn+trkG0KNhPu/h8rzyBkriOtBstvWhw== +jest-matcher-utils@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.4.2.tgz#d17c5038607978a255e0a9a5c32c24e984b6c60b" + integrity sha512-jyP28er3RRtMv+fmYC/PKG8wvAmfGcSNproVTW2Y0P/OY7/hWUOmsPfxN1jOhM+0u2xU984u2yEagGivz9OBGQ== dependencies: chalk "^4.0.0" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - pretty-format "^26.6.2" - -jest-message-util@^22.4.0, jest-message-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-22.4.3.tgz#cf3d38aafe4befddbfc455e57d65d5239e399eb7" - integrity sha512-iAMeKxhB3Se5xkSjU0NndLLCHtP4n+GtCqV0bISKA5dmOXQfEbdEmYiu2qpnWBDCQdEafNDDU6Q+l6oBMd/+BA== - dependencies: - "@babel/code-frame" "^7.0.0-beta.35" - chalk "^2.0.1" - micromatch "^2.3.11" - slash "^1.0.0" - stack-utils "^1.0.1" + jest-diff "^27.4.2" + jest-get-type "^27.4.0" + pretty-format "^27.4.2" jest-message-util@^24.9.0: version "24.9.0" @@ -14420,224 +13766,133 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-message-util@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-26.6.2.tgz#58173744ad6fc0506b5d21150b9be56ef001ca07" - integrity sha512-rGiLePzQ3AzwUshu2+Rn+UMFk0pHN58sOG+IaJbk5Jxuqo3NYO1U2/MIR4S1sKgsoYSXSzdtSa0TgrmtUwEbmA== +jest-message-util@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.4.2.tgz#07f3f1bf207d69cf798ce830cc57f1a849f99388" + integrity sha512-OMRqRNd9E0DkBLZpFtZkAGYOXl6ZpoMtQJWTAREJKDOFa0M6ptB7L67tp+cszMBkvSgKOhNtQp2Vbcz3ZZKo/w== dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^26.6.2" + "@babel/code-frame" "^7.12.13" + "@jest/types" "^27.4.2" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.4" - micromatch "^4.0.2" - pretty-format "^26.6.2" + micromatch "^4.0.4" + pretty-format "^27.4.2" slash "^3.0.0" - stack-utils "^2.0.2" - -jest-mock@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-22.4.3.tgz#f63ba2f07a1511772cdc7979733397df770aabc7" - integrity sha512-+4R6mH5M1G4NK16CKg9N1DtCaFmuxhcIqF4lQK/Q1CIotqMs/XBemfpDPeVZBFow6iyUNu6EBT9ugdNOTT5o5Q== - -jest-mock@^24.5.0, jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" + stack-utils "^2.0.3" -jest-mock@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-26.6.2.tgz#d6cb712b041ed47fe0d9b6fc3474bc6543feb302" - integrity sha512-YyFjePHHp1LzpzYcmgqkJ0nm0gg/lJx2aZFzFy1S6eUqNjXsOqTK10zNRff2dNfssgokjkG65OlWNcIlgd3zew== +jest-mock@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.4.2.tgz#184ff197a25491bfe4570c286daa5d62eb760b88" + integrity sha512-PDDPuyhoukk20JrQKeofK12hqtSka7mWH0QQuxSNgrdiPsrnYYLS6wbzu/HDlxZRzji5ylLRULeuI/vmZZDrYA== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" "@types/node" "*" -jest-pnp-resolver@^1.2.1, jest-pnp-resolver@^1.2.2: +jest-pnp-resolver@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== -jest-regex-util@^22.1.0, jest-regex-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-22.4.3.tgz#a826eb191cdf22502198c5401a1fc04de9cef5af" - integrity sha512-LFg1gWr3QinIjb8j833bq7jtQopiwdAs67OGfkPrvy7uNUbVMfTXXcOKXJaeY5GgjobELkKvKENqq1xrUectWg== - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: +jest-regex-util@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-regex-util@^26.0.0: - version "26.0.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-26.0.0.tgz#d25e7184b36e39fd466c3bc41be0971e821fee28" - integrity sha512-Gv3ZIs/nA48/Zvjrl34bf+oD76JHiGDUxNOVgUjh3j890sblXryjY4rss71fPtD/njchl6PSE2hIhvyWa1eT0A== - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve-dependencies@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-26.6.3.tgz#6680859ee5d22ee5dcd961fe4871f59f4c784fb6" - integrity sha512-pVwUjJkxbhe4RY8QEWzN3vns2kqyuldKpxlxJlzEYfKSvY6/bMvxoFrYYzUO1Gx28yKWN37qyV7rIoIp2h8fTg== - dependencies: - "@jest/types" "^26.6.2" - jest-regex-util "^26.0.0" - jest-snapshot "^26.6.2" +jest-regex-util@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.6.tgz#02e112082935ae949ce5d13b2675db3d8c87d9c5" + integrity sha512-SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ== -jest-resolve@^22.4.2: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-22.4.3.tgz#0ce9d438c8438229aa9b916968ec6b05c1abb4ea" - integrity sha512-u3BkD/MQBmwrOJDzDIaxpyqTxYH+XqAXzVJP51gt29H8jpj3QgKof5GGO2uPGKGeA1yTMlpbMs1gIQ6U4vcRhw== - dependencies: - browser-resolve "^1.11.2" - chalk "^2.0.1" +jest-regex-util@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.4.0.tgz#e4c45b52653128843d07ad94aec34393ea14fbca" + integrity sha512-WeCpMpNnqJYMQoOjm1nTtsgbR4XHAk1u00qDoNBQoykM280+/TmgA5Qh5giC1ecy6a5d4hbSsHzpBtu5yvlbEg== -jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== +jest-resolve-dependencies@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.4.4.tgz#dae11e067a6d6a9553f1386a0ea1efe5be0e2332" + integrity sha512-iAnpCXh81sd9nbyqySvm5/aV9X6JZKE0dQyFXTC8tptXcdrgS0vjPFy+mEgzPHxXw+tq4TQupuTa0n8OXwRIxw== dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" + "@jest/types" "^27.4.2" + jest-regex-util "^27.4.0" + jest-snapshot "^27.4.4" -jest-resolve@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-26.6.2.tgz#a3ab1517217f469b504f1b56603c5bb541fbb507" - integrity sha512-sOxsZOq25mT1wRsfHcbtkInS+Ek7Q8jCHUB0ZUTP0tc/c41QHriU/NunqMfCUWsL4H3MHpvQD4QR9kSYhS7UvQ== +jest-resolve@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.4.4.tgz#5b690662f54f38f7cfaffc0adcdb341ff7724408" + integrity sha512-Yh5jK3PBmDbm01Rc8pT0XqpBlTPEGwWp7cN61ijJuwony/tR2Taof3TLy6yfNiuRS8ucUOPO7NBYm3ei38kkcg== dependencies: - "@jest/types" "^26.6.2" + "@jest/types" "^27.4.2" chalk "^4.0.0" graceful-fs "^4.2.4" + jest-haste-map "^27.4.4" jest-pnp-resolver "^1.2.2" - jest-util "^26.6.2" - read-pkg-up "^7.0.1" - resolve "^1.18.1" + jest-util "^27.4.2" + jest-validate "^27.4.2" + resolve "^1.20.0" + resolve.exports "^1.1.0" slash "^3.0.0" -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runner@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-26.6.3.tgz#2d1fed3d46e10f233fd1dbd3bfaa3fe8924be159" - integrity sha512-atgKpRHnaA2OvByG/HpGA4g6CSPS/1LK0jK3gATJAoptC1ojltpmVlYC3TYgdmGp+GLuhzpH30Gvs36szSL2JQ== +jest-runner@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.4.4.tgz#0b40cdcbac293ebc4c19c2d7805d17ab1072f1fd" + integrity sha512-AXv/8Q0Xf1puWnDf52m7oLrK7sXcv6re0V/kItwTSVHJbX7Oebm07oGFQqGmq0R0mhO1zpmB3OpqRuaCN2elPA== dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/console" "^27.4.2" + "@jest/environment" "^27.4.4" + "@jest/test-result" "^27.4.2" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" "@types/node" "*" chalk "^4.0.0" - emittery "^0.7.1" + emittery "^0.8.1" exit "^0.1.2" graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-docblock "^26.0.0" - jest-haste-map "^26.6.2" - jest-leak-detector "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - jest-runtime "^26.6.3" - jest-util "^26.6.2" - jest-worker "^26.6.2" + jest-docblock "^27.4.0" + jest-environment-jsdom "^27.4.4" + jest-environment-node "^27.4.4" + jest-haste-map "^27.4.4" + jest-leak-detector "^27.4.2" + jest-message-util "^27.4.2" + jest-resolve "^27.4.4" + jest-runtime "^27.4.4" + jest-util "^27.4.2" + jest-worker "^27.4.4" source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-runtime@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-26.6.3.tgz#4f64efbcfac398331b74b4b3c82d27d401b8fa2b" - integrity sha512-lrzyR3N8sacTAMeonbqpnSka1dHNux2uk0qqDXVkMv2c/A3wYnvQ4EXuI013Y6+gSKSCxdaczvf4HF0mVXHRdw== - dependencies: - "@jest/console" "^26.6.2" - "@jest/environment" "^26.6.2" - "@jest/fake-timers" "^26.6.2" - "@jest/globals" "^26.6.2" - "@jest/source-map" "^26.6.2" - "@jest/test-result" "^26.6.2" - "@jest/transform" "^26.6.2" - "@jest/types" "^26.6.2" - "@types/yargs" "^15.0.0" + throat "^6.0.1" + +jest-runtime@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.4.4.tgz#0d486735e8a1c8bbcdbb9285b3155ed94c5e3670" + integrity sha512-tZGay6P6vXJq8t4jVFAUzYHx+lzIHXjz+rj1XBk6mAR1Lwtf5kz0Uun7qNuU+oqpZu4+hhuxpUfXb6j30bEPqA== + dependencies: + "@jest/console" "^27.4.2" + "@jest/environment" "^27.4.4" + "@jest/globals" "^27.4.4" + "@jest/source-map" "^27.4.0" + "@jest/test-result" "^27.4.2" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" + "@types/yargs" "^16.0.0" chalk "^4.0.0" - cjs-module-lexer "^0.6.0" + cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" + execa "^5.0.0" exit "^0.1.2" glob "^7.1.3" graceful-fs "^4.2.4" - jest-config "^26.6.3" - jest-haste-map "^26.6.2" - jest-message-util "^26.6.2" - jest-mock "^26.6.2" - jest-regex-util "^26.0.0" - jest-resolve "^26.6.2" - jest-snapshot "^26.6.2" - jest-util "^26.6.2" - jest-validate "^26.6.2" + jest-haste-map "^27.4.4" + jest-message-util "^27.4.2" + jest-mock "^27.4.2" + jest-regex-util "^27.4.0" + jest-resolve "^27.4.4" + jest-snapshot "^27.4.4" + jest-util "^27.4.2" + jest-validate "^27.4.2" slash "^3.0.0" strip-bom "^4.0.0" - yargs "^15.4.1" + yargs "^16.2.0" jest-serializer-path@^0.1.15: version "0.1.15" @@ -14647,15 +13902,18 @@ jest-serializer-path@^0.1.15: lodash.iserror "^3.1.1" slash "^2.0.0" -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== +jest-serializer@^27.0.6: + version "27.0.6" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.6.tgz#93a6c74e0132b81a2d54623251c46c498bb5bec1" + integrity sha512-PtGdVK9EGC7dsaziskfqaAPib6wTViY3G8E5wz9tLVPhHyiDNTZn/xjZ4khAw+09QkoOVpn7vF5nPSN6dtBexA== + dependencies: + "@types/node" "*" + graceful-fs "^4.2.4" -jest-serializer@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-26.6.2.tgz#d139aafd46957d3a448f3a6cdabe2919ba0742d1" - integrity sha512-S5wqyz0DXnNJPd/xfIzZ5Xnp1HrJWBczg8mMfMpN78OJ5eDxXyf+Ygld9wX1DnUWbIbhM1YDY95NjR4CBXkb2g== +jest-serializer@^27.4.0: + version "27.4.0" + resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.4.0.tgz#34866586e1cae2388b7d12ffa2c7819edef5958a" + integrity sha512-RDhpcn5f1JYTX2pvJAGDcnsNTnsV9bjYPU8xcV+xPwOXnUPOQwf4ZEuiU6G9H1UztH+OapMgu/ckEVwO87PwnQ== dependencies: "@types/node" "*" graceful-fs "^4.2.4" @@ -14666,93 +13924,39 @@ jest-silent-reporter@^0.5.0: integrity sha512-epdLt8Oj0a1AyRiR6F8zx/1SVT1Mi7VU3y4wB2uOBHs/ohIquC7v2eeja7UN54uRPyHInIKWdL+RdG228n5pJQ== dependencies: chalk "^4.0.0" - jest-util "^26.0.0" - -jest-snapshot@^22.4.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-22.4.3.tgz#b5c9b42846ffb9faccb76b841315ba67887362d2" - integrity sha512-JXA0gVs5YL0HtLDCGa9YxcmmV2LZbwJ+0MfyXBBc5qpgkEYITQFJP7XNhcHFbUvRiniRpRbGVfJrOoYhhGE0RQ== - dependencies: - chalk "^2.0.1" - jest-diff "^22.4.3" - jest-matcher-utils "^22.4.3" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^22.4.3" - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-snapshot@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-26.6.2.tgz#f3b0af1acb223316850bd14e1beea9837fb39c84" - integrity sha512-OLhxz05EzUtsAmOMzuupt1lHYXCNib0ECyuZ/PZOx9TrZcC8vL0x+DUG3TL+GLX3yHG45e6YGjIm0XwDc3q3og== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^26.6.2" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.0.0" - chalk "^4.0.0" - expect "^26.6.2" - graceful-fs "^4.2.4" - jest-diff "^26.6.2" - jest-get-type "^26.3.0" - jest-haste-map "^26.6.2" - jest-matcher-utils "^26.6.2" - jest-message-util "^26.6.2" - jest-resolve "^26.6.2" - natural-compare "^1.4.0" - pretty-format "^26.6.2" - semver "^7.3.2" - -jest-util@^22.4.1, jest-util@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-22.4.3.tgz#c70fec8eec487c37b10b0809dc064a7ecf6aafac" - integrity sha512-rfDfG8wyC5pDPNdcnAlZgwKnzHvZDu8Td2NJI/jAGKEGxJPYiE4F0ss/gSAkG4778Y23Hvbz+0GMrDJTeo7RjQ== - dependencies: - callsites "^2.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.11" - is-ci "^1.0.10" - jest-message-util "^22.4.3" - mkdirp "^0.5.1" - source-map "^0.6.0" + jest-util "^26.0.0" -jest-util@^24.5.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== +jest-snapshot@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.4.4.tgz#fc0a2cd22f742fe66621c5359c9cd64f88260c6b" + integrity sha512-yy+rpCvYMOjTl7IMuaMI9OP9WT229zi8BhdNHm6e6mttAOIzvIiCxFoZ6yRxaV3HDPPgMryi+ReX2b8+IQJdPA== dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" + "@babel/core" "^7.7.2" + "@babel/generator" "^7.7.2" + "@babel/parser" "^7.7.2" + "@babel/plugin-syntax-typescript" "^7.7.2" + "@babel/traverse" "^7.7.2" + "@babel/types" "^7.0.0" + "@jest/transform" "^27.4.4" + "@jest/types" "^27.4.2" + "@types/babel__traverse" "^7.0.4" + "@types/prettier" "^2.1.5" + babel-preset-current-node-syntax "^1.0.0" + chalk "^4.0.0" + expect "^27.4.2" + graceful-fs "^4.2.4" + jest-diff "^27.4.2" + jest-get-type "^27.4.0" + jest-haste-map "^27.4.4" + jest-matcher-utils "^27.4.2" + jest-message-util "^27.4.2" + jest-resolve "^27.4.4" + jest-util "^27.4.2" + natural-compare "^1.4.0" + pretty-format "^27.4.2" + semver "^7.3.2" -jest-util@^26.0.0, jest-util@^26.6.2: +jest-util@^26.0.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-26.6.2.tgz#907535dbe4d5a6cb4c47ac9b926f6af29576cbc1" integrity sha512-MDW0fKfsn0OI7MS7Euz6h8HNDXVQ0gaM9uW6RjfDmd1DAFcaxX9OqIakHIqhbnmF08Cf2DLDG+ulq8YQQ0Lp0Q== @@ -14764,76 +13968,56 @@ jest-util@^26.0.0, jest-util@^26.6.2: is-ci "^2.0.0" micromatch "^4.0.2" -jest-validate@^22.4.4: - version "22.4.4" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-22.4.4.tgz#1dd0b616ef46c995de61810d85f57119dbbcec4d" - integrity sha512-dmlf4CIZRGvkaVg3fa0uetepcua44DHtktHm6rcoNVtYlpwe6fEJRkMFsaUVcFHLzbuBJ2cPw9Gl9TKfnzMVwg== +jest-util@^27.2.0: + version "27.2.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.2.0.tgz#bfccb85cfafae752257319e825a5b8d4ada470dc" + integrity sha512-T5ZJCNeFpqcLBpx+Hl9r9KoxBCUqeWlJ1Htli+vryigZVJ1vuLB9j35grEBASp4R13KFkV7jM52bBGnArpJN6A== dependencies: - chalk "^2.0.1" - jest-config "^22.4.4" - jest-get-type "^22.1.0" - leven "^2.1.0" - pretty-format "^22.4.0" + "@jest/types" "^27.1.1" + "@types/node" "*" + chalk "^4.0.0" + graceful-fs "^4.2.4" + is-ci "^3.0.0" + picomatch "^2.2.3" -jest-validate@^24.0.0, jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== +jest-util@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.4.2.tgz#ed95b05b1adfd761e2cda47e0144c6a58e05a621" + integrity sha512-YuxxpXU6nlMan9qyLuxHaMMOzXAl5aGZWCSzben5DhLHemYQxCc4YK+4L3ZrCutT8GPQ+ui9k5D8rUJoDioMnA== dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" + "@jest/types" "^27.4.2" + "@types/node" "*" + chalk "^4.0.0" + ci-info "^3.2.0" + graceful-fs "^4.2.4" + picomatch "^2.2.3" -jest-validate@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-26.6.2.tgz#23d380971587150467342911c3d7b4ac57ab20ec" - integrity sha512-NEYZ9Aeyj0i5rQqbq+tpIOom0YS1u2MVu6+euBsvpgIme+FOfRmoC4R5p0JiAUpaFvFy24xgrpMknarR/93XjQ== +jest-validate@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.4.2.tgz#eecfcc1b1c9429aa007da08a2bae4e32a81bbbc3" + integrity sha512-hWYsSUej+Fs8ZhOm5vhWzwSLmVaPAxRy+Mr+z5MzeaHm9AxUpXdoVMEW4R86y5gOobVfBsMFLk4Rb+QkiEpx1A== dependencies: - "@jest/types" "^26.6.2" - camelcase "^6.0.0" + "@jest/types" "^27.4.2" + camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^26.3.0" + jest-get-type "^27.4.0" leven "^3.1.0" - pretty-format "^26.6.2" - -jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" + pretty-format "^27.4.2" -jest-watcher@^26.6.2: - version "26.6.2" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-26.6.2.tgz#a5b683b8f9d68dbcb1d7dae32172d2cca0592975" - integrity sha512-WKJob0P/Em2csiVthsI68p6aGKTIcsfjH9Gsx1f0A3Italz43e3ho0geSAVsmj09RWOELP1AZ/DXyJgOgDKxXQ== +jest-watcher@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.4.2.tgz#c9037edfd80354c9fe90de4b6f8b6e2b8e736744" + integrity sha512-NJvMVyyBeXfDezhWzUOCOYZrUmkSCiatpjpm+nFUid74OZEHk6aMLrZAukIiFDwdbqp6mTM6Ui1w4oc+8EobQg== dependencies: - "@jest/test-result" "^26.6.2" - "@jest/types" "^26.6.2" + "@jest/test-result" "^27.4.2" + "@jest/types" "^27.4.2" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^26.6.2" + jest-util "^27.4.2" string-length "^4.0.1" -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^26.2.1, jest-worker@^26.3.0, jest-worker@^26.6.2: +jest-worker@^26.2.1, jest-worker@^26.3.0: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== @@ -14842,7 +14026,7 @@ jest-worker@^26.2.1, jest-worker@^26.3.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" -jest-worker@^27.0.6, jest-worker@^27.3.1: +jest-worker@^27.0.6, jest-worker@^27.2.0, jest-worker@^27.3.1: version "27.4.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.2.tgz#0fb123d50955af1a450267787f340a1bf7e12bc4" integrity sha512-0QMy/zPovLfUPyHuOuuU4E+kGACXXE84nRnq6lBVI9GJg5DCBiA97SATi+ZP8CpiJwEQy1oCPjRBf8AnLjN+Ag== @@ -14851,22 +14035,23 @@ jest-worker@^27.0.6, jest-worker@^27.3.1: merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== +jest-worker@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.4.4.tgz#9390a97c013a54d07f5c2ad2b5f6109f30c4966d" + integrity sha512-jfwxYJvfua1b1XkyuyPh01ATmgg4e5fPM/muLmhy9Qc6dmiwacQB0MLHaU6IjEsv/+nAixHGxTn8WllA27Pn0w== dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" -jest@^26.6.3: - version "26.6.3" - resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.3.tgz#40e8fdbe48f00dfa1f0ce8121ca74b88ac9148ef" - integrity sha512-lGS5PXGAzR4RF7V5+XObhqz2KZIDUA1yD0DG6pBVmy10eh0ZIXQImRuzocsI/N2XZ1GrLFwTS27In2i2jlpq1Q== +jest@^27.4.4: + version "27.4.4" + resolved "https://registry.yarnpkg.com/jest/-/jest-27.4.4.tgz#9b1aa1db25d0b13477a49d18e22ba7cdff97105b" + integrity sha512-AXwEIFa58Uf1Jno3/KSo5HZZ0/2Xwqvfrz0/3bmTwImkFlbOvz5vARAW9nTrxRLkojjkitaZ1KNKAtw3JRFAaA== dependencies: - "@jest/core" "^26.6.3" + "@jest/core" "^27.4.4" import-local "^3.0.2" - jest-cli "^26.6.3" + jest-cli "^27.4.4" jimp@^0.14.0: version "0.14.0" @@ -14923,10 +14108,6 @@ js-levenshtein@^1.1.6: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - js-yaml@3.14.1, js-yaml@^3.10.0, js-yaml@^3.13.1, js-yaml@^3.14.1, js-yaml@^3.6.1, js-yaml@^3.8.1: version "3.14.1" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" @@ -15003,69 +14184,7 @@ jsdom@15.2.1, jsdom@^15.0.0: ws "^7.0.0" xml-name-validator "^3.0.0" -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^14.0.0: - version "14.0.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.0.0.tgz#c7f1441ebcc57902d08d5fb2f6ba2baf746da7c6" - dependencies: - abab "^2.0.0" - acorn "^6.0.4" - acorn-globals "^4.3.0" - array-equal "^1.0.0" - cssom "^0.3.4" - cssstyle "^1.1.1" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.0" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.0.9" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.5" - saxes "^3.1.5" - symbol-tree "^3.2.2" - tough-cookie "^2.5.0" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^6.1.2" - xml-name-validator "^3.0.0" - -jsdom@^16.4.0: +jsdom@^16.6.0: version "16.7.0" resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== @@ -15098,10 +14217,6 @@ jsdom@^16.4.0: ws "^7.4.6" xml-name-validator "^3.0.0" -jsesc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" - jsesc@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.1.tgz#e421a2a8e20d6b0819df28908f782526b96dd1fe" @@ -15408,22 +14523,12 @@ lazystream@^1.0.0: dependencies: readable-stream "^2.0.5" -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - dependencies: - invert-kv "^2.0.0" - lead@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" dependencies: flush-write-stream "^1.0.2" -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - lerna@^3.22.1: version "3.22.1" resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.22.1.tgz#82027ac3da9c627fd8bf02ccfeff806a98e65b62" @@ -15557,10 +14662,6 @@ levelup@^4.2.0: level-supports "~1.0.0" xtend "~4.0.0" -leven@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580" - leven@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" @@ -16231,7 +15332,7 @@ magic-string@^0.25.0, magic-string@^0.25.7: dependencies: sourcemap-codec "^1.4.4" -make-dir@^1.0.0, make-dir@^1.3.0: +make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" dependencies: @@ -16281,7 +15382,7 @@ makeerror@1.0.x: dependencies: tmpl "1.0.x" -map-age-cleaner@^0.1.1, map-age-cleaner@^0.1.3: +map-age-cleaner@^0.1.3: version "0.1.3" resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== @@ -16690,14 +15791,6 @@ media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" -mem@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.0.0.tgz#6437690d9471678f6cc83659c00cbafcd6b0cdaf" - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^1.0.0" - p-is-promise "^1.1.0" - mem@^8.1.1: version "8.1.1" resolved "https://registry.yarnpkg.com/mem/-/mem-8.1.1.tgz#cf118b357c65ab7b7e0817bdf00c8062297c0122" @@ -17012,24 +16105,6 @@ micromark@^2.11.3, micromark@~2.11.0, micromark@~2.11.3: debug "^4.0.0" parse-entities "^2.0.0" -micromatch@^2.1.5, micromatch@^2.3.11: - version "2.3.11" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" - dependencies: - arr-diff "^2.0.0" - array-unique "^0.2.1" - braces "^1.8.2" - expand-brackets "^0.1.4" - extglob "^0.3.1" - filename-regex "^2.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.1" - kind-of "^3.0.2" - normalize-path "^2.0.1" - object.omit "^2.0.0" - parse-glob "^3.0.4" - regex-cache "^0.4.2" - micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" @@ -17394,7 +16469,7 @@ mz@^2.5.0: object-assign "^4.0.1" thenify-all "^1.0.0" -nan@^2.10.0, nan@^2.14.2, nan@^2.9.2: +nan@^2.10.0, nan@^2.14.2: version "2.14.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== @@ -17444,7 +16519,7 @@ ncp@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" -needle@^2.2.1, needle@^2.5.2: +needle@^2.5.2: version "2.6.0" resolved "https://registry.yarnpkg.com/needle/-/needle-2.6.0.tgz#24dbb55f2509e2324b4a99d61f413982013ccdbe" integrity sha512-KKYdza4heMsEfSWD7VPUIz3zX2XDwOyX2d+geb4vrERZMT5RMU6ujjaD+I5Yr54uZxQ2w6XRTAhHBbSCyovZBg== @@ -17669,27 +16744,16 @@ node-modules-regexp@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-notifier@^8.0.0: - version "8.0.2" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-8.0.2.tgz#f3167a38ef0d2c8a866a83e318c1ba0efeb702c5" - integrity sha512-oJP/9NAdd9+x2Q+rfphB2RJCHjod70RcRLjosiPMMu5gjIfwVnOUGq2nbTjTUbmy0DJ/tFIVT30+Qe3nzl4TJg== +node-notifier@^10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-10.0.0.tgz#93c154055b07b550a33a1966a1b11291c2113e69" + integrity sha512-ZTqP90y1eyb2xAZTa7j4AlAayTwh6cL8mn0nlJhLDq8itXGnJUmQGYOnpaMUvqZVfGo0vhU7KZ3HtDW6CT2SiQ== dependencies: growly "^1.3.0" is-wsl "^2.2.0" - semver "^7.3.2" + semver "^7.3.5" shellwords "^0.1.1" - uuid "^8.3.0" + uuid "^8.3.2" which "^2.0.2" node-object-hash@^2.3.10: @@ -17714,21 +16778,6 @@ node-plop@=0.9.0: pify "^3.0.0" resolve "^1.2.0" -node-pre-gyp@^0.10.0: - version "0.10.3" - resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" - dependencies: - detect-libc "^1.0.2" - mkdirp "^0.5.1" - needle "^2.2.1" - nopt "^4.0.1" - npm-packlist "^1.1.6" - npmlog "^4.0.2" - rc "^1.2.7" - rimraf "^2.6.1" - semver "^5.3.0" - tar "^4" - node-releases@^1.1.61: version "1.1.77" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" @@ -17752,13 +16801,6 @@ noms@0.0.0: dependencies: abbrev "1" -nopt@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" - dependencies: - abbrev "1" - osenv "^0.1.4" - normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" @@ -17778,7 +16820,7 @@ normalize-package-data@^3.0.0: semver "^7.3.4" validate-npm-package-license "^3.0.1" -normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: +normalize-path@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" dependencies: @@ -17866,7 +16908,7 @@ npm-package-arg@^8.1.5: semver "^7.3.4" validate-npm-package-name "^3.0.0" -npm-packlist@^1.1.6, npm-packlist@^1.4.4: +npm-packlist@^1.4.4: version "1.4.4" resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.4.tgz#866224233850ac534b63d1a6e76050092b5d2f44" integrity sha512-zTLo8UcVYtDU3gdeaFu2Xu0n0EvelfHDGuqtNIn5RO7yQj4H1TqNdBc/yZjxnWA0PVB8D3Woyp0i5B43JwQ6Vw== @@ -17920,7 +16962,7 @@ npm-run-path@^4.0.0, npm-run-path@^4.0.1: dependencies: path-key "^3.0.0" -"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.0.2, npmlog@^4.1.2: +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.1, npmlog@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" dependencies: @@ -17976,7 +17018,7 @@ number-to-words@^1.2.3: resolved "https://registry.yarnpkg.com/number-to-words/-/number-to-words-1.2.4.tgz#e0f124de9628f8d86c4eeb89bac6c07699264501" integrity sha512-/fYevVkXRcyBiZDg6yzZbm0RuaD6i0qRfn8yr+6D0KgBMOndFPxuW10qCHpzs50nN8qKuv78k8MuotZhcVX6Pw== -nwsapi@^2.0.7, nwsapi@^2.0.9, nwsapi@^2.2.0: +nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== @@ -18090,13 +17132,6 @@ object.map@^1.0.0: for-own "^1.0.0" make-iterator "^1.0.0" -object.omit@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" - dependencies: - for-own "^0.1.4" - is-extendable "^0.1.1" - object.pick@^1.2.0, object.pick@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" @@ -18244,15 +17279,6 @@ os-homedir@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" -os-locale@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - os-name@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" @@ -18261,11 +17287,11 @@ os-name@^3.1.0: macos-release "^2.2.0" windows-release "^3.1.0" -os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: +os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.4, osenv@^0.1.5: +osenv@^0.1.5: version "0.1.5" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" dependencies: @@ -18317,17 +17343,6 @@ p-defer@^3.0.0: resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-3.0.0.tgz#d1dceb4ee9b2b604b1d94ffec83760175d4e6f83" integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - dependencies: - p-reduce "^1.0.0" - -p-each-series@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" - integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== - p-event@^4.1.0: version "4.2.0" resolved "https://registry.yarnpkg.com/p-event/-/p-event-4.2.0.tgz#af4b049c8acd91ae81083ebd1e6f5cae2044c1b5" @@ -18346,10 +17361,6 @@ p-finally@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" -p-is-promise@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-1.1.0.tgz#9c9456989e9f6588017b0434d56097675c3da05e" - p-limit@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.0.2.tgz#1664e010af3cadc681baafd3e2a437be7b0fb5fe" @@ -18623,15 +17634,6 @@ parse-github-url@^1.0.2: resolved "https://registry.yarnpkg.com/parse-github-url/-/parse-github-url-1.0.2.tgz#242d3b65cbcdda14bb50439e3242acf6971db395" integrity sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw== -parse-glob@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" - dependencies: - glob-base "^0.3.0" - is-dotfile "^1.0.0" - is-extglob "^1.0.0" - is-glob "^2.0.0" - parse-headers@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536" @@ -18720,10 +17722,6 @@ parse5-htmlparser2-tree-adapter@^6.0.1: dependencies: parse5 "^6.0.1" -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - parse5@5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" @@ -18809,7 +17807,7 @@ path-exists@^4.0.0: resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== -path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: +path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" @@ -19765,10 +18763,6 @@ prepend-http@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" -preserve@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" - prettier-check@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/prettier-check/-/prettier-check-2.0.0.tgz#edd086ee12d270579233ccb136a16e6afcfba1ae" @@ -19838,7 +18832,7 @@ pretty-format2@^2.0.3: dependencies: ansi-styles "^3.0.0" -pretty-format@^22.4.0, pretty-format@^22.4.3: +pretty-format@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" integrity sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ== @@ -19856,7 +18850,7 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^26.0.0, pretty-format@^26.6.2: +pretty-format@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-26.6.2.tgz#e35c2705f14cb7fe2fe94fa078345b444120fc93" integrity sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg== @@ -19866,7 +18860,7 @@ pretty-format@^26.0.0, pretty-format@^26.6.2: ansi-styles "^4.0.0" react-is "^17.0.1" -pretty-format@^27.0.2: +pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.2.0: version "27.2.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.2.0.tgz#ee37a94ce2a79765791a8649ae374d468c18ef19" integrity sha512-KyJdmgBkMscLqo8A7K77omgLx5PWPiXJswtTtFV7XgVZv2+qPk6UivpXXO+5k6ZEbWIbLoKdx1pZ6ldINzbwTA== @@ -19876,6 +18870,16 @@ pretty-format@^27.0.2: ansi-styles "^5.0.0" react-is "^17.0.1" +pretty-format@^27.4.2: + version "27.4.2" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.4.2.tgz#e4ce92ad66c3888423d332b40477c87d1dac1fb8" + integrity sha512-p0wNtJ9oLuvgOQDEIZ9zQjZffK7KtyR6Si0jnXULIDwrlNF8Cuir3AZP0hHv0jmKuNN/edOnbMjnzd4uTcmWiw== + dependencies: + "@jest/types" "^27.4.2" + ansi-regex "^5.0.1" + ansi-styles "^5.0.0" + react-is "^17.0.1" + prettyjson@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prettyjson/-/prettyjson-1.2.1.tgz#fcffab41d19cab4dfae5e575e64246619b12d289" @@ -20609,7 +19613,7 @@ readdir-scoped-modules@^1.0.0: graceful-fs "^4.1.2" once "^1.3.0" -readdirp@^2.0.0, readdirp@^2.2.1: +readdirp@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" dependencies: @@ -20629,13 +19633,6 @@ readline-sync@^1.4.9: resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.9.tgz#3eda8e65f23cd2a17e61301b1f0003396af5ecda" integrity sha1-PtqOZfI80qF+YTAbHwADOWr17No= -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - recast@^0.20.4, recast@^0.20.5: version "0.20.5" resolved "https://registry.yarnpkg.com/recast/-/recast-0.20.5.tgz#8e2c6c96827a1b339c634dd232957d230553ceae" @@ -20727,12 +19724,6 @@ regenerator-transform@^0.14.2: "@babel/runtime" "^7.8.4" private "^0.1.8" -regex-cache@^0.4.2: - version "0.4.4" - resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" - dependencies: - is-equal-shallow "^0.1.3" - regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -21792,7 +20783,7 @@ request-promise-core@1.1.4: dependencies: lodash "^4.17.19" -request-promise-native@^1.0.5, request-promise-native@^1.0.7, request-promise-native@^1.0.8: +request-promise-native@^1.0.7, request-promise-native@^1.0.8: version "1.0.9" resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28" integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g== @@ -21870,10 +20861,6 @@ require-from-string@^2.0.2: resolved "https://registry.yarnpkg.com/require-like/-/require-like-0.1.2.tgz#ad6f30c13becd797010c468afa775c0c0a6b47fa" integrity sha1-rW8wwTvs15cBDEaK+ndcDAprR/o= -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -21955,6 +20942,11 @@ resolve-url@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" +resolve.exports@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" + integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== + resolve@1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -21966,7 +20958,7 @@ resolve@1.17.0: 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.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0: +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.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1, resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -22197,7 +21189,7 @@ rgba-regex@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" -rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3: +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3: version "2.7.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== @@ -22328,11 +21320,6 @@ rss@^1.2.2: mime-types "2.1.13" xml "1.0.1" -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - run-async@^2.2.0, run-async@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" @@ -22421,21 +21408,6 @@ safe-resolve@^1.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - sanitize-html@^1.27.5: version "1.27.5" resolved "https://registry.yarnpkg.com/sanitize-html/-/sanitize-html-1.27.5.tgz#6c8149462adb23e360e1bb71cc0bae7f08c823c7" @@ -22468,7 +21440,7 @@ sax@>=0.6.0, sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" -saxes@^3.1.5, saxes@^3.1.9: +saxes@^3.1.9: version "3.1.11" resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== @@ -22558,7 +21530,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: +"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -22754,6 +21726,7 @@ shelljs@^0.8.3: shellwords@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" + integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== shift-left@^0.1.5: version "0.1.5" @@ -23003,13 +21976,7 @@ source-map-resolve@^0.6.0: atob "^2.1.2" decode-uri-component "^0.2.0" -source-map-support@^0.4.15: - version "0.4.18" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" - dependencies: - source-map "^0.5.6" - -source-map-support@^0.5.0, source-map-support@^0.5.16, source-map-support@^0.5.20, source-map-support@^0.5.5, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: +source-map-support@^0.5.16, source-map-support@^0.5.20, source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: version "0.5.20" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.20.tgz#12166089f8f5e5e8c56926b377633392dd2cb6c9" integrity sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw== @@ -23189,10 +22156,10 @@ stack-utils@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" -stack-utils@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.2.tgz#5cf48b4557becb4638d0bc4f21d23f5d19586593" - integrity sha512-0H7QK2ECz3fyZMzQ8rH0j2ykpfbnd20BFtfg/SqVC2+sCTtcw0aDTGB7dk+de4U4uUeuz6nOtJcrkFFLG1B0Rg== +stack-utils@^2.0.2, stack-utils@^2.0.3: + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: escape-string-regexp "^2.0.0" @@ -23355,13 +22322,6 @@ string-hash@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - string-length@^4.0.1, string-length@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -23998,7 +22958,7 @@ tar-stream@^2.1.4: inherits "^2.0.3" readable-stream "^3.1.1" -tar@^4, tar@^4.4.10, tar@^4.4.8: +tar@^4.4.10, tar@^4.4.8: version "4.4.10" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.10.tgz#946b2810b9a5e0b26140cf78bea6b0b0d689eba1" integrity sha512-g2SVs5QIxvo6OLp0GudTqEf05maawKUxXru104iaayWA09551tFCTI8f1Asb4lPfkBr91k07iL4c11XO3/b0tA== @@ -24107,25 +23067,6 @@ terser@^5.0.0, terser@^5.3.8, terser@^5.7.0, terser@^5.7.2: source-map "~0.7.2" source-map-support "~0.5.20" -test-exclude@^4.2.1: - version "4.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20" - dependencies: - arrify "^1.0.1" - micromatch "^2.3.11" - object-assign "^4.1.0" - read-pkg-up "^1.0.1" - require-main-filename "^1.0.1" - -test-exclude@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.0.0.tgz#cdce7cece785e0e829cd5c2b27baf18bc583cfb7" - dependencies: - arrify "^1.0.1" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^1.0.1" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -24169,14 +23110,10 @@ thenify-all@^1.0.0: dependencies: any-promise "^1.0.0" -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== +throat@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" + integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== through2-filter@^2.0.0: version "2.0.0" @@ -24400,7 +23337,7 @@ topo@3.x.x: dependencies: hoek "6.x.x" -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: +tough-cookie@^2.3.3, tough-cookie@~2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" dependencies: @@ -24438,10 +23375,10 @@ tr46@^1.0.1: dependencies: punycode "^2.1.0" -tr46@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.0.2.tgz#03273586def1595ae08fedb38d7733cee91d2479" - integrity sha512-3n1qG+/5kg+jrbTzwAykB5yRYtQCTqOGKq5U5PE3b0a1/mzo6snDhjGS0zJVJunO0NrT3Dg1MLy5TjWP/UJppg== +tr46@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" + integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== dependencies: punycode "^2.1.1" @@ -24482,10 +23419,6 @@ trim-repeated@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -trim-right@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" - trim-trailing-lines@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.1.tgz#e0ec0810fd3c3f1730516b45f49083caaf2774d9" @@ -24517,23 +23450,6 @@ ts-invariant@^0.7.0: dependencies: tslib "^2.1.0" -ts-jest@^22: - version "22.4.6" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-22.4.6.tgz#a5d7f5e8b809626d1f4143209d301287472ec344" - integrity sha512-kYQ6g1G1AU+bOO9rv+SSQXg4WTcni6Wx3AM48iHni0nP1vIuhdNRjKTE9Cxx36Ix/IOV7L85iKu07dgXJzH2pQ== - dependencies: - babel-core "^6.26.3" - babel-plugin-istanbul "^4.1.6" - babel-plugin-transform-es2015-modules-commonjs "^6.26.2" - babel-preset-jest "^22.4.3" - cpx "^1.5.0" - fs-extra "6.0.0" - jest-config "^22.4.3" - lodash "^4.17.10" - pkg-dir "^2.0.0" - source-map-support "^0.5.5" - yargs "^11.0.0" - tsc-watch@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-4.5.0.tgz#d6884b932822b2c2ccd37f1c1f3748304566a474" @@ -25195,6 +24111,7 @@ universal-user-agent@^6.0.0: universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^1.0.0: version "1.0.0" @@ -25379,7 +24296,7 @@ util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" -util.promisify@^1.0.0, util.promisify@~1.0.0: +util.promisify@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== @@ -25397,12 +24314,12 @@ utils-merge@1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" -uuid@3.4.0, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2, uuid@^3.3.3: +uuid@3.4.0, uuid@^3.0.0, uuid@^3.0.1, uuid@^3.3.2: version "3.4.0" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== -uuid@^8.3.0, uuid@^8.3.2: +uuid@^8.3.2: version "8.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== @@ -25412,7 +24329,7 @@ v8-compile-cache@^2.0.3, v8-compile-cache@^2.2.0, v8-compile-cache@^2.3.0: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== -v8-to-istanbul@^7.0.0, v8-to-istanbul@^7.1.0: +v8-to-istanbul@^7.1.0: version "7.1.2" resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-7.1.2.tgz#30898d1a7fa0c84d225a2c1434fb958f290883c1" integrity sha512-TxNb7YEUwkLXCQYeudi6lgQ/SZrzNO4kMdlqVxaZPUIUjCv6iSSypUQX70kNBSERpQ8fk48+d61FXk+tgqcWow== @@ -25421,6 +24338,15 @@ v8-to-istanbul@^7.0.0, v8-to-istanbul@^7.1.0: convert-source-map "^1.6.0" source-map "^0.7.3" +v8-to-istanbul@^8.1.0: + version "8.1.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.0.tgz#0aeb763894f1a0a1676adf8a8b7612a38902446c" + integrity sha512-/PRhfd8aTNp9Ggr62HPzXg2XasNFGy5PBt0Rp04du7/8GNNSgxFL6WBTkgMKSL9bFjH+8kKEG3f37FmxiTqUUA== + dependencies: + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^1.6.0" + source-map "^0.7.3" + v8flags@^2.0.10: version "2.1.1" resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" @@ -25680,7 +24606,7 @@ w3c-hr-time@^1.0.1, w3c-hr-time@^1.0.2: dependencies: browser-process-hrtime "^1.0.0" -w3c-xmlserializer@^1.0.1, w3c-xmlserializer@^1.1.2: +w3c-xmlserializer@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== @@ -25708,7 +24634,7 @@ wait-on@^4.0.2: request-promise-native "^1.0.8" rxjs "^6.5.5" -walker@^1.0.7, walker@~1.0.5: +walker@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" dependencies: @@ -25900,7 +24826,7 @@ websocket@1.0.32: utf-8-validate "^5.0.2" yaeti "^0.0.6" -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: +whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" dependencies: @@ -25915,7 +24841,7 @@ whatwg-fetch@^3.6.2: resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: +whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" @@ -25927,14 +24853,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-url@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.0.0.tgz#fde926fa54a599f3adf82dff25a9f7be02dc6edd" @@ -25944,12 +24862,12 @@ whatwg-url@^7.0.0: webidl-conversions "^4.0.2" whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.5.0.tgz#7752b8464fc0903fec89aa9846fc9efe07351fd3" - integrity sha512-fy+R77xWv0AiqfLl4nuGUlQ3/6b5uNfQ4WAbGQVMYshCTCCPK9psC1nWh3XHuxGVCtlcDDQPQW1csmmIQo+fwg== + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: lodash "^4.7.0" - tr46 "^2.0.2" + tr46 "^2.1.0" webidl-conversions "^6.1.0" when@~3.6.x: @@ -25975,7 +24893,7 @@ which-module@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" -which@1, which@^1.2.14, which@^1.2.9, which@^1.3.0, which@^1.3.1: +which@1, which@^1.2.14, which@^1.2.9, which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" dependencies: @@ -26187,13 +25105,6 @@ worker-rpc@^0.1.0: dependencies: microevent.ts "~0.1.1" -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - wrap-ansi@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" @@ -26233,15 +25144,6 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: version "2.4.3" resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" @@ -26312,13 +25214,6 @@ ws@^5.2.0: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== -ws@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - ws@~7.4.2: version "7.4.5" resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.5.tgz#a484dd851e9beb6fdb420027e3885e8ce48986c1" @@ -26432,10 +25327,6 @@ xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== -y18n@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" - y18n@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" @@ -26510,12 +25401,6 @@ yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.7: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== -yargs-parser@^9.0.2: - version "9.0.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" - dependencies: - camelcase "^4.1.0" - yargs@15.3.1: version "15.3.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" @@ -26533,24 +25418,6 @@ yargs@15.3.1: y18n "^4.0.0" yargs-parser "^18.1.1" -yargs@^11.0.0: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.1.tgz#5052efe3446a4df5ed669c995886cc0f13702766" - integrity sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw== - dependencies: - cliui "^4.0.0" - decamelize "^1.1.1" - find-up "^2.1.0" - get-caller-file "^1.0.1" - os-locale "^3.1.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1" - yargs-parser "^9.0.2" - yargs@^13.3.0: version "13.3.2" resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"