├── .gitignore ├── README.md ├── e2e ├── failing-jsdom │ ├── README.md │ ├── __tests__ │ │ └── index.js │ └── package.json ├── failing │ ├── __tests__ │ │ └── index.js │ └── package.json └── passing │ ├── __tests__ │ └── index.js │ └── package.json ├── index.js ├── jsdom-manual.js ├── jsdom.js ├── manual.js ├── package-lock.json ├── package.json ├── src ├── __tests__ │ └── index.js ├── index.js ├── runJest.js ├── wrap-test.js └── zones.js ├── test-harness.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | 3 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # `jest-plugin-must-assert` 2 | 3 | A plugin extending the default Jest behavior to fail any tests which do not 4 | perform a runtime assertion. 5 | 6 | ## Problem 7 | 8 | Asynchronous tests could be challenging to get _right_, particularly for junior 9 | developers or engineers new to async JavaScript. The most common mistake is an async 10 | test which does not fire any assertions, either due to logic or even syntax errors. 11 | Static analysis (linters) gets close to pointing out the issues, but is not enough to catch logic mistakes. 12 | For this, we require a runtime check that _some_ assertion was run during the test. 13 | 14 | [Jest, unfortunately, has no "failWithoutAssertions" configuration options, so this plugin aims to remedy that.](https://github.com/facebook/jest/issues/2209) 15 | The plugin patches the Jest API to force tests without any assertions to fail. In addition 16 | to failing tests without assertions this plugin also patches a bug in Jest which 17 | leads to [assertions "leaking" accross different tests](https://github.com/facebook/jest/issues/8297). 18 | 19 | ## Install 20 | 21 | `npm i -D jest-plugin-must-assert` 22 | 23 | or 24 | 25 | `yarn add -D jest-plugin-must-assert` 26 | 27 | For default behavior, add the plugin to your setup files. 28 | 29 | ## Supported Jest Environments 30 | 31 | - `jest-plugin-must-assert` - Default supported environment, `node` 32 | - `jest-plugin-must-assert/jsdom` - JSDOM environment support. Necessary for 33 | mocking window task functions like `setTimeout` when using `jest-environment-jsdom`. 34 | Useful for React tests. 35 | 36 | ## Use 37 | 38 | ### For a specific test file 39 | 40 | You may import the plugin into any test file you need additional safeguard for async logic. 41 | 42 | ```js 43 | import 'jest-plugin-must-assert'; 44 | 45 | test('some logic', () => { 46 | setTimeout(() => expect(1).toBe(2)); // will be caught by the plugin 47 | ... 48 | }); 49 | ``` 50 | 51 | ### For entire test suite 52 | 53 | Alternatively, you can enable the plugin for an entire test suite by adding it 54 | to your jest configuration. 55 | 56 | ```js 57 | ... 58 | setupFilesAfterEnv: ['jest-plugin-must-assert'], 59 | ... 60 | ``` 61 | 62 | ### Manual configuration 63 | 64 | You may also extend the default behavior with the following, manual configuration. 65 | 66 | ```js 67 | // /must-assert-setup.js 68 | const patchJestAPI = require('jest-plugin-must-assert/manual'); 69 | 70 | patchJestAPI({ 71 | /** 72 | * Control the task execution during a test. You may log a custom warning message 73 | * from here, throw an error etc. 74 | * 75 | * Default: The default behavior is that mismatched testIds result in ignoring of the task 76 | * and a warning message. 77 | * 78 | * @param {Object} options Options for the handler (see below) 79 | * 80 | * Options: 81 | * @param {Number} originTestId The unique ID of the test where the task is oginating from 82 | * @param {Number} currentTestId The unique ID of the currently executing test 83 | * @param {String} testName The name of the test which triggered this event 84 | * @param {Object} task The task which is about to be invoked 85 | * @param {String} task.type The type of task being invoked (micro/macro task) 86 | * @param {String} task.source The source of the taks ("promise.then", "setTimeout" etc) 87 | * @param {Object} logger The logger object (defaults to console) 88 | * @param {Function} getStackTrace Returns the stack-trace of the stack 89 | * 90 | * @throws {Error} Default: throws. This function _may_ throw an error instead of logging it if 91 | * you would like a stack trace back to the origin of the task being ignored. 92 | * 93 | * @return {Boolean} true/false for whether or not the task should execute 94 | */ 95 | onInvokeTask({ 96 | originZoneId, 97 | currentZoneId, 98 | testName, 99 | task, 100 | }) { 101 | // This is the default implementation of onInvokeTask. The error thrown will 102 | // be displayed as a logger.warn with a cleaned up stack trace. 103 | if (originZoneId !== currentZoneId) { 104 | throw new Error( 105 | `Test "${testName}" is attempting to invoke a ${task.type}(${task.source}) after test completion. Ignoring` 106 | ); 107 | } 108 | return true; 109 | }, 110 | 111 | /** 112 | * Logger DI. Used by the internal methods to log warnings/errors. Should match console API. 113 | */ 114 | logger, 115 | 116 | /** 117 | * Regex list of what functions should be REMOVED from the stack traces of cancelled tasks. 118 | * These are the default values. Overwriting this option removes these values 119 | */ 120 | ignoreStack = [/Zone/, /zone\.js/, /node_modules/], 121 | }); 122 | ``` 123 | 124 | Then in your config file: 125 | 126 | ```js 127 | ... 128 | setupFilesAfterEnv: [ 129 | '/must-assert-setup' 130 | ], 131 | ... 132 | ``` 133 | 134 | ## Performance 135 | 136 | There are some performance implications of using this plugin as it does add a bit of 137 | overhead, but from testing it's a trivial increase. This plugin has been tested 138 | within a project with 1600+ test suites and over 10k individual tests, with only a negligible slow-down. 139 | -------------------------------------------------------------------------------- /e2e/failing-jsdom/README.md: -------------------------------------------------------------------------------- 1 | ## JSDOM 2 | 3 | These are test cases specific to how `jsdom` is used in Jest tests, 4 | specifically React tests. We need to ensure we load the browser version 5 | Zone.js mocks in this scenario, hence the different config & tests. 6 | -------------------------------------------------------------------------------- /e2e/failing-jsdom/__tests__/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * All of the tests should fail, due to the plugin inserting hasAssertions() 3 | * before every test is executed 4 | */ 5 | 6 | test('no assertions, no code', () => {}); 7 | 8 | test('synchronous failure', () => { 9 | expect(true).toBe(false); 10 | }); 11 | 12 | test('missed runtime assertion', () => { 13 | const unused = () => expect(true).toBe(true); 14 | }); 15 | 16 | test('missed rejected promise', () => 17 | Promise.reject().then(() => { 18 | expect(true).toBe(true); 19 | })); 20 | 21 | // https://github.com/facebook/jest/issues/8297 22 | test('unreturned promise assertions', () => { 23 | Promise.resolve().then(() => { 24 | expect(true).toBe(false); 25 | }); 26 | }); 27 | 28 | test.only('assertions in missed macro-tasks', () => { 29 | // setTimeout(fn, 0) won't work the way we want it to here, it'll still pass 30 | // the test 31 | setTimeout(() => { 32 | expect(1 + 1).toBe(2); 33 | }, 100); 34 | }); 35 | 36 | test.only('assertions after done() callback', done => { 37 | setTimeout(() => { 38 | done(); 39 | setTimeout(() => { 40 | expect(1 + 1).toBe(2); 41 | }); 42 | }); 43 | }); 44 | 45 | test.only('assertions after done() callback (jest bugfix)', done => { 46 | setTimeout(() => { 47 | done(); 48 | setTimeout(() => { 49 | expect(1 + 1).toBe(2); 50 | }); 51 | }); 52 | }); 53 | 54 | test('assertions failing in setTimeout', done => { 55 | setTimeout(() => { 56 | expect(true).toBe(false); 57 | // done cannot be called here due to a throw just above it 58 | done(); 59 | }); 60 | }); 61 | 62 | describe('it() blocks work as test()', () => { 63 | it('missed runtime assertion', () => { 64 | const unused = () => expect(true).toBe(true); 65 | }); 66 | 67 | it('synchronous failure', () => { 68 | expect(true).toBe(false); 69 | }); 70 | 71 | // https://github.com/facebook/jest/issues/8297 72 | it('unreturned promise assertions', () => { 73 | Promise.resolve().then(() => { 74 | expect(true).toBe(true); 75 | }); 76 | }); 77 | 78 | it('missed rejected promise', () => 79 | Promise.reject().then(() => { 80 | expect(true).toBe(true); 81 | })); 82 | 83 | it('assertions in missed macro-tasks', () => { 84 | // setTimeout(fn, 0) won't work by the way we want it to here, it'll still pass 85 | // the test 86 | setTimeout(() => { 87 | expect(1 + 1).toBe(2); 88 | }, 100); 89 | }); 90 | }); 91 | -------------------------------------------------------------------------------- /e2e/failing-jsdom/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "jest": { 3 | "testEnvironment": "jsdom", 4 | "setupFilesAfterEnv": ["../../jsdom"], 5 | "testRunner": "jest-circus/runner" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /e2e/failing/__tests__/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * All of the tests should fail, due to the plugin inserting hasAssertions() 3 | * before every test is executed 4 | */ 5 | const wait = require('wait-for-expect'); 6 | 7 | test('unhandled promise rejections fail tests', () => { 8 | Promise.resolve().then(() => { 9 | throw new Error('oops'); 10 | }); 11 | return wait(() => { 12 | expect(1).toBe(1); 13 | }); 14 | }); 15 | 16 | test('no assertions, no code', () => {}); 17 | 18 | test('synchronous failure', () => { 19 | expect(true).toBe(false); 20 | }); 21 | 22 | test('missed runtime assertion', () => { 23 | const unused = () => expect(true).toBe(true); 24 | }); 25 | 26 | test('missed rejected promise', () => 27 | Promise.reject().then(() => { 28 | expect(true).toBe(true); 29 | })); 30 | 31 | // https://github.com/facebook/jest/issues/8297 32 | test('unreturned promise assertions', () => { 33 | Promise.resolve().then(() => { 34 | expect(true).toBe(false); 35 | }); 36 | }); 37 | 38 | test('assertions in missed macro-tasks', () => { 39 | // setTimeout(fn, 0) won't work by the way we want it to here, it'll still pass 40 | // the test 41 | setTimeout(() => { 42 | expect(1 + 1).toBe(2); 43 | }, 100); 44 | }); 45 | 46 | test('assertions after done() callback', done => { 47 | setTimeout(() => { 48 | done(); 49 | setTimeout(() => { 50 | expect(1 + 1).toBe(2); 51 | }); 52 | }); 53 | }); 54 | 55 | test('assertions after done() callback (jest bugfix)', done => { 56 | setTimeout(() => { 57 | done(); 58 | setTimeout(() => { 59 | expect(1 + 1).toBe(2); 60 | }); 61 | }); 62 | }); 63 | 64 | test('assertions failing in setTimeout', done => { 65 | setTimeout(() => { 66 | expect(true).toBe(false); 67 | // done cannot be called here due to a throw just above it 68 | done(); 69 | }); 70 | }); 71 | 72 | describe('it() blocks work as test()', () => { 73 | it('missed runtime assertion', () => { 74 | const unused = () => expect(true).toBe(true); 75 | }); 76 | 77 | it('synchronous failure', () => { 78 | expect(true).toBe(false); 79 | }); 80 | 81 | // https://github.com/facebook/jest/issues/8297 82 | it('unreturned promise assertions', () => { 83 | Promise.resolve().then(() => { 84 | expect(true).toBe(true); 85 | }); 86 | }); 87 | 88 | it('missed rejected promise', () => 89 | Promise.reject().then(() => { 90 | expect(true).toBe(true); 91 | })); 92 | 93 | it('assertions in missed macro-tasks', () => { 94 | // setTimeout(fn, 0) won't work by the way we want it to here, it'll still pass 95 | // the test 96 | setTimeout(() => { 97 | expect(1 + 1).toBe(2); 98 | }, 100); 99 | }); 100 | }); 101 | -------------------------------------------------------------------------------- /e2e/failing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "jest": { 3 | "testEnvironment": "node", 4 | "setupFilesAfterEnv": ["../../"], 5 | "testRunner": "jest-circus/runner" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /e2e/passing/__tests__/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * All of the tests below should pass 3 | */ 4 | 5 | function getPromise() { 6 | return Promise.resolve({}); 7 | } 8 | 9 | test('basic tests should pass', () => { 10 | expect(1 + 2).toBe(3); 11 | }); 12 | 13 | test('async tests should pass', async () => { 14 | const result = await getPromise(); 15 | expect(typeof result !== 'undefined').toBe(true); 16 | }); 17 | 18 | test('promise tests should pass', () => { 19 | return Promise.resolve() 20 | .then(() => { 21 | expect(1 + 1).toBe(2); 22 | throw new Error(); 23 | }) 24 | .catch(() => { 25 | expect(1 + 2).toBe(3); 26 | }); 27 | }); 28 | 29 | test('done callback tests should pass', done => { 30 | Promise.resolve().then(() => { 31 | expect(1 + 1).toBe(2); 32 | done(); 33 | }); 34 | }); 35 | 36 | test('.thens are chained properly', () => { 37 | // Test that our use of zones does not break promise chaining 38 | return Promise.resolve(1) 39 | .then(v => v + 2) 40 | .then(v => expect(v).toBe(3)); 41 | }); 42 | 43 | test.todo('- todos should work'); 44 | 45 | describe('it() should behave the same as test()', () => { 46 | it('basic tests should pass', () => { 47 | expect(1 + 2).toBe(3); 48 | }); 49 | 50 | it('async tests should pass', async () => { 51 | const result = await getPromise(); 52 | expect(typeof result !== 'undefined').toBe(true); 53 | }); 54 | 55 | it('promise tests should pass', () => { 56 | return Promise.resolve() 57 | .then(() => { 58 | expect(1 + 1).toBe(2); 59 | throw new Error(); 60 | }) 61 | .catch(() => { 62 | expect(1 + 2).toBe(3); 63 | }); 64 | }); 65 | 66 | it('done callback tests should pass', done => { 67 | Promise.resolve().then(() => { 68 | expect(1 + 1).toBe(2); 69 | done(); 70 | }); 71 | }); 72 | 73 | it.todo('- it todos should work'); 74 | }); 75 | -------------------------------------------------------------------------------- /e2e/passing/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "jest": { 3 | "testEnvironment": "node", 4 | "setupFilesAfterEnv": ["../../"] 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /index.js: -------------------------------------------------------------------------------- 1 | const patchJestAPI = require('./src'); 2 | 3 | patchJestAPI({ 4 | logger: console, 5 | }); 6 | -------------------------------------------------------------------------------- /jsdom-manual.js: -------------------------------------------------------------------------------- 1 | module.exports = (...args) => { 2 | require('zone.js/dist/zone.min'); 3 | return require('./src')(...args); 4 | }; 5 | -------------------------------------------------------------------------------- /jsdom.js: -------------------------------------------------------------------------------- 1 | require('zone.js/dist/zone.min'); 2 | const patchJestAPI = require('./src'); 3 | 4 | patchJestAPI({ 5 | logger: console, 6 | }); 7 | -------------------------------------------------------------------------------- /manual.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src'); 2 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "jest-plugin-must-assert", 3 | "version": "2.1.0", 4 | "description": "Jest plugin for async tests", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "jest", 8 | "harness": "node test-harness.js" 9 | }, 10 | "engines": { 11 | "node": ">= 12.17.0" 12 | }, 13 | "keywords": [ 14 | "jest", 15 | "test", 16 | "async" 17 | ], 18 | "author": "Arthur Buldauskas", 19 | "license": "MIT", 20 | "prettier": { 21 | "singleQuote": true, 22 | "trailingComma": "es5" 23 | }, 24 | "jest": { 25 | "testEnvironment": "jsdom", 26 | "testRegex": "src/__tests__/.*|(\\.|/)(test|spec)\\.[jt]sx?$" 27 | }, 28 | "devDependencies": { 29 | "execa": "^1.0.0", 30 | "jest": "^27.0.5", 31 | "jest-circus": "^27.0.5", 32 | "jest-cli": "^27.0.5", 33 | "meow": "^10.0.1", 34 | "prettier": "^1.16.4", 35 | "strip-ansi": "^5.2.0", 36 | "wait-for-expect": "^3.0.1" 37 | }, 38 | "dependencies": { 39 | "stack-utils": "^1.0.2", 40 | "zone.js": "^0.9.0" 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/__tests__/index.js: -------------------------------------------------------------------------------- 1 | const runJest = require('../runJest'); 2 | const wait = require('wait-for-expect'); 3 | 4 | // A generous timeout as the e2e failing tests timeout in some cases (as intended) 5 | jest.setTimeout(10000); 6 | 7 | test('failing tests - node env', async () => { 8 | const results = await runJest('e2e/failing'); 9 | 10 | const totalTestsExecuted = 11 | results.json.numTotalTests - results.json.numPendingTests; 12 | // We should have ran _some_ tets here 13 | expect(totalTestsExecuted > 0).toBe(true); 14 | // All tests that were executed should have failed 15 | expect(results.json.numFailedTests).toBe(totalTestsExecuted); 16 | }); 17 | 18 | test('failing tests - jsdom env', async () => { 19 | const results = await runJest('e2e/failing-jsdom'); 20 | 21 | const totalTestsExecuted = 22 | results.json.numTotalTests - results.json.numPendingTests; 23 | // We should have ran _some_ tets here 24 | expect(totalTestsExecuted > 0).toBe(true); 25 | // All tests that were executed should have failed 26 | expect(results.json.numFailedTests).toBe(totalTestsExecuted); 27 | }); 28 | 29 | test('passing tests', async () => { 30 | const results = await runJest('e2e/passing'); 31 | 32 | const totalTestsExecuted = 33 | results.json.numTotalTests - 34 | (results.json.numPendingTests + results.json.numTodoTests); 35 | // We should have ran _some_ tets here 36 | expect(totalTestsExecuted > 0).toBe(true); 37 | // All tests that were executed should have passed 38 | expect(results.json.numPassedTests).toBe(totalTestsExecuted); 39 | }); 40 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Implementation of Must assert plugin 3 | * 4 | * @author Arthur Buldauskas 5 | */ 6 | const StackUtils = require('stack-utils'); 7 | const { getWrapper } = require('./wrap-test'); 8 | const { getZones } = require('./zones'); 9 | 10 | /** 11 | * Responds to task invokations. Default implementation 12 | * 13 | * @throws 14 | * 15 | * @return Boolean Whether or not the task should be allowed to run 16 | */ 17 | function onInvokeTaskDefault({ 18 | // The zone ID which originated this task 19 | originZoneId, 20 | // The current global zone ID currently executing 21 | currentZoneId, 22 | // The name of the test from where this task originates 23 | testName, 24 | // The type of the task being acted upon [micro || macro]Task 25 | task, 26 | // Get the stack trace associated wit the task 27 | getStackTrace, 28 | }) { 29 | // Note that we do not use "testName" for this as they are not guaranteed to be 30 | // unique 31 | if (originZoneId !== currentZoneId) { 32 | const error = new Error( 33 | `Test "${testName}" is attempting to invoke a ${task.type}(${task.source}) after test completion. See stack-trace for details.` 34 | ); 35 | throw error; 36 | } 37 | return true; 38 | } 39 | 40 | /** 41 | * Path Jest test API 42 | * 43 | * We will wrap every supported Jest method so that we can place every test 44 | * that is declared with it's own Zone. Each test will have it's own zone, which 45 | * will have a unique ID. There will be one global "current" zone ID, whenever an 46 | * async event attempts to invoke a callback which is NOT from the current zone 47 | * ID we will block it and log a warning. 48 | * 49 | * @return void 50 | */ 51 | function patchJestAPI({ 52 | // Set your own onInvoke task handler if you don't like the original behavior 53 | onInvokeTask = onInvokeTaskDefault, 54 | // Logger override 55 | logger = console, 56 | // Regex of what should be REMOVED from the stack traces of cancelled tasks 57 | ignoreStack = [/Zone/, /zone\.js/, /node_modules/], 58 | }) { 59 | const { enterZone, exitZone } = getZones({ 60 | onInvokeTask, 61 | logger, 62 | ignoreStack, 63 | }); 64 | const wrapTest = getWrapper({ enterZone, exitZone }); 65 | 66 | // TODO: Figure out a way to show the original test during errors instead of the 67 | // wrapper below. AFAIK it's not doable unless we recompile the original fn and 68 | // somehow append the extra checks... 69 | function enhanceJestImplementationWithAssertionCheck(jestTest) { 70 | return function ehanchedJestMehod(name, fn, timeout) { 71 | return jestTest(name, wrapTest(fn, name), timeout); 72 | }; 73 | } 74 | 75 | // Create the enhanced version of the base test() method 76 | const enhancedTest = enhanceJestImplementationWithAssertionCheck(global.test); 77 | 78 | // TODO: Support .each 79 | const donotpatch = ['each', 'skip', 'todo']; 80 | 81 | Object.keys(global.test).forEach(key => { 82 | if (typeof global.test[key] === 'function' && !donotpatch.includes(key)) { 83 | enhancedTest[key] = enhanceJestImplementationWithAssertionCheck( 84 | global.test[key] 85 | ); 86 | } else { 87 | enhancedTest[key] = global.test[key]; 88 | } 89 | }); 90 | 91 | global.it = enhancedTest; 92 | global.fit = enhancedTest.only; 93 | global.test = enhancedTest; 94 | } 95 | 96 | // Default export 97 | // 98 | // The plugin does nothing unless this is invoked 99 | module.exports = patchJestAPI; 100 | -------------------------------------------------------------------------------- /src/runJest.js: -------------------------------------------------------------------------------- 1 | // Slimmed down version from jest itself 2 | /** 3 | * Copyright (c) Facebook, Inc. and its affiliates. All Rights Reserved. 4 | * 5 | * This source code is licensed under the MIT license found in the 6 | * LICENSE file in the root directory of this source tree. 7 | * 8 | */ 9 | const path = require('path'); 10 | const fs = require('fs'); 11 | const execa = require('execa'); 12 | const stripAnsi = require('strip-ansi'); 13 | 14 | const JEST_PATH = path.resolve(__dirname, '../node_modules/.bin/jest'); 15 | const ROOT_PATH = path.resolve(__dirname, '..'); 16 | 17 | function normalizeResult(result) { 18 | // For compat with cross-spawn 19 | result.status = result.code; 20 | 21 | result.stdout = stripAnsi(result.stdout); 22 | //result.stderr = normalizeIcons(result.stderr); 23 | result.stderr = stripAnsi(result.stderr); 24 | 25 | return result; 26 | } 27 | 28 | // Spawns Jest and returns either a Promise 29 | function spawnJest(dir, args, options = {}) { 30 | dir = path.resolve(ROOT_PATH, dir); 31 | 32 | const localPackageJson = path.resolve(dir, 'package.json'); 33 | if (!options.skipPkgJsonCheck && !fs.existsSync(localPackageJson)) { 34 | throw new Error( 35 | ` 36 | Make sure you have a local package.json file at 37 | "${localPackageJson}". 38 | Otherwise Jest will try to traverse the directory tree and find the 39 | global package.json, which will send Jest into infinite loop. 40 | ` 41 | ); 42 | } 43 | const env = Object.assign({}, process.env, { FORCE_COLOR: '0' }); 44 | 45 | if (options.nodeOptions) env['NODE_OPTIONS'] = options.nodeOptions; 46 | if (options.nodePath) env['NODE_PATH'] = options.nodePath; 47 | 48 | const spawnArgs = [JEST_PATH, ...(args || [])]; 49 | const spawnOptions = { 50 | cwd: dir, 51 | env, 52 | reject: false, 53 | timeout: options.timeout || 0, 54 | }; 55 | 56 | return execa(process.execPath, spawnArgs, spawnOptions); 57 | } 58 | 59 | module.exports = async function runJest(dir, args = [], options = {}) { 60 | args = [].concat(args).concat(['--json']); 61 | 62 | const result = await spawnJest(dir, args, options); 63 | try { 64 | result.json = JSON.parse(result.stdout || ''); 65 | } catch (e) { 66 | throw new Error( 67 | ` 68 | Can't parse JSON. 69 | ERROR: ${e.name} ${e.message} 70 | STDOUT: ${result.stdout} 71 | STDERR: ${result.stderr} 72 | ` 73 | ); 74 | } 75 | 76 | return normalizeResult(result); 77 | }; 78 | 79 | -------------------------------------------------------------------------------- /src/wrap-test.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Test wrapper implementation 3 | * 4 | * @author Arthur Buldauskas 5 | */ 6 | 7 | /** 8 | * Return true if object is a promise 9 | * 10 | * @return Boolean 11 | */ 12 | const isThenable = obj => 13 | typeof obj === 'object' && obj != null && typeof obj.then === 'function'; 14 | 15 | /** 16 | * Return whether or not the test which we are in has it's own expect.hasAssertions 17 | * check defined. 18 | * 19 | * @return Boolean 20 | */ 21 | const testNeedsAssertionCheck = () => { 22 | // Safety check for misconfigured tests (eg overriding expect itself) 23 | // Or a test runner which is not Jest 24 | if (!(typeof expect !== 'undefined' && 'getState' in expect)) { 25 | return false; 26 | } 27 | 28 | // Jest keeps state as a global, exposes it on the expect API 29 | const state = expect.getState(); 30 | 31 | return ( 32 | typeof state.expectedAssertionsNumber !== 'number' && 33 | !state.isExpectingAssertions 34 | ); 35 | }; 36 | 37 | const getWrapper = ({ enterZone, exitZone }) => { 38 | /** 39 | * Wrap a test in a zone 40 | * 41 | * We will use the zone defined above to control async events spawning form this 42 | * test 43 | * 44 | * @return Function 45 | */ 46 | const wrap = (fn, name) => { 47 | let testMustAssert, unhandledException; 48 | const hasDoneCallback = fn.length > 0; 49 | 50 | const recordUnhandledException = e => (unhandledException = e); 51 | const listenToExceptions = () => 52 | process.addListener('unhandledRejection', recordUnhandledException); 53 | const cleanupListeners = () => 54 | process.removeListener('unhandledRejection', recordUnhandledException); 55 | 56 | const [zonedTest, zoneId] = enterZone(fn, name, hasDoneCallback); 57 | 58 | // Support done() callback style tests 59 | if (hasDoneCallback) { 60 | return (doneOriginal, ...args) => { 61 | const done = () => { 62 | exitZone(zoneId); 63 | cleanupListeners(); 64 | doneOriginal(); 65 | }; 66 | 67 | listenToExceptions(); 68 | 69 | const result = zonedTest(done, ...args); 70 | 71 | // If there were no assertion count checks, add them 72 | if (testNeedsAssertionCheck()) { 73 | expect.hasAssertions(); 74 | } 75 | 76 | return result; 77 | }; 78 | } 79 | 80 | // If the test is NOT using a done callback run it as normal 81 | return () => { 82 | // Run the test 83 | const result = zonedTest(); 84 | 85 | // If there were no assertion count checks, add them 86 | if (testNeedsAssertionCheck()) { 87 | expect.hasAssertions(); 88 | } 89 | 90 | // Not a promise returned from the test, exit zone and return the result 91 | if (!isThenable(result)) { 92 | exitZone(zoneId); 93 | return result; 94 | } 95 | 96 | // If the test returned a promise, wait until it resolves before exiting 97 | // the zone 98 | 99 | // Listen to unhandledPromiseRejections to mirror jest behavior 100 | // 101 | // We will need to re-throw any errors found to make sure jest can 102 | // still fail this test. This is default Jest behavior 103 | listenToExceptions(); 104 | 105 | return result.then( 106 | // Test promise resolved without issue 107 | () => { 108 | exitZone(zoneId); 109 | 110 | cleanupListeners(); 111 | 112 | if (unhandledException) { 113 | throw unhandledException; 114 | } 115 | }, 116 | // Test threw 117 | e => { 118 | cleanupListeners(); 119 | 120 | exitZone(zoneId); 121 | 122 | throw e; 123 | } 124 | ); 125 | }; 126 | }; 127 | 128 | return wrap; 129 | }; 130 | 131 | module.exports = { 132 | getWrapper, 133 | }; 134 | -------------------------------------------------------------------------------- /src/zones.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Zoning helpers 3 | * 4 | * @author Arthur Buldauskas 5 | */ 6 | const StackUtils = require('stack-utils'); 7 | 8 | const EXPOSE_ERROR = Symbol('EXPOSE_ERROR'); 9 | 10 | // Globals 11 | // The current zone. Every time a test starts this changes 12 | let currentZone = null; 13 | 14 | // All zone ID should be unique 15 | let uniqueIdentifier = 0; 16 | const uuid = () => ++uniqueIdentifier; 17 | 18 | const getZones = ({ onInvokeTask, logger, ignoreStack }) => { 19 | // Requiring Zone libraries here ensures that we allow for users of the 20 | // plugin to conditionally add this functionally per test suite module. 21 | 22 | // Zone will patch console for us, but we don't really want that 23 | const consoleMethods = Object.entries(global.console); 24 | 25 | require('zone.js'); 26 | require('zone.js/dist/long-stack-trace-zone'); 27 | 28 | // Restore default console 29 | consoleMethods.forEach(([key, value]) => { 30 | global.console[key] = value; 31 | }); 32 | 33 | // We clean the stacks to make them easier to reason about in the console output 34 | const stack = new StackUtils({ 35 | cwd: process.cwd(), 36 | // Stack utils API for what functions should be removed from the stack trace 37 | // We omit node_modules, Zone library and node internals by default 38 | internals: StackUtils.nodeInternals().concat(ignoreStack), 39 | }); 40 | 41 | // Zone sets itself as a global, that's just how the library works 42 | const Zone = global.Zone; 43 | 44 | /** 45 | * Exit the current zone 46 | * 47 | * Only if it still matches the zone ID attempting to exit 48 | * 49 | */ 50 | const exitZone = id => { 51 | if (id === currentZone) { 52 | currentZone = null; 53 | } 54 | }; 55 | 56 | /** 57 | * Enter a new zone 58 | * 59 | */ 60 | const enterZone = (callback, name, hasDoneCallback) => { 61 | const id = uuid(); 62 | 63 | /** 64 | * Create a new zone using Zone.js API 65 | * 66 | * See https://github.com/angular/angular/blob/master/packages/zone.js/lib/zone.ts 67 | */ 68 | const zone = Zone.root 69 | .fork({ 70 | name, 71 | // Attach the id to the zone object 72 | properties: { 73 | id, 74 | }, 75 | onHandleError(delegate, current, target, e) { 76 | if (e && e[EXPOSE_ERROR]) { 77 | logger.warn(`${e.message}\n\n${stack.clean(e.stack)}`); 78 | return false; 79 | } 80 | throw e; 81 | }, 82 | onInvokeTask(delegate, current, target, task, applyThis, applyArgs) { 83 | let error; 84 | let result = true; 85 | 86 | // Exposes the stack trace associated with the task 87 | function getStackTrace() { 88 | let stack; 89 | try { 90 | throw new Error(); 91 | } catch (e) { 92 | e.task = task; 93 | Zone.longStackTraceZoneSpec.onHandleError( 94 | delegate, 95 | current, 96 | target, 97 | e 98 | ); 99 | stack = e.stack; 100 | } 101 | return stack; 102 | } 103 | 104 | try { 105 | result = onInvokeTask({ 106 | originZoneId: current.get('id'), 107 | currentZoneId: currentZone, 108 | testName: name, 109 | task, 110 | logger: logger, 111 | getStackTrace, 112 | }); 113 | } catch (e) { 114 | error = e; 115 | } 116 | 117 | if (error) { 118 | error[EXPOSE_ERROR] = true; 119 | error.task = task; 120 | throw error; 121 | } 122 | 123 | if (!result) { 124 | return; 125 | } 126 | 127 | return delegate.invokeTask(target, task, applyThis, applyArgs); 128 | }, 129 | }) 130 | // We fork from the special stack-trace zone so that there is a trail leading 131 | // back to the origin of the ignored tasks 132 | .fork(Zone.longStackTraceZoneSpec); 133 | 134 | const enter = () => (currentZone = id); 135 | 136 | return [ 137 | zone.wrap( 138 | hasDoneCallback 139 | ? done => { 140 | enter(); 141 | return callback(done); 142 | } 143 | : () => { 144 | enter(); 145 | return callback(); 146 | } 147 | ), 148 | id, 149 | ]; 150 | }; 151 | 152 | return { enterZone, exitZone }; 153 | }; 154 | 155 | module.exports = { getZones }; 156 | -------------------------------------------------------------------------------- /test-harness.js: -------------------------------------------------------------------------------- 1 | /** 2 | * This script is used to run the e2e folder tests directly to get realtime 3 | * feedback. 4 | */ 5 | const runCLI = require('jest').runCLI; 6 | 7 | const [env = 'node'] = process.argv.slice(2); 8 | const projectmap = { 9 | node: './e2e/failing', 10 | jsdom: './e2e/failing-jsdom', 11 | passing: './e2e/passing', 12 | }; 13 | 14 | const options = { 15 | projects: [projectmap[env]], 16 | watch: true, 17 | }; 18 | 19 | const run = async () => { 20 | const tests = await runCLI(options, options.projects); 21 | 22 | if (!tests.results.numFailedTests) { 23 | console.error( 24 | `\nExpected all tests to fail, instead failed: ${ 25 | tests.results.numFailedTests 26 | }` 27 | ); 28 | process.exit(1); 29 | } 30 | }; 31 | 32 | run(); 33 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.14.5": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/compat-data@^7.14.5": 13 | version "7.14.7" 14 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" 15 | integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== 16 | 17 | "@babel/core@^7.1.0", "@babel/core@^7.7.2", "@babel/core@^7.7.5": 18 | version "7.14.6" 19 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.6.tgz#e0814ec1a950032ff16c13a2721de39a8416fcab" 20 | integrity sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== 21 | dependencies: 22 | "@babel/code-frame" "^7.14.5" 23 | "@babel/generator" "^7.14.5" 24 | "@babel/helper-compilation-targets" "^7.14.5" 25 | "@babel/helper-module-transforms" "^7.14.5" 26 | "@babel/helpers" "^7.14.6" 27 | "@babel/parser" "^7.14.6" 28 | "@babel/template" "^7.14.5" 29 | "@babel/traverse" "^7.14.5" 30 | "@babel/types" "^7.14.5" 31 | convert-source-map "^1.7.0" 32 | debug "^4.1.0" 33 | gensync "^1.0.0-beta.2" 34 | json5 "^2.1.2" 35 | semver "^6.3.0" 36 | source-map "^0.5.0" 37 | 38 | "@babel/generator@^7.14.5", "@babel/generator@^7.7.2": 39 | version "7.14.5" 40 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" 41 | integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== 42 | dependencies: 43 | "@babel/types" "^7.14.5" 44 | jsesc "^2.5.1" 45 | source-map "^0.5.0" 46 | 47 | "@babel/helper-compilation-targets@^7.14.5": 48 | version "7.14.5" 49 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" 50 | integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== 51 | dependencies: 52 | "@babel/compat-data" "^7.14.5" 53 | "@babel/helper-validator-option" "^7.14.5" 54 | browserslist "^4.16.6" 55 | semver "^6.3.0" 56 | 57 | "@babel/helper-function-name@^7.14.5": 58 | version "7.14.5" 59 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" 60 | integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== 61 | dependencies: 62 | "@babel/helper-get-function-arity" "^7.14.5" 63 | "@babel/template" "^7.14.5" 64 | "@babel/types" "^7.14.5" 65 | 66 | "@babel/helper-get-function-arity@^7.14.5": 67 | version "7.14.5" 68 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" 69 | integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== 70 | dependencies: 71 | "@babel/types" "^7.14.5" 72 | 73 | "@babel/helper-hoist-variables@^7.14.5": 74 | version "7.14.5" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" 76 | integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== 77 | dependencies: 78 | "@babel/types" "^7.14.5" 79 | 80 | "@babel/helper-member-expression-to-functions@^7.14.5": 81 | version "7.14.7" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" 83 | integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== 84 | dependencies: 85 | "@babel/types" "^7.14.5" 86 | 87 | "@babel/helper-module-imports@^7.14.5": 88 | version "7.14.5" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" 90 | integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== 91 | dependencies: 92 | "@babel/types" "^7.14.5" 93 | 94 | "@babel/helper-module-transforms@^7.14.5": 95 | version "7.14.5" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" 97 | integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== 98 | dependencies: 99 | "@babel/helper-module-imports" "^7.14.5" 100 | "@babel/helper-replace-supers" "^7.14.5" 101 | "@babel/helper-simple-access" "^7.14.5" 102 | "@babel/helper-split-export-declaration" "^7.14.5" 103 | "@babel/helper-validator-identifier" "^7.14.5" 104 | "@babel/template" "^7.14.5" 105 | "@babel/traverse" "^7.14.5" 106 | "@babel/types" "^7.14.5" 107 | 108 | "@babel/helper-optimise-call-expression@^7.14.5": 109 | version "7.14.5" 110 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" 111 | integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== 112 | dependencies: 113 | "@babel/types" "^7.14.5" 114 | 115 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": 116 | version "7.14.5" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 118 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 119 | 120 | "@babel/helper-replace-supers@^7.14.5": 121 | version "7.14.5" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" 123 | integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== 124 | dependencies: 125 | "@babel/helper-member-expression-to-functions" "^7.14.5" 126 | "@babel/helper-optimise-call-expression" "^7.14.5" 127 | "@babel/traverse" "^7.14.5" 128 | "@babel/types" "^7.14.5" 129 | 130 | "@babel/helper-simple-access@^7.14.5": 131 | version "7.14.5" 132 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" 133 | integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== 134 | dependencies: 135 | "@babel/types" "^7.14.5" 136 | 137 | "@babel/helper-split-export-declaration@^7.14.5": 138 | version "7.14.5" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" 140 | integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== 141 | dependencies: 142 | "@babel/types" "^7.14.5" 143 | 144 | "@babel/helper-validator-identifier@^7.14.5": 145 | version "7.14.5" 146 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" 147 | integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== 148 | 149 | "@babel/helper-validator-option@^7.14.5": 150 | version "7.14.5" 151 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 152 | integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 153 | 154 | "@babel/helpers@^7.14.6": 155 | version "7.14.6" 156 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.6.tgz#5b58306b95f1b47e2a0199434fa8658fa6c21635" 157 | integrity sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== 158 | dependencies: 159 | "@babel/template" "^7.14.5" 160 | "@babel/traverse" "^7.14.5" 161 | "@babel/types" "^7.14.5" 162 | 163 | "@babel/highlight@^7.14.5": 164 | version "7.14.5" 165 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 166 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 167 | dependencies: 168 | "@babel/helper-validator-identifier" "^7.14.5" 169 | chalk "^2.0.0" 170 | js-tokens "^4.0.0" 171 | 172 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.5", "@babel/parser@^7.14.6", "@babel/parser@^7.14.7", "@babel/parser@^7.7.2": 173 | version "7.14.7" 174 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.7.tgz#6099720c8839ca865a2637e6c85852ead0bdb595" 175 | integrity sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== 176 | 177 | "@babel/plugin-syntax-async-generators@^7.8.4": 178 | version "7.8.4" 179 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 180 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 181 | dependencies: 182 | "@babel/helper-plugin-utils" "^7.8.0" 183 | 184 | "@babel/plugin-syntax-bigint@^7.8.3": 185 | version "7.8.3" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 187 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.8.0" 190 | 191 | "@babel/plugin-syntax-class-properties@^7.8.3": 192 | version "7.12.13" 193 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 194 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.12.13" 197 | 198 | "@babel/plugin-syntax-import-meta@^7.8.3": 199 | version "7.10.4" 200 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 201 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 202 | dependencies: 203 | "@babel/helper-plugin-utils" "^7.10.4" 204 | 205 | "@babel/plugin-syntax-json-strings@^7.8.3": 206 | version "7.8.3" 207 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 208 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 209 | dependencies: 210 | "@babel/helper-plugin-utils" "^7.8.0" 211 | 212 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 213 | version "7.10.4" 214 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 215 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 216 | dependencies: 217 | "@babel/helper-plugin-utils" "^7.10.4" 218 | 219 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 220 | version "7.8.3" 221 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 222 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 223 | dependencies: 224 | "@babel/helper-plugin-utils" "^7.8.0" 225 | 226 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 227 | version "7.10.4" 228 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 229 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 230 | dependencies: 231 | "@babel/helper-plugin-utils" "^7.10.4" 232 | 233 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 234 | version "7.8.3" 235 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 236 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 237 | dependencies: 238 | "@babel/helper-plugin-utils" "^7.8.0" 239 | 240 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 241 | version "7.8.3" 242 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 243 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 244 | dependencies: 245 | "@babel/helper-plugin-utils" "^7.8.0" 246 | 247 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 248 | version "7.8.3" 249 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 250 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 251 | dependencies: 252 | "@babel/helper-plugin-utils" "^7.8.0" 253 | 254 | "@babel/plugin-syntax-top-level-await@^7.8.3": 255 | version "7.14.5" 256 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 257 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 258 | dependencies: 259 | "@babel/helper-plugin-utils" "^7.14.5" 260 | 261 | "@babel/plugin-syntax-typescript@^7.7.2": 262 | version "7.14.5" 263 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" 264 | integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== 265 | dependencies: 266 | "@babel/helper-plugin-utils" "^7.14.5" 267 | 268 | "@babel/template@^7.14.5", "@babel/template@^7.3.3": 269 | version "7.14.5" 270 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" 271 | integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== 272 | dependencies: 273 | "@babel/code-frame" "^7.14.5" 274 | "@babel/parser" "^7.14.5" 275 | "@babel/types" "^7.14.5" 276 | 277 | "@babel/traverse@^7.1.0", "@babel/traverse@^7.14.5", "@babel/traverse@^7.7.2": 278 | version "7.14.7" 279 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.7.tgz#64007c9774cfdc3abd23b0780bc18a3ce3631753" 280 | integrity sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== 281 | dependencies: 282 | "@babel/code-frame" "^7.14.5" 283 | "@babel/generator" "^7.14.5" 284 | "@babel/helper-function-name" "^7.14.5" 285 | "@babel/helper-hoist-variables" "^7.14.5" 286 | "@babel/helper-split-export-declaration" "^7.14.5" 287 | "@babel/parser" "^7.14.7" 288 | "@babel/types" "^7.14.5" 289 | debug "^4.1.0" 290 | globals "^11.1.0" 291 | 292 | "@babel/types@^7.0.0", "@babel/types@^7.14.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 293 | version "7.14.5" 294 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" 295 | integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== 296 | dependencies: 297 | "@babel/helper-validator-identifier" "^7.14.5" 298 | to-fast-properties "^2.0.0" 299 | 300 | "@bcoe/v8-coverage@^0.2.3": 301 | version "0.2.3" 302 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 303 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 304 | 305 | "@istanbuljs/load-nyc-config@^1.0.0": 306 | version "1.1.0" 307 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 308 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 309 | dependencies: 310 | camelcase "^5.3.1" 311 | find-up "^4.1.0" 312 | get-package-type "^0.1.0" 313 | js-yaml "^3.13.1" 314 | resolve-from "^5.0.0" 315 | 316 | "@istanbuljs/schema@^0.1.2": 317 | version "0.1.3" 318 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 319 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 320 | 321 | "@jest/console@^27.0.2": 322 | version "27.0.2" 323 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.0.2.tgz#b8eeff8f21ac51d224c851e1729d2630c18631e6" 324 | integrity sha512-/zYigssuHLImGeMAACkjI4VLAiiJznHgAl3xnFT19iWyct2LhrH3KXOjHRmxBGTkiPLZKKAJAgaPpiU9EZ9K+w== 325 | dependencies: 326 | "@jest/types" "^27.0.2" 327 | "@types/node" "*" 328 | chalk "^4.0.0" 329 | jest-message-util "^27.0.2" 330 | jest-util "^27.0.2" 331 | slash "^3.0.0" 332 | 333 | "@jest/core@^27.0.5": 334 | version "27.0.5" 335 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.0.5.tgz#59e9e69e7374d65dbb22e3fc1bd52e80991eae72" 336 | integrity sha512-g73//jF0VwsOIrWUC9Cqg03lU3QoAMFxVjsm6n6yNmwZcQPN/o8w+gLWODw5VfKNFZT38otXHWxc6b8eGDUpEA== 337 | dependencies: 338 | "@jest/console" "^27.0.2" 339 | "@jest/reporters" "^27.0.5" 340 | "@jest/test-result" "^27.0.2" 341 | "@jest/transform" "^27.0.5" 342 | "@jest/types" "^27.0.2" 343 | "@types/node" "*" 344 | ansi-escapes "^4.2.1" 345 | chalk "^4.0.0" 346 | emittery "^0.8.1" 347 | exit "^0.1.2" 348 | graceful-fs "^4.2.4" 349 | jest-changed-files "^27.0.2" 350 | jest-config "^27.0.5" 351 | jest-haste-map "^27.0.5" 352 | jest-message-util "^27.0.2" 353 | jest-regex-util "^27.0.1" 354 | jest-resolve "^27.0.5" 355 | jest-resolve-dependencies "^27.0.5" 356 | jest-runner "^27.0.5" 357 | jest-runtime "^27.0.5" 358 | jest-snapshot "^27.0.5" 359 | jest-util "^27.0.2" 360 | jest-validate "^27.0.2" 361 | jest-watcher "^27.0.2" 362 | micromatch "^4.0.4" 363 | p-each-series "^2.1.0" 364 | rimraf "^3.0.0" 365 | slash "^3.0.0" 366 | strip-ansi "^6.0.0" 367 | 368 | "@jest/environment@^27.0.5": 369 | version "27.0.5" 370 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.0.5.tgz#a294ad4acda2e250f789fb98dc667aad33d3adc9" 371 | integrity sha512-IAkJPOT7bqn0GiX5LPio6/e1YpcmLbrd8O5EFYpAOZ6V+9xJDsXjdgN2vgv9WOKIs/uA1kf5WeD96HhlBYO+FA== 372 | dependencies: 373 | "@jest/fake-timers" "^27.0.5" 374 | "@jest/types" "^27.0.2" 375 | "@types/node" "*" 376 | jest-mock "^27.0.3" 377 | 378 | "@jest/fake-timers@^27.0.5": 379 | version "27.0.5" 380 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.0.5.tgz#304d5aedadf4c75cff3696995460b39d6c6e72f6" 381 | integrity sha512-d6Tyf7iDoKqeUdwUKrOBV/GvEZRF67m7lpuWI0+SCD9D3aaejiOQZxAOxwH2EH/W18gnfYaBPLi0VeTGBHtQBg== 382 | dependencies: 383 | "@jest/types" "^27.0.2" 384 | "@sinonjs/fake-timers" "^7.0.2" 385 | "@types/node" "*" 386 | jest-message-util "^27.0.2" 387 | jest-mock "^27.0.3" 388 | jest-util "^27.0.2" 389 | 390 | "@jest/globals@^27.0.5": 391 | version "27.0.5" 392 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.0.5.tgz#f63b8bfa6ea3716f8df50f6a604b5c15b36ffd20" 393 | integrity sha512-qqKyjDXUaZwDuccpbMMKCCMBftvrbXzigtIsikAH/9ca+kaae8InP2MDf+Y/PdCSMuAsSpHS6q6M25irBBUh+Q== 394 | dependencies: 395 | "@jest/environment" "^27.0.5" 396 | "@jest/types" "^27.0.2" 397 | expect "^27.0.2" 398 | 399 | "@jest/reporters@^27.0.5": 400 | version "27.0.5" 401 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.0.5.tgz#cd730b77d9667b8ff700ad66d4edc293bb09716a" 402 | integrity sha512-4uNg5+0eIfRafnpgu3jCZws3NNcFzhu5JdRd1mKQ4/53+vkIqwB6vfZ4gn5BdGqOaLtYhlOsPaL5ATkKzyBrJw== 403 | dependencies: 404 | "@bcoe/v8-coverage" "^0.2.3" 405 | "@jest/console" "^27.0.2" 406 | "@jest/test-result" "^27.0.2" 407 | "@jest/transform" "^27.0.5" 408 | "@jest/types" "^27.0.2" 409 | chalk "^4.0.0" 410 | collect-v8-coverage "^1.0.0" 411 | exit "^0.1.2" 412 | glob "^7.1.2" 413 | graceful-fs "^4.2.4" 414 | istanbul-lib-coverage "^3.0.0" 415 | istanbul-lib-instrument "^4.0.3" 416 | istanbul-lib-report "^3.0.0" 417 | istanbul-lib-source-maps "^4.0.0" 418 | istanbul-reports "^3.0.2" 419 | jest-haste-map "^27.0.5" 420 | jest-resolve "^27.0.5" 421 | jest-util "^27.0.2" 422 | jest-worker "^27.0.2" 423 | slash "^3.0.0" 424 | source-map "^0.6.0" 425 | string-length "^4.0.1" 426 | terminal-link "^2.0.0" 427 | v8-to-istanbul "^8.0.0" 428 | 429 | "@jest/source-map@^27.0.1": 430 | version "27.0.1" 431 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.0.1.tgz#2afbf73ddbaddcb920a8e62d0238a0a9e0a8d3e4" 432 | integrity sha512-yMgkF0f+6WJtDMdDYNavmqvbHtiSpwRN2U/W+6uztgfqgkq/PXdKPqjBTUF1RD/feth4rH5N3NW0T5+wIuln1A== 433 | dependencies: 434 | callsites "^3.0.0" 435 | graceful-fs "^4.2.4" 436 | source-map "^0.6.0" 437 | 438 | "@jest/test-result@^27.0.2": 439 | version "27.0.2" 440 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.0.2.tgz#0451049e32ceb609b636004ccc27c8fa22263f10" 441 | integrity sha512-gcdWwL3yP5VaIadzwQtbZyZMgpmes8ryBAJp70tuxghiA8qL4imJyZex+i+USQH2H4jeLVVszhwntgdQ97fccA== 442 | dependencies: 443 | "@jest/console" "^27.0.2" 444 | "@jest/types" "^27.0.2" 445 | "@types/istanbul-lib-coverage" "^2.0.0" 446 | collect-v8-coverage "^1.0.0" 447 | 448 | "@jest/test-sequencer@^27.0.5": 449 | version "27.0.5" 450 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.0.5.tgz#c58b21db49afc36c0e3921d7ddf1fb7954abfded" 451 | integrity sha512-opztnGs+cXzZ5txFG2+omBaV5ge/0yuJNKbhE3DREMiXE0YxBuzyEa6pNv3kk2JuucIlH2Xvgmn9kEEHSNt/SA== 452 | dependencies: 453 | "@jest/test-result" "^27.0.2" 454 | graceful-fs "^4.2.4" 455 | jest-haste-map "^27.0.5" 456 | jest-runtime "^27.0.5" 457 | 458 | "@jest/transform@^27.0.5": 459 | version "27.0.5" 460 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.0.5.tgz#2dcb78953708af713941ac845b06078bc74ed873" 461 | integrity sha512-lBD6OwKXSc6JJECBNk4mVxtSVuJSBsQrJ9WCBisfJs7EZuYq4K6vM9HmoB7hmPiLIDGeyaerw3feBV/bC4z8tg== 462 | dependencies: 463 | "@babel/core" "^7.1.0" 464 | "@jest/types" "^27.0.2" 465 | babel-plugin-istanbul "^6.0.0" 466 | chalk "^4.0.0" 467 | convert-source-map "^1.4.0" 468 | fast-json-stable-stringify "^2.0.0" 469 | graceful-fs "^4.2.4" 470 | jest-haste-map "^27.0.5" 471 | jest-regex-util "^27.0.1" 472 | jest-util "^27.0.2" 473 | micromatch "^4.0.4" 474 | pirates "^4.0.1" 475 | slash "^3.0.0" 476 | source-map "^0.6.1" 477 | write-file-atomic "^3.0.0" 478 | 479 | "@jest/types@^27.0.2": 480 | version "27.0.2" 481 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.2.tgz#e153d6c46bda0f2589f0702b071f9898c7bbd37e" 482 | integrity sha512-XpjCtJ/99HB4PmyJ2vgmN7vT+JLP7RW1FBT9RgnMFS4Dt7cvIyBee8O3/j98aUZ34ZpenPZFqmaaObWSeL65dg== 483 | dependencies: 484 | "@types/istanbul-lib-coverage" "^2.0.0" 485 | "@types/istanbul-reports" "^3.0.0" 486 | "@types/node" "*" 487 | "@types/yargs" "^16.0.0" 488 | chalk "^4.0.0" 489 | 490 | "@sinonjs/commons@^1.7.0": 491 | version "1.8.3" 492 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" 493 | integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== 494 | dependencies: 495 | type-detect "4.0.8" 496 | 497 | "@sinonjs/fake-timers@^7.0.2": 498 | version "7.1.2" 499 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-7.1.2.tgz#2524eae70c4910edccf99b2f4e6efc5894aff7b5" 500 | integrity sha512-iQADsW4LBMISqZ6Ci1dupJL9pprqwcVFTcOsEmQOEhW+KLCVn/Y4Jrvg2k19fIHCp+iFprriYPTdRcQR8NbUPg== 501 | dependencies: 502 | "@sinonjs/commons" "^1.7.0" 503 | 504 | "@tootallnate/once@1": 505 | version "1.1.2" 506 | resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" 507 | integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== 508 | 509 | "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": 510 | version "7.1.14" 511 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" 512 | integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== 513 | dependencies: 514 | "@babel/parser" "^7.1.0" 515 | "@babel/types" "^7.0.0" 516 | "@types/babel__generator" "*" 517 | "@types/babel__template" "*" 518 | "@types/babel__traverse" "*" 519 | 520 | "@types/babel__generator@*": 521 | version "7.6.2" 522 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.2.tgz#f3d71178e187858f7c45e30380f8f1b7415a12d8" 523 | integrity sha512-MdSJnBjl+bdwkLskZ3NGFp9YcXGx5ggLpQQPqtgakVhsWK0hTtNYhjpZLlWQTviGTvF8at+Bvli3jV7faPdgeQ== 524 | dependencies: 525 | "@babel/types" "^7.0.0" 526 | 527 | "@types/babel__template@*": 528 | version "7.4.0" 529 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.0.tgz#0c888dd70b3ee9eebb6e4f200e809da0076262be" 530 | integrity sha512-NTPErx4/FiPCGScH7foPyr+/1Dkzkni+rHiYHHoTjvwou7AQzJkNeD60A9CXRy+ZEN2B1bggmkTMCDb+Mv5k+A== 531 | dependencies: 532 | "@babel/parser" "^7.1.0" 533 | "@babel/types" "^7.0.0" 534 | 535 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": 536 | version "7.11.1" 537 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" 538 | integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== 539 | dependencies: 540 | "@babel/types" "^7.3.0" 541 | 542 | "@types/graceful-fs@^4.1.2": 543 | version "4.1.5" 544 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 545 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 546 | dependencies: 547 | "@types/node" "*" 548 | 549 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 550 | version "2.0.3" 551 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" 552 | integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== 553 | 554 | "@types/istanbul-lib-report@*": 555 | version "3.0.0" 556 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 557 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 558 | dependencies: 559 | "@types/istanbul-lib-coverage" "*" 560 | 561 | "@types/istanbul-reports@^3.0.0": 562 | version "3.0.1" 563 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 564 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 565 | dependencies: 566 | "@types/istanbul-lib-report" "*" 567 | 568 | "@types/minimist@^1.2.1": 569 | version "1.2.1" 570 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.1.tgz#283f669ff76d7b8260df8ab7a4262cc83d988256" 571 | integrity sha512-fZQQafSREFyuZcdWFAExYjBiCL7AUCdgsk80iO0q4yihYYdcIiH28CcuPTGFgLOCC8RlW49GSQxdHwZP+I7CNg== 572 | 573 | "@types/node@*": 574 | version "15.12.4" 575 | resolved "https://registry.yarnpkg.com/@types/node/-/node-15.12.4.tgz#e1cf817d70a1e118e81922c4ff6683ce9d422e26" 576 | integrity sha512-zrNj1+yqYF4WskCMOHwN+w9iuD12+dGm0rQ35HLl9/Ouuq52cEtd0CH9qMgrdNmi5ejC1/V7vKEXYubB+65DkA== 577 | 578 | "@types/normalize-package-data@^2.4.0": 579 | version "2.4.0" 580 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" 581 | integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== 582 | 583 | "@types/prettier@^2.1.5": 584 | version "2.3.0" 585 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.0.tgz#2e8332cc7363f887d32ec5496b207d26ba8052bb" 586 | integrity sha512-hkc1DATxFLQo4VxPDpMH1gCkPpBbpOoJ/4nhuXw4n63/0R6bCpQECj4+K226UJ4JO/eJQz+1mC2I7JsWanAdQw== 587 | 588 | "@types/stack-utils@^2.0.0": 589 | version "2.0.0" 590 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" 591 | integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== 592 | 593 | "@types/yargs-parser@*": 594 | version "20.2.0" 595 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.0.tgz#dd3e6699ba3237f0348cd085e4698780204842f9" 596 | integrity sha512-37RSHht+gzzgYeobbG+KWryeAW8J33Nhr69cjTqSYymXVZEN9NbRYWoYlRtDhHKPVT1FyNKwaTPC1NynKZpzRA== 597 | 598 | "@types/yargs@^16.0.0": 599 | version "16.0.3" 600 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01" 601 | integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ== 602 | dependencies: 603 | "@types/yargs-parser" "*" 604 | 605 | abab@^2.0.3, abab@^2.0.5: 606 | version "2.0.5" 607 | resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" 608 | integrity sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q== 609 | 610 | acorn-globals@^6.0.0: 611 | version "6.0.0" 612 | resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" 613 | integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== 614 | dependencies: 615 | acorn "^7.1.1" 616 | acorn-walk "^7.1.1" 617 | 618 | acorn-walk@^7.1.1: 619 | version "7.2.0" 620 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" 621 | integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== 622 | 623 | acorn@^7.1.1: 624 | version "7.4.1" 625 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" 626 | integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== 627 | 628 | acorn@^8.2.4: 629 | version "8.4.1" 630 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" 631 | integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== 632 | 633 | agent-base@6: 634 | version "6.0.2" 635 | resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" 636 | integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== 637 | dependencies: 638 | debug "4" 639 | 640 | ansi-escapes@^4.2.1: 641 | version "4.3.2" 642 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 643 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 644 | dependencies: 645 | type-fest "^0.21.3" 646 | 647 | ansi-regex@^4.1.0: 648 | version "4.1.0" 649 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" 650 | integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== 651 | 652 | ansi-regex@^5.0.0: 653 | version "5.0.0" 654 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 655 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 656 | 657 | ansi-styles@^3.2.1: 658 | version "3.2.1" 659 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 660 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 661 | dependencies: 662 | color-convert "^1.9.0" 663 | 664 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 665 | version "4.3.0" 666 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 667 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 668 | dependencies: 669 | color-convert "^2.0.1" 670 | 671 | ansi-styles@^5.0.0: 672 | version "5.2.0" 673 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 674 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 675 | 676 | anymatch@^3.0.3: 677 | version "3.1.2" 678 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 679 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 680 | dependencies: 681 | normalize-path "^3.0.0" 682 | picomatch "^2.0.4" 683 | 684 | argparse@^1.0.7: 685 | version "1.0.10" 686 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 687 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 688 | dependencies: 689 | sprintf-js "~1.0.2" 690 | 691 | arrify@^1.0.1: 692 | version "1.0.1" 693 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 694 | integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= 695 | 696 | asynckit@^0.4.0: 697 | version "0.4.0" 698 | resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" 699 | integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= 700 | 701 | babel-jest@^27.0.5: 702 | version "27.0.5" 703 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.0.5.tgz#cd34c033ada05d1362211e5152391fd7a88080c8" 704 | integrity sha512-bTMAbpCX7ldtfbca2llYLeSFsDM257aspyAOpsdrdSrBqoLkWCy4HPYTXtXWaSLgFPjrJGACL65rzzr4RFGadw== 705 | dependencies: 706 | "@jest/transform" "^27.0.5" 707 | "@jest/types" "^27.0.2" 708 | "@types/babel__core" "^7.1.14" 709 | babel-plugin-istanbul "^6.0.0" 710 | babel-preset-jest "^27.0.1" 711 | chalk "^4.0.0" 712 | graceful-fs "^4.2.4" 713 | slash "^3.0.0" 714 | 715 | babel-plugin-istanbul@^6.0.0: 716 | version "6.0.0" 717 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" 718 | integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== 719 | dependencies: 720 | "@babel/helper-plugin-utils" "^7.0.0" 721 | "@istanbuljs/load-nyc-config" "^1.0.0" 722 | "@istanbuljs/schema" "^0.1.2" 723 | istanbul-lib-instrument "^4.0.0" 724 | test-exclude "^6.0.0" 725 | 726 | babel-plugin-jest-hoist@^27.0.1: 727 | version "27.0.1" 728 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.0.1.tgz#a6d10e484c93abff0f4e95f437dad26e5736ea11" 729 | integrity sha512-sqBF0owAcCDBVEDtxqfYr2F36eSHdx7lAVGyYuOBRnKdD6gzcy0I0XrAYCZgOA3CRrLhmR+Uae9nogPzmAtOfQ== 730 | dependencies: 731 | "@babel/template" "^7.3.3" 732 | "@babel/types" "^7.3.3" 733 | "@types/babel__core" "^7.0.0" 734 | "@types/babel__traverse" "^7.0.6" 735 | 736 | babel-preset-current-node-syntax@^1.0.0: 737 | version "1.0.1" 738 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 739 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 740 | dependencies: 741 | "@babel/plugin-syntax-async-generators" "^7.8.4" 742 | "@babel/plugin-syntax-bigint" "^7.8.3" 743 | "@babel/plugin-syntax-class-properties" "^7.8.3" 744 | "@babel/plugin-syntax-import-meta" "^7.8.3" 745 | "@babel/plugin-syntax-json-strings" "^7.8.3" 746 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 747 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 748 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 749 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 750 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 751 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 752 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 753 | 754 | babel-preset-jest@^27.0.1: 755 | version "27.0.1" 756 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.0.1.tgz#7a50c75d16647c23a2cf5158d5bb9eb206b10e20" 757 | integrity sha512-nIBIqCEpuiyhvjQs2mVNwTxQQa2xk70p9Dd/0obQGBf8FBzbnI8QhQKzLsWMN2i6q+5B0OcWDtrboBX5gmOLyA== 758 | dependencies: 759 | babel-plugin-jest-hoist "^27.0.1" 760 | babel-preset-current-node-syntax "^1.0.0" 761 | 762 | balanced-match@^1.0.0: 763 | version "1.0.2" 764 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 765 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 766 | 767 | brace-expansion@^1.1.7: 768 | version "1.1.11" 769 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 770 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 771 | dependencies: 772 | balanced-match "^1.0.0" 773 | concat-map "0.0.1" 774 | 775 | braces@^3.0.1: 776 | version "3.0.2" 777 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 778 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 779 | dependencies: 780 | fill-range "^7.0.1" 781 | 782 | browser-process-hrtime@^1.0.0: 783 | version "1.0.0" 784 | resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" 785 | integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== 786 | 787 | browserslist@^4.16.6: 788 | version "4.16.6" 789 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 790 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 791 | dependencies: 792 | caniuse-lite "^1.0.30001219" 793 | colorette "^1.2.2" 794 | electron-to-chromium "^1.3.723" 795 | escalade "^3.1.1" 796 | node-releases "^1.1.71" 797 | 798 | bser@2.1.1: 799 | version "2.1.1" 800 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 801 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 802 | dependencies: 803 | node-int64 "^0.4.0" 804 | 805 | buffer-from@^1.0.0: 806 | version "1.1.1" 807 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 808 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 809 | 810 | callsites@^3.0.0: 811 | version "3.1.0" 812 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 813 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 814 | 815 | camelcase-keys@^6.2.2: 816 | version "6.2.2" 817 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" 818 | integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== 819 | dependencies: 820 | camelcase "^5.3.1" 821 | map-obj "^4.0.0" 822 | quick-lru "^4.0.1" 823 | 824 | camelcase@^5.3.1: 825 | version "5.3.1" 826 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 827 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 828 | 829 | camelcase@^6.2.0: 830 | version "6.2.0" 831 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" 832 | integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== 833 | 834 | caniuse-lite@^1.0.30001219: 835 | version "1.0.30001239" 836 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001239.tgz#66e8669985bb2cb84ccb10f68c25ce6dd3e4d2b8" 837 | integrity sha512-cyBkXJDMeI4wthy8xJ2FvDU6+0dtcZSJW3voUF8+e9f1bBeuvyZfc3PNbkOETyhbR+dGCPzn9E7MA3iwzusOhQ== 838 | 839 | chalk@^2.0.0: 840 | version "2.4.2" 841 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 842 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 843 | dependencies: 844 | ansi-styles "^3.2.1" 845 | escape-string-regexp "^1.0.5" 846 | supports-color "^5.3.0" 847 | 848 | chalk@^4.0.0: 849 | version "4.1.1" 850 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" 851 | integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== 852 | dependencies: 853 | ansi-styles "^4.1.0" 854 | supports-color "^7.1.0" 855 | 856 | char-regex@^1.0.2: 857 | version "1.0.2" 858 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 859 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 860 | 861 | ci-info@^3.1.1: 862 | version "3.2.0" 863 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.2.0.tgz#2876cb948a498797b5236f0095bc057d0dca38b6" 864 | integrity sha512-dVqRX7fLUm8J6FgHJ418XuIgDLZDkYcDFTeL6TA2gt5WlIZUQrrH6EZrNClwT/H0FateUsZkGIOPRrLbP+PR9A== 865 | 866 | cjs-module-lexer@^1.0.0: 867 | version "1.2.1" 868 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.1.tgz#2fd46d9906a126965aa541345c499aaa18e8cd73" 869 | integrity sha512-jVamGdJPDeuQilKhvVn1h3knuMOZzr8QDnpk+M9aMlCaMkTDd6fBWPhiDqFvFZ07pL0liqabAiuy8SY4jGHeaw== 870 | 871 | cliui@^7.0.2: 872 | version "7.0.4" 873 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 874 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 875 | dependencies: 876 | string-width "^4.2.0" 877 | strip-ansi "^6.0.0" 878 | wrap-ansi "^7.0.0" 879 | 880 | co@^4.6.0: 881 | version "4.6.0" 882 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 883 | integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= 884 | 885 | collect-v8-coverage@^1.0.0: 886 | version "1.0.1" 887 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 888 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 889 | 890 | color-convert@^1.9.0: 891 | version "1.9.3" 892 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 893 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 894 | dependencies: 895 | color-name "1.1.3" 896 | 897 | color-convert@^2.0.1: 898 | version "2.0.1" 899 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 900 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 901 | dependencies: 902 | color-name "~1.1.4" 903 | 904 | color-name@1.1.3: 905 | version "1.1.3" 906 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 907 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 908 | 909 | color-name@~1.1.4: 910 | version "1.1.4" 911 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 912 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 913 | 914 | colorette@^1.2.2: 915 | version "1.2.2" 916 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 917 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 918 | 919 | combined-stream@^1.0.8: 920 | version "1.0.8" 921 | resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" 922 | integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== 923 | dependencies: 924 | delayed-stream "~1.0.0" 925 | 926 | concat-map@0.0.1: 927 | version "0.0.1" 928 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 929 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 930 | 931 | convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: 932 | version "1.8.0" 933 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 934 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 935 | dependencies: 936 | safe-buffer "~5.1.1" 937 | 938 | cross-spawn@^6.0.0: 939 | version "6.0.5" 940 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 941 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 942 | dependencies: 943 | nice-try "^1.0.4" 944 | path-key "^2.0.1" 945 | semver "^5.5.0" 946 | shebang-command "^1.2.0" 947 | which "^1.2.9" 948 | 949 | cross-spawn@^7.0.3: 950 | version "7.0.3" 951 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 952 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 953 | dependencies: 954 | path-key "^3.1.0" 955 | shebang-command "^2.0.0" 956 | which "^2.0.1" 957 | 958 | cssom@^0.4.4: 959 | version "0.4.4" 960 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" 961 | integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== 962 | 963 | cssom@~0.3.6: 964 | version "0.3.8" 965 | resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" 966 | integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== 967 | 968 | cssstyle@^2.3.0: 969 | version "2.3.0" 970 | resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" 971 | integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== 972 | dependencies: 973 | cssom "~0.3.6" 974 | 975 | data-urls@^2.0.0: 976 | version "2.0.0" 977 | resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" 978 | integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== 979 | dependencies: 980 | abab "^2.0.3" 981 | whatwg-mimetype "^2.3.0" 982 | whatwg-url "^8.0.0" 983 | 984 | debug@4, debug@^4.1.0, debug@^4.1.1: 985 | version "4.3.1" 986 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" 987 | integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== 988 | dependencies: 989 | ms "2.1.2" 990 | 991 | decamelize-keys@^1.1.0: 992 | version "1.1.0" 993 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 994 | integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= 995 | dependencies: 996 | decamelize "^1.1.0" 997 | map-obj "^1.0.0" 998 | 999 | decamelize@^1.1.0: 1000 | version "1.2.0" 1001 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 1002 | integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= 1003 | 1004 | decamelize@^5.0.0: 1005 | version "5.0.0" 1006 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-5.0.0.tgz#88358157b010ef133febfd27c18994bd80c6215b" 1007 | integrity sha512-U75DcT5hrio3KNtvdULAWnLiAPbFUC4191ldxMmj4FA/mRuBnmDwU0boNfPyFRhnan+Jm+haLeSn3P0afcBn4w== 1008 | 1009 | decimal.js@^10.2.1: 1010 | version "10.3.1" 1011 | resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" 1012 | integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== 1013 | 1014 | dedent@^0.7.0: 1015 | version "0.7.0" 1016 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1017 | integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= 1018 | 1019 | deep-is@~0.1.3: 1020 | version "0.1.3" 1021 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" 1022 | integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= 1023 | 1024 | deepmerge@^4.2.2: 1025 | version "4.2.2" 1026 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1027 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1028 | 1029 | delayed-stream@~1.0.0: 1030 | version "1.0.0" 1031 | resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" 1032 | integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= 1033 | 1034 | detect-newline@^3.0.0: 1035 | version "3.1.0" 1036 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1037 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1038 | 1039 | diff-sequences@^27.0.1: 1040 | version "27.0.1" 1041 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.1.tgz#9c9801d52ed5f576ff0a20e3022a13ee6e297e7c" 1042 | integrity sha512-XPLijkfJUh/PIBnfkcSHgvD6tlYixmcMAn3osTk6jt+H0v/mgURto1XUiD9DKuGX5NDoVS6dSlA23gd9FUaCFg== 1043 | 1044 | domexception@^2.0.1: 1045 | version "2.0.1" 1046 | resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" 1047 | integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== 1048 | dependencies: 1049 | webidl-conversions "^5.0.0" 1050 | 1051 | electron-to-chromium@^1.3.723: 1052 | version "1.3.758" 1053 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.758.tgz#0baeb8f0a89d1850cc65f92da5f669343e4f6241" 1054 | integrity sha512-StYtiDbgZdjcck3OLwsVVVif7QDuD5m5v2gF+XpETp5lHa7X0y3129YBlYaHRPyj1fep1oAaC6i//gAdp+rhbw== 1055 | 1056 | emittery@^0.8.1: 1057 | version "0.8.1" 1058 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" 1059 | integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== 1060 | 1061 | emoji-regex@^8.0.0: 1062 | version "8.0.0" 1063 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1064 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1065 | 1066 | end-of-stream@^1.1.0: 1067 | version "1.4.4" 1068 | resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" 1069 | integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== 1070 | dependencies: 1071 | once "^1.4.0" 1072 | 1073 | error-ex@^1.3.1: 1074 | version "1.3.2" 1075 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1076 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1077 | dependencies: 1078 | is-arrayish "^0.2.1" 1079 | 1080 | escalade@^3.1.1: 1081 | version "3.1.1" 1082 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1083 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1084 | 1085 | escape-string-regexp@^1.0.5: 1086 | version "1.0.5" 1087 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1088 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1089 | 1090 | escape-string-regexp@^2.0.0: 1091 | version "2.0.0" 1092 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1093 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1094 | 1095 | escodegen@^2.0.0: 1096 | version "2.0.0" 1097 | resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" 1098 | integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== 1099 | dependencies: 1100 | esprima "^4.0.1" 1101 | estraverse "^5.2.0" 1102 | esutils "^2.0.2" 1103 | optionator "^0.8.1" 1104 | optionalDependencies: 1105 | source-map "~0.6.1" 1106 | 1107 | esprima@^4.0.0, esprima@^4.0.1: 1108 | version "4.0.1" 1109 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1110 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1111 | 1112 | estraverse@^5.2.0: 1113 | version "5.2.0" 1114 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" 1115 | integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== 1116 | 1117 | esutils@^2.0.2: 1118 | version "2.0.3" 1119 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1120 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1121 | 1122 | execa@^1.0.0: 1123 | version "1.0.0" 1124 | resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" 1125 | integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== 1126 | dependencies: 1127 | cross-spawn "^6.0.0" 1128 | get-stream "^4.0.0" 1129 | is-stream "^1.1.0" 1130 | npm-run-path "^2.0.0" 1131 | p-finally "^1.0.0" 1132 | signal-exit "^3.0.0" 1133 | strip-eof "^1.0.0" 1134 | 1135 | execa@^5.0.0: 1136 | version "5.1.1" 1137 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1138 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1139 | dependencies: 1140 | cross-spawn "^7.0.3" 1141 | get-stream "^6.0.0" 1142 | human-signals "^2.1.0" 1143 | is-stream "^2.0.0" 1144 | merge-stream "^2.0.0" 1145 | npm-run-path "^4.0.1" 1146 | onetime "^5.1.2" 1147 | signal-exit "^3.0.3" 1148 | strip-final-newline "^2.0.0" 1149 | 1150 | exit@^0.1.2: 1151 | version "0.1.2" 1152 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1153 | integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= 1154 | 1155 | expect@^27.0.2: 1156 | version "27.0.2" 1157 | resolved "https://registry.yarnpkg.com/expect/-/expect-27.0.2.tgz#e66ca3a4c9592f1c019fa1d46459a9d2084f3422" 1158 | integrity sha512-YJFNJe2+P2DqH+ZrXy+ydRQYO87oxRUonZImpDodR1G7qo3NYd3pL+NQ9Keqpez3cehczYwZDBC3A7xk3n7M/w== 1159 | dependencies: 1160 | "@jest/types" "^27.0.2" 1161 | ansi-styles "^5.0.0" 1162 | jest-get-type "^27.0.1" 1163 | jest-matcher-utils "^27.0.2" 1164 | jest-message-util "^27.0.2" 1165 | jest-regex-util "^27.0.1" 1166 | 1167 | fast-json-stable-stringify@^2.0.0: 1168 | version "2.1.0" 1169 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1170 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1171 | 1172 | fast-levenshtein@~2.0.6: 1173 | version "2.0.6" 1174 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1175 | integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= 1176 | 1177 | fb-watchman@^2.0.0: 1178 | version "2.0.1" 1179 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1180 | integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== 1181 | dependencies: 1182 | bser "2.1.1" 1183 | 1184 | fill-range@^7.0.1: 1185 | version "7.0.1" 1186 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1187 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1188 | dependencies: 1189 | to-regex-range "^5.0.1" 1190 | 1191 | find-up@^4.0.0, find-up@^4.1.0: 1192 | version "4.1.0" 1193 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1194 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1195 | dependencies: 1196 | locate-path "^5.0.0" 1197 | path-exists "^4.0.0" 1198 | 1199 | find-up@^5.0.0: 1200 | version "5.0.0" 1201 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1202 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1203 | dependencies: 1204 | locate-path "^6.0.0" 1205 | path-exists "^4.0.0" 1206 | 1207 | form-data@^3.0.0: 1208 | version "3.0.1" 1209 | resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" 1210 | integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== 1211 | dependencies: 1212 | asynckit "^0.4.0" 1213 | combined-stream "^1.0.8" 1214 | mime-types "^2.1.12" 1215 | 1216 | fs.realpath@^1.0.0: 1217 | version "1.0.0" 1218 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1219 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1220 | 1221 | fsevents@^2.3.2: 1222 | version "2.3.2" 1223 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1224 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1225 | 1226 | function-bind@^1.1.1: 1227 | version "1.1.1" 1228 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1229 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1230 | 1231 | gensync@^1.0.0-beta.2: 1232 | version "1.0.0-beta.2" 1233 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1234 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1235 | 1236 | get-caller-file@^2.0.5: 1237 | version "2.0.5" 1238 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1239 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1240 | 1241 | get-package-type@^0.1.0: 1242 | version "0.1.0" 1243 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1244 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1245 | 1246 | get-stream@^4.0.0: 1247 | version "4.1.0" 1248 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" 1249 | integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== 1250 | dependencies: 1251 | pump "^3.0.0" 1252 | 1253 | get-stream@^6.0.0: 1254 | version "6.0.1" 1255 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1256 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1257 | 1258 | glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: 1259 | version "7.1.7" 1260 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1261 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1262 | dependencies: 1263 | fs.realpath "^1.0.0" 1264 | inflight "^1.0.4" 1265 | inherits "2" 1266 | minimatch "^3.0.4" 1267 | once "^1.3.0" 1268 | path-is-absolute "^1.0.0" 1269 | 1270 | globals@^11.1.0: 1271 | version "11.12.0" 1272 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1273 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1274 | 1275 | graceful-fs@^4.2.4: 1276 | version "4.2.6" 1277 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 1278 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 1279 | 1280 | hard-rejection@^2.1.0: 1281 | version "2.1.0" 1282 | resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" 1283 | integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== 1284 | 1285 | has-flag@^3.0.0: 1286 | version "3.0.0" 1287 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1288 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1289 | 1290 | has-flag@^4.0.0: 1291 | version "4.0.0" 1292 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1293 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1294 | 1295 | has@^1.0.3: 1296 | version "1.0.3" 1297 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1298 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1299 | dependencies: 1300 | function-bind "^1.1.1" 1301 | 1302 | hosted-git-info@^4.0.1: 1303 | version "4.0.2" 1304 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-4.0.2.tgz#5e425507eede4fea846b7262f0838456c4209961" 1305 | integrity sha512-c9OGXbZ3guC/xOlCg1Ci/VgWlwsqDv1yMQL1CWqXDL0hDjXuNcq0zuR4xqPSuasI3kqFDhqSyTjREz5gzq0fXg== 1306 | dependencies: 1307 | lru-cache "^6.0.0" 1308 | 1309 | html-encoding-sniffer@^2.0.1: 1310 | version "2.0.1" 1311 | resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" 1312 | integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== 1313 | dependencies: 1314 | whatwg-encoding "^1.0.5" 1315 | 1316 | html-escaper@^2.0.0: 1317 | version "2.0.2" 1318 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1319 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1320 | 1321 | http-proxy-agent@^4.0.1: 1322 | version "4.0.1" 1323 | resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" 1324 | integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== 1325 | dependencies: 1326 | "@tootallnate/once" "1" 1327 | agent-base "6" 1328 | debug "4" 1329 | 1330 | https-proxy-agent@^5.0.0: 1331 | version "5.0.0" 1332 | resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" 1333 | integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== 1334 | dependencies: 1335 | agent-base "6" 1336 | debug "4" 1337 | 1338 | human-signals@^2.1.0: 1339 | version "2.1.0" 1340 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1341 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1342 | 1343 | iconv-lite@0.4.24: 1344 | version "0.4.24" 1345 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 1346 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 1347 | dependencies: 1348 | safer-buffer ">= 2.1.2 < 3" 1349 | 1350 | import-local@^3.0.2: 1351 | version "3.0.2" 1352 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" 1353 | integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== 1354 | dependencies: 1355 | pkg-dir "^4.2.0" 1356 | resolve-cwd "^3.0.0" 1357 | 1358 | imurmurhash@^0.1.4: 1359 | version "0.1.4" 1360 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1361 | integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= 1362 | 1363 | indent-string@^5.0.0: 1364 | version "5.0.0" 1365 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-5.0.0.tgz#4fd2980fccaf8622d14c64d694f4cf33c81951a5" 1366 | integrity sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg== 1367 | 1368 | inflight@^1.0.4: 1369 | version "1.0.6" 1370 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1371 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1372 | dependencies: 1373 | once "^1.3.0" 1374 | wrappy "1" 1375 | 1376 | inherits@2: 1377 | version "2.0.4" 1378 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1379 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1380 | 1381 | is-arrayish@^0.2.1: 1382 | version "0.2.1" 1383 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1384 | integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= 1385 | 1386 | is-ci@^3.0.0: 1387 | version "3.0.0" 1388 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.0.tgz#c7e7be3c9d8eef7d0fa144390bd1e4b88dc4c994" 1389 | integrity sha512-kDXyttuLeslKAHYL/K28F2YkM3x5jvFPEw3yXbRptXydjD9rpLEz+C5K5iutY9ZiUu6AP41JdvRQwF4Iqs4ZCQ== 1390 | dependencies: 1391 | ci-info "^3.1.1" 1392 | 1393 | is-core-module@^2.2.0: 1394 | version "2.4.0" 1395 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" 1396 | integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== 1397 | dependencies: 1398 | has "^1.0.3" 1399 | 1400 | is-fullwidth-code-point@^3.0.0: 1401 | version "3.0.0" 1402 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1403 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1404 | 1405 | is-generator-fn@^2.0.0: 1406 | version "2.1.0" 1407 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1408 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1409 | 1410 | is-number@^7.0.0: 1411 | version "7.0.0" 1412 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1413 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1414 | 1415 | is-plain-obj@^1.1.0: 1416 | version "1.1.0" 1417 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1418 | integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= 1419 | 1420 | is-potential-custom-element-name@^1.0.1: 1421 | version "1.0.1" 1422 | resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" 1423 | integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== 1424 | 1425 | is-stream@^1.1.0: 1426 | version "1.1.0" 1427 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" 1428 | integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= 1429 | 1430 | is-stream@^2.0.0: 1431 | version "2.0.0" 1432 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" 1433 | integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== 1434 | 1435 | is-typedarray@^1.0.0: 1436 | version "1.0.0" 1437 | resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" 1438 | integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= 1439 | 1440 | isexe@^2.0.0: 1441 | version "2.0.0" 1442 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1443 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1444 | 1445 | istanbul-lib-coverage@^3.0.0: 1446 | version "3.0.0" 1447 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" 1448 | integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== 1449 | 1450 | istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: 1451 | version "4.0.3" 1452 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" 1453 | integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== 1454 | dependencies: 1455 | "@babel/core" "^7.7.5" 1456 | "@istanbuljs/schema" "^0.1.2" 1457 | istanbul-lib-coverage "^3.0.0" 1458 | semver "^6.3.0" 1459 | 1460 | istanbul-lib-report@^3.0.0: 1461 | version "3.0.0" 1462 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1463 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1464 | dependencies: 1465 | istanbul-lib-coverage "^3.0.0" 1466 | make-dir "^3.0.0" 1467 | supports-color "^7.1.0" 1468 | 1469 | istanbul-lib-source-maps@^4.0.0: 1470 | version "4.0.0" 1471 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" 1472 | integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== 1473 | dependencies: 1474 | debug "^4.1.1" 1475 | istanbul-lib-coverage "^3.0.0" 1476 | source-map "^0.6.1" 1477 | 1478 | istanbul-reports@^3.0.2: 1479 | version "3.0.2" 1480 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" 1481 | integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== 1482 | dependencies: 1483 | html-escaper "^2.0.0" 1484 | istanbul-lib-report "^3.0.0" 1485 | 1486 | jest-changed-files@^27.0.2: 1487 | version "27.0.2" 1488 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.0.2.tgz#997253042b4a032950fc5f56abf3c5d1f8560801" 1489 | integrity sha512-eMeb1Pn7w7x3wue5/vF73LPCJ7DKQuC9wQUR5ebP9hDPpk5hzcT/3Hmz3Q5BOFpR3tgbmaWhJcMTVgC8Z1NuMw== 1490 | dependencies: 1491 | "@jest/types" "^27.0.2" 1492 | execa "^5.0.0" 1493 | throat "^6.0.1" 1494 | 1495 | jest-circus@^27.0.5: 1496 | version "27.0.5" 1497 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.0.5.tgz#b5e327f1d6857c8485126f8e364aefa4378debaa" 1498 | integrity sha512-p5rO90o1RTh8LPOG6l0Fc9qgp5YGv+8M5CFixhMh7gGHtGSobD1AxX9cjFZujILgY8t30QZ7WVvxlnuG31r8TA== 1499 | dependencies: 1500 | "@jest/environment" "^27.0.5" 1501 | "@jest/test-result" "^27.0.2" 1502 | "@jest/types" "^27.0.2" 1503 | "@types/node" "*" 1504 | chalk "^4.0.0" 1505 | co "^4.6.0" 1506 | dedent "^0.7.0" 1507 | expect "^27.0.2" 1508 | is-generator-fn "^2.0.0" 1509 | jest-each "^27.0.2" 1510 | jest-matcher-utils "^27.0.2" 1511 | jest-message-util "^27.0.2" 1512 | jest-runtime "^27.0.5" 1513 | jest-snapshot "^27.0.5" 1514 | jest-util "^27.0.2" 1515 | pretty-format "^27.0.2" 1516 | slash "^3.0.0" 1517 | stack-utils "^2.0.3" 1518 | throat "^6.0.1" 1519 | 1520 | jest-cli@^27.0.5: 1521 | version "27.0.5" 1522 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.0.5.tgz#f359ba042624cffb96b713010a94bffb7498a37c" 1523 | integrity sha512-kZqY020QFOFQKVE2knFHirTBElw3/Q0kUbDc3nMfy/x+RQ7zUY89SUuzpHHJoSX1kX7Lq569ncvjNqU3Td/FCA== 1524 | dependencies: 1525 | "@jest/core" "^27.0.5" 1526 | "@jest/test-result" "^27.0.2" 1527 | "@jest/types" "^27.0.2" 1528 | chalk "^4.0.0" 1529 | exit "^0.1.2" 1530 | graceful-fs "^4.2.4" 1531 | import-local "^3.0.2" 1532 | jest-config "^27.0.5" 1533 | jest-util "^27.0.2" 1534 | jest-validate "^27.0.2" 1535 | prompts "^2.0.1" 1536 | yargs "^16.0.3" 1537 | 1538 | jest-config@^27.0.5: 1539 | version "27.0.5" 1540 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.0.5.tgz#683da3b0d8237675c29c817f6e3aba1481028e19" 1541 | integrity sha512-zCUIXag7QIXKEVN4kUKbDBDi9Q53dV5o3eNhGqe+5zAbt1vLs4VE3ceWaYrOub0L4Y7E9pGfM84TX/0ARcE+Qw== 1542 | dependencies: 1543 | "@babel/core" "^7.1.0" 1544 | "@jest/test-sequencer" "^27.0.5" 1545 | "@jest/types" "^27.0.2" 1546 | babel-jest "^27.0.5" 1547 | chalk "^4.0.0" 1548 | deepmerge "^4.2.2" 1549 | glob "^7.1.1" 1550 | graceful-fs "^4.2.4" 1551 | is-ci "^3.0.0" 1552 | jest-circus "^27.0.5" 1553 | jest-environment-jsdom "^27.0.5" 1554 | jest-environment-node "^27.0.5" 1555 | jest-get-type "^27.0.1" 1556 | jest-jasmine2 "^27.0.5" 1557 | jest-regex-util "^27.0.1" 1558 | jest-resolve "^27.0.5" 1559 | jest-runner "^27.0.5" 1560 | jest-util "^27.0.2" 1561 | jest-validate "^27.0.2" 1562 | micromatch "^4.0.4" 1563 | pretty-format "^27.0.2" 1564 | 1565 | jest-diff@^27.0.2: 1566 | version "27.0.2" 1567 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.2.tgz#f315b87cee5dc134cf42c2708ab27375cc3f5a7e" 1568 | integrity sha512-BFIdRb0LqfV1hBt8crQmw6gGQHVDhM87SpMIZ45FPYKReZYG5er1+5pIn2zKqvrJp6WNox0ylR8571Iwk2Dmgw== 1569 | dependencies: 1570 | chalk "^4.0.0" 1571 | diff-sequences "^27.0.1" 1572 | jest-get-type "^27.0.1" 1573 | pretty-format "^27.0.2" 1574 | 1575 | jest-docblock@^27.0.1: 1576 | version "27.0.1" 1577 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.0.1.tgz#bd9752819b49fa4fab1a50b73eb58c653b962e8b" 1578 | integrity sha512-TA4+21s3oebURc7VgFV4r7ltdIJ5rtBH1E3Tbovcg7AV+oLfD5DcJ2V2vJ5zFA9sL5CFd/d2D6IpsAeSheEdrA== 1579 | dependencies: 1580 | detect-newline "^3.0.0" 1581 | 1582 | jest-each@^27.0.2: 1583 | version "27.0.2" 1584 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.0.2.tgz#865ddb4367476ced752167926b656fa0dcecd8c7" 1585 | integrity sha512-OLMBZBZ6JkoXgUenDtseFRWA43wVl2BwmZYIWQws7eS7pqsIvePqj/jJmEnfq91ALk3LNphgwNK/PRFBYi7ITQ== 1586 | dependencies: 1587 | "@jest/types" "^27.0.2" 1588 | chalk "^4.0.0" 1589 | jest-get-type "^27.0.1" 1590 | jest-util "^27.0.2" 1591 | pretty-format "^27.0.2" 1592 | 1593 | jest-environment-jsdom@^27.0.5: 1594 | version "27.0.5" 1595 | resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.0.5.tgz#c36771977cf4490a9216a70473b39161d193c212" 1596 | integrity sha512-ToWhViIoTl5738oRaajTMgYhdQL73UWPoV4GqHGk2DPhs+olv8OLq5KoQW8Yf+HtRao52XLqPWvl46dPI88PdA== 1597 | dependencies: 1598 | "@jest/environment" "^27.0.5" 1599 | "@jest/fake-timers" "^27.0.5" 1600 | "@jest/types" "^27.0.2" 1601 | "@types/node" "*" 1602 | jest-mock "^27.0.3" 1603 | jest-util "^27.0.2" 1604 | jsdom "^16.6.0" 1605 | 1606 | jest-environment-node@^27.0.5: 1607 | version "27.0.5" 1608 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.0.5.tgz#b7238fc2b61ef2fb9563a3b7653a95fa009a6a54" 1609 | integrity sha512-47qqScV/WMVz5OKF5TWpAeQ1neZKqM3ySwNveEnLyd+yaE/KT6lSMx/0SOx60+ZUcVxPiESYS+Kt2JS9y4PpkQ== 1610 | dependencies: 1611 | "@jest/environment" "^27.0.5" 1612 | "@jest/fake-timers" "^27.0.5" 1613 | "@jest/types" "^27.0.2" 1614 | "@types/node" "*" 1615 | jest-mock "^27.0.3" 1616 | jest-util "^27.0.2" 1617 | 1618 | jest-get-type@^27.0.1: 1619 | version "27.0.1" 1620 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.1.tgz#34951e2b08c8801eb28559d7eb732b04bbcf7815" 1621 | integrity sha512-9Tggo9zZbu0sHKebiAijyt1NM77Z0uO4tuWOxUCujAiSeXv30Vb5D4xVF4UR4YWNapcftj+PbByU54lKD7/xMg== 1622 | 1623 | jest-haste-map@^27.0.5: 1624 | version "27.0.5" 1625 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.0.5.tgz#2e1e55073b5328410a2c0d74b334e513d71f3470" 1626 | integrity sha512-3LFryGSHxwPFHzKIs6W0BGA2xr6g1MvzSjR3h3D8K8Uqy4vbRm/grpGHzbPtIbOPLC6wFoViRrNEmd116QWSkw== 1627 | dependencies: 1628 | "@jest/types" "^27.0.2" 1629 | "@types/graceful-fs" "^4.1.2" 1630 | "@types/node" "*" 1631 | anymatch "^3.0.3" 1632 | fb-watchman "^2.0.0" 1633 | graceful-fs "^4.2.4" 1634 | jest-regex-util "^27.0.1" 1635 | jest-serializer "^27.0.1" 1636 | jest-util "^27.0.2" 1637 | jest-worker "^27.0.2" 1638 | micromatch "^4.0.4" 1639 | walker "^1.0.7" 1640 | optionalDependencies: 1641 | fsevents "^2.3.2" 1642 | 1643 | jest-jasmine2@^27.0.5: 1644 | version "27.0.5" 1645 | resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.0.5.tgz#8a6eb2a685cdec3af13881145c77553e4e197776" 1646 | integrity sha512-m3TojR19sFmTn79QoaGy1nOHBcLvtLso6Zh7u+gYxZWGcza4rRPVqwk1hciA5ZOWWZIJOukAcore8JRX992FaA== 1647 | dependencies: 1648 | "@babel/traverse" "^7.1.0" 1649 | "@jest/environment" "^27.0.5" 1650 | "@jest/source-map" "^27.0.1" 1651 | "@jest/test-result" "^27.0.2" 1652 | "@jest/types" "^27.0.2" 1653 | "@types/node" "*" 1654 | chalk "^4.0.0" 1655 | co "^4.6.0" 1656 | expect "^27.0.2" 1657 | is-generator-fn "^2.0.0" 1658 | jest-each "^27.0.2" 1659 | jest-matcher-utils "^27.0.2" 1660 | jest-message-util "^27.0.2" 1661 | jest-runtime "^27.0.5" 1662 | jest-snapshot "^27.0.5" 1663 | jest-util "^27.0.2" 1664 | pretty-format "^27.0.2" 1665 | throat "^6.0.1" 1666 | 1667 | jest-leak-detector@^27.0.2: 1668 | version "27.0.2" 1669 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.0.2.tgz#ce19aa9dbcf7a72a9d58907a970427506f624e69" 1670 | integrity sha512-TZA3DmCOfe8YZFIMD1GxFqXUkQnIoOGQyy4hFCA2mlHtnAaf+FeOMxi0fZmfB41ZL+QbFG6BVaZF5IeFIVy53Q== 1671 | dependencies: 1672 | jest-get-type "^27.0.1" 1673 | pretty-format "^27.0.2" 1674 | 1675 | jest-matcher-utils@^27.0.2: 1676 | version "27.0.2" 1677 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.0.2.tgz#f14c060605a95a466cdc759acc546c6f4cbfc4f0" 1678 | integrity sha512-Qczi5xnTNjkhcIB0Yy75Txt+Ez51xdhOxsukN7awzq2auZQGPHcQrJ623PZj0ECDEMOk2soxWx05EXdXGd1CbA== 1679 | dependencies: 1680 | chalk "^4.0.0" 1681 | jest-diff "^27.0.2" 1682 | jest-get-type "^27.0.1" 1683 | pretty-format "^27.0.2" 1684 | 1685 | jest-message-util@^27.0.2: 1686 | version "27.0.2" 1687 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.0.2.tgz#181c9b67dff504d8f4ad15cba10d8b80f272048c" 1688 | integrity sha512-rTqWUX42ec2LdMkoUPOzrEd1Tcm+R1KfLOmFK+OVNo4MnLsEaxO5zPDb2BbdSmthdM/IfXxOZU60P/WbWF8BTw== 1689 | dependencies: 1690 | "@babel/code-frame" "^7.12.13" 1691 | "@jest/types" "^27.0.2" 1692 | "@types/stack-utils" "^2.0.0" 1693 | chalk "^4.0.0" 1694 | graceful-fs "^4.2.4" 1695 | micromatch "^4.0.4" 1696 | pretty-format "^27.0.2" 1697 | slash "^3.0.0" 1698 | stack-utils "^2.0.3" 1699 | 1700 | jest-mock@^27.0.3: 1701 | version "27.0.3" 1702 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.0.3.tgz#5591844f9192b3335c0dca38e8e45ed297d4d23d" 1703 | integrity sha512-O5FZn5XDzEp+Xg28mUz4ovVcdwBBPfAhW9+zJLO0Efn2qNbYcDaJvSlRiQ6BCZUCVOJjALicuJQI9mRFjv1o9Q== 1704 | dependencies: 1705 | "@jest/types" "^27.0.2" 1706 | "@types/node" "*" 1707 | 1708 | jest-pnp-resolver@^1.2.2: 1709 | version "1.2.2" 1710 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 1711 | integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 1712 | 1713 | jest-regex-util@^27.0.1: 1714 | version "27.0.1" 1715 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.0.1.tgz#69d4b1bf5b690faa3490113c47486ed85dd45b68" 1716 | integrity sha512-6nY6QVcpTgEKQy1L41P4pr3aOddneK17kn3HJw6SdwGiKfgCGTvH02hVXL0GU8GEKtPH83eD2DIDgxHXOxVohQ== 1717 | 1718 | jest-resolve-dependencies@^27.0.5: 1719 | version "27.0.5" 1720 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.0.5.tgz#819ccdddd909c65acddb063aac3a49e4ba1ed569" 1721 | integrity sha512-xUj2dPoEEd59P+nuih4XwNa4nJ/zRd/g4rMvjHrZPEBWeWRq/aJnnM6mug+B+Nx+ILXGtfWHzQvh7TqNV/WbuA== 1722 | dependencies: 1723 | "@jest/types" "^27.0.2" 1724 | jest-regex-util "^27.0.1" 1725 | jest-snapshot "^27.0.5" 1726 | 1727 | jest-resolve@^27.0.5: 1728 | version "27.0.5" 1729 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.0.5.tgz#937535a5b481ad58e7121eaea46d1424a1e0c507" 1730 | integrity sha512-Md65pngRh8cRuWVdWznXBB5eDt391OJpdBaJMxfjfuXCvOhM3qQBtLMCMTykhuUKiBMmy5BhqCW7AVOKmPrW+Q== 1731 | dependencies: 1732 | "@jest/types" "^27.0.2" 1733 | chalk "^4.0.0" 1734 | escalade "^3.1.1" 1735 | graceful-fs "^4.2.4" 1736 | jest-pnp-resolver "^1.2.2" 1737 | jest-util "^27.0.2" 1738 | jest-validate "^27.0.2" 1739 | resolve "^1.20.0" 1740 | slash "^3.0.0" 1741 | 1742 | jest-runner@^27.0.5: 1743 | version "27.0.5" 1744 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.0.5.tgz#b6fdc587e1a5056339205914294555c554efc08a" 1745 | integrity sha512-HNhOtrhfKPArcECgBTcWOc+8OSL8GoFoa7RsHGnfZR1C1dFohxy9eLtpYBS+koybAHlJLZzNCx2Y/Ic3iEtJpQ== 1746 | dependencies: 1747 | "@jest/console" "^27.0.2" 1748 | "@jest/environment" "^27.0.5" 1749 | "@jest/test-result" "^27.0.2" 1750 | "@jest/transform" "^27.0.5" 1751 | "@jest/types" "^27.0.2" 1752 | "@types/node" "*" 1753 | chalk "^4.0.0" 1754 | emittery "^0.8.1" 1755 | exit "^0.1.2" 1756 | graceful-fs "^4.2.4" 1757 | jest-docblock "^27.0.1" 1758 | jest-environment-jsdom "^27.0.5" 1759 | jest-environment-node "^27.0.5" 1760 | jest-haste-map "^27.0.5" 1761 | jest-leak-detector "^27.0.2" 1762 | jest-message-util "^27.0.2" 1763 | jest-resolve "^27.0.5" 1764 | jest-runtime "^27.0.5" 1765 | jest-util "^27.0.2" 1766 | jest-worker "^27.0.2" 1767 | source-map-support "^0.5.6" 1768 | throat "^6.0.1" 1769 | 1770 | jest-runtime@^27.0.5: 1771 | version "27.0.5" 1772 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.0.5.tgz#cd5d1aa9754d30ddf9f13038b3cb7b95b46f552d" 1773 | integrity sha512-V/w/+VasowPESbmhXn5AsBGPfb35T7jZPGZybYTHxZdP7Gwaa+A0EXE6rx30DshHKA98lVCODbCO8KZpEW3hiQ== 1774 | dependencies: 1775 | "@jest/console" "^27.0.2" 1776 | "@jest/environment" "^27.0.5" 1777 | "@jest/fake-timers" "^27.0.5" 1778 | "@jest/globals" "^27.0.5" 1779 | "@jest/source-map" "^27.0.1" 1780 | "@jest/test-result" "^27.0.2" 1781 | "@jest/transform" "^27.0.5" 1782 | "@jest/types" "^27.0.2" 1783 | "@types/yargs" "^16.0.0" 1784 | chalk "^4.0.0" 1785 | cjs-module-lexer "^1.0.0" 1786 | collect-v8-coverage "^1.0.0" 1787 | exit "^0.1.2" 1788 | glob "^7.1.3" 1789 | graceful-fs "^4.2.4" 1790 | jest-haste-map "^27.0.5" 1791 | jest-message-util "^27.0.2" 1792 | jest-mock "^27.0.3" 1793 | jest-regex-util "^27.0.1" 1794 | jest-resolve "^27.0.5" 1795 | jest-snapshot "^27.0.5" 1796 | jest-util "^27.0.2" 1797 | jest-validate "^27.0.2" 1798 | slash "^3.0.0" 1799 | strip-bom "^4.0.0" 1800 | yargs "^16.0.3" 1801 | 1802 | jest-serializer@^27.0.1: 1803 | version "27.0.1" 1804 | resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.0.1.tgz#2464d04dcc33fb71dc80b7c82e3c5e8a08cb1020" 1805 | integrity sha512-svy//5IH6bfQvAbkAEg1s7xhhgHTtXu0li0I2fdKHDsLP2P2MOiscPQIENQep8oU2g2B3jqLyxKKzotZOz4CwQ== 1806 | dependencies: 1807 | "@types/node" "*" 1808 | graceful-fs "^4.2.4" 1809 | 1810 | jest-snapshot@^27.0.5: 1811 | version "27.0.5" 1812 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.0.5.tgz#6e3b9e8e193685372baff771ba34af631fe4d4d5" 1813 | integrity sha512-H1yFYdgnL1vXvDqMrnDStH6yHFdMEuzYQYc71SnC/IJnuuhW6J16w8GWG1P+qGd3Ag3sQHjbRr0TcwEo/vGS+g== 1814 | dependencies: 1815 | "@babel/core" "^7.7.2" 1816 | "@babel/generator" "^7.7.2" 1817 | "@babel/parser" "^7.7.2" 1818 | "@babel/plugin-syntax-typescript" "^7.7.2" 1819 | "@babel/traverse" "^7.7.2" 1820 | "@babel/types" "^7.0.0" 1821 | "@jest/transform" "^27.0.5" 1822 | "@jest/types" "^27.0.2" 1823 | "@types/babel__traverse" "^7.0.4" 1824 | "@types/prettier" "^2.1.5" 1825 | babel-preset-current-node-syntax "^1.0.0" 1826 | chalk "^4.0.0" 1827 | expect "^27.0.2" 1828 | graceful-fs "^4.2.4" 1829 | jest-diff "^27.0.2" 1830 | jest-get-type "^27.0.1" 1831 | jest-haste-map "^27.0.5" 1832 | jest-matcher-utils "^27.0.2" 1833 | jest-message-util "^27.0.2" 1834 | jest-resolve "^27.0.5" 1835 | jest-util "^27.0.2" 1836 | natural-compare "^1.4.0" 1837 | pretty-format "^27.0.2" 1838 | semver "^7.3.2" 1839 | 1840 | jest-util@^27.0.2: 1841 | version "27.0.2" 1842 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.0.2.tgz#fc2c7ace3c75ae561cf1e5fdb643bf685a5be7c7" 1843 | integrity sha512-1d9uH3a00OFGGWSibpNYr+jojZ6AckOMCXV2Z4K3YXDnzpkAaXQyIpY14FOJPiUmil7CD+A6Qs+lnnh6ctRbIA== 1844 | dependencies: 1845 | "@jest/types" "^27.0.2" 1846 | "@types/node" "*" 1847 | chalk "^4.0.0" 1848 | graceful-fs "^4.2.4" 1849 | is-ci "^3.0.0" 1850 | picomatch "^2.2.3" 1851 | 1852 | jest-validate@^27.0.2: 1853 | version "27.0.2" 1854 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.0.2.tgz#7fe2c100089449cd5cbb47a5b0b6cb7cda5beee5" 1855 | integrity sha512-UgBF6/oVu1ofd1XbaSotXKihi8nZhg0Prm8twQ9uCuAfo59vlxCXMPI/RKmrZEVgi3Nd9dS0I8A0wzWU48pOvg== 1856 | dependencies: 1857 | "@jest/types" "^27.0.2" 1858 | camelcase "^6.2.0" 1859 | chalk "^4.0.0" 1860 | jest-get-type "^27.0.1" 1861 | leven "^3.1.0" 1862 | pretty-format "^27.0.2" 1863 | 1864 | jest-watcher@^27.0.2: 1865 | version "27.0.2" 1866 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.0.2.tgz#dab5f9443e2d7f52597186480731a8c6335c5deb" 1867 | integrity sha512-8nuf0PGuTxWj/Ytfw5fyvNn/R80iXY8QhIT0ofyImUvdnoaBdT6kob0GmhXR+wO+ALYVnh8bQxN4Tjfez0JgkA== 1868 | dependencies: 1869 | "@jest/test-result" "^27.0.2" 1870 | "@jest/types" "^27.0.2" 1871 | "@types/node" "*" 1872 | ansi-escapes "^4.2.1" 1873 | chalk "^4.0.0" 1874 | jest-util "^27.0.2" 1875 | string-length "^4.0.1" 1876 | 1877 | jest-worker@^27.0.2: 1878 | version "27.0.2" 1879 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.2.tgz#4ebeb56cef48b3e7514552f80d0d80c0129f0b05" 1880 | integrity sha512-EoBdilOTTyOgmHXtw/cPc+ZrCA0KJMrkXzkrPGNwLmnvvlN1nj7MPrxpT7m+otSv2e1TLaVffzDnE/LB14zJMg== 1881 | dependencies: 1882 | "@types/node" "*" 1883 | merge-stream "^2.0.0" 1884 | supports-color "^8.0.0" 1885 | 1886 | jest@^27.0.5: 1887 | version "27.0.5" 1888 | resolved "https://registry.yarnpkg.com/jest/-/jest-27.0.5.tgz#141825e105514a834cc8d6e44670509e8d74c5f2" 1889 | integrity sha512-4NlVMS29gE+JOZvgmSAsz3eOjkSsHqjTajlIsah/4MVSmKvf3zFP/TvgcLoWe2UVHiE9KF741sReqhF0p4mqbQ== 1890 | dependencies: 1891 | "@jest/core" "^27.0.5" 1892 | import-local "^3.0.2" 1893 | jest-cli "^27.0.5" 1894 | 1895 | js-tokens@^4.0.0: 1896 | version "4.0.0" 1897 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1898 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1899 | 1900 | js-yaml@^3.13.1: 1901 | version "3.14.1" 1902 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1903 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1904 | dependencies: 1905 | argparse "^1.0.7" 1906 | esprima "^4.0.0" 1907 | 1908 | jsdom@^16.6.0: 1909 | version "16.6.0" 1910 | resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac" 1911 | integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg== 1912 | dependencies: 1913 | abab "^2.0.5" 1914 | acorn "^8.2.4" 1915 | acorn-globals "^6.0.0" 1916 | cssom "^0.4.4" 1917 | cssstyle "^2.3.0" 1918 | data-urls "^2.0.0" 1919 | decimal.js "^10.2.1" 1920 | domexception "^2.0.1" 1921 | escodegen "^2.0.0" 1922 | form-data "^3.0.0" 1923 | html-encoding-sniffer "^2.0.1" 1924 | http-proxy-agent "^4.0.1" 1925 | https-proxy-agent "^5.0.0" 1926 | is-potential-custom-element-name "^1.0.1" 1927 | nwsapi "^2.2.0" 1928 | parse5 "6.0.1" 1929 | saxes "^5.0.1" 1930 | symbol-tree "^3.2.4" 1931 | tough-cookie "^4.0.0" 1932 | w3c-hr-time "^1.0.2" 1933 | w3c-xmlserializer "^2.0.0" 1934 | webidl-conversions "^6.1.0" 1935 | whatwg-encoding "^1.0.5" 1936 | whatwg-mimetype "^2.3.0" 1937 | whatwg-url "^8.5.0" 1938 | ws "^7.4.5" 1939 | xml-name-validator "^3.0.0" 1940 | 1941 | jsesc@^2.5.1: 1942 | version "2.5.2" 1943 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1944 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1945 | 1946 | json-parse-even-better-errors@^2.3.0: 1947 | version "2.3.1" 1948 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1949 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1950 | 1951 | json5@^2.1.2: 1952 | version "2.2.0" 1953 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" 1954 | integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== 1955 | dependencies: 1956 | minimist "^1.2.5" 1957 | 1958 | kind-of@^6.0.3: 1959 | version "6.0.3" 1960 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1961 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1962 | 1963 | kleur@^3.0.3: 1964 | version "3.0.3" 1965 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 1966 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 1967 | 1968 | leven@^3.1.0: 1969 | version "3.1.0" 1970 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 1971 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1972 | 1973 | levn@~0.3.0: 1974 | version "0.3.0" 1975 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" 1976 | integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= 1977 | dependencies: 1978 | prelude-ls "~1.1.2" 1979 | type-check "~0.3.2" 1980 | 1981 | lines-and-columns@^1.1.6: 1982 | version "1.1.6" 1983 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" 1984 | integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= 1985 | 1986 | locate-path@^5.0.0: 1987 | version "5.0.0" 1988 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1989 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1990 | dependencies: 1991 | p-locate "^4.1.0" 1992 | 1993 | locate-path@^6.0.0: 1994 | version "6.0.0" 1995 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 1996 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 1997 | dependencies: 1998 | p-locate "^5.0.0" 1999 | 2000 | lodash@^4.7.0: 2001 | version "4.17.21" 2002 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2003 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2004 | 2005 | lru-cache@^6.0.0: 2006 | version "6.0.0" 2007 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2008 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2009 | dependencies: 2010 | yallist "^4.0.0" 2011 | 2012 | make-dir@^3.0.0: 2013 | version "3.1.0" 2014 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 2015 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 2016 | dependencies: 2017 | semver "^6.0.0" 2018 | 2019 | makeerror@1.0.x: 2020 | version "1.0.11" 2021 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" 2022 | integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= 2023 | dependencies: 2024 | tmpl "1.0.x" 2025 | 2026 | map-obj@^1.0.0: 2027 | version "1.0.1" 2028 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 2029 | integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= 2030 | 2031 | map-obj@^4.0.0: 2032 | version "4.2.1" 2033 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.2.1.tgz#e4ea399dbc979ae735c83c863dd31bdf364277b7" 2034 | integrity sha512-+WA2/1sPmDj1dlvvJmB5G6JKfY9dpn7EVBUL06+y6PoljPkh+6V1QihwxNkbcGxCRjt2b0F9K0taiCuo7MbdFQ== 2035 | 2036 | meow@^10.0.1: 2037 | version "10.0.1" 2038 | resolved "https://registry.yarnpkg.com/meow/-/meow-10.0.1.tgz#3252e728f4d8603ecae3a5b6460aaae4aea44ae0" 2039 | integrity sha512-65vCCdUI8wS5upK24fDFo25FcViNExdTGAR/vaWN4E6fXsWQ8fGdbkjCWp3nDTuJMlIYuEoAEMiB2/b81DBJjg== 2040 | dependencies: 2041 | "@types/minimist" "^1.2.1" 2042 | camelcase-keys "^6.2.2" 2043 | decamelize "^5.0.0" 2044 | decamelize-keys "^1.1.0" 2045 | hard-rejection "^2.1.0" 2046 | minimist-options "4.1.0" 2047 | normalize-package-data "^3.0.2" 2048 | read-pkg-up "^8.0.0" 2049 | redent "^4.0.0" 2050 | trim-newlines "^4.0.1" 2051 | type-fest "^1.0.2" 2052 | yargs-parser "^20.2.7" 2053 | 2054 | merge-stream@^2.0.0: 2055 | version "2.0.0" 2056 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2057 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2058 | 2059 | micromatch@^4.0.4: 2060 | version "4.0.4" 2061 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" 2062 | integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== 2063 | dependencies: 2064 | braces "^3.0.1" 2065 | picomatch "^2.2.3" 2066 | 2067 | mime-db@1.48.0: 2068 | version "1.48.0" 2069 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" 2070 | integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== 2071 | 2072 | mime-types@^2.1.12: 2073 | version "2.1.31" 2074 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" 2075 | integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== 2076 | dependencies: 2077 | mime-db "1.48.0" 2078 | 2079 | mimic-fn@^2.1.0: 2080 | version "2.1.0" 2081 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2082 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2083 | 2084 | min-indent@^1.0.1: 2085 | version "1.0.1" 2086 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 2087 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 2088 | 2089 | minimatch@^3.0.4: 2090 | version "3.0.4" 2091 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 2092 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 2093 | dependencies: 2094 | brace-expansion "^1.1.7" 2095 | 2096 | minimist-options@4.1.0: 2097 | version "4.1.0" 2098 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" 2099 | integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== 2100 | dependencies: 2101 | arrify "^1.0.1" 2102 | is-plain-obj "^1.1.0" 2103 | kind-of "^6.0.3" 2104 | 2105 | minimist@^1.2.5: 2106 | version "1.2.5" 2107 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 2108 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 2109 | 2110 | ms@2.1.2: 2111 | version "2.1.2" 2112 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2113 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2114 | 2115 | natural-compare@^1.4.0: 2116 | version "1.4.0" 2117 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2118 | integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= 2119 | 2120 | nice-try@^1.0.4: 2121 | version "1.0.5" 2122 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 2123 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 2124 | 2125 | node-int64@^0.4.0: 2126 | version "0.4.0" 2127 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 2128 | integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= 2129 | 2130 | node-modules-regexp@^1.0.0: 2131 | version "1.0.0" 2132 | resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" 2133 | integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= 2134 | 2135 | node-releases@^1.1.71: 2136 | version "1.1.73" 2137 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" 2138 | integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== 2139 | 2140 | normalize-package-data@^3.0.2: 2141 | version "3.0.2" 2142 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" 2143 | integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== 2144 | dependencies: 2145 | hosted-git-info "^4.0.1" 2146 | resolve "^1.20.0" 2147 | semver "^7.3.4" 2148 | validate-npm-package-license "^3.0.1" 2149 | 2150 | normalize-path@^3.0.0: 2151 | version "3.0.0" 2152 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 2153 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 2154 | 2155 | npm-run-path@^2.0.0: 2156 | version "2.0.2" 2157 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" 2158 | integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= 2159 | dependencies: 2160 | path-key "^2.0.0" 2161 | 2162 | npm-run-path@^4.0.1: 2163 | version "4.0.1" 2164 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 2165 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 2166 | dependencies: 2167 | path-key "^3.0.0" 2168 | 2169 | nwsapi@^2.2.0: 2170 | version "2.2.0" 2171 | resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" 2172 | integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== 2173 | 2174 | once@^1.3.0, once@^1.3.1, once@^1.4.0: 2175 | version "1.4.0" 2176 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2177 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 2178 | dependencies: 2179 | wrappy "1" 2180 | 2181 | onetime@^5.1.2: 2182 | version "5.1.2" 2183 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2184 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2185 | dependencies: 2186 | mimic-fn "^2.1.0" 2187 | 2188 | optionator@^0.8.1: 2189 | version "0.8.3" 2190 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" 2191 | integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== 2192 | dependencies: 2193 | deep-is "~0.1.3" 2194 | fast-levenshtein "~2.0.6" 2195 | levn "~0.3.0" 2196 | prelude-ls "~1.1.2" 2197 | type-check "~0.3.2" 2198 | word-wrap "~1.2.3" 2199 | 2200 | p-each-series@^2.1.0: 2201 | version "2.2.0" 2202 | resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.2.0.tgz#105ab0357ce72b202a8a8b94933672657b5e2a9a" 2203 | integrity sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA== 2204 | 2205 | p-finally@^1.0.0: 2206 | version "1.0.0" 2207 | resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" 2208 | integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= 2209 | 2210 | p-limit@^2.2.0: 2211 | version "2.3.0" 2212 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2213 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2214 | dependencies: 2215 | p-try "^2.0.0" 2216 | 2217 | p-limit@^3.0.2: 2218 | version "3.1.0" 2219 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2220 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2221 | dependencies: 2222 | yocto-queue "^0.1.0" 2223 | 2224 | p-locate@^4.1.0: 2225 | version "4.1.0" 2226 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2227 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2228 | dependencies: 2229 | p-limit "^2.2.0" 2230 | 2231 | p-locate@^5.0.0: 2232 | version "5.0.0" 2233 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2234 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2235 | dependencies: 2236 | p-limit "^3.0.2" 2237 | 2238 | p-try@^2.0.0: 2239 | version "2.2.0" 2240 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2241 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2242 | 2243 | parse-json@^5.2.0: 2244 | version "5.2.0" 2245 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2246 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2247 | dependencies: 2248 | "@babel/code-frame" "^7.0.0" 2249 | error-ex "^1.3.1" 2250 | json-parse-even-better-errors "^2.3.0" 2251 | lines-and-columns "^1.1.6" 2252 | 2253 | parse5@6.0.1: 2254 | version "6.0.1" 2255 | resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" 2256 | integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== 2257 | 2258 | path-exists@^4.0.0: 2259 | version "4.0.0" 2260 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2261 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2262 | 2263 | path-is-absolute@^1.0.0: 2264 | version "1.0.1" 2265 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2266 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 2267 | 2268 | path-key@^2.0.0, path-key@^2.0.1: 2269 | version "2.0.1" 2270 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 2271 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 2272 | 2273 | path-key@^3.0.0, path-key@^3.1.0: 2274 | version "3.1.1" 2275 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2276 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2277 | 2278 | path-parse@^1.0.6: 2279 | version "1.0.7" 2280 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2281 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2282 | 2283 | picomatch@^2.0.4, picomatch@^2.2.3: 2284 | version "2.3.0" 2285 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 2286 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 2287 | 2288 | pirates@^4.0.1: 2289 | version "4.0.1" 2290 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" 2291 | integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== 2292 | dependencies: 2293 | node-modules-regexp "^1.0.0" 2294 | 2295 | pkg-dir@^4.2.0: 2296 | version "4.2.0" 2297 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2298 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2299 | dependencies: 2300 | find-up "^4.0.0" 2301 | 2302 | prelude-ls@~1.1.2: 2303 | version "1.1.2" 2304 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" 2305 | integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= 2306 | 2307 | prettier@^1.16.4: 2308 | version "1.19.1" 2309 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" 2310 | integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== 2311 | 2312 | pretty-format@^27.0.2: 2313 | version "27.0.2" 2314 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.2.tgz#9283ff8c4f581b186b2d4da461617143dca478a4" 2315 | integrity sha512-mXKbbBPnYTG7Yra9qFBtqj+IXcsvxsvOBco3QHxtxTl+hHKq6QdzMZ+q0CtL4ORHZgwGImRr2XZUX2EWzORxig== 2316 | dependencies: 2317 | "@jest/types" "^27.0.2" 2318 | ansi-regex "^5.0.0" 2319 | ansi-styles "^5.0.0" 2320 | react-is "^17.0.1" 2321 | 2322 | prompts@^2.0.1: 2323 | version "2.4.1" 2324 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.1.tgz#befd3b1195ba052f9fd2fde8a486c4e82ee77f61" 2325 | integrity sha512-EQyfIuO2hPDsX1L/blblV+H7I0knhgAd82cVneCwcdND9B8AuCDuRcBH6yIcG4dFzlOUqbazQqwGjx5xmsNLuQ== 2326 | dependencies: 2327 | kleur "^3.0.3" 2328 | sisteransi "^1.0.5" 2329 | 2330 | psl@^1.1.33: 2331 | version "1.8.0" 2332 | resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" 2333 | integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== 2334 | 2335 | pump@^3.0.0: 2336 | version "3.0.0" 2337 | resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" 2338 | integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== 2339 | dependencies: 2340 | end-of-stream "^1.1.0" 2341 | once "^1.3.1" 2342 | 2343 | punycode@^2.1.1: 2344 | version "2.1.1" 2345 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 2346 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 2347 | 2348 | quick-lru@^4.0.1: 2349 | version "4.0.1" 2350 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" 2351 | integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== 2352 | 2353 | react-is@^17.0.1: 2354 | version "17.0.2" 2355 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 2356 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== 2357 | 2358 | read-pkg-up@^8.0.0: 2359 | version "8.0.0" 2360 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-8.0.0.tgz#72f595b65e66110f43b052dd9af4de6b10534670" 2361 | integrity sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ== 2362 | dependencies: 2363 | find-up "^5.0.0" 2364 | read-pkg "^6.0.0" 2365 | type-fest "^1.0.1" 2366 | 2367 | read-pkg@^6.0.0: 2368 | version "6.0.0" 2369 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-6.0.0.tgz#a67a7d6a1c2b0c3cd6aa2ea521f40c458a4a504c" 2370 | integrity sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q== 2371 | dependencies: 2372 | "@types/normalize-package-data" "^2.4.0" 2373 | normalize-package-data "^3.0.2" 2374 | parse-json "^5.2.0" 2375 | type-fest "^1.0.1" 2376 | 2377 | redent@^4.0.0: 2378 | version "4.0.0" 2379 | resolved "https://registry.yarnpkg.com/redent/-/redent-4.0.0.tgz#0c0ba7caabb24257ab3bb7a4fd95dd1d5c5681f9" 2380 | integrity sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag== 2381 | dependencies: 2382 | indent-string "^5.0.0" 2383 | strip-indent "^4.0.0" 2384 | 2385 | require-directory@^2.1.1: 2386 | version "2.1.1" 2387 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2388 | integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= 2389 | 2390 | resolve-cwd@^3.0.0: 2391 | version "3.0.0" 2392 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2393 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2394 | dependencies: 2395 | resolve-from "^5.0.0" 2396 | 2397 | resolve-from@^5.0.0: 2398 | version "5.0.0" 2399 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2400 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2401 | 2402 | resolve@^1.20.0: 2403 | version "1.20.0" 2404 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" 2405 | integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== 2406 | dependencies: 2407 | is-core-module "^2.2.0" 2408 | path-parse "^1.0.6" 2409 | 2410 | rimraf@^3.0.0: 2411 | version "3.0.2" 2412 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2413 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2414 | dependencies: 2415 | glob "^7.1.3" 2416 | 2417 | safe-buffer@~5.1.1: 2418 | version "5.1.2" 2419 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2420 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2421 | 2422 | "safer-buffer@>= 2.1.2 < 3": 2423 | version "2.1.2" 2424 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 2425 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 2426 | 2427 | saxes@^5.0.1: 2428 | version "5.0.1" 2429 | resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" 2430 | integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== 2431 | dependencies: 2432 | xmlchars "^2.2.0" 2433 | 2434 | semver@^5.5.0: 2435 | version "5.7.1" 2436 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 2437 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 2438 | 2439 | semver@^6.0.0, semver@^6.3.0: 2440 | version "6.3.0" 2441 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2442 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2443 | 2444 | semver@^7.3.2, semver@^7.3.4: 2445 | version "7.3.5" 2446 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" 2447 | integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== 2448 | dependencies: 2449 | lru-cache "^6.0.0" 2450 | 2451 | shebang-command@^1.2.0: 2452 | version "1.2.0" 2453 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 2454 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 2455 | dependencies: 2456 | shebang-regex "^1.0.0" 2457 | 2458 | shebang-command@^2.0.0: 2459 | version "2.0.0" 2460 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2461 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2462 | dependencies: 2463 | shebang-regex "^3.0.0" 2464 | 2465 | shebang-regex@^1.0.0: 2466 | version "1.0.0" 2467 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 2468 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 2469 | 2470 | shebang-regex@^3.0.0: 2471 | version "3.0.0" 2472 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2473 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2474 | 2475 | signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: 2476 | version "3.0.3" 2477 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" 2478 | integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== 2479 | 2480 | sisteransi@^1.0.5: 2481 | version "1.0.5" 2482 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2483 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2484 | 2485 | slash@^3.0.0: 2486 | version "3.0.0" 2487 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2488 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2489 | 2490 | source-map-support@^0.5.6: 2491 | version "0.5.19" 2492 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 2493 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 2494 | dependencies: 2495 | buffer-from "^1.0.0" 2496 | source-map "^0.6.0" 2497 | 2498 | source-map@^0.5.0: 2499 | version "0.5.7" 2500 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 2501 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 2502 | 2503 | source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: 2504 | version "0.6.1" 2505 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2506 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2507 | 2508 | source-map@^0.7.3: 2509 | version "0.7.3" 2510 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 2511 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 2512 | 2513 | spdx-correct@^3.0.0: 2514 | version "3.1.1" 2515 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 2516 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 2517 | dependencies: 2518 | spdx-expression-parse "^3.0.0" 2519 | spdx-license-ids "^3.0.0" 2520 | 2521 | spdx-exceptions@^2.1.0: 2522 | version "2.3.0" 2523 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 2524 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 2525 | 2526 | spdx-expression-parse@^3.0.0: 2527 | version "3.0.1" 2528 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 2529 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 2530 | dependencies: 2531 | spdx-exceptions "^2.1.0" 2532 | spdx-license-ids "^3.0.0" 2533 | 2534 | spdx-license-ids@^3.0.0: 2535 | version "3.0.9" 2536 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.9.tgz#8a595135def9592bda69709474f1cbeea7c2467f" 2537 | integrity sha512-Ki212dKK4ogX+xDo4CtOZBVIwhsKBEfsEEcwmJfLQzirgc2jIWdzg40Unxz/HzEUqM1WFzVlQSMF9kZZ2HboLQ== 2538 | 2539 | sprintf-js@~1.0.2: 2540 | version "1.0.3" 2541 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2542 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 2543 | 2544 | stack-utils@^1.0.2: 2545 | version "1.0.5" 2546 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" 2547 | integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== 2548 | dependencies: 2549 | escape-string-regexp "^2.0.0" 2550 | 2551 | stack-utils@^2.0.3: 2552 | version "2.0.3" 2553 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" 2554 | integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== 2555 | dependencies: 2556 | escape-string-regexp "^2.0.0" 2557 | 2558 | string-length@^4.0.1: 2559 | version "4.0.2" 2560 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" 2561 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 2562 | dependencies: 2563 | char-regex "^1.0.2" 2564 | strip-ansi "^6.0.0" 2565 | 2566 | string-width@^4.1.0, string-width@^4.2.0: 2567 | version "4.2.2" 2568 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" 2569 | integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== 2570 | dependencies: 2571 | emoji-regex "^8.0.0" 2572 | is-fullwidth-code-point "^3.0.0" 2573 | strip-ansi "^6.0.0" 2574 | 2575 | strip-ansi@^5.2.0: 2576 | version "5.2.0" 2577 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" 2578 | integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== 2579 | dependencies: 2580 | ansi-regex "^4.1.0" 2581 | 2582 | strip-ansi@^6.0.0: 2583 | version "6.0.0" 2584 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 2585 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 2586 | dependencies: 2587 | ansi-regex "^5.0.0" 2588 | 2589 | strip-bom@^4.0.0: 2590 | version "4.0.0" 2591 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2592 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2593 | 2594 | strip-eof@^1.0.0: 2595 | version "1.0.0" 2596 | resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" 2597 | integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= 2598 | 2599 | strip-final-newline@^2.0.0: 2600 | version "2.0.0" 2601 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2602 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2603 | 2604 | strip-indent@^4.0.0: 2605 | version "4.0.0" 2606 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-4.0.0.tgz#b41379433dd06f5eae805e21d631e07ee670d853" 2607 | integrity sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA== 2608 | dependencies: 2609 | min-indent "^1.0.1" 2610 | 2611 | supports-color@^5.3.0: 2612 | version "5.5.0" 2613 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2614 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2615 | dependencies: 2616 | has-flag "^3.0.0" 2617 | 2618 | supports-color@^7.0.0, supports-color@^7.1.0: 2619 | version "7.2.0" 2620 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2621 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2622 | dependencies: 2623 | has-flag "^4.0.0" 2624 | 2625 | supports-color@^8.0.0: 2626 | version "8.1.1" 2627 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2628 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2629 | dependencies: 2630 | has-flag "^4.0.0" 2631 | 2632 | supports-hyperlinks@^2.0.0: 2633 | version "2.2.0" 2634 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" 2635 | integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== 2636 | dependencies: 2637 | has-flag "^4.0.0" 2638 | supports-color "^7.0.0" 2639 | 2640 | symbol-tree@^3.2.4: 2641 | version "3.2.4" 2642 | resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" 2643 | integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== 2644 | 2645 | terminal-link@^2.0.0: 2646 | version "2.1.1" 2647 | resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" 2648 | integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== 2649 | dependencies: 2650 | ansi-escapes "^4.2.1" 2651 | supports-hyperlinks "^2.0.0" 2652 | 2653 | test-exclude@^6.0.0: 2654 | version "6.0.0" 2655 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2656 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2657 | dependencies: 2658 | "@istanbuljs/schema" "^0.1.2" 2659 | glob "^7.1.4" 2660 | minimatch "^3.0.4" 2661 | 2662 | throat@^6.0.1: 2663 | version "6.0.1" 2664 | resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" 2665 | integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== 2666 | 2667 | tmpl@1.0.x: 2668 | version "1.0.5" 2669 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2670 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2671 | 2672 | to-fast-properties@^2.0.0: 2673 | version "2.0.0" 2674 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2675 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2676 | 2677 | to-regex-range@^5.0.1: 2678 | version "5.0.1" 2679 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2680 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2681 | dependencies: 2682 | is-number "^7.0.0" 2683 | 2684 | tough-cookie@^4.0.0: 2685 | version "4.0.0" 2686 | resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.0.0.tgz#d822234eeca882f991f0f908824ad2622ddbece4" 2687 | integrity sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg== 2688 | dependencies: 2689 | psl "^1.1.33" 2690 | punycode "^2.1.1" 2691 | universalify "^0.1.2" 2692 | 2693 | tr46@^2.1.0: 2694 | version "2.1.0" 2695 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" 2696 | integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== 2697 | dependencies: 2698 | punycode "^2.1.1" 2699 | 2700 | trim-newlines@^4.0.1: 2701 | version "4.0.2" 2702 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-4.0.2.tgz#d6aaaf6a0df1b4b536d183879a6b939489808c7c" 2703 | integrity sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew== 2704 | 2705 | type-check@~0.3.2: 2706 | version "0.3.2" 2707 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" 2708 | integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= 2709 | dependencies: 2710 | prelude-ls "~1.1.2" 2711 | 2712 | type-detect@4.0.8: 2713 | version "4.0.8" 2714 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2715 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2716 | 2717 | type-fest@^0.21.3: 2718 | version "0.21.3" 2719 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 2720 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2721 | 2722 | type-fest@^1.0.1, type-fest@^1.0.2: 2723 | version "1.2.1" 2724 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.2.1.tgz#232990aa513f3f5223abf54363975dfe3a121a2e" 2725 | integrity sha512-SbmIRuXhJs8KTneu77Ecylt9zuqL683tuiLYpTRil4H++eIhqCmx6ko6KAFem9dty8sOdnEiX7j4K1nRE628fQ== 2726 | 2727 | typedarray-to-buffer@^3.1.5: 2728 | version "3.1.5" 2729 | resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" 2730 | integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== 2731 | dependencies: 2732 | is-typedarray "^1.0.0" 2733 | 2734 | universalify@^0.1.2: 2735 | version "0.1.2" 2736 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 2737 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 2738 | 2739 | v8-to-istanbul@^8.0.0: 2740 | version "8.0.0" 2741 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.0.0.tgz#4229f2a99e367f3f018fa1d5c2b8ec684667c69c" 2742 | integrity sha512-LkmXi8UUNxnCC+JlH7/fsfsKr5AU110l+SYGJimWNkWhxbN5EyeOtm1MJ0hhvqMMOhGwBj1Fp70Yv9i+hX0QAg== 2743 | dependencies: 2744 | "@types/istanbul-lib-coverage" "^2.0.1" 2745 | convert-source-map "^1.6.0" 2746 | source-map "^0.7.3" 2747 | 2748 | validate-npm-package-license@^3.0.1: 2749 | version "3.0.4" 2750 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 2751 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 2752 | dependencies: 2753 | spdx-correct "^3.0.0" 2754 | spdx-expression-parse "^3.0.0" 2755 | 2756 | w3c-hr-time@^1.0.2: 2757 | version "1.0.2" 2758 | resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" 2759 | integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== 2760 | dependencies: 2761 | browser-process-hrtime "^1.0.0" 2762 | 2763 | w3c-xmlserializer@^2.0.0: 2764 | version "2.0.0" 2765 | resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" 2766 | integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== 2767 | dependencies: 2768 | xml-name-validator "^3.0.0" 2769 | 2770 | wait-for-expect@^3.0.1: 2771 | version "3.0.2" 2772 | resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.2.tgz#d2f14b2f7b778c9b82144109c8fa89ceaadaa463" 2773 | integrity sha512-cfS1+DZxuav1aBYbaO/kE06EOS8yRw7qOFoD3XtjTkYvCvh3zUvNST8DXK/nPaeqIzIv3P3kL3lRJn8iwOiSag== 2774 | 2775 | walker@^1.0.7: 2776 | version "1.0.7" 2777 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" 2778 | integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= 2779 | dependencies: 2780 | makeerror "1.0.x" 2781 | 2782 | webidl-conversions@^5.0.0: 2783 | version "5.0.0" 2784 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" 2785 | integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== 2786 | 2787 | webidl-conversions@^6.1.0: 2788 | version "6.1.0" 2789 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" 2790 | integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== 2791 | 2792 | whatwg-encoding@^1.0.5: 2793 | version "1.0.5" 2794 | resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" 2795 | integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== 2796 | dependencies: 2797 | iconv-lite "0.4.24" 2798 | 2799 | whatwg-mimetype@^2.3.0: 2800 | version "2.3.0" 2801 | resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" 2802 | integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== 2803 | 2804 | whatwg-url@^8.0.0, whatwg-url@^8.5.0: 2805 | version "8.6.0" 2806 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c" 2807 | integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw== 2808 | dependencies: 2809 | lodash "^4.7.0" 2810 | tr46 "^2.1.0" 2811 | webidl-conversions "^6.1.0" 2812 | 2813 | which@^1.2.9: 2814 | version "1.3.1" 2815 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2816 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 2817 | dependencies: 2818 | isexe "^2.0.0" 2819 | 2820 | which@^2.0.1: 2821 | version "2.0.2" 2822 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2823 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2824 | dependencies: 2825 | isexe "^2.0.0" 2826 | 2827 | word-wrap@~1.2.3: 2828 | version "1.2.3" 2829 | resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" 2830 | integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== 2831 | 2832 | wrap-ansi@^7.0.0: 2833 | version "7.0.0" 2834 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2835 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2836 | dependencies: 2837 | ansi-styles "^4.0.0" 2838 | string-width "^4.1.0" 2839 | strip-ansi "^6.0.0" 2840 | 2841 | wrappy@1: 2842 | version "1.0.2" 2843 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2844 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2845 | 2846 | write-file-atomic@^3.0.0: 2847 | version "3.0.3" 2848 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" 2849 | integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== 2850 | dependencies: 2851 | imurmurhash "^0.1.4" 2852 | is-typedarray "^1.0.0" 2853 | signal-exit "^3.0.2" 2854 | typedarray-to-buffer "^3.1.5" 2855 | 2856 | ws@^7.4.5: 2857 | version "7.5.0" 2858 | resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.0.tgz#0033bafea031fb9df041b2026fc72a571ca44691" 2859 | integrity sha512-6ezXvzOZupqKj4jUqbQ9tXuJNo+BR2gU8fFRk3XCP3e0G6WT414u5ELe6Y0vtp7kmSJ3F7YWObSNr1ESsgi4vw== 2860 | 2861 | xml-name-validator@^3.0.0: 2862 | version "3.0.0" 2863 | resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" 2864 | integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== 2865 | 2866 | xmlchars@^2.2.0: 2867 | version "2.2.0" 2868 | resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" 2869 | integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== 2870 | 2871 | y18n@^5.0.5: 2872 | version "5.0.8" 2873 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2874 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2875 | 2876 | yallist@^4.0.0: 2877 | version "4.0.0" 2878 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2879 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2880 | 2881 | yargs-parser@^20.2.2, yargs-parser@^20.2.7: 2882 | version "20.2.9" 2883 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 2884 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 2885 | 2886 | yargs@^16.0.3: 2887 | version "16.2.0" 2888 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 2889 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 2890 | dependencies: 2891 | cliui "^7.0.2" 2892 | escalade "^3.1.1" 2893 | get-caller-file "^2.0.5" 2894 | require-directory "^2.1.1" 2895 | string-width "^4.2.0" 2896 | y18n "^5.0.5" 2897 | yargs-parser "^20.2.2" 2898 | 2899 | yocto-queue@^0.1.0: 2900 | version "0.1.0" 2901 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 2902 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 2903 | 2904 | zone.js@^0.9.0: 2905 | version "0.9.1" 2906 | resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.9.1.tgz#e37c6e5c54c13fae4de26b5ffe8d8e9212da6d9b" 2907 | integrity sha512-GkPiJL8jifSrKReKaTZ5jkhrMEgXbXYC+IPo1iquBjayRa0q86w3Dipjn8b415jpitMExe9lV8iTsv8tk3DGag== 2908 | --------------------------------------------------------------------------------