├── .gitignore ├── .travis.yml ├── README.md ├── lib ├── index.js ├── index.js.map └── index.mjs ├── package.json ├── test ├── example-failing-tests.js ├── example-internals.js ├── example-passing-tests.js ├── example.png └── example2.png ├── webpack.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - "stable" 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | [![Greenkeeper badge](https://badges.greenkeeper.io/pihvi/assert-diff.svg)](https://travis-ci.org/pihvi/assert-diff) [![Known Vulnerabilities](https://snyk.io/test/npm/assert-diff/badge.svg)](https://snyk.io/test/npm/assert-diff) 2 | 3 | Drop-in replacement for assert to give colored diff on command-line with deepEqual. 4 | 5 | This exists to give better diff on error when comparing objects or arrays with Mocha. 6 | 7 | Should work on *nix shells. 8 | 9 | Also has more asserts from https://npmjs.org/package/assert-plus 10 | 11 | ## Usage ## 12 | 13 | ```javascript 14 | var assert = require('assert-diff') 15 | 16 | it('diff deep equal with message', function() { 17 | assert.deepEqual({pow: "boom", same: true, foo: 2}, {same: true, bar: 2, pow: "bang"}, "this should fail") 18 | }) 19 | ``` 20 | Should give you: 21 | 22 | ![](https://raw.github.com/pihvi/assert-diff/master/test/example.png) 23 | 24 | ## Strict mode ## 25 | By default everything works as with Node's deepEqual. Using strict mode is probably what you want. At least is for me. 26 | The following example will pass with Node's deepEqual but will fail using strict mode: 27 | ```javascript 28 | var assert = require('assert-diff') 29 | assert.options.strict = true 30 | 31 | it('strict diff deep equal', function() { 32 | assert.deepEqual({a: 1, b: 2}, {a: true, b: "2"}, "this should fail") 33 | }) 34 | ``` 35 | Should give you: 36 | 37 | ![](https://raw.github.com/pihvi/assert-diff/master/test/example2.png) 38 | 39 | ## Release notes ## 40 | 41 | ### 3.0.4 April 2, 2023 ### 42 | - Upgrade json-diff 43 | 44 | ### 3.0.3 April 2, 2023 ### 45 | - Upgrade deps 46 | 47 | ### 3.0.2 April 17, 2020 ### 48 | - Upgrade deps 49 | 50 | ### 3.0.1 April 17, 2020 ### 51 | - Fix async https://github.com/pihvi/assert-diff/pull/26 52 | - Upgrade deps 53 | - Thanks @fent! 54 | 55 | ### 3.0.0 March 5, 2020 ### 56 | - Support async https://github.com/pihvi/assert-diff/pull/23 57 | - Upgrade deps 58 | - Thanks @fent! 59 | 60 | ### 2.0.3 July 30, 2018 ### 61 | - Switch to webpack to enable assert(true) style 62 | 63 | ### 2.0.2 July 30, 2018 ### 64 | - Fix usage with assert(true) style 65 | 66 | ### 2.0.1 July 30, 2018 ### 67 | - Fix v. 2.0.0 by adding the built index.js 68 | 69 | ### 2.0.0 July 30, 2018 ### 70 | - Migrate to ES Modules https://github.com/pihvi/assert-diff/pull/17 71 | - Upgrade deps 72 | - Thanks @59naga! 73 | 74 | ### 1.2.6 Apr 14, 2018 ### 75 | - Add security build and badges 76 | - Upgrade deps 77 | 78 | ### 1.2.4 Oct 3, 2017 ### 79 | - Upgrade deps 80 | 81 | ### 1.2.3 Sep 10, 2017 ### 82 | - Upgrade json-diff to 0.5.2 83 | 84 | ### 1.2.2 Aug 20, 2017 ### 85 | - Upgrade json-diff to 0.5.1 86 | 87 | ### 1.2.1 Aug 15, 2017 ### 88 | - Add npm lock file 89 | 90 | ### 1.2.0 Mar 11, 2017 ### 91 | - Support Node 7 92 | - Diff shown when loggin error object 93 | - Supports diff in assert.deepStrictEqual 94 | 95 | ### 1.1.1 Mar 11, 2017 ### 96 | - fix console log example to support Node 7 97 | 98 | ### 1.1.0 Aug 19, 2016 ### 99 | - Upgrade assert-plus 0.1.5 -> 1.0.0 100 | 101 | ### 1.0.1 Feb 18, 2015 ### 102 | - Default behaviour back to non strict to be drop-in replacement for Node assert 103 | 104 | ### 1.0.0 Feb 18, 2015 ### 105 | - Support assert in constructor e.g. assert(true) 106 | 107 | ### 0.0.x before 2015 ### 108 | - Initial implementation 109 | 110 | ## License ## 111 | Apache 2.0 112 | -------------------------------------------------------------------------------- /lib/index.js: -------------------------------------------------------------------------------- 1 | (function webpackUniversalModuleDefinition(root, factory) { 2 | if(typeof exports === 'object' && typeof module === 'object') 3 | module.exports = factory(); 4 | else if(typeof define === 'function' && define.amd) 5 | define([], factory); 6 | else { 7 | var a = factory(); 8 | for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; 9 | } 10 | })(global, function() { 11 | return /******/ (function(modules) { // webpackBootstrap 12 | /******/ // The module cache 13 | /******/ var installedModules = {}; 14 | /******/ 15 | /******/ // The require function 16 | /******/ function __webpack_require__(moduleId) { 17 | /******/ 18 | /******/ // Check if module is in cache 19 | /******/ if(installedModules[moduleId]) { 20 | /******/ return installedModules[moduleId].exports; 21 | /******/ } 22 | /******/ // Create a new module (and put it into the cache) 23 | /******/ var module = installedModules[moduleId] = { 24 | /******/ i: moduleId, 25 | /******/ l: false, 26 | /******/ exports: {} 27 | /******/ }; 28 | /******/ 29 | /******/ // Execute the module function 30 | /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); 31 | /******/ 32 | /******/ // Flag the module as loaded 33 | /******/ module.l = true; 34 | /******/ 35 | /******/ // Return the exports of the module 36 | /******/ return module.exports; 37 | /******/ } 38 | /******/ 39 | /******/ 40 | /******/ // expose the modules object (__webpack_modules__) 41 | /******/ __webpack_require__.m = modules; 42 | /******/ 43 | /******/ // expose the module cache 44 | /******/ __webpack_require__.c = installedModules; 45 | /******/ 46 | /******/ // define getter function for harmony exports 47 | /******/ __webpack_require__.d = function(exports, name, getter) { 48 | /******/ if(!__webpack_require__.o(exports, name)) { 49 | /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); 50 | /******/ } 51 | /******/ }; 52 | /******/ 53 | /******/ // define __esModule on exports 54 | /******/ __webpack_require__.r = function(exports) { 55 | /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { 56 | /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); 57 | /******/ } 58 | /******/ Object.defineProperty(exports, '__esModule', { value: true }); 59 | /******/ }; 60 | /******/ 61 | /******/ // create a fake namespace object 62 | /******/ // mode & 1: value is a module id, require it 63 | /******/ // mode & 2: merge all properties of value into the ns 64 | /******/ // mode & 4: return value when already ns object 65 | /******/ // mode & 8|1: behave like require 66 | /******/ __webpack_require__.t = function(value, mode) { 67 | /******/ if(mode & 1) value = __webpack_require__(value); 68 | /******/ if(mode & 8) return value; 69 | /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; 70 | /******/ var ns = Object.create(null); 71 | /******/ __webpack_require__.r(ns); 72 | /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); 73 | /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); 74 | /******/ return ns; 75 | /******/ }; 76 | /******/ 77 | /******/ // getDefaultExport function for compatibility with non-harmony modules 78 | /******/ __webpack_require__.n = function(module) { 79 | /******/ var getter = module && module.__esModule ? 80 | /******/ function getDefault() { return module['default']; } : 81 | /******/ function getModuleExports() { return module; }; 82 | /******/ __webpack_require__.d(getter, 'a', getter); 83 | /******/ return getter; 84 | /******/ }; 85 | /******/ 86 | /******/ // Object.prototype.hasOwnProperty.call 87 | /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; 88 | /******/ 89 | /******/ // __webpack_public_path__ 90 | /******/ __webpack_require__.p = ""; 91 | /******/ 92 | /******/ 93 | /******/ // Load entry module and return exports 94 | /******/ return __webpack_require__(__webpack_require__.s = "./lib/index.mjs"); 95 | /******/ }) 96 | /************************************************************************/ 97 | /******/ ({ 98 | 99 | /***/ "./lib/index.mjs": 100 | /*!***********************!*\ 101 | !*** ./lib/index.mjs ***! 102 | \***********************/ 103 | /*! exports provided: deepStrictEqual, deepEqual, default */ 104 | /***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) { 105 | 106 | "use strict"; 107 | __webpack_require__.r(__webpack_exports__); 108 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deepStrictEqual", function() { return deepStrictEqual; }); 109 | /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deepEqual", function() { return deepEqual; }); 110 | /* harmony import */ var assert_plus__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! assert-plus */ "assert-plus"); 111 | /* harmony import */ var json_diff__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! json-diff */ "json-diff"); 112 | 113 | 114 | 115 | function AssertDiff() { 116 | assert_plus__WEBPACK_IMPORTED_MODULE_0__.ok.apply(assert_plus__WEBPACK_IMPORTED_MODULE_0__.ok, arguments); 117 | } 118 | 119 | AssertDiff.options = {strict: false}; 120 | 121 | const AsyncFunction = (async function() {}).constructor; 122 | 123 | Object.keys(assert_plus__WEBPACK_IMPORTED_MODULE_0__).forEach(function(k) { 124 | let fun = assert_plus__WEBPACK_IMPORTED_MODULE_0__[k]; 125 | AssertDiff[k] = fun.constructor instanceof AsyncFunction ? 126 | async function() { 127 | return fun.apply(fun, arguments); 128 | } : 129 | function() { 130 | return fun.apply(fun, arguments); 131 | }; 132 | }); 133 | 134 | const deepStrictEqual = AssertDiff.deepStrictEqual = function deepStrictEqual() { 135 | try { 136 | assert_plus__WEBPACK_IMPORTED_MODULE_0__.deepStrictEqual.apply(assert_plus__WEBPACK_IMPORTED_MODULE_0__.deepStrictEqual, arguments); 137 | } catch (e) { 138 | throw new assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError({ 139 | message: addDiffToMessage(e.message, json_diff__WEBPACK_IMPORTED_MODULE_1__.diffString(e.expected, e.actual)), 140 | stackStartFunction: assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError 141 | }) 142 | } 143 | }; 144 | 145 | const deepEqual = AssertDiff.deepEqual = function deepEqual() { 146 | try { 147 | assert_plus__WEBPACK_IMPORTED_MODULE_0__.deepEqual.apply(assert_plus__WEBPACK_IMPORTED_MODULE_0__.deepEqual, arguments); 148 | } catch (e) { 149 | throw new assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError({ 150 | message: addDiffToMessage(e.message, json_diff__WEBPACK_IMPORTED_MODULE_1__.diffString(e.expected, e.actual)), 151 | stackStartFunction: assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError 152 | }) 153 | } 154 | if (AssertDiff.options.strict && json_diff__WEBPACK_IMPORTED_MODULE_1__.diff(arguments[0], arguments[1])) { 155 | throw new assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError({ 156 | message: addDiffToMessage(arguments[2], json_diff__WEBPACK_IMPORTED_MODULE_1__.diffString(arguments[0], arguments[1])), 157 | stackStartFunction: assert_plus__WEBPACK_IMPORTED_MODULE_0__.AssertionError 158 | }) 159 | } 160 | }; 161 | 162 | function addDiffToMessage(message, diff) { 163 | var msg = message ? message : ''; 164 | var resetCliColorAttributes = '\u001b[m'; 165 | 166 | return msg + resetCliColorAttributes + '\n' + diff; 167 | } 168 | 169 | AssertDiff.deepEqualOrig = assert_plus__WEBPACK_IMPORTED_MODULE_0__.deepEqual; 170 | 171 | /* harmony default export */ __webpack_exports__["default"] = (AssertDiff); 172 | 173 | 174 | /***/ }), 175 | 176 | /***/ "assert-plus": 177 | /*!******************************!*\ 178 | !*** external "assert-plus" ***! 179 | \******************************/ 180 | /*! no static exports found */ 181 | /***/ (function(module, exports) { 182 | 183 | module.exports = require("assert-plus"); 184 | 185 | /***/ }), 186 | 187 | /***/ "json-diff": 188 | /*!****************************!*\ 189 | !*** external "json-diff" ***! 190 | \****************************/ 191 | /*! no static exports found */ 192 | /***/ (function(module, exports) { 193 | 194 | module.exports = require("json-diff"); 195 | 196 | /***/ }) 197 | 198 | /******/ })["default"]; 199 | }); 200 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /lib/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///./lib/index.mjs","webpack:///external \"assert-plus\"","webpack:///external \"json-diff\""],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(global, function() {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./lib/index.mjs\");\n","import assert from 'assert-plus';\nimport jdiff from 'json-diff';\n\nfunction AssertDiff() {\n assert.ok.apply(assert.ok, arguments);\n}\n\nAssertDiff.options = {strict: false};\n\nconst AsyncFunction = (async function() {}).constructor;\n\nObject.keys(assert).forEach(function(k) {\n let fun = assert[k];\n AssertDiff[k] = fun.constructor instanceof AsyncFunction ?\n async function() {\n return fun.apply(fun, arguments);\n } :\n function() {\n return fun.apply(fun, arguments);\n };\n});\n\nexport const deepStrictEqual = AssertDiff.deepStrictEqual = function deepStrictEqual() {\n try {\n assert.deepStrictEqual.apply(assert.deepStrictEqual, arguments);\n } catch (e) {\n throw new assert.AssertionError({\n message: addDiffToMessage(e.message, jdiff.diffString(e.expected, e.actual)),\n stackStartFunction: assert.AssertionError\n })\n }\n};\n\nexport const deepEqual = AssertDiff.deepEqual = function deepEqual() {\n try {\n assert.deepEqual.apply(assert.deepEqual, arguments);\n } catch (e) {\n throw new assert.AssertionError({\n message: addDiffToMessage(e.message, jdiff.diffString(e.expected, e.actual)),\n stackStartFunction: assert.AssertionError\n })\n }\n if (AssertDiff.options.strict && jdiff.diff(arguments[0], arguments[1])) {\n throw new assert.AssertionError({\n message: addDiffToMessage(arguments[2], jdiff.diffString(arguments[0], arguments[1])),\n stackStartFunction: assert.AssertionError\n })\n }\n};\n\nfunction addDiffToMessage(message, diff) {\n var msg = message ? message : '';\n var resetCliColorAttributes = '\\u001b[m';\n\n return msg + resetCliColorAttributes + '\\n' + diff;\n}\n\nAssertDiff.deepEqualOrig = assert.deepEqual;\n\nexport default AssertDiff;\n","module.exports = require(\"assert-plus\");","module.exports = require(\"json-diff\");"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;AClFA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;AC3DA;;;;;;;;;;;ACAA;;;;;A","sourceRoot":""} -------------------------------------------------------------------------------- /lib/index.mjs: -------------------------------------------------------------------------------- 1 | import assert from 'assert-plus'; 2 | import jdiff from 'json-diff'; 3 | 4 | function AssertDiff() { 5 | assert.ok.apply(assert.ok, arguments); 6 | } 7 | 8 | AssertDiff.options = {strict: false}; 9 | 10 | const AsyncFunction = (async function() {}).constructor; 11 | 12 | Object.keys(assert).forEach(function(k) { 13 | let fun = assert[k]; 14 | AssertDiff[k] = fun.constructor instanceof AsyncFunction ? 15 | async function() { 16 | return fun.apply(fun, arguments); 17 | } : 18 | function() { 19 | return fun.apply(fun, arguments); 20 | }; 21 | }); 22 | 23 | export const deepStrictEqual = AssertDiff.deepStrictEqual = function deepStrictEqual() { 24 | try { 25 | assert.deepStrictEqual.apply(assert.deepStrictEqual, arguments); 26 | } catch (e) { 27 | throw new assert.AssertionError({ 28 | message: addDiffToMessage(e.message, jdiff.diffString(e.expected, e.actual)), 29 | stackStartFunction: assert.AssertionError 30 | }) 31 | } 32 | }; 33 | 34 | export const deepEqual = AssertDiff.deepEqual = function deepEqual() { 35 | try { 36 | assert.deepEqual.apply(assert.deepEqual, arguments); 37 | } catch (e) { 38 | throw new assert.AssertionError({ 39 | message: addDiffToMessage(e.message, jdiff.diffString(e.expected, e.actual)), 40 | stackStartFunction: assert.AssertionError 41 | }) 42 | } 43 | if (AssertDiff.options.strict && jdiff.diff(arguments[0], arguments[1])) { 44 | throw new assert.AssertionError({ 45 | message: addDiffToMessage(arguments[2], jdiff.diffString(arguments[0], arguments[1])), 46 | stackStartFunction: assert.AssertionError 47 | }) 48 | } 49 | }; 50 | 51 | function addDiffToMessage(message, diff) { 52 | var msg = message ? message : ''; 53 | var resetCliColorAttributes = '\u001b[m'; 54 | 55 | return msg + resetCliColorAttributes + '\n' + diff; 56 | } 57 | 58 | AssertDiff.deepEqualOrig = assert.deepEqual; 59 | 60 | export default AssertDiff; 61 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "assert-diff", 3 | "description": "Drop-in replacement for assert to give diff on deepEqual.", 4 | "keywords": [ 5 | "assert", 6 | "diff", 7 | "deepEqual", 8 | "object", 9 | "array", 10 | "strict" 11 | ], 12 | "author": "Antti Mattila ", 13 | "repository": "git://github.com/pihvi/assert-diff", 14 | "version": "3.0.4", 15 | "main": "./lib", 16 | "license": "Apache-2.0", 17 | "dependencies": { 18 | "assert-plus": "1.0.0", 19 | "json-diff": "1.0.6" 20 | }, 21 | "devDependencies": { 22 | "mocha": "10.2.0", 23 | "prettier": "^2.8.7", 24 | "webpack": "^5.77.0", 25 | "webpack-cli": "^5.0.1", 26 | "webpack-node-externals": "^3.0.0" 27 | }, 28 | "scripts": { 29 | "test": "mocha test/example-passing-tests.js", 30 | "examples": "mocha test/example-failing-tests.js", 31 | "start": "npm test", 32 | "format": "prettier \"{lib,test}/*.{js,mjs}\" --write", 33 | "build": "webpack lib/index.mjs" 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /test/example-failing-tests.js: -------------------------------------------------------------------------------- 1 | var assert = require('./../lib/') 2 | var assertOrig = require('assert') 3 | 4 | describe('examples', function() { 5 | it('diff deep equal array', function() { 6 | assert.string('yea') 7 | assert.deepEqual([22, 'loi', {pow: true}], [22, 'lol', {pow: true}]) 8 | }) 9 | 10 | it('original deep equal array', function() { 11 | assertOrig.deepEqual([22, 'loi', {pow: true}], [22, 'lol', {pow: true}]) 12 | }) 13 | 14 | it('diff deep equal string', function() { 15 | assert.deepEqual('tomato', 'tomeito') 16 | }) 17 | 18 | it('original deep equal string', function() { 19 | assertOrig.deepEqual('tomato', 'tomeito', 'hahaa') 20 | }) 21 | 22 | it('diff deep equal', function() { 23 | assert.deepEqual({pow: 'boom', same: true, foo: 2}, {same: true, bar: 2, pow: 'bang'}) 24 | }) 25 | 26 | it('original deep equal', function() { 27 | assertOrig.deepEqual({pow: 'boom', same: true, foo: 2}, {same: true, bar: 2, pow: 'bang'}) 28 | }) 29 | 30 | it('diff deep equal with message', function() { 31 | assert.deepEqual({pow: 'boom', same: true, foo: 2}, {same: true, bar: 2, pow: 'bang'}, 'this should fail') 32 | }) 33 | 34 | it('strict diff deep equal', function() { 35 | assert.deepEqual({a: 1}, {a: 1}, 'this should not fail') 36 | assert.deepEqual({a: 1, b: 2}, {a: true, b: '2'}, 'this should not fail') 37 | 38 | assert.options.strict = true 39 | assert.deepEqual({a: 1, b: 2}, {a: true, b: '2'}, 'this should fail') 40 | assert.options.strict = false 41 | }) 42 | 43 | it('diff strict deep equal', function() { 44 | assert.deepStrictEqual({pow: '1'}, {pow: 1}) 45 | }) 46 | 47 | it('original strict deep equal', function() { 48 | assertOrig.deepStrictEqual({pow: '1'}, {pow: 1}) 49 | }) 50 | }) 51 | -------------------------------------------------------------------------------- /test/example-internals.js: -------------------------------------------------------------------------------- 1 | var assert = require('./../lib/') 2 | var assertOrig = require('assert') 3 | 4 | try { 5 | assert.deepEqual({pow: "boom", foo: 2}, {bar: 2, pow: "bang"}) 6 | } catch (e) { 7 | console.log('Diff assert\n', e) 8 | } 9 | 10 | try { 11 | assertOrig.deepEqual({pow: "boom", foo: 2}, {bar: 2, pow: "bang"}) 12 | } catch (e) { 13 | console.log('\nOriginal assert:\n', e) 14 | } 15 | 16 | try { 17 | assert.deepStrictEqual({pow: 1}, {pow: "1"}) 18 | } catch (e) { 19 | console.log('Diff assert strict\n', e) 20 | } 21 | 22 | try { 23 | assertOrig.deepStrictEqual({pow: 1}, {pow: "1"}) 24 | } catch (e) { 25 | console.log('\nOriginal assert strict:\n', e) 26 | } 27 | -------------------------------------------------------------------------------- /test/example-passing-tests.js: -------------------------------------------------------------------------------- 1 | var assert = require('./../lib/') 2 | var assertOrig = require('assert') 3 | 4 | it('assert() works on both', function() { 5 | assertOrig(true) 6 | try { 7 | assertOrig(false) 8 | assertOrig.fail('Should fail on false') 9 | } catch (e) { 10 | assertOrig.equal(e.actual, false) 11 | } 12 | assert(true) 13 | try { 14 | assert(false) 15 | assert.fail('Should fail on false') 16 | } catch (e) { 17 | assert.equal(e.actual, false) 18 | } 19 | }) 20 | 21 | it('strict diff deep equal', function() { 22 | assert.deepEqual({a: 1}, {a: 1}, 'this should not fail') 23 | assert.deepEqual({a: 1, b: 2}, {a: true, b: '2'}, 'this should not fail') 24 | 25 | assert.options.strict = true 26 | assertOrig.deepEqual({a: 1, b: 2}, {a: true, b: '2'}, 'this should not fail') 27 | try { 28 | assert.deepEqual({a: 1, b: 2}, {a: true, b: '2'}, 'this should fail') 29 | assert.fail('Should fail on false') 30 | } catch (e) { 31 | assert.notEqual(e.actual, 'Should fail on false') 32 | } finally { 33 | assert.options.strict = false 34 | } 35 | }) 36 | 37 | it('basic derived asserts works', function() { 38 | assert.equal(3, 3, 'this should not fail') 39 | assert.object({}, 'this should not fail'); 40 | }) 41 | 42 | it('async functions', async function() { 43 | let a = false; 44 | await assert.doesNotReject(function() { 45 | return new Promise(function(resolve, reject) { 46 | setTimeout(function() { 47 | a = true; 48 | resolve(); 49 | }) 50 | }) 51 | }) 52 | assert.ok(a); 53 | 54 | let b = false; 55 | await assert.rejects(async function() { 56 | return new Promise(function(resolve, reject) { 57 | setTimeout(function() { 58 | b = true; 59 | reject(Error('bad error')) 60 | }) 61 | }) 62 | }); 63 | assert.ok(b); 64 | 65 | let c = false; 66 | await assert.rejects(new Promise(function(resolve, reject) { 67 | setTimeout(function() { 68 | c = true; 69 | reject(Error('bad error')) 70 | }) 71 | })) 72 | assert.ok(c); 73 | 74 | assert.throws(function() { 75 | assert.equal(1, 2, 'should be able to throw outside of async functions too'); 76 | }); 77 | }) 78 | -------------------------------------------------------------------------------- /test/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pihvi/assert-diff/b4b0d537751cdc1f9d4c36527645b8765042e8e5/test/example.png -------------------------------------------------------------------------------- /test/example2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pihvi/assert-diff/b4b0d537751cdc1f9d4c36527645b8765042e8e5/test/example2.png -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const nodeExternals = require("webpack-node-externals"); 2 | 3 | module.exports = [ 4 | { 5 | mode: "development", 6 | target: "node", 7 | externals: [nodeExternals()], 8 | devtool: "cheap-module-source-map", 9 | output: { 10 | path: `${__dirname}/lib`, 11 | filename: "index.js", 12 | libraryTarget: "umd", 13 | // https://github.com/webpack/webpack/issues/3929#issuecomment-306063585 14 | libraryExport: "default" 15 | } 16 | } 17 | ]; 18 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@discoveryjs/json-ext@^0.5.0": 6 | version "0.5.7" 7 | resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70" 8 | integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw== 9 | 10 | "@ewoudenberg/difflib@0.1.0": 11 | version "0.1.0" 12 | resolved "https://registry.yarnpkg.com/@ewoudenberg/difflib/-/difflib-0.1.0.tgz#a2ae5d3321ffa7c1b47691cf0db189d1264aaaa4" 13 | integrity sha512-OU5P5mJyD3OoWYMWY+yIgwvgNS9cFAU10f+DDuvtogcWQOoJIsQ4Hy2McSfUfhKjq8L0FuWVb4Rt7kgA+XK86A== 14 | dependencies: 15 | heap ">= 0.2.0" 16 | 17 | "@jridgewell/gen-mapping@^0.3.0": 18 | version "0.3.2" 19 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 20 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 21 | dependencies: 22 | "@jridgewell/set-array" "^1.0.1" 23 | "@jridgewell/sourcemap-codec" "^1.4.10" 24 | "@jridgewell/trace-mapping" "^0.3.9" 25 | 26 | "@jridgewell/resolve-uri@3.1.0": 27 | version "3.1.0" 28 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 29 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 30 | 31 | "@jridgewell/set-array@^1.0.1": 32 | version "1.1.2" 33 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 34 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 35 | 36 | "@jridgewell/source-map@^0.3.2": 37 | version "0.3.2" 38 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 39 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 40 | dependencies: 41 | "@jridgewell/gen-mapping" "^0.3.0" 42 | "@jridgewell/trace-mapping" "^0.3.9" 43 | 44 | "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": 45 | version "1.4.14" 46 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 47 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 48 | 49 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 50 | version "0.3.17" 51 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" 52 | integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== 53 | dependencies: 54 | "@jridgewell/resolve-uri" "3.1.0" 55 | "@jridgewell/sourcemap-codec" "1.4.14" 56 | 57 | "@types/eslint-scope@^3.7.3": 58 | version "3.7.4" 59 | resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16" 60 | integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA== 61 | dependencies: 62 | "@types/eslint" "*" 63 | "@types/estree" "*" 64 | 65 | "@types/eslint@*": 66 | version "8.37.0" 67 | resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1" 68 | integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ== 69 | dependencies: 70 | "@types/estree" "*" 71 | "@types/json-schema" "*" 72 | 73 | "@types/estree@*": 74 | version "1.0.0" 75 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 76 | integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 77 | 78 | "@types/estree@^0.0.51": 79 | version "0.0.51" 80 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" 81 | integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== 82 | 83 | "@types/json-schema@*", "@types/json-schema@^7.0.8": 84 | version "7.0.11" 85 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" 86 | integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== 87 | 88 | "@types/node@*": 89 | version "18.15.11" 90 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f" 91 | integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q== 92 | 93 | "@webassemblyjs/ast@1.11.1": 94 | version "1.11.1" 95 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" 96 | integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== 97 | dependencies: 98 | "@webassemblyjs/helper-numbers" "1.11.1" 99 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 100 | 101 | "@webassemblyjs/floating-point-hex-parser@1.11.1": 102 | version "1.11.1" 103 | resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" 104 | integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== 105 | 106 | "@webassemblyjs/helper-api-error@1.11.1": 107 | version "1.11.1" 108 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" 109 | integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== 110 | 111 | "@webassemblyjs/helper-buffer@1.11.1": 112 | version "1.11.1" 113 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" 114 | integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== 115 | 116 | "@webassemblyjs/helper-numbers@1.11.1": 117 | version "1.11.1" 118 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" 119 | integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== 120 | dependencies: 121 | "@webassemblyjs/floating-point-hex-parser" "1.11.1" 122 | "@webassemblyjs/helper-api-error" "1.11.1" 123 | "@xtuc/long" "4.2.2" 124 | 125 | "@webassemblyjs/helper-wasm-bytecode@1.11.1": 126 | version "1.11.1" 127 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" 128 | integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== 129 | 130 | "@webassemblyjs/helper-wasm-section@1.11.1": 131 | version "1.11.1" 132 | resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" 133 | integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== 134 | dependencies: 135 | "@webassemblyjs/ast" "1.11.1" 136 | "@webassemblyjs/helper-buffer" "1.11.1" 137 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 138 | "@webassemblyjs/wasm-gen" "1.11.1" 139 | 140 | "@webassemblyjs/ieee754@1.11.1": 141 | version "1.11.1" 142 | resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" 143 | integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== 144 | dependencies: 145 | "@xtuc/ieee754" "^1.2.0" 146 | 147 | "@webassemblyjs/leb128@1.11.1": 148 | version "1.11.1" 149 | resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" 150 | integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== 151 | dependencies: 152 | "@xtuc/long" "4.2.2" 153 | 154 | "@webassemblyjs/utf8@1.11.1": 155 | version "1.11.1" 156 | resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" 157 | integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== 158 | 159 | "@webassemblyjs/wasm-edit@1.11.1": 160 | version "1.11.1" 161 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" 162 | integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== 163 | dependencies: 164 | "@webassemblyjs/ast" "1.11.1" 165 | "@webassemblyjs/helper-buffer" "1.11.1" 166 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 167 | "@webassemblyjs/helper-wasm-section" "1.11.1" 168 | "@webassemblyjs/wasm-gen" "1.11.1" 169 | "@webassemblyjs/wasm-opt" "1.11.1" 170 | "@webassemblyjs/wasm-parser" "1.11.1" 171 | "@webassemblyjs/wast-printer" "1.11.1" 172 | 173 | "@webassemblyjs/wasm-gen@1.11.1": 174 | version "1.11.1" 175 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" 176 | integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== 177 | dependencies: 178 | "@webassemblyjs/ast" "1.11.1" 179 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 180 | "@webassemblyjs/ieee754" "1.11.1" 181 | "@webassemblyjs/leb128" "1.11.1" 182 | "@webassemblyjs/utf8" "1.11.1" 183 | 184 | "@webassemblyjs/wasm-opt@1.11.1": 185 | version "1.11.1" 186 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" 187 | integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== 188 | dependencies: 189 | "@webassemblyjs/ast" "1.11.1" 190 | "@webassemblyjs/helper-buffer" "1.11.1" 191 | "@webassemblyjs/wasm-gen" "1.11.1" 192 | "@webassemblyjs/wasm-parser" "1.11.1" 193 | 194 | "@webassemblyjs/wasm-parser@1.11.1": 195 | version "1.11.1" 196 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" 197 | integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== 198 | dependencies: 199 | "@webassemblyjs/ast" "1.11.1" 200 | "@webassemblyjs/helper-api-error" "1.11.1" 201 | "@webassemblyjs/helper-wasm-bytecode" "1.11.1" 202 | "@webassemblyjs/ieee754" "1.11.1" 203 | "@webassemblyjs/leb128" "1.11.1" 204 | "@webassemblyjs/utf8" "1.11.1" 205 | 206 | "@webassemblyjs/wast-printer@1.11.1": 207 | version "1.11.1" 208 | resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" 209 | integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== 210 | dependencies: 211 | "@webassemblyjs/ast" "1.11.1" 212 | "@xtuc/long" "4.2.2" 213 | 214 | "@webpack-cli/configtest@^2.0.1": 215 | version "2.0.1" 216 | resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.0.1.tgz#a69720f6c9bad6aef54a8fa6ba9c3533e7ef4c7f" 217 | integrity sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A== 218 | 219 | "@webpack-cli/info@^2.0.1": 220 | version "2.0.1" 221 | resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0" 222 | integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA== 223 | 224 | "@webpack-cli/serve@^2.0.1": 225 | version "2.0.1" 226 | resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8" 227 | integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw== 228 | 229 | "@xtuc/ieee754@^1.2.0": 230 | version "1.2.0" 231 | resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" 232 | integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== 233 | 234 | "@xtuc/long@4.2.2": 235 | version "4.2.2" 236 | resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" 237 | integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== 238 | 239 | acorn-import-assertions@^1.7.6: 240 | version "1.8.0" 241 | resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" 242 | integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== 243 | 244 | acorn@^8.5.0, acorn@^8.7.1: 245 | version "8.8.2" 246 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" 247 | integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== 248 | 249 | ajv-keywords@^3.5.2: 250 | version "3.5.2" 251 | resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" 252 | integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== 253 | 254 | ajv@^6.12.5: 255 | version "6.12.6" 256 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 257 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 258 | dependencies: 259 | fast-deep-equal "^3.1.1" 260 | fast-json-stable-stringify "^2.0.0" 261 | json-schema-traverse "^0.4.1" 262 | uri-js "^4.2.2" 263 | 264 | ansi-colors@4.1.1: 265 | version "4.1.1" 266 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" 267 | integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== 268 | 269 | ansi-regex@^5.0.1: 270 | version "5.0.1" 271 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 272 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 273 | 274 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 275 | version "4.3.0" 276 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 277 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 278 | dependencies: 279 | color-convert "^2.0.1" 280 | 281 | anymatch@~3.1.2: 282 | version "3.1.3" 283 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" 284 | integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== 285 | dependencies: 286 | normalize-path "^3.0.0" 287 | picomatch "^2.0.4" 288 | 289 | argparse@^2.0.1: 290 | version "2.0.1" 291 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 292 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 293 | 294 | assert-plus@1.0.0: 295 | version "1.0.0" 296 | resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" 297 | integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== 298 | 299 | balanced-match@^1.0.0: 300 | version "1.0.2" 301 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 302 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 303 | 304 | binary-extensions@^2.0.0: 305 | version "2.2.0" 306 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 307 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 308 | 309 | brace-expansion@^1.1.7: 310 | version "1.1.11" 311 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 312 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 313 | dependencies: 314 | balanced-match "^1.0.0" 315 | concat-map "0.0.1" 316 | 317 | brace-expansion@^2.0.1: 318 | version "2.0.1" 319 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 320 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 321 | dependencies: 322 | balanced-match "^1.0.0" 323 | 324 | braces@~3.0.2: 325 | version "3.0.2" 326 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 327 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 328 | dependencies: 329 | fill-range "^7.0.1" 330 | 331 | browser-stdout@1.3.1: 332 | version "1.3.1" 333 | resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" 334 | integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== 335 | 336 | browserslist@^4.14.5: 337 | version "4.21.5" 338 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" 339 | integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== 340 | dependencies: 341 | caniuse-lite "^1.0.30001449" 342 | electron-to-chromium "^1.4.284" 343 | node-releases "^2.0.8" 344 | update-browserslist-db "^1.0.10" 345 | 346 | buffer-from@^1.0.0: 347 | version "1.1.2" 348 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 349 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 350 | 351 | camelcase@^6.0.0: 352 | version "6.3.0" 353 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 354 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 355 | 356 | caniuse-lite@^1.0.30001449: 357 | version "1.0.30001473" 358 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001473.tgz#3859898b3cab65fc8905bb923df36ad35058153c" 359 | integrity sha512-ewDad7+D2vlyy+E4UJuVfiBsU69IL+8oVmTuZnH5Q6CIUbxNfI50uVpRHbUPDD6SUaN2o0Lh4DhTrvLG/Tn1yg== 360 | 361 | chalk@^4.1.0: 362 | version "4.1.2" 363 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 364 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 365 | dependencies: 366 | ansi-styles "^4.1.0" 367 | supports-color "^7.1.0" 368 | 369 | chokidar@3.5.3: 370 | version "3.5.3" 371 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" 372 | integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== 373 | dependencies: 374 | anymatch "~3.1.2" 375 | braces "~3.0.2" 376 | glob-parent "~5.1.2" 377 | is-binary-path "~2.1.0" 378 | is-glob "~4.0.1" 379 | normalize-path "~3.0.0" 380 | readdirp "~3.6.0" 381 | optionalDependencies: 382 | fsevents "~2.3.2" 383 | 384 | chrome-trace-event@^1.0.2: 385 | version "1.0.3" 386 | resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" 387 | integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== 388 | 389 | cliui@^7.0.2: 390 | version "7.0.4" 391 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 392 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 393 | dependencies: 394 | string-width "^4.2.0" 395 | strip-ansi "^6.0.0" 396 | wrap-ansi "^7.0.0" 397 | 398 | clone-deep@^4.0.1: 399 | version "4.0.1" 400 | resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" 401 | integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== 402 | dependencies: 403 | is-plain-object "^2.0.4" 404 | kind-of "^6.0.2" 405 | shallow-clone "^3.0.0" 406 | 407 | color-convert@^2.0.1: 408 | version "2.0.1" 409 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 410 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 411 | dependencies: 412 | color-name "~1.1.4" 413 | 414 | color-name@~1.1.4: 415 | version "1.1.4" 416 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 417 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 418 | 419 | colorette@^2.0.14: 420 | version "2.0.19" 421 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 422 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 423 | 424 | colors@^1.4.0: 425 | version "1.4.0" 426 | resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" 427 | integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== 428 | 429 | commander@^2.20.0: 430 | version "2.20.3" 431 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 432 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 433 | 434 | commander@^9.4.1: 435 | version "9.5.0" 436 | resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" 437 | integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== 438 | 439 | concat-map@0.0.1: 440 | version "0.0.1" 441 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 442 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 443 | 444 | cross-spawn@^7.0.3: 445 | version "7.0.3" 446 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 447 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 448 | dependencies: 449 | path-key "^3.1.0" 450 | shebang-command "^2.0.0" 451 | which "^2.0.1" 452 | 453 | debug@4.3.4: 454 | version "4.3.4" 455 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 456 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 457 | dependencies: 458 | ms "2.1.2" 459 | 460 | decamelize@^4.0.0: 461 | version "4.0.0" 462 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" 463 | integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== 464 | 465 | diff@5.0.0: 466 | version "5.0.0" 467 | resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" 468 | integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== 469 | 470 | dreamopt@~0.8.0: 471 | version "0.8.0" 472 | resolved "https://registry.yarnpkg.com/dreamopt/-/dreamopt-0.8.0.tgz#5bcc80be7097e45fc489c342405ab68140a8c1d9" 473 | integrity sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg== 474 | dependencies: 475 | wordwrap ">=0.0.2" 476 | 477 | electron-to-chromium@^1.4.284: 478 | version "1.4.348" 479 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.348.tgz#f49379dc212d79f39112dd026f53e371279e433d" 480 | integrity sha512-gM7TdwuG3amns/1rlgxMbeeyNoBFPa+4Uu0c7FeROWh4qWmvSOnvcslKmWy51ggLKZ2n/F/4i2HJ+PVNxH9uCQ== 481 | 482 | emoji-regex@^8.0.0: 483 | version "8.0.0" 484 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 485 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 486 | 487 | enhanced-resolve@^5.10.0: 488 | version "5.12.0" 489 | resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" 490 | integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== 491 | dependencies: 492 | graceful-fs "^4.2.4" 493 | tapable "^2.2.0" 494 | 495 | envinfo@^7.7.3: 496 | version "7.8.1" 497 | resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475" 498 | integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw== 499 | 500 | es-module-lexer@^0.9.0: 501 | version "0.9.3" 502 | resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" 503 | integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== 504 | 505 | escalade@^3.1.1: 506 | version "3.1.1" 507 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 508 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 509 | 510 | escape-string-regexp@4.0.0: 511 | version "4.0.0" 512 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 513 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 514 | 515 | eslint-scope@5.1.1: 516 | version "5.1.1" 517 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 518 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 519 | dependencies: 520 | esrecurse "^4.3.0" 521 | estraverse "^4.1.1" 522 | 523 | esrecurse@^4.3.0: 524 | version "4.3.0" 525 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 526 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 527 | dependencies: 528 | estraverse "^5.2.0" 529 | 530 | estraverse@^4.1.1: 531 | version "4.3.0" 532 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 533 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 534 | 535 | estraverse@^5.2.0: 536 | version "5.3.0" 537 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 538 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 539 | 540 | events@^3.2.0: 541 | version "3.3.0" 542 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 543 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 544 | 545 | fast-deep-equal@^3.1.1: 546 | version "3.1.3" 547 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 548 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 549 | 550 | fast-json-stable-stringify@^2.0.0: 551 | version "2.1.0" 552 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 553 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 554 | 555 | fastest-levenshtein@^1.0.12: 556 | version "1.0.16" 557 | resolved "https://registry.yarnpkg.com/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz#210e61b6ff181de91ea9b3d1b84fdedd47e034e5" 558 | integrity sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg== 559 | 560 | fill-range@^7.0.1: 561 | version "7.0.1" 562 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 563 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 564 | dependencies: 565 | to-regex-range "^5.0.1" 566 | 567 | find-up@5.0.0: 568 | version "5.0.0" 569 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 570 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 571 | dependencies: 572 | locate-path "^6.0.0" 573 | path-exists "^4.0.0" 574 | 575 | find-up@^4.0.0: 576 | version "4.1.0" 577 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 578 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 579 | dependencies: 580 | locate-path "^5.0.0" 581 | path-exists "^4.0.0" 582 | 583 | flat@^5.0.2: 584 | version "5.0.2" 585 | resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" 586 | integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== 587 | 588 | fs.realpath@^1.0.0: 589 | version "1.0.0" 590 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 591 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 592 | 593 | fsevents@~2.3.2: 594 | version "2.3.2" 595 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 596 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 597 | 598 | function-bind@^1.1.1: 599 | version "1.1.1" 600 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 601 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 602 | 603 | get-caller-file@^2.0.5: 604 | version "2.0.5" 605 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 606 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 607 | 608 | glob-parent@~5.1.2: 609 | version "5.1.2" 610 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 611 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 612 | dependencies: 613 | is-glob "^4.0.1" 614 | 615 | glob-to-regexp@^0.4.1: 616 | version "0.4.1" 617 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 618 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 619 | 620 | glob@7.2.0: 621 | version "7.2.0" 622 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" 623 | integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== 624 | dependencies: 625 | fs.realpath "^1.0.0" 626 | inflight "^1.0.4" 627 | inherits "2" 628 | minimatch "^3.0.4" 629 | once "^1.3.0" 630 | path-is-absolute "^1.0.0" 631 | 632 | graceful-fs@^4.1.2, graceful-fs@^4.2.4, graceful-fs@^4.2.9: 633 | version "4.2.11" 634 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" 635 | integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== 636 | 637 | has-flag@^4.0.0: 638 | version "4.0.0" 639 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 640 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 641 | 642 | has@^1.0.3: 643 | version "1.0.3" 644 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 645 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 646 | dependencies: 647 | function-bind "^1.1.1" 648 | 649 | he@1.2.0: 650 | version "1.2.0" 651 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 652 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 653 | 654 | "heap@>= 0.2.0": 655 | version "0.2.7" 656 | resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.7.tgz#1e6adf711d3f27ce35a81fe3b7bd576c2260a8fc" 657 | integrity sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg== 658 | 659 | import-local@^3.0.2: 660 | version "3.1.0" 661 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 662 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 663 | dependencies: 664 | pkg-dir "^4.2.0" 665 | resolve-cwd "^3.0.0" 666 | 667 | inflight@^1.0.4: 668 | version "1.0.6" 669 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 670 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 671 | dependencies: 672 | once "^1.3.0" 673 | wrappy "1" 674 | 675 | inherits@2: 676 | version "2.0.4" 677 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 678 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 679 | 680 | interpret@^3.1.1: 681 | version "3.1.1" 682 | resolved "https://registry.yarnpkg.com/interpret/-/interpret-3.1.1.tgz#5be0ceed67ca79c6c4bc5cf0d7ee843dcea110c4" 683 | integrity sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ== 684 | 685 | is-binary-path@~2.1.0: 686 | version "2.1.0" 687 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 688 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 689 | dependencies: 690 | binary-extensions "^2.0.0" 691 | 692 | is-core-module@^2.9.0: 693 | version "2.11.0" 694 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 695 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 696 | dependencies: 697 | has "^1.0.3" 698 | 699 | is-extglob@^2.1.1: 700 | version "2.1.1" 701 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 702 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 703 | 704 | is-fullwidth-code-point@^3.0.0: 705 | version "3.0.0" 706 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 707 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 708 | 709 | is-glob@^4.0.1, is-glob@~4.0.1: 710 | version "4.0.3" 711 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 712 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 713 | dependencies: 714 | is-extglob "^2.1.1" 715 | 716 | is-number@^7.0.0: 717 | version "7.0.0" 718 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 719 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 720 | 721 | is-plain-obj@^2.1.0: 722 | version "2.1.0" 723 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" 724 | integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== 725 | 726 | is-plain-object@^2.0.4: 727 | version "2.0.4" 728 | resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" 729 | integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== 730 | dependencies: 731 | isobject "^3.0.1" 732 | 733 | is-unicode-supported@^0.1.0: 734 | version "0.1.0" 735 | resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" 736 | integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== 737 | 738 | isexe@^2.0.0: 739 | version "2.0.0" 740 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 741 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 742 | 743 | isobject@^3.0.1: 744 | version "3.0.1" 745 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" 746 | integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== 747 | 748 | jest-worker@^27.4.5: 749 | version "27.5.1" 750 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" 751 | integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== 752 | dependencies: 753 | "@types/node" "*" 754 | merge-stream "^2.0.0" 755 | supports-color "^8.0.0" 756 | 757 | js-yaml@4.1.0: 758 | version "4.1.0" 759 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 760 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 761 | dependencies: 762 | argparse "^2.0.1" 763 | 764 | json-diff@1.0.6: 765 | version "1.0.6" 766 | resolved "https://registry.yarnpkg.com/json-diff/-/json-diff-1.0.6.tgz#63690f695469b6437efaed5bb3d51f011f7cac28" 767 | integrity sha512-tcFIPRdlc35YkYdGxcamJjllUhXWv4n2rK9oJ2RsAzV4FBkuV4ojKEDgcZ+kpKxDmJKv+PFK65+1tVVOnSeEqA== 768 | dependencies: 769 | "@ewoudenberg/difflib" "0.1.0" 770 | colors "^1.4.0" 771 | dreamopt "~0.8.0" 772 | 773 | json-parse-even-better-errors@^2.3.1: 774 | version "2.3.1" 775 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 776 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 777 | 778 | json-schema-traverse@^0.4.1: 779 | version "0.4.1" 780 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 781 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 782 | 783 | kind-of@^6.0.2: 784 | version "6.0.3" 785 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 786 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 787 | 788 | loader-runner@^4.2.0: 789 | version "4.3.0" 790 | resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" 791 | integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== 792 | 793 | locate-path@^5.0.0: 794 | version "5.0.0" 795 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 796 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 797 | dependencies: 798 | p-locate "^4.1.0" 799 | 800 | locate-path@^6.0.0: 801 | version "6.0.0" 802 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 803 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 804 | dependencies: 805 | p-locate "^5.0.0" 806 | 807 | log-symbols@4.1.0: 808 | version "4.1.0" 809 | resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" 810 | integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== 811 | dependencies: 812 | chalk "^4.1.0" 813 | is-unicode-supported "^0.1.0" 814 | 815 | merge-stream@^2.0.0: 816 | version "2.0.0" 817 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 818 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 819 | 820 | mime-db@1.52.0: 821 | version "1.52.0" 822 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" 823 | integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== 824 | 825 | mime-types@^2.1.27: 826 | version "2.1.35" 827 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" 828 | integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== 829 | dependencies: 830 | mime-db "1.52.0" 831 | 832 | minimatch@5.0.1: 833 | version "5.0.1" 834 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" 835 | integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== 836 | dependencies: 837 | brace-expansion "^2.0.1" 838 | 839 | minimatch@^3.0.4: 840 | version "3.1.2" 841 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 842 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 843 | dependencies: 844 | brace-expansion "^1.1.7" 845 | 846 | mocha@10.2.0: 847 | version "10.2.0" 848 | resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" 849 | integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== 850 | dependencies: 851 | ansi-colors "4.1.1" 852 | browser-stdout "1.3.1" 853 | chokidar "3.5.3" 854 | debug "4.3.4" 855 | diff "5.0.0" 856 | escape-string-regexp "4.0.0" 857 | find-up "5.0.0" 858 | glob "7.2.0" 859 | he "1.2.0" 860 | js-yaml "4.1.0" 861 | log-symbols "4.1.0" 862 | minimatch "5.0.1" 863 | ms "2.1.3" 864 | nanoid "3.3.3" 865 | serialize-javascript "6.0.0" 866 | strip-json-comments "3.1.1" 867 | supports-color "8.1.1" 868 | workerpool "6.2.1" 869 | yargs "16.2.0" 870 | yargs-parser "20.2.4" 871 | yargs-unparser "2.0.0" 872 | 873 | ms@2.1.2: 874 | version "2.1.2" 875 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 876 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 877 | 878 | ms@2.1.3: 879 | version "2.1.3" 880 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 881 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 882 | 883 | nanoid@3.3.3: 884 | version "3.3.3" 885 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" 886 | integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== 887 | 888 | neo-async@^2.6.2: 889 | version "2.6.2" 890 | resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" 891 | integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== 892 | 893 | node-releases@^2.0.8: 894 | version "2.0.10" 895 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" 896 | integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== 897 | 898 | normalize-path@^3.0.0, normalize-path@~3.0.0: 899 | version "3.0.0" 900 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 901 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 902 | 903 | once@^1.3.0: 904 | version "1.4.0" 905 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 906 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 907 | dependencies: 908 | wrappy "1" 909 | 910 | p-limit@^2.2.0: 911 | version "2.3.0" 912 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 913 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 914 | dependencies: 915 | p-try "^2.0.0" 916 | 917 | p-limit@^3.0.2: 918 | version "3.1.0" 919 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 920 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 921 | dependencies: 922 | yocto-queue "^0.1.0" 923 | 924 | p-locate@^4.1.0: 925 | version "4.1.0" 926 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 927 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 928 | dependencies: 929 | p-limit "^2.2.0" 930 | 931 | p-locate@^5.0.0: 932 | version "5.0.0" 933 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 934 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 935 | dependencies: 936 | p-limit "^3.0.2" 937 | 938 | p-try@^2.0.0: 939 | version "2.2.0" 940 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 941 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 942 | 943 | path-exists@^4.0.0: 944 | version "4.0.0" 945 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 946 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 947 | 948 | path-is-absolute@^1.0.0: 949 | version "1.0.1" 950 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 951 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 952 | 953 | path-key@^3.1.0: 954 | version "3.1.1" 955 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 956 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 957 | 958 | path-parse@^1.0.7: 959 | version "1.0.7" 960 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 961 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 962 | 963 | picocolors@^1.0.0: 964 | version "1.0.0" 965 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 966 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 967 | 968 | picomatch@^2.0.4, picomatch@^2.2.1: 969 | version "2.3.1" 970 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 971 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 972 | 973 | pkg-dir@^4.2.0: 974 | version "4.2.0" 975 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 976 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 977 | dependencies: 978 | find-up "^4.0.0" 979 | 980 | prettier@^2.8.7: 981 | version "2.8.7" 982 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.7.tgz#bb79fc8729308549d28fe3a98fce73d2c0656450" 983 | integrity sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw== 984 | 985 | punycode@^2.1.0: 986 | version "2.3.0" 987 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" 988 | integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== 989 | 990 | randombytes@^2.1.0: 991 | version "2.1.0" 992 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 993 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 994 | dependencies: 995 | safe-buffer "^5.1.0" 996 | 997 | readdirp@~3.6.0: 998 | version "3.6.0" 999 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" 1000 | integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== 1001 | dependencies: 1002 | picomatch "^2.2.1" 1003 | 1004 | rechoir@^0.8.0: 1005 | version "0.8.0" 1006 | resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.8.0.tgz#49f866e0d32146142da3ad8f0eff352b3215ff22" 1007 | integrity sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ== 1008 | dependencies: 1009 | resolve "^1.20.0" 1010 | 1011 | require-directory@^2.1.1: 1012 | version "2.1.1" 1013 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 1014 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 1015 | 1016 | resolve-cwd@^3.0.0: 1017 | version "3.0.0" 1018 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 1019 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 1020 | dependencies: 1021 | resolve-from "^5.0.0" 1022 | 1023 | resolve-from@^5.0.0: 1024 | version "5.0.0" 1025 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1026 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1027 | 1028 | resolve@^1.20.0: 1029 | version "1.22.1" 1030 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1031 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1032 | dependencies: 1033 | is-core-module "^2.9.0" 1034 | path-parse "^1.0.7" 1035 | supports-preserve-symlinks-flag "^1.0.0" 1036 | 1037 | safe-buffer@^5.1.0: 1038 | version "5.2.1" 1039 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1040 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1041 | 1042 | schema-utils@^3.1.0, schema-utils@^3.1.1: 1043 | version "3.1.1" 1044 | resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" 1045 | integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== 1046 | dependencies: 1047 | "@types/json-schema" "^7.0.8" 1048 | ajv "^6.12.5" 1049 | ajv-keywords "^3.5.2" 1050 | 1051 | serialize-javascript@6.0.0: 1052 | version "6.0.0" 1053 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" 1054 | integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== 1055 | dependencies: 1056 | randombytes "^2.1.0" 1057 | 1058 | serialize-javascript@^6.0.1: 1059 | version "6.0.1" 1060 | resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" 1061 | integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== 1062 | dependencies: 1063 | randombytes "^2.1.0" 1064 | 1065 | shallow-clone@^3.0.0: 1066 | version "3.0.1" 1067 | resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" 1068 | integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== 1069 | dependencies: 1070 | kind-of "^6.0.2" 1071 | 1072 | shebang-command@^2.0.0: 1073 | version "2.0.0" 1074 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1075 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1076 | dependencies: 1077 | shebang-regex "^3.0.0" 1078 | 1079 | shebang-regex@^3.0.0: 1080 | version "3.0.0" 1081 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1082 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1083 | 1084 | source-map-support@~0.5.20: 1085 | version "0.5.21" 1086 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 1087 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 1088 | dependencies: 1089 | buffer-from "^1.0.0" 1090 | source-map "^0.6.0" 1091 | 1092 | source-map@^0.6.0: 1093 | version "0.6.1" 1094 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1095 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1096 | 1097 | string-width@^4.1.0, string-width@^4.2.0: 1098 | version "4.2.3" 1099 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 1100 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 1101 | dependencies: 1102 | emoji-regex "^8.0.0" 1103 | is-fullwidth-code-point "^3.0.0" 1104 | strip-ansi "^6.0.1" 1105 | 1106 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 1107 | version "6.0.1" 1108 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 1109 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 1110 | dependencies: 1111 | ansi-regex "^5.0.1" 1112 | 1113 | strip-json-comments@3.1.1: 1114 | version "3.1.1" 1115 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 1116 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 1117 | 1118 | supports-color@8.1.1, supports-color@^8.0.0: 1119 | version "8.1.1" 1120 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1121 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1122 | dependencies: 1123 | has-flag "^4.0.0" 1124 | 1125 | supports-color@^7.1.0: 1126 | version "7.2.0" 1127 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1128 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1129 | dependencies: 1130 | has-flag "^4.0.0" 1131 | 1132 | supports-preserve-symlinks-flag@^1.0.0: 1133 | version "1.0.0" 1134 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1135 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1136 | 1137 | tapable@^2.1.1, tapable@^2.2.0: 1138 | version "2.2.1" 1139 | resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" 1140 | integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== 1141 | 1142 | terser-webpack-plugin@^5.1.3: 1143 | version "5.3.7" 1144 | resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7" 1145 | integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw== 1146 | dependencies: 1147 | "@jridgewell/trace-mapping" "^0.3.17" 1148 | jest-worker "^27.4.5" 1149 | schema-utils "^3.1.1" 1150 | serialize-javascript "^6.0.1" 1151 | terser "^5.16.5" 1152 | 1153 | terser@^5.16.5: 1154 | version "5.16.8" 1155 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.8.tgz#ccde583dabe71df3f4ed02b65eb6532e0fae15d5" 1156 | integrity sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA== 1157 | dependencies: 1158 | "@jridgewell/source-map" "^0.3.2" 1159 | acorn "^8.5.0" 1160 | commander "^2.20.0" 1161 | source-map-support "~0.5.20" 1162 | 1163 | to-regex-range@^5.0.1: 1164 | version "5.0.1" 1165 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1166 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1167 | dependencies: 1168 | is-number "^7.0.0" 1169 | 1170 | update-browserslist-db@^1.0.10: 1171 | version "1.0.10" 1172 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" 1173 | integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== 1174 | dependencies: 1175 | escalade "^3.1.1" 1176 | picocolors "^1.0.0" 1177 | 1178 | uri-js@^4.2.2: 1179 | version "4.4.1" 1180 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 1181 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 1182 | dependencies: 1183 | punycode "^2.1.0" 1184 | 1185 | watchpack@^2.4.0: 1186 | version "2.4.0" 1187 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" 1188 | integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== 1189 | dependencies: 1190 | glob-to-regexp "^0.4.1" 1191 | graceful-fs "^4.1.2" 1192 | 1193 | webpack-cli@^5.0.1: 1194 | version "5.0.1" 1195 | resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a" 1196 | integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A== 1197 | dependencies: 1198 | "@discoveryjs/json-ext" "^0.5.0" 1199 | "@webpack-cli/configtest" "^2.0.1" 1200 | "@webpack-cli/info" "^2.0.1" 1201 | "@webpack-cli/serve" "^2.0.1" 1202 | colorette "^2.0.14" 1203 | commander "^9.4.1" 1204 | cross-spawn "^7.0.3" 1205 | envinfo "^7.7.3" 1206 | fastest-levenshtein "^1.0.12" 1207 | import-local "^3.0.2" 1208 | interpret "^3.1.1" 1209 | rechoir "^0.8.0" 1210 | webpack-merge "^5.7.3" 1211 | 1212 | webpack-merge@^5.7.3: 1213 | version "5.8.0" 1214 | resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61" 1215 | integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q== 1216 | dependencies: 1217 | clone-deep "^4.0.1" 1218 | wildcard "^2.0.0" 1219 | 1220 | webpack-node-externals@^3.0.0: 1221 | version "3.0.0" 1222 | resolved "https://registry.yarnpkg.com/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz#1a3407c158d547a9feb4229a9e3385b7b60c9917" 1223 | integrity sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ== 1224 | 1225 | webpack-sources@^3.2.3: 1226 | version "3.2.3" 1227 | resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" 1228 | integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== 1229 | 1230 | webpack@^5.77.0: 1231 | version "5.77.0" 1232 | resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.77.0.tgz#dea3ad16d7ea6b84aa55fa42f4eac9f30e7eb9b4" 1233 | integrity sha512-sbGNjBr5Ya5ss91yzjeJTLKyfiwo5C628AFjEa6WSXcZa4E+F57om3Cc8xLb1Jh0b243AWuSYRf3dn7HVeFQ9Q== 1234 | dependencies: 1235 | "@types/eslint-scope" "^3.7.3" 1236 | "@types/estree" "^0.0.51" 1237 | "@webassemblyjs/ast" "1.11.1" 1238 | "@webassemblyjs/wasm-edit" "1.11.1" 1239 | "@webassemblyjs/wasm-parser" "1.11.1" 1240 | acorn "^8.7.1" 1241 | acorn-import-assertions "^1.7.6" 1242 | browserslist "^4.14.5" 1243 | chrome-trace-event "^1.0.2" 1244 | enhanced-resolve "^5.10.0" 1245 | es-module-lexer "^0.9.0" 1246 | eslint-scope "5.1.1" 1247 | events "^3.2.0" 1248 | glob-to-regexp "^0.4.1" 1249 | graceful-fs "^4.2.9" 1250 | json-parse-even-better-errors "^2.3.1" 1251 | loader-runner "^4.2.0" 1252 | mime-types "^2.1.27" 1253 | neo-async "^2.6.2" 1254 | schema-utils "^3.1.0" 1255 | tapable "^2.1.1" 1256 | terser-webpack-plugin "^5.1.3" 1257 | watchpack "^2.4.0" 1258 | webpack-sources "^3.2.3" 1259 | 1260 | which@^2.0.1: 1261 | version "2.0.2" 1262 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 1263 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 1264 | dependencies: 1265 | isexe "^2.0.0" 1266 | 1267 | wildcard@^2.0.0: 1268 | version "2.0.0" 1269 | resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec" 1270 | integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw== 1271 | 1272 | wordwrap@>=0.0.2: 1273 | version "1.0.0" 1274 | resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" 1275 | integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== 1276 | 1277 | workerpool@6.2.1: 1278 | version "6.2.1" 1279 | resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" 1280 | integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== 1281 | 1282 | wrap-ansi@^7.0.0: 1283 | version "7.0.0" 1284 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 1285 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 1286 | dependencies: 1287 | ansi-styles "^4.0.0" 1288 | string-width "^4.1.0" 1289 | strip-ansi "^6.0.0" 1290 | 1291 | wrappy@1: 1292 | version "1.0.2" 1293 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1294 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1295 | 1296 | y18n@^5.0.5: 1297 | version "5.0.8" 1298 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 1299 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 1300 | 1301 | yargs-parser@20.2.4: 1302 | version "20.2.4" 1303 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" 1304 | integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== 1305 | 1306 | yargs-parser@^20.2.2: 1307 | version "20.2.9" 1308 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" 1309 | integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== 1310 | 1311 | yargs-unparser@2.0.0: 1312 | version "2.0.0" 1313 | resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" 1314 | integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== 1315 | dependencies: 1316 | camelcase "^6.0.0" 1317 | decamelize "^4.0.0" 1318 | flat "^5.0.2" 1319 | is-plain-obj "^2.1.0" 1320 | 1321 | yargs@16.2.0: 1322 | version "16.2.0" 1323 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" 1324 | integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== 1325 | dependencies: 1326 | cliui "^7.0.2" 1327 | escalade "^3.1.1" 1328 | get-caller-file "^2.0.5" 1329 | require-directory "^2.1.1" 1330 | string-width "^4.2.0" 1331 | y18n "^5.0.5" 1332 | yargs-parser "^20.2.2" 1333 | 1334 | yocto-queue@^0.1.0: 1335 | version "0.1.0" 1336 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1337 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1338 | --------------------------------------------------------------------------------