diff --git a/jest.config.js b/jest.config.js index a730fdd51053..412a8d07ae1d 100644 --- a/jest.config.js +++ b/jest.config.js @@ -9,9 +9,7 @@ const supportsESMAndJestLightRunner = semver.satisfies( const isPublishBundle = process.env.IS_PUBLISH; module.exports = { - runner: supportsESMAndJestLightRunner - ? "./test/jest-light-runner" - : "jest-runner", + runner: supportsESMAndJestLightRunner ? "jest-light-runner" : "jest-runner", collectCoverageFrom: [ "packages/*/src/**/*.{js,mjs,ts}", diff --git a/package.json b/package.json index 30d899c557cc..80d2a932516c 100644 --- a/package.json +++ b/package.json @@ -62,6 +62,7 @@ "husky": "^7.0.4", "import-meta-resolve": "^1.1.1", "jest": "^27.4.0", + "jest-light-runner": "^0.1.0", "jest-worker": "^27.4.0", "lint-staged": "^9.2.0", "mergeiterator": "^1.4.4", @@ -80,7 +81,6 @@ "eslint/*", "packages/*", "test/esm", - "test/jest-light-runner", "test/runtime-integration/*", "benchmark" ], diff --git a/test/jest-light-runner/package.json b/test/jest-light-runner/package.json deleted file mode 100644 index 586ec0dc38eb..000000000000 --- a/test/jest-light-runner/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "@babel/jest-light-runner", - "version": "0.0.1", - "private": true, - "type": "module", - "main": "./src/index.js", - "exports": { - ".": "./src/index.js" - }, - "dependencies": { - "expect": "^27.4.0", - "jest-circus": "^27.4.0", - "jest-each": "^27.4.0", - "jest-mock": "^27.4.0", - "jest-snapshot": "^27.4.0", - "piscina": "^3.1.0", - "supports-color": "^9.0.2" - } -} diff --git a/test/jest-light-runner/src/global-setup.js b/test/jest-light-runner/src/global-setup.js deleted file mode 100644 index 6db8e0197451..000000000000 --- a/test/jest-light-runner/src/global-setup.js +++ /dev/null @@ -1,27 +0,0 @@ -/* eslint-disable import/extensions */ - -import mock from "jest-mock"; -import expect from "expect"; -import snapshot from "jest-snapshot"; -import * as circus from "jest-circus"; - -expect.extend({ - toMatchInlineSnapshot: snapshot.toMatchInlineSnapshot, - toMatchSnapshot: snapshot.toMatchSnapshot, - toThrowErrorMatchingInlineSnapshot: - snapshot.toThrowErrorMatchingInlineSnapshot, - toThrowErrorMatchingSnapshot: snapshot.toThrowErrorMatchingSnapshot, -}); - -globalThis.expect = expect; -globalThis.test = circus.test; -globalThis.it = circus.it; -globalThis.describe = circus.describe; -globalThis.beforeAll = circus.beforeAll; -globalThis.afterAll = circus.afterAll; -globalThis.beforeEach = circus.beforeEach; -globalThis.afterEach = circus.afterEach; -globalThis.jest = { - fn: mock.fn, - spyOn: mock.spyOn, -}; diff --git a/test/jest-light-runner/src/index.js b/test/jest-light-runner/src/index.js deleted file mode 100644 index 95982ef83948..000000000000 --- a/test/jest-light-runner/src/index.js +++ /dev/null @@ -1,54 +0,0 @@ -import { Piscina } from "piscina"; -import supportsColor from "supports-color"; -import { MessageChannel } from "worker_threads"; -import os from "os"; - -/** @typedef {import("@jest/test-result").Test} Test */ - -const piscina = new Piscina({ - filename: new URL("./worker-runner.js", import.meta.url).href, - maxThreads: os.cpus().length / 2, - env: { - // Workers don't have a tty; we whant them to inherit - // the color support level from the main thread. - FORCE_COLOR: supportsColor.stdout.level, - ...process.env, - }, -}); - -export default class LightRunner { - #config; - - constructor(config) { - this.#config = config; - } - - /** - * @param {Array} tests - * @param {*} watcher - * @param {*} onStart - * @param {*} onResult - * @param {*} onFailure - */ - runTests(tests, watcher, onStart, onResult, onFailure) { - const { updateSnapshot, testNamePattern } = this.#config; - - return Promise.all( - tests.map(test => { - const mc = new MessageChannel(); - mc.port2.onmessage = () => onStart(test); - mc.port2.unref(); - - return piscina - .run( - { test, updateSnapshot, testNamePattern, port: mc.port1 }, - { transferList: [mc.port1] } - ) - .then( - result => void onResult(test, result), - error => void onFailure(test, error) - ); - }) - ); - } -} diff --git a/test/jest-light-runner/src/worker-runner.js b/test/jest-light-runner/src/worker-runner.js deleted file mode 100644 index 1a667beda3b5..000000000000 --- a/test/jest-light-runner/src/worker-runner.js +++ /dev/null @@ -1,255 +0,0 @@ -import path from "path"; -import { fileURLToPath, pathToFileURL } from "url"; -import { performance } from "perf_hooks"; -import snapshot from "jest-snapshot"; -import expect from "expect"; -import * as circus from "jest-circus"; -import { inspect } from "util"; - -import "./global-setup.js"; - -/** @typedef {{ failures: number, passes: number, pending: number, start: number, end: number }} Stats */ -/** @typedef {{ ancestors: string[], title: string, duration: number, errors: Error[], skipped: boolean }} InternalTestResult */ - -// Node.js workers (worker_threads) don't support -// process.chdir, that we use multiple times in our tests. -// We can "polyfill" it for process.cwd() usage, but it -// won't affect path.* and fs.* functions. -{ - const startCwd = process.cwd(); - let cwd = startCwd; - process.cwd = () => cwd; - process.chdir = dir => { - cwd = path.resolve(cwd, dir); - }; -} - -export default async function ({ - test, - updateSnapshot, - testNamePattern, - port, -}) { - port.postMessage("start"); - - const testNamePatternRE = - testNamePattern != null ? new RegExp(testNamePattern, "i") : null; - - /** @type {Stats} */ - const stats = { passes: 0, failures: 0, pending: 0, start: 0, end: 0 }; - /** @type {Array} */ - const results = []; - - const { tests, hasFocusedTests } = await loadTests(test.path); - - const snapshotState = new snapshot.SnapshotState( - `${path.dirname(test.path)}/__snapshots__/${path.basename(test.path)}.snap`, - { prettierPath: "prettier", updateSnapshot } - ); - expect.setState({ snapshotState }); - - stats.start = performance.now(); - await runTestBlock(tests, hasFocusedTests, testNamePatternRE, results, stats); - stats.end = performance.now(); - - snapshotState._inlineSnapshots.forEach(({ frame }) => { - // When using native ESM, errors have a URL location. - // Jest expects paths. - frame.file = fileURLToPath(frame.file); - }); - snapshotState.save(); - - return toTestResult(stats, results, test); -} - -async function loadTests(testFile) { - circus.resetState(); - await import(pathToFileURL(testFile)); - const { rootDescribeBlock, hasFocusedTests } = circus.getState(); - return { tests: rootDescribeBlock, hasFocusedTests }; -} - -async function runTestBlock( - block, - hasFocusedTests, - testNamePatternRE, - results, - stats, - ancestors = [] -) { - await runHooks("beforeAll", block, results, stats, ancestors); - - for (const child of block.children) { - const { type, mode, fn, name } = child; - const nextAncestors = ancestors.concat(name); - - if ( - mode === "skip" || - (hasFocusedTests && type === "test" && mode !== "only") || - shouldSkip(testNamePatternRE, getFullName(nextAncestors)) - ) { - stats.pending++; - results.push({ ancestors, title: name, errors: [], skipped: true }); - } else if (type === "describeBlock") { - await runTestBlock( - child, - hasFocusedTests, - testNamePatternRE, - results, - stats, - nextAncestors - ); - } else if (type === "test") { - await runHooks("beforeEach", block, results, stats, nextAncestors, true); - await runTest(fn, stats, results, ancestors, name); - await runHooks("afterEach", block, results, stats, nextAncestors, true); - } - } - - await runHooks("afterAll", block, results, stats, ancestors); - - return results; -} - -function shouldSkip(testNamePatternRE, testName) { - return testNamePatternRE && !testNamePatternRE.test(testName); -} - -/** - * @param {string[]} pieces - */ -function getFullName(pieces) { - return pieces.join(" "); -} - -/** - * @param {Function} fn - * @param {Stats} stats - * @param {Array} results - * @param {string[]} ancestors - * @param {string} name - */ -async function runTest(fn, stats, results, ancestors, name) { - expect.setState({ - suppressedErrors: [], - currentTestName: getFullName(ancestors.concat(name)), - }); - - const errors = []; - await callAsync(fn).catch(error => { - errors.push(error); - }); - - // Get suppressed errors from ``jest-matchers`` that weren't thrown during - // test execution and add them to the test result, potentially failing - // a passing test. - const { suppressedErrors } = expect.getState(); - expect.setState({ suppressedErrors: [] }); - if (suppressedErrors.length > 0) { - errors.unshift(...suppressedErrors); - } - - if (errors.length > 0) { - stats.failures++; - } else { - stats.passes++; - } - results.push({ ancestors, title: name, errors, skipped: false }); -} - -async function runHooks(hook, block, results, stats, ancestors, runInParents) { - for (const { type, fn } of block.hooks) { - if (type === hook) { - await callAsync(fn).catch(error => { - stats.failures++; - results.push({ ancestors, title: `(${hook})`, error, skipped: false }); - }); - } - } - - if (block.parent && runInParents) { - await runHooks(hook, block.parent, results, stats, ancestors, true); - } -} - -function callAsync(fn) { - if (fn.length >= 1) { - return new Promise((resolve, reject) => { - fn((err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }); - }); - } else { - return Promise.resolve().then(fn); - } -} - -/** - * - * @param {Stats} stats - * @param {Array} tests - * @param {import("@jest/test-result").Test} testInput - * @returns {import("@jest/test-result").TestResult} - */ -function toTestResult(stats, tests, { path, context }) { - const { start, end } = stats; - const runtime = end - start; - - return { - coverage: globalThis.__coverage__, - console: null, - failureMessage: tests - .filter(t => t.errors.length > 0) - .map(failureToString) - .join("\n"), - numFailingTests: stats.failures, - numPassingTests: stats.passes, - numPendingTests: stats.pending, - perfStats: { - start, - end, - runtime: Math.round(runtime), // ms precision - slow: runtime / 1000 > context.config.slowTestThreshold, - }, - skipped: false, - snapshot: { - added: 0, - fileDeleted: false, - matched: 0, - unchecked: 0, - unmatched: 0, - updated: 0, - }, - sourceMaps: {}, - testExecError: null, - testFilePath: path, - testResults: tests.map(test => { - return { - ancestorTitles: test.ancestors, - duration: test.duration / 1000, - failureMessages: test.errors.length ? [failureToString(test)] : [], - fullName: test.title, - numPassingAsserts: test.errors.length > 0 ? 1 : 0, - status: test.skipped - ? "pending" - : test.errors.length > 0 - ? "failed" - : "passed", - title: test.title, - }; - }), - }; -} - -function failureToString(test) { - return ( - test.ancestors.concat(test.title).join(" > ") + - "\n" + - test.errors.map(error => inspect(error).replace(/^/gm, " ")).join("\n") + - "\n" - ); -} diff --git a/yarn.lock b/yarn.lock index 954c464d5275..551528bd799a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,7 +5,7 @@ __metadata: version: 5 cacheKey: 8 -"@ampproject/remapping@npm:^2.0.0, @ampproject/remapping@npm:^2.1.0": +"@ampproject/remapping@npm:^2.1.0": version: 2.1.0 resolution: "@ampproject/remapping@npm:2.1.0" dependencies: @@ -255,10 +255,10 @@ __metadata: languageName: unknown linkType: soft -"@babel/compat-data@npm:^7.16.4, @babel/compat-data@npm:^7.16.8": - version: 7.17.0 - resolution: "@babel/compat-data@npm:7.17.0" - checksum: fe5afaf529d107a223cd5937dace248464b6df1e9f4ea4031a5723e9571b46a4db1c4ff226bac6351148b1bc02ba1b39cb142662cd235aa99c1dda77882f8c9d +"@babel/compat-data@npm:^7.16.4, @babel/compat-data@npm:^7.16.8, @babel/compat-data@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/compat-data@npm:7.17.7" + checksum: bf13476676884ce9afc199747ff82f3bcd6d42a9cfb01ce91bdb762b83ea11ec619b6ec532d1a80469ab14f191f33b5d4b9f8796fa8be3bc728d42b0c5e737e3 languageName: node linkType: hard @@ -296,26 +296,26 @@ __metadata: languageName: node linkType: hard -"@babel/core@npm:^7.1.0, @babel/core@npm:^7.17.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": - version: 7.17.0 - resolution: "@babel/core@npm:7.17.0" +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.12.3, @babel/core@npm:^7.17.0, @babel/core@npm:^7.7.2, @babel/core@npm:^7.7.5": + version: 7.17.8 + resolution: "@babel/core@npm:7.17.8" dependencies: - "@ampproject/remapping": ^2.0.0 + "@ampproject/remapping": ^2.1.0 "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.0 - "@babel/helper-compilation-targets": ^7.16.7 - "@babel/helper-module-transforms": ^7.16.7 - "@babel/helpers": ^7.17.0 - "@babel/parser": ^7.17.0 + "@babel/generator": ^7.17.7 + "@babel/helper-compilation-targets": ^7.17.7 + "@babel/helper-module-transforms": ^7.17.7 + "@babel/helpers": ^7.17.8 + "@babel/parser": ^7.17.8 "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.0 + "@babel/traverse": ^7.17.3 "@babel/types": ^7.17.0 convert-source-map: ^1.7.0 debug: ^4.1.0 gensync: ^1.0.0-beta.2 json5: ^2.1.2 semver: ^6.3.0 - checksum: b05ab50ee3234cf6ead6fc947fff1c577773040d88b6fea64efda046c3b87aa596c5bbfe2bd287680102bda620e5294625fe1350a54d800d09cca51435b70918 + checksum: 0e686b1be444d25494424065238931f2b3df908bf072b72bab973acfd6d27a481fc280c9cd8a3c6fe2c46beee50e0d2307468d8b15b64dc4036f025e75f6609d languageName: node linkType: hard @@ -439,14 +439,14 @@ __metadata: languageName: unknown linkType: soft -"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.15.4, @babel/generator@npm:^7.15.8, @babel/generator@npm:^7.17.0, @babel/generator@npm:^7.7.2": - version: 7.17.0 - resolution: "@babel/generator@npm:7.17.0" +"@babel/generator@npm:^7.12.5, @babel/generator@npm:^7.15.4, @babel/generator@npm:^7.15.8, @babel/generator@npm:^7.17.3, @babel/generator@npm:^7.17.7, @babel/generator@npm:^7.7.2": + version: 7.17.7 + resolution: "@babel/generator@npm:7.17.7" dependencies: "@babel/types": ^7.17.0 jsesc: ^2.5.1 source-map: ^0.5.0 - checksum: 2987dbebb484727a227f1ce3db90810320986cfb3ffd23e6d1d87f75bbd8e7871b5bc44252822d4d5f048a2d872a5702b2a9bf7bab7e07f087d7f306f0ea6c0a + checksum: e7344b9b4559115f2754ecc2ae9508412ea6a8f617544cd3d3f17cabc727bd30630765f96c8a4ebc8901ded1492a3a6c23d695a4f1e8f3042f860b30c891985c languageName: node linkType: hard @@ -512,17 +512,17 @@ __metadata: languageName: unknown linkType: soft -"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.15.4, @babel/helper-compilation-targets@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-compilation-targets@npm:7.16.7" +"@babel/helper-compilation-targets@npm:^7.13.0, @babel/helper-compilation-targets@npm:^7.15.4, @babel/helper-compilation-targets@npm:^7.16.7, @babel/helper-compilation-targets@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/helper-compilation-targets@npm:7.17.7" dependencies: - "@babel/compat-data": ^7.16.4 + "@babel/compat-data": ^7.17.7 "@babel/helper-validator-option": ^7.16.7 browserslist: ^4.17.5 semver: ^6.3.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: 7238aaee78c011a42fb5ca92e5eff098752f7b314c2111d7bb9cdd58792fcab1b9c819b59f6a0851dc210dc09dc06b30d130a23982753e70eb3111bc65204842 + checksum: 24bf851539d5ec8e73779304b5d1ad5b0be09a74459ecc7d9baee9a0fa38ad016e9eaf4b5704504ae8da32f91ce0e31857bbbd9686854caeffd38f58226d3760 languageName: node linkType: hard @@ -784,19 +784,19 @@ __metadata: languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.15.8, @babel/helper-module-transforms@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-module-transforms@npm:7.16.7" +"@babel/helper-module-transforms@npm:^7.12.1, @babel/helper-module-transforms@npm:^7.15.8, @babel/helper-module-transforms@npm:^7.16.7, @babel/helper-module-transforms@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/helper-module-transforms@npm:7.17.7" dependencies: "@babel/helper-environment-visitor": ^7.16.7 "@babel/helper-module-imports": ^7.16.7 - "@babel/helper-simple-access": ^7.16.7 + "@babel/helper-simple-access": ^7.17.7 "@babel/helper-split-export-declaration": ^7.16.7 "@babel/helper-validator-identifier": ^7.16.7 "@babel/template": ^7.16.7 - "@babel/traverse": ^7.16.7 - "@babel/types": ^7.16.7 - checksum: 6e930ce776c979f299cdbeaf80187f4ab086d75287b96ecc1c6896d392fcb561065f0d6219fc06fa79b4ceb4bbdc1a9847da8099aba9b077d0a9e583500fb673 + "@babel/traverse": ^7.17.3 + "@babel/types": ^7.17.0 + checksum: 0b8f023aa7ff82dc4864349d54c4557865ad8ba54d78f6d78a86b05ca40f65c2d60acb4a54c5c309e7a4356beb9a89b876e54af4b3c4801ad25f62ec3721f0ae languageName: node linkType: hard @@ -887,12 +887,12 @@ __metadata: languageName: unknown linkType: soft -"@babel/helper-simple-access@npm:^7.16.7": - version: 7.16.7 - resolution: "@babel/helper-simple-access@npm:7.16.7" +"@babel/helper-simple-access@npm:^7.16.7, @babel/helper-simple-access@npm:^7.17.7": + version: 7.17.7 + resolution: "@babel/helper-simple-access@npm:7.17.7" dependencies: - "@babel/types": ^7.16.7 - checksum: 8d22c46c5ec2ead0686c4d5a3d1d12b5190c59be676bfe0d9d89df62b437b51d1a3df2ccfb8a77dded2e585176ebf12986accb6d45a18cff229eef3b10344f4b + "@babel/types": ^7.17.0 + checksum: 58a9bfd054720024f6ff47fbb113c96061dc2bd31a5e5285756bd3c2e83918c6926900e00150d0fb175d899494fe7d69bf2a8b278c32ef6f6bea8d032e6a3831 languageName: node linkType: hard @@ -1007,14 +1007,14 @@ __metadata: languageName: unknown linkType: soft -"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.15.4, @babel/helpers@npm:^7.17.0": - version: 7.17.0 - resolution: "@babel/helpers@npm:7.17.0" +"@babel/helpers@npm:^7.12.5, @babel/helpers@npm:^7.15.4, @babel/helpers@npm:^7.17.8": + version: 7.17.8 + resolution: "@babel/helpers@npm:7.17.8" dependencies: "@babel/template": ^7.16.7 - "@babel/traverse": ^7.17.0 + "@babel/traverse": ^7.17.3 "@babel/types": ^7.17.0 - checksum: fed0b0d8fe1b0aef18a0dbc4a0683bbcb039fd3fcff09a4f5b2a1e8f5fc911368983a9a177610c4a88f35ed5c3f5d51bf971ff01596e6f384414dcee2de694a4 + checksum: 463dad58119fefebf2d0201bfa53ec9607aa00356908895640fc07589747fb3c2e0dfee4019f3e8c9781e57c9aa5dff4c72ec8d1b031c4ed8349f90b6aefe99d languageName: node linkType: hard @@ -1053,20 +1053,6 @@ __metadata: languageName: unknown linkType: soft -"@babel/jest-light-runner@workspace:test/jest-light-runner": - version: 0.0.0-use.local - resolution: "@babel/jest-light-runner@workspace:test/jest-light-runner" - dependencies: - expect: ^27.4.0 - jest-circus: ^27.4.0 - jest-each: ^27.4.0 - jest-mock: ^27.4.0 - jest-snapshot: ^27.4.0 - piscina: ^3.1.0 - supports-color: ^9.0.2 - languageName: unknown - linkType: soft - "@babel/node@workspace:packages/babel-node": version: 0.0.0-use.local resolution: "@babel/node@workspace:packages/babel-node" @@ -1090,12 +1076,12 @@ __metadata: languageName: unknown linkType: soft -"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.8, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.0, @babel/parser@npm:^7.7.2": - version: 7.17.0 - resolution: "@babel/parser@npm:7.17.0" +"@babel/parser@npm:^7.0.0, @babel/parser@npm:^7.12.7, @babel/parser@npm:^7.14.7, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.8, @babel/parser@npm:^7.16.7, @babel/parser@npm:^7.17.3, @babel/parser@npm:^7.17.8": + version: 7.17.8 + resolution: "@babel/parser@npm:7.17.8" bin: parser: ./bin/babel-parser.js - checksum: d0ac5ffba0b234dde516f867edf5da5d92d6f841592b370ae3244cd7c8f27a7f5e3e3d4e90ca9c15ea58bc46823f1643f3f75b6eb9a9f676ae16e8b2365e922a + checksum: 1771808491982cc47baa888a997aef6b58308e3844c8c00f730f8fd97defe57d32cdbf46075cd49aaee310fa31f3d2c80a0d41b41a4ee0ff336ee09e2ff6c222 languageName: node linkType: hard @@ -3718,21 +3704,21 @@ __metadata: languageName: unknown linkType: soft -"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.16.7, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.0, @babel/traverse@npm:^7.7.2": - version: 7.17.0 - resolution: "@babel/traverse@npm:7.17.0" +"@babel/traverse@npm:^7.0.0, @babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.12.9, @babel/traverse@npm:^7.13.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.16.7, @babel/traverse@npm:^7.16.8, @babel/traverse@npm:^7.17.3, @babel/traverse@npm:^7.7.2": + version: 7.17.3 + resolution: "@babel/traverse@npm:7.17.3" dependencies: "@babel/code-frame": ^7.16.7 - "@babel/generator": ^7.17.0 + "@babel/generator": ^7.17.3 "@babel/helper-environment-visitor": ^7.16.7 "@babel/helper-function-name": ^7.16.7 "@babel/helper-hoist-variables": ^7.16.7 "@babel/helper-split-export-declaration": ^7.16.7 - "@babel/parser": ^7.17.0 + "@babel/parser": ^7.17.3 "@babel/types": ^7.17.0 debug: ^4.1.0 globals: ^11.1.0 - checksum: 9b7de053d8a29453fd7b9614a028d8dc811817f02948eaee02093274b67927a1cfb0513b521bc4a9328c9b6e5b021fd343b358c3526bbb6ee61ec078d4110c0c + checksum: 780d7ecf711758174989794891af08d378f81febdb8932056c0d9979524bf0298e28f8e7708a872d7781151506c28f56c85c63ea3f1f654662c2fcb8a3eb9fdc languageName: node linkType: hard @@ -3874,17 +3860,17 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/console@npm:27.4.0" +"@jest/console@npm:^27.4.0, @jest/console@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/console@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^27.4.0 - jest-util: ^27.4.0 + jest-message-util: ^27.5.1 + jest-util: ^27.5.1 slash: ^3.0.0 - checksum: 2ee56f9e447bb8b928a58cfb814e55ddb16326a50bfe9c53626be819c969239f620e46eb528d6afebf00ffc1e76638aa62ee80704e6beeda42257f464b1beaa3 + checksum: 7cb20f06a34b09734c0342685ec53aa4c401fe3757c13a9c58fce76b971a322eb884f6de1068ef96f746e5398e067371b89515a07c268d4440a867c87748a706 languageName: node linkType: hard @@ -3929,40 +3915,40 @@ __metadata: languageName: node linkType: hard -"@jest/environment@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/environment@npm:27.4.0" +"@jest/environment@npm:^27.4.0, @jest/environment@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/environment@npm:27.5.1" dependencies: - "@jest/fake-timers": ^27.4.0 - "@jest/types": ^27.4.0 + "@jest/fake-timers": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" - jest-mock: ^27.4.0 - checksum: 0dd8adcb3840e4b3097ae710213f1b439d7712d561667b4c8cd0ee788bf236ceabdf1a8e6810fd5ff23880b1042a9ab5a558b2e5555f2b16fd5398feb07d17da + jest-mock: ^27.5.1 + checksum: 2a9e18c35a015508dbec5b90b21c150230fa6c1c8cb8fabe029d46ee2ca4c40eb832fb636157da14c66590d0a4c8a2c053226b041f54a44507d6f6a89abefd66 languageName: node linkType: hard -"@jest/fake-timers@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/fake-timers@npm:27.4.0" +"@jest/fake-timers@npm:^27.4.0, @jest/fake-timers@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/fake-timers@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@sinonjs/fake-timers": ^8.0.1 "@types/node": "*" - jest-message-util: ^27.4.0 - jest-mock: ^27.4.0 - jest-util: ^27.4.0 - checksum: 9a2e1207596a4cccf0f7688788da551190065610e1388c1b5210f1ae61765681692e61dd717b39e272f0163a8bef8f4abb82bea665bd2a1206fdbc7dcb407edd + jest-message-util: ^27.5.1 + jest-mock: ^27.5.1 + jest-util: ^27.5.1 + checksum: 02a0561ed2f4586093facd4ae500b74694f187ac24d4a00e949a39a1c5325bca8932b4fcb0388a2c5ed0656506fc1cf51fd3e32cdd48cea7497ad9c6e028aba8 languageName: node linkType: hard -"@jest/globals@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/globals@npm:27.4.0" +"@jest/globals@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/globals@npm:27.5.1" dependencies: - "@jest/environment": ^27.4.0 - "@jest/types": ^27.4.0 - expect: ^27.4.0 - checksum: 1bd0ff85447fe51b56252a3f5160a7d88877988dc10944c57a2ae5103db1cd6fe654146f71bcb03662767c014dac29ad07ffedf8763c7963bd632489a6fe027f + "@jest/environment": ^27.5.1 + "@jest/types": ^27.5.1 + expect: ^27.5.1 + checksum: 087f97047e9dcf555f76fe2ce54aee681e005eaa837a0c0c2d251df6b6412c892c9df54cb871b180342114389a5ff895a4e52e6e6d3d0015bf83c02a54f64c3c languageName: node linkType: hard @@ -4004,26 +3990,26 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/source-map@npm:27.4.0" +"@jest/source-map@npm:^27.4.0, @jest/source-map@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/source-map@npm:27.5.1" dependencies: callsites: ^3.0.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 source-map: ^0.6.0 - checksum: cf87ac3dd1c2d210b0637060710d64417bcd88d670cbb26af7367ded99fd7d64d431c1718054351f0236c14659bc17a8deff6ee3d9f52902299911231bbaf0c8 + checksum: 4fb1e743b602841babf7e22bd84eca34676cb05d4eb3b604cae57fc59e406099f5ac759ac1a0d04d901237d143f0f4f234417306e823bde732a1d19982230862 languageName: node linkType: hard -"@jest/test-result@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/test-result@npm:27.4.0" +"@jest/test-result@npm:^27.4.0, @jest/test-result@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/test-result@npm:27.5.1" dependencies: - "@jest/console": ^27.4.0 - "@jest/types": ^27.4.0 + "@jest/console": ^27.5.1 + "@jest/types": ^27.5.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: 3de52ed3b97b8839a6574c2c36b4f948976d72041475bfe1281441432b7dcf2232e5b04d5304f3cac3559aa79188450f52144338cbec009b21f65e692b0088ef + checksum: 338f7c509d6a3bc6d7dd7388c8f6f548b87638e171dc1fddfedcacb4e8950583288832223ba688058cbcf874b937d22bdc0fa88f79f5fc666f77957e465c06a5 languageName: node linkType: hard @@ -4039,39 +4025,39 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/transform@npm:27.4.0" +"@jest/transform@npm:^27.4.0, @jest/transform@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/transform@npm:27.5.1" dependencies: "@babel/core": ^7.1.0 - "@jest/types": ^27.4.0 - babel-plugin-istanbul: ^6.0.0 + "@jest/types": ^27.5.1 + babel-plugin-istanbul: ^6.1.1 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: ^27.4.0 - jest-regex-util: ^27.4.0 - jest-util: ^27.4.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-util: ^27.5.1 micromatch: ^4.0.4 - pirates: ^4.0.1 + pirates: ^4.0.4 slash: ^3.0.0 source-map: ^0.6.1 write-file-atomic: ^3.0.0 - checksum: 6187f30e6f05f4b6081ed3cb11d66d4f0015432a68306c7a3dad05c0ec1368b5bf75218a4b2d3367243f34b1c7329a6d2b2f725bf0df4517591078fac6fe9e26 + checksum: a22079121aedea0f20a03a9c026be971f7b92adbfb4d5fd1fb67be315741deac4f056936d7c72a53b24aa5a1071bc942c003925fd453bf3f6a0ae5da6384e137 languageName: node linkType: hard -"@jest/types@npm:^27.4.0": - version: 27.4.0 - resolution: "@jest/types@npm:27.4.0" +"@jest/types@npm:^27.4.0, @jest/types@npm:^27.5.1": + version: 27.5.1 + resolution: "@jest/types@npm:27.5.1" 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 - checksum: 9fefb76764f8f6ca077cdb471d6e5e8de83ba6746f558a92847d59c09c09f2b1a7c2f02bf8ed2b2f7a8f346ddcd85e8647207479b326759d5b75871f4cf02bc2 + checksum: d1f43cc946d87543ddd79d49547aab2399481d34025d5c5f2025d3d99c573e1d9832fa83cef25e9d9b07a8583500229d15bbb07b8e233d127d911d133e2f14b1 languageName: node linkType: hard @@ -5794,16 +5780,16 @@ __metadata: languageName: node linkType: hard -"babel-plugin-istanbul@npm:^6.0.0": - version: 6.0.0 - resolution: "babel-plugin-istanbul@npm:6.0.0" +"babel-plugin-istanbul@npm:^6.0.0, babel-plugin-istanbul@npm:^6.1.1": + version: 6.1.1 + resolution: "babel-plugin-istanbul@npm:6.1.1" dependencies: "@babel/helper-plugin-utils": ^7.0.0 "@istanbuljs/load-nyc-config": ^1.0.0 "@istanbuljs/schema": ^0.1.2 - istanbul-lib-instrument: ^4.0.0 + istanbul-lib-instrument: ^5.0.4 test-exclude: ^6.0.0 - checksum: bc586cf088ec471a98a474ef0e9361ace61947da2a3e54162f1e1ab712a1a81a88007639e8aff7db2fc8678ae7c671e696e6edd6ccf72db8e6af86f0628d5a08 + checksum: cb4fd95738219f232f0aece1116628cccff16db891713c4ccb501cddbbf9272951a5df81f2f2658dfdf4b3e7b236a9d5cbcf04d5d8c07dd5077297339598061a languageName: node linkType: hard @@ -5959,6 +5945,7 @@ __metadata: husky: ^7.0.4 import-meta-resolve: ^1.1.1 jest: ^27.4.0 + jest-light-runner: ^0.1.0 jest-worker: ^27.4.0 lint-staged: ^9.2.0 mergeiterator: ^1.4.4 @@ -8432,17 +8419,15 @@ __metadata: languageName: node linkType: hard -"expect@npm:^27.4.0": - version: 27.4.0 - resolution: "expect@npm:27.4.0" +"expect@npm:^27.4.0, expect@npm:^27.5.1": + version: 27.5.1 + resolution: "expect@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 - ansi-styles: ^5.0.0 - jest-get-type: ^27.4.0 - jest-matcher-utils: ^27.4.0 - jest-message-util: ^27.4.0 - jest-regex-util: ^27.4.0 - checksum: bf52f4862f05c412faa244a49d04462a23960fe176032a6450c124740feb3ba1dcc6a892d66192c730c8235a61a6e5b8a008fdcbac47af8ebee3311877d00544 + "@jest/types": ^27.5.1 + jest-get-type: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + checksum: b2c66beb52de53ef1872165aace40224e722bca3c2274c54cfa74b6d617d55cf0ccdbf36783ccd64dbea501b280098ed33fd0b207d4f15bc03cd3c7a24364a6a languageName: node linkType: hard @@ -9304,10 +9289,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4": - version: 4.2.6 - resolution: "graceful-fs@npm:4.2.6" - checksum: 792e64aafda05a151289f83eaa16aff34ef259658cefd65393883d959409f5a2389b0ec9ebf28f3d21f1b0ddc8f594a1162ae9b18e2b507a6799a70706ec573d +"graceful-fs@npm:^4.0.0, graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.9": + version: 4.2.9 + resolution: "graceful-fs@npm:4.2.9" + checksum: 68ea4e07ff2c041ada184f9278b830375f8e0b75154e3f080af6b70f66172fabb4108d19b3863a96b53fc068a310b9b6493d86d1291acc5f3861eb4b79d26ad6 languageName: node linkType: hard @@ -9445,13 +9430,6 @@ fsevents@^1.2.7: languageName: node linkType: hard -"has-flag@npm:^5.0.0": - version: 5.0.1 - resolution: "has-flag@npm:5.0.1" - checksum: e0a151db8e43b528258c4269c23224c691b42c1f5168f6d88b61c3f9398ef16d44226a78a0596642da55851cf306a8afe57d6936d4d69a24b66fd10de1373da8 - languageName: node - linkType: hard - "has-symbols@npm:^1.0.1, has-symbols@npm:^1.0.2": version: 1.0.2 resolution: "has-symbols@npm:1.0.2" @@ -10363,14 +10341,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"istanbul-lib-coverage@npm:^3.0.0": - version: 3.0.0 - resolution: "istanbul-lib-coverage@npm:3.0.0" - checksum: ea57c2428858cc5d1e04c0e28b362950bbf6415e8ba1235cdd6f4c8dc3c57cb950db8b4e8a4f7e33abc240aa1eb816dba0d7285bdb8b70bda22bb2082492dbfc +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": + version: 3.2.0 + resolution: "istanbul-lib-coverage@npm:3.2.0" + checksum: a2a545033b9d56da04a8571ed05c8120bf10e9bce01cf8633a3a2b0d1d83dff4ac4fe78d6d5673c27fc29b7f21a41d75f83a36be09f82a61c367b56aa73c1ff9 languageName: node linkType: hard -"istanbul-lib-instrument@npm:^4.0.0, istanbul-lib-instrument@npm:^4.0.3": +"istanbul-lib-instrument@npm:^4.0.3": version: 4.0.3 resolution: "istanbul-lib-instrument@npm:4.0.3" dependencies: @@ -10382,6 +10360,19 @@ fsevents@^1.2.7: languageName: node linkType: hard +"istanbul-lib-instrument@npm:^5.0.4": + version: 5.1.0 + resolution: "istanbul-lib-instrument@npm:5.1.0" + dependencies: + "@babel/core": ^7.12.3 + "@babel/parser": ^7.14.7 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.2.0 + semver: ^6.3.0 + checksum: 8b82e733c69fe9f94d2e21f3e5760c9bedb110329aa75df4bd40df95f1cac3bf38767e43f35b125cc547ceca7376b72ce7d95cc5238b7e9088345c7b589233d3 + languageName: node + linkType: hard + "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -10425,30 +10416,30 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-circus@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-circus@npm:27.4.0" +"jest-circus@npm:^27.4.0, jest-circus@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-circus@npm:27.5.1" dependencies: - "@jest/environment": ^27.4.0 - "@jest/test-result": ^27.4.0 - "@jest/types": ^27.4.0 + "@jest/environment": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 - expect: ^27.4.0 + expect: ^27.5.1 is-generator-fn: ^2.0.0 - jest-each: ^27.4.0 - jest-matcher-utils: ^27.4.0 - jest-message-util: ^27.4.0 - jest-runtime: ^27.4.0 - jest-snapshot: ^27.4.0 - jest-util: ^27.4.0 - pretty-format: ^27.4.0 + jest-each: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + jest-runtime: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 + pretty-format: ^27.5.1 slash: ^3.0.0 stack-utils: ^2.0.3 throat: ^6.0.1 - checksum: cbc2438e8da12b3b07d10462e54a60202e0b936f03124540f8d771420ab94ec8a60b11e74aff9dc830d2e973a017ba788ece7020e6aa462db54951dd642f9b75 + checksum: 6192dccbccb3a6acfa361cbb97bdbabe94864ccf3d885932cfd41f19534329d40698078cf9be1489415e8234255d6ea9f9aff5396b79ad842a6fca6e6fc08fd0 languageName: node linkType: hard @@ -10514,7 +10505,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-diff@npm:^27.4.0, jest-diff@npm:^27.5.1": +"jest-diff@npm:^27.5.1": version: 27.5.1 resolution: "jest-diff@npm:27.5.1" dependencies: @@ -10535,16 +10526,16 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-each@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-each@npm:27.4.0" +"jest-each@npm:^27.4.0, jest-each@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-each@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 chalk: ^4.0.0 - jest-get-type: ^27.4.0 - jest-util: ^27.4.0 - pretty-format: ^27.4.0 - checksum: 9bb947e08e4695801594494c43341c43691097ef0d8550bd1d2a0af4a7c8b1d1d3222abfa7dbcdc48cd6d5e7c568bcd5145b4d3dc1ca770c0d06ba8938aab940 + jest-get-type: ^27.5.1 + jest-util: ^27.5.1 + pretty-format: ^27.5.1 + checksum: b5a6d8730fd938982569c9e0b42bdf3c242f97b957ed8155a6473b5f7b540970f8685524e7f53963dc1805319f4b6602abfc56605590ca19d55bd7a87e467e63 languageName: node linkType: hard @@ -10585,27 +10576,27 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-haste-map@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-haste-map@npm:27.4.0" +"jest-haste-map@npm:^27.4.0, jest-haste-map@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-haste-map@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@types/graceful-fs": ^4.1.2 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 - graceful-fs: ^4.2.4 - jest-regex-util: ^27.4.0 - jest-serializer: ^27.4.0 - jest-util: ^27.4.0 - jest-worker: ^27.4.0 + graceful-fs: ^4.2.9 + jest-regex-util: ^27.5.1 + jest-serializer: ^27.5.1 + jest-util: ^27.5.1 + jest-worker: ^27.5.1 micromatch: ^4.0.4 walker: ^1.0.7 dependenciesMeta: fsevents: optional: true - checksum: e93a1f687a203bdeb0ac8158815cdbfcb52d889af69da26aed8c51abf01e9ec79123ef964238986336cbd45d38498fce9d22e358ff2d4b11812841eae0b7daed + checksum: e092a1412829a9254b4725531ee72926de530f77fda7b0d9ea18008fb7623c16f72e772d8e93be71cac9e591b2c6843a669610887dd2c89bd9eb528856e3ab47 languageName: node linkType: hard @@ -10645,7 +10636,24 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-matcher-utils@npm:^27.0.0, jest-matcher-utils@npm:^27.4.0": +"jest-light-runner@npm:^0.1.0": + version: 0.1.0 + resolution: "jest-light-runner@npm:0.1.0" + dependencies: + expect: ^27.5.1 + jest-circus: ^27.5.1 + jest-each: ^27.5.1 + jest-mock: ^27.5.1 + jest-snapshot: ^27.5.1 + piscina: ^3.1.0 + supports-color: ^9.2.1 + peerDependencies: + jest: ^27.0.0 + checksum: b5381d1d1123230cc8491e2639f0c512c0033cdbff9e27108f46e339a33fb8392abd22666d991301c88d505f4579faad1422c853cf46825b8de149f1d56b0014 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^27.0.0, jest-matcher-utils@npm:^27.4.0, jest-matcher-utils@npm:^27.5.1": version: 27.5.1 resolution: "jest-matcher-utils@npm:27.5.1" dependencies: @@ -10657,30 +10665,30 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-message-util@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-message-util@npm:27.4.0" +"jest-message-util@npm:^27.4.0, jest-message-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-message-util@npm:27.5.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^27.4.0 + pretty-format: ^27.5.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: dfb5a51fb82d96b29145b1dd9929f3cb56ac1ca0ca865fbc12d39ed0b7ba72d2ef5ae71cef207607a3a55becfc86296df53c3a19275ad71f8899355a5593a45b + checksum: eb6d637d1411c71646de578c49826b6da8e33dd293e501967011de9d1916d53d845afbfb52a5b661ff1c495be7c13f751c48c7f30781fd94fbd64842e8195796 languageName: node linkType: hard -"jest-mock@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-mock@npm:27.4.0" +"jest-mock@npm:^27.4.0, jest-mock@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-mock@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@types/node": "*" - checksum: 18c1b5eef5cd356ad99a16b54e8341f3299705dbf86ce00c9226762e363bda0e329701f96097f1a34cc6d4a50fae39d71921082766fb2c89f41eed7523752581 + checksum: f5b5904bb1741b4a1687a5f492535b7b1758dc26534c72a5423305f8711292e96a601dec966df81bb313269fb52d47227e29f9c2e08324d79529172f67311be0 languageName: node linkType: hard @@ -10696,10 +10704,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-regex-util@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-regex-util@npm:27.4.0" - checksum: 222e4aacec601fd2cfdfee74adb8d324fef672f77577a7c2220893ec1a62031a2640388fce8d0bd8be2e4537da1ab40aa74dba60ac531a23b2643b15c65014ac +"jest-regex-util@npm:^27.4.0, jest-regex-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-regex-util@npm:27.5.1" + checksum: d45ca7a9543616a34f7f3079337439cf07566e677a096472baa2810e274b9808b76767c97b0a4029b8a5b82b9d256dee28ef9ad4138b2b9e5933f6fac106c418 languageName: node linkType: hard @@ -10714,21 +10722,21 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-resolve@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-resolve@npm:27.4.0" +"jest-resolve@npm:^27.4.0, jest-resolve@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-resolve@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 chalk: ^4.0.0 - graceful-fs: ^4.2.4 - jest-haste-map: ^27.4.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^27.4.0 - jest-validate: ^27.4.0 + jest-util: ^27.5.1 + jest-validate: ^27.5.1 resolve: ^1.20.0 resolve.exports: ^1.1.0 slash: ^3.0.0 - checksum: 44159762857c4323e49e3762cfb624b7418dff0567f5e294e5c329fd5b8b91a9fcfaf90d92564c58f62ba272b349c0a62aa84268b77481fc224a371a6d7f341d + checksum: 735830e7265b20a348029738680bb2f6e37f80ecea86cda869a4c318ba3a45d39c7a3a873a22f7f746d86258c50ead6e7f501de043e201c095d7ba628a1c440f languageName: node linkType: hard @@ -10762,107 +10770,101 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-runtime@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-runtime@npm:27.4.0" - dependencies: - "@jest/console": ^27.4.0 - "@jest/environment": ^27.4.0 - "@jest/globals": ^27.4.0 - "@jest/source-map": ^27.4.0 - "@jest/test-result": ^27.4.0 - "@jest/transform": ^27.4.0 - "@jest/types": ^27.4.0 - "@types/yargs": ^16.0.0 +"jest-runtime@npm:^27.4.0, jest-runtime@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-runtime@npm:27.5.1" + dependencies: + "@jest/environment": ^27.5.1 + "@jest/fake-timers": ^27.5.1 + "@jest/globals": ^27.5.1 + "@jest/source-map": ^27.5.1 + "@jest/test-result": ^27.5.1 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 chalk: ^4.0.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-haste-map: ^27.4.0 - jest-message-util: ^27.4.0 - jest-mock: ^27.4.0 - jest-regex-util: ^27.4.0 - jest-resolve: ^27.4.0 - jest-snapshot: ^27.4.0 - jest-util: ^27.4.0 - jest-validate: ^27.4.0 + graceful-fs: ^4.2.9 + jest-haste-map: ^27.5.1 + jest-message-util: ^27.5.1 + jest-mock: ^27.5.1 + jest-regex-util: ^27.5.1 + jest-resolve: ^27.5.1 + jest-snapshot: ^27.5.1 + jest-util: ^27.5.1 slash: ^3.0.0 strip-bom: ^4.0.0 - yargs: ^16.2.0 - checksum: 97b05314fa74cc750a9108eb328b693348d6b8ce3a96e308db500ebc5dd6b15a446888b04effe4347fb063fd6dedeb35358ee320db675a645780d3484ae134c9 + checksum: 929e3df0c53dab43f831f2af4e2996b22aa8cb2d6d483919d6b0426cbc100098fd5b777b998c6568b77f8c4d860b2e83127514292ff61416064f5ef926492386 languageName: node linkType: hard -"jest-serializer@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-serializer@npm:27.4.0" +"jest-serializer@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-serializer@npm:27.5.1" dependencies: "@types/node": "*" - graceful-fs: ^4.2.4 - checksum: 1ed5f38e88010f258bd9557d7842a89741ff15bfc578328e8ae1985933406350b817cf5e3127773e3dbc755dbe2522195378f8b98284bcc32111a723294ebbea + graceful-fs: ^4.2.9 + checksum: 803e03a552278610edc6753c0dd9fa5bb5cd3ca47414a7b2918106efb62b79fd5e9ae785d0a21f12a299fa599fea8acc1fa6dd41283328cee43962cf7df9bb44 languageName: node linkType: hard -"jest-snapshot@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-snapshot@npm:27.4.0" +"jest-snapshot@npm:^27.4.0, jest-snapshot@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-snapshot@npm:27.5.1" dependencies: "@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.0 - "@jest/types": ^27.4.0 + "@jest/transform": ^27.5.1 + "@jest/types": ^27.5.1 "@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.0 - graceful-fs: ^4.2.4 - jest-diff: ^27.4.0 - jest-get-type: ^27.4.0 - jest-haste-map: ^27.4.0 - jest-matcher-utils: ^27.4.0 - jest-message-util: ^27.4.0 - jest-resolve: ^27.4.0 - jest-util: ^27.4.0 + expect: ^27.5.1 + graceful-fs: ^4.2.9 + jest-diff: ^27.5.1 + jest-get-type: ^27.5.1 + jest-haste-map: ^27.5.1 + jest-matcher-utils: ^27.5.1 + jest-message-util: ^27.5.1 + jest-util: ^27.5.1 natural-compare: ^1.4.0 - pretty-format: ^27.4.0 + pretty-format: ^27.5.1 semver: ^7.3.2 - checksum: b3125ed9e36e3460e436d09c5a2c325814b8b131e86c5a52f66a0891c006898edbe80ec3a588f5476202c097dd7ed37c3428bb494c368a0dfbf0e0df95f6e016 + checksum: a5cfadf0d21cd76063925d1434bc076443ed6d87847d0e248f0b245f11db3d98ff13e45cc03b15404027dabecd712d925f47b6eae4f64986f688640a7d362514 languageName: node linkType: hard -"jest-util@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-util@npm:27.4.0" +"jest-util@npm:^27.4.0, jest-util@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-util@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 - graceful-fs: ^4.2.4 + graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: 4ec091ddab8a84ea38eb0763e9e55b50592e655faf21845d3d27dda907b16debd2552a777a562fe8429527e1c2b20c6ff299b107c5117a10002e70e3c39d0e9a + checksum: ac8d122f6daf7a035dcea156641fd3701aeba245417c40836a77e35b3341b9c02ddc5d904cfcd4ddbaa00ab854da76d3b911870cafdcdbaff90ea471de26c7d7 languageName: node linkType: hard -"jest-validate@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-validate@npm:27.4.0" +"jest-validate@npm:^27.4.0, jest-validate@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-validate@npm:27.5.1" dependencies: - "@jest/types": ^27.4.0 + "@jest/types": ^27.5.1 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^27.4.0 + jest-get-type: ^27.5.1 leven: ^3.1.0 - pretty-format: ^27.4.0 - checksum: 4bf130a3f6373287fd83e274565304c8353320c74c3476bf18c7dd4446fa4f5a2eb36fb77a96a1334d2265731e19b08fdf07555c4b02ca63e64818e50a04f6f4 + pretty-format: ^27.5.1 + checksum: 82e870f8ee7e4fb949652711b1567f05ae31c54be346b0899e8353e5c20fad7692b511905b37966945e90af8dc0383eb41a74f3ffefb16140ea4f9164d841412 languageName: node linkType: hard @@ -10892,14 +10894,14 @@ fsevents@^1.2.7: languageName: node linkType: hard -"jest-worker@npm:^27.4.0": - version: 27.4.0 - resolution: "jest-worker@npm:27.4.0" +"jest-worker@npm:^27.4.0, jest-worker@npm:^27.5.1": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" dependencies: "@types/node": "*" merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: 16e3966fd69e0d28f9270e4ce3f9ba3c6d82b074d51ae1d93ea66e5793dc846945461f6409a2365e8dbf10a441138b3d3f7536137efd7bc3d4b4e4f07de1a89f + checksum: 98cd68b696781caed61c983a3ee30bf880b5bd021c01d98f47b143d4362b85d0737f8523761e2713d45e18b4f9a2b98af1eaee77afade4111bb65c77d6f7c980 languageName: node linkType: hard @@ -12879,7 +12881,7 @@ fsevents@^1.2.7: languageName: node linkType: hard -"pirates@npm:^4.0.1, pirates@npm:^4.0.5": +"pirates@npm:^4.0.4, pirates@npm:^4.0.5": version: 4.0.5 resolution: "pirates@npm:4.0.5" checksum: c9994e61b85260bec6c4fc0307016340d9b0c4f4b6550a957afaaff0c9b1ad58fbbea5cfcf083860a25cb27a375442e2b0edf52e2e1e40e69934e08dcc52d227 @@ -14627,12 +14629,10 @@ fsevents@^1.2.7: languageName: node linkType: hard -"supports-color@npm:^9.0.2": - version: 9.0.2 - resolution: "supports-color@npm:9.0.2" - dependencies: - has-flag: ^5.0.0 - checksum: 690c21f61945a1ebab61fbc9dc861672b1d9678359ce75312b8b7ecb873f37f2ed2df56daa4ef4265300bea2e51f8285831ffb0a190ac46aaeed1d5b44fd51fe +"supports-color@npm:^9.2.1": + version: 9.2.2 + resolution: "supports-color@npm:9.2.2" + checksum: 976d84877402fc38c1d43b1fde20b0a8dc0283273f21cfebe4ff7507d27543cdfbeec7db108a96b82d694465f06d64e8577562b05d0520b41710088e0a33cc50 languageName: node linkType: hard